Обработчик назначается настоящему обычному списку конкретных собственных метаданных. Платформа вызывает его после указанной штатной команды пользователя, а не после искусственного вызова процедуры.
Где и как запускать
Модуль собственной обычной формы списка, толстый клиент; событие табличного поля СписокУрока.
Подготовка
В своей учебной конфигурации подготовьте Справочники → УчебныеПолки. Иерархический справочник, иерархия групп и элементов, код Строка 10, наименование 100. Введите свои группы Книги и Архив, внутри Книги — Учебная книга. Для смены родителя используйте Архив.
Мастером создайте именно обычную форму списка этого объекта. Основной реквизит и табличное поле должны остаться реальным списком метаданных, не ТаблицаЗначений. Поле назовите СписокУрока. Для журнала создаётся форма списка журнала, не форма документа.
Добавьте реквизиты формы РазрешитьИзменение (Булево, исходно Ложь), ЗапретитьСворачивание (Булево, исходно Истина), Статус (Строка 200) и выведите их. Значения по умолчанию задайте в редакторе или при открытии своей формы.
Основной блок назначьте событию СписокУрока → ПередНачаломДобавления через редактор. Обычная форма, толстый клиент в обычном режиме. Дополнительный первый параметр Элемент создаётся редактором поля; серверные директивы здесь не нужны.
Каждый урок самостоятельный и использует только свои строки. Для положительного действия флажок снимается / устанавливается явно; ничего не проверяйте на рабочем справочнике, документе, плане обмена или задаче.
Нажмите штатную команду Копировать своей строки: она отклоняется независимо от флажка. Затем попробуйте Добавить с выключенным и включенным РазрешитьИзменение. Новую строку / карточку после положительной проверки закройте без сохранения.
Процедура СписокУрокаПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, ЭтоГруппа)
Если Копирование Или Не РазрешитьИзменение Тогда
Отказ = Истина;
Статус = "Копирование запрещено; новое добавление требует своего подтверждения";
Сообщить(Статус);
КонецЕсли;
КонецПроцедурыРазбор по шагам
Подготовьте собственные метаданные, сохраненные строки и обычную форму списка.
Назначьте обработчик точному событию расширения своего списка.
Выполните указанную команду и сравните отказ / разрешение на своей строке.
Как проверить результат
Копирование собственной строки отклонено, обычное добавление разрешается только после подтверждения.
Сигнатура расширения списка содержит Копирование, а у иерархических видов также Родитель и ЭтоГруппа. Она не подменяется базовым событием ТабличноеПоле с меньшим набором параметров.
Ожидаемый результат
Показан типичный интерфейсный контроль конкретной команды своего списка.
На что обратить внимание
Это не проверка прав и не серверный запрет записи. Защита данных должна дополнительно выполняться правами и серверной логикой объекта.
Обычная форма списка не взаимозаменяема с управляемой таблицей динамического списка.
BSL, проведение, обмен, изменение пометок и рабочего состояния агентом не запускались.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.