Задача: в расширении конфигурации, в форме документа "Заказ поставщику", настроить обработку события "Перед записью на сервере". При невыполнении условий, заданных в обработчике, документ не должен проводиться.

Создаём в расширении обработчик события "Перед записью на сервере", с вариантом выполнения "После". Заполняем условия и настраиваем установку Отказ = Истина.

Запускаем программу в пользовательском режиме, пытаемся провести тестовый документ "Заказ поставщику", который не должен проводиться, и получаем такую ошибку: "Запрещено изменение параметра, отменяющего действие (параметр номер 1 в процедуре)".

Выходит, что нельзя устанавливать свойство Отказ = Истина в обработчике расширения с вариантом выполнения "После".

Меняем вариант, задаём выполнение обработчика "Перед".

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

Комментарии   

+1 #4 Виктор 23.04.2021 16:46
У меня все печальней. В конфигурации в модуле формы документа нет процедуры ПередЗаписью. И при создании в расширении формы аналогичной процедуры Расш1_ПередЗаписьюПеред(Отказ, ПараметрыЗаписи) она не отрабатывает. Пришлось использовать Расш1_ПередЗаписьюПосле(Отказ, ПараметрыЗаписи). Т.к. она отрабатывает до аналогичной процедуры модуля документа, то пытался туда в качестве параметра "РежимЗаписи" передать структуру, которую можно было бы расшифровать, но этот параметр должен иметь тип "РежимЗаписиДокумента". Пришлось в Расш1_ПередЗаписьюПосле ней давать предупреждение, а в модуль документа передавать режим записи "Запись". Т.е. документ записывается, но провести его невозможно. Кстати Процедура "ПередЗаписью" в модуле документа тоже не задействована!
Цитировать
+4 #3 Сергей Осипов 17.03.2021 19:21
Спасибо
Цитировать
+3 #2 Сергей Осипов 17.03.2021 19:19
Спасибо, загуглил, помогло
Цитировать
+3 #1 Николай 13.03.2021 11:33
Спасибо.
Мелочь, которая не описана в документации, порой доставляет массу не удобств.
Цитировать