1с приначалередактирования не срабатывает

Обновлено: 07.07.2024

Добрый вечер. УПП, пл. 8.2.16.368.упр.формы. Такая проблема: Есть табличная часть документа. В ней блокированы некоторые ячейки(Элементы.МояТЧ.ПодчиненныеЭлементы.МояТЧДата.Толькопросмотр = Истина) . При использовании данной блокировки не срабатывает функция табличной части ПриНачалеРедактирования.Я хочу при копировании строки поменять реквизит скопируемой строки табличной части. В чем прикол.

+(0 блокировка ячейки в функции ПриАктивизацииЯчейки)

Чего курил? Если элемент только для просмотра, его ВНЕЗАПНО изменить нельзя.

так я же не хочу изменять блокируемый реквизит, а хочу менять другой. Как быть?

перед началом добавления не даст возможность изменить реквизит будущей добавленной строки, так как срабатывает перед добавлением

к примеру, пишу в &НаКлиенте Процедура МояТЧПередНачаломДобавления(Элемент,Отказ,Копирование,Родитель,Отказ) КонецПроцедуры Результат изменит текущее заполнение, так как будущей строки ещё НЕТ

а ПриНачалеРедактирования должен сразу отработать после добавления. ПриНачалеРедактирования(Элемент,НоваяСтрока, Копирование) <НоваяСтрока> Тип: Булево. Признак редактирования новой строки. Имеет значение Истина, если строка была добавлена или скопирована. <Копирование> Тип: Булево. Определяет режим копирования. Если установлено Истина, то происходит копирование строки.

ты не слушаешь все равно :( ты зачем при начале добавления текущую строку меняешь?

[(Элемент,Отказ,Копирование,Родитель,Отказ)] и откуда два отказа!?

Даже если я непишу Элементы.МояТч.ТекущиеДанные.МойРеквизит ничего не поменятеся, так как строки ещё нет

(9 ) там Процедура МояТЧПередНачаломДобавления(Элемент,Отказ,Копирование,Родитель,Группа)

а процедура ПриНачалеРедактирования привязана к какому-нибудь событию? Или просто так в воздухе висит?

Синтаксис: ПриНачалеРедактирования(<НоваяСтрока>, <Копирование>) Параметры: <НоваяСтрока> Тип: Булево. Признак редактирования новой строки. Имеет значение Истина, если строка была добавлена или скопирована. <Копирование> Тип: Булево. Если данный параметр имеет значение Истина, то выполняется копирование строки. Описание: Возникает при начале редактирования старой или добавленной строки табличного поля. В процедуре - обработчике события нельзя отказаться от редактирования, но могут быть выполнены действия, необходимые при вводе новой строки, например, установка начальных значений. Примечание: Возникает, если редактирование производится непосредственно в табличном поле. Перед данным событием возникает событие ПередНачаломИзменения. См. также: ТабличноеПоле, событие ПередНачаломИзменения

если новая строка, то какого же ты берешь текущие данные?

ввобще-то я пример к функции привел ПередНачаломДобавления в . ПриНачалеРедактирования я и использую. Но возникает проблема описаная в

в суть в том, что когда заблокирована любая ячейка табличного поля (только просмотр = истина), то не заходит при копировании в процедуру ПриНачалеРедактирования

да, отладчиком проверено. 10 раз проверял. Как только ограничение на просморт с ячейки снимается в процедуру заходит.

ну я не проверяю сейчас, поэтому просто поверю на слово

а поставь в перед началом добавления Отказ в истину и добавь программно - будешь иметь новую строку

Все верно. Сделал как сказал в ПОЛУЧИЛОСЬ. Спасибо тебе большое за помошь.Только так получилось. А по поводу ситуации в , напишу в 1С пускай объясняют, видно типовая фигня. Сделал так: &НаКлиенте

Добавлена строка может быть или кнопкой INS (добавление) или кнопкой F9 (дублирование).

При добавлении последовательность событий такая:

* ПередНачаломДобавления - строка еще не доступна

При дублировании последовательность событий такая:

* ПередНачаломДобавления - строка еще не доступна

* ПриАктивизацииЯчейки - строка уже доступна, но строка пустая.

* Повторная ПриАктивизацииЯчейки - строка уже заполнена.

Как быть?

Для решения данной задачи необходимо использовать ПриНачалеРедактирования:

В реалии это выглядит так, нажали добавить и получили:


Разместил: all4cf  Версии: | 8.x |  Дата: 07.06.2015   Прочитано: 15808

Распечатать

Похожие FAQ

Еще в этой же категории

Как обновить динамический список или реквизит на форме клиента?  19
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Динамический список

Как на управляемой форме разместить список регистра сведений с отбором?  18
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Как установить параметр динамического списка?  14
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением  12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Заполнение списка значений в элементе поле выбора на форме  10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Добавлена строка может быть или кнопкой INS (добавление) или кнопкой F9 (дублирование).

При добавлении последовательность событий такая:

* ПередНачаломДобавления - строка еще не доступна

При дублировании последовательность событий такая:

* ПередНачаломДобавления - строка еще не доступна

* ПриАктивизацииЯчейки - строка уже доступна, но строка пустая.

* Повторная ПриАктивизацииЯчейки - строка уже заполнена.

Как быть?

Для решения данной задачи необходимо использовать ПриНачалеРедактирования:

В реалии это выглядит так, нажали добавить и получили:


Разместил: all4cf  Версии: | 8.x |  Дата: 07.06.2015   Прочитано: 15809

Распечатать

Похожие FAQ

Еще в этой же категории

Программное создание таблицы значений с условным оформлением  12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Заполнение списка значений в элементе поле выбора на форме  10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Поле выбора

Как ограничить список выбора?  8
Ограничим список элементов, установив отбор в открываемой форме //Пример 1 Процедура СтатьяПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ФормаВыбора = Справочники.ПрочиеДоходыИРасходы.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораВидПДР = Форма Реквизит

Как активизировать, перевести фокус на необходимый элемент на форме?  6
//Текущему Элементу формы присваиваем элемент котровый необходимо активизировать ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле; Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Часто при вводе новой строки табличного поля нужно автоматически заполнить некоторые колонки, например Дата или Ставка НДС:

При добавлении в табличное поле новой строки может возникнуть ситуация, когда необходимо заполнить некоторые поля новой строки значениями по умолчанию. Для этого следует использовать событие ПриНачалеРедактирования() табличного поля. Обработчик данного события вызывается при начале редактирования старой или добавленной строки табличного поля и имеет параметры НоваяСтрока и Копирование. Параметр НоваяСтрока указывает, что происходит редактирование новой строки, а параметр Копирование указывает, что происходит копирование строки. Ниже код для управляемого приложения и обычного:

Результат при добавлении новой строки:


В обычном приложении:

Разместил: all4cf  Версии: | 8.x | 8.2 УП | 8.3 |  Дата: 21.05.2017   Прочитано: 23329

Распечатать

Похожие FAQ

Еще в этой же категории

Как обновить динамический список или реквизит на форме клиента?  19
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Динамический список

Как на управляемой форме разместить список регистра сведений с отбором?  18
Решение рассмотрено для элемента справочника (Контрагент и регистр КонтактнаяИнформация) 1. Создание реквизита: Добавляем новый реквизит формы (. не путать с реквизитом справочника . ) с типом " ДинамическийСписок" В поле " Основная табли Как установить параметр динамического списка?  14
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Форма

Программное создание таблицы значений с условным оформлением  12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора

Заполнение списка значений в элементе поле выбора на форме  10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Посмотреть все в категории Работа с Формой (Диалог) и её элементами

Читайте также: