Вызывается перед окончанием редактирования строки.
Синтаксис
ПередОкончаниемРедактирования(<НоваяСтрока>, <ОтменаРедактирования>, <Отказ>)Полное описание, параметры и ограничения
ТаблицаФормы.ПередОкончаниемРедактирования (FormTable.BeforeEditEnd)
ТаблицаФормы (FormTable)
ПередОкончаниемРедактирования (BeforeEditEnd)
Доступен, начиная с версии 8.2.
Синтаксис:
ПередОкончаниемРедактирования(<НоваяСтрока>, <ОтменаРедактирования>, <Отказ>)
Параметры:
<НоваяСтрока>
Тип: Булево.
Истина, если строка была добавлена или скопирована.
<ОтменаРедактирования>
Тип: Булево.
Истина, если произошла отмена редактирования.
Значение по умолчанию: Ложь.
<Отказ>
Тип: Булево.
Признак отказа от записи объекта. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись объекта выполнена не будет.
Значение по умолчанию: Ложь.
Описание:
Вызывается перед окончанием редактирования строки.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент).
Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере, а также изменять свойства, которые могут привести к серверному вызову.
Использование в версии:
Доступен, начиная с версии 8.2.
Описание изменено в версии 8.3.15.
Методическая информация
Практические примеры
Не завершать ввод строки с неположительным количеством
Отказ применяется к завершению ввода, а отмена редактирования остаётся разрешённой.
Где и как запускать
Клиентский модуль собственной управляемой формы. Параметр Элемент передаёт платформа; он уже включён в сигнатуру.
Подготовка
Создайте внешнюю учебную обработку с управляемой формой. Реквизит формы Товары — ТаблицаЗначений: Наименование (Строка 100), Количество (Число 10.0), Фиксирована (Булево). Перетащите Товары на форму; имя элемента-таблицы тоже Товары.
Разрешите интерактивное добавление, изменение и удаление строк, редактирование непосредственно в таблице. Добавьте реквизиты формы ИтогКоличество (Число 10.0), Статус (Строка 200), РазрешитьУдаление (Булево) и выведите их на форму.
Для уроков с существующей строкой вручную добавьте Книга, количество 2, Фиксирована Ложь; ещё одну строку Ручка, количество 3. Данные находятся в форме, не в справочнике или документе.
В свойствах элемента Товары назначьте указанному событию процедуру из примера. Вставляйте её на уровне модуля формы; открывайте обработку в тонком клиенте учебной базы.
Событие ПередОкончаниемРедактирования назначьте процедуре ТоварыПередОкончаниемРедактирования.
&НаКлиенте
Процедура ТоварыПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
Если ОтменаРедактирования Тогда
Возврат;
КонецЕсли;
СтрокаТовара = Элемент.ТекущиеДанные;
Если СтрокаТовара.Количество <= 0 Тогда
Отказ = Истина;
Сообщить("Введите количество больше нуля");
КонецЕсли;
КонецПроцедурыРазбор по шагам
Платформа передаёт элемент таблицы в параметре Элемент.
Отказ применяется к завершению ввода, а отмена редактирования остаётся разрешённой.
Обработчик работает только с реквизитами и строками из подготовки.
Как проверить результат
Введите 0 и завершите редактирование: оно не завершается, показано сообщение.
Esc отменяет редактирование без запрета со стороны этой проверки.
Ожидаемый результат
Не завершать ввод строки с неположительным количеством для собственной таблицы формы.
На что обратить внимание
Эти данные не являются строками рабочего динамического списка.
Не вызывайте серверные процедуры из этих клиентских обработчиков и не заменяйте ими проверки модуля объекта базы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.