ТаблицаФормы.ПередОкончаниемРедактирования

События · BeforeEditEnd

Вызывается перед окончанием редактирования строки.

Синтаксис

ПередОкончаниемРедактирования(<НоваяСтрока>, <ОтменаРедактирования>, <Отказ>)
Полное описание, параметры и ограничения

ТаблицаФормы.ПередОкончаниемРедактирования (FormTable.BeforeEditEnd)

ТаблицаФормы (FormTable)

ПередОкончаниемРедактирования (BeforeEditEnd)

Доступен, начиная с версии 8.2.

Синтаксис:
ПередОкончаниемРедактирования(<НоваяСтрока>, <ОтменаРедактирования>, <Отказ>)
Параметры:

<НоваяСтрока>
Тип: Булево.
Истина, если строка была добавлена или скопирована.

<ОтменаРедактирования>
Тип: Булево.
Истина, если произошла отмена редактирования.
Значение по умолчанию: Ложь.

<Отказ>
Тип: Булево.
Признак отказа от записи объекта. Если в теле процедуры-обработчика установить данному параметру значение Истина, то запись объекта выполнена не будет.
Значение по умолчанию: Ложь.
Описание:

Вызывается перед окончанием редактирования строки.

Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент).

Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере, а также изменять свойства, которые могут привести к серверному вызову.
Использование в версии:

Доступен, начиная с версии 8.2.

Описание изменено в версии 8.3.15.

Методическая информация

Практические примеры

Не завершать ввод строки с неположительным количеством

Отказ применяется к завершению ввода, а отмена редактирования остаётся разрешённой.

Где и как запускать

Клиентский модуль собственной управляемой формы. Параметр Элемент передаёт платформа; он уже включён в сигнатуру.

Подготовка

  1. Создайте внешнюю учебную обработку с управляемой формой. Реквизит формы Товары — ТаблицаЗначений: Наименование (Строка 100), Количество (Число 10.0), Фиксирована (Булево). Перетащите Товары на форму; имя элемента-таблицы тоже Товары.

  2. Разрешите интерактивное добавление, изменение и удаление строк, редактирование непосредственно в таблице. Добавьте реквизиты формы ИтогКоличество (Число 10.0), Статус (Строка 200), РазрешитьУдаление (Булево) и выведите их на форму.

  3. Для уроков с существующей строкой вручную добавьте Книга, количество 2, Фиксирована Ложь; ещё одну строку Ручка, количество 3. Данные находятся в форме, не в справочнике или документе.

  4. В свойствах элемента Товары назначьте указанному событию процедуру из примера. Вставляйте её на уровне модуля формы; открывайте обработку в тонком клиенте учебной базы.

  5. Событие ПередОкончаниемРедактирования назначьте процедуре ТоварыПередОкончаниемРедактирования.

&НаКлиенте
Процедура ТоварыПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
    Если ОтменаРедактирования Тогда
        Возврат;
    КонецЕсли;
    СтрокаТовара = Элемент.ТекущиеДанные;
    Если СтрокаТовара.Количество <= 0 Тогда
        Отказ = Истина;
        Сообщить("Введите количество больше нуля");
    КонецЕсли;
КонецПроцедуры

Разбор по шагам

  1. Платформа передаёт элемент таблицы в параметре Элемент.

  2. Отказ применяется к завершению ввода, а отмена редактирования остаётся разрешённой.

  3. Обработчик работает только с реквизитами и строками из подготовки.

Как проверить результат

  1. Введите 0 и завершите редактирование: оно не завершается, показано сообщение.

  2. Esc отменяет редактирование без запрета со стороны этой проверки.

Ожидаемый результат

Не завершать ввод строки с неположительным количеством для собственной таблицы формы.

На что обратить внимание

  1. Эти данные не являются строками рабочего динамического списка.

  2. Не вызывайте серверные процедуры из этих клиентских обработчиков и не заменяйте ими проверки модуля объекта базы.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.