Имя: Пароль:
1C
1С v8
Расширение. В ПередЗаписьюНаСервереПеред не заполнена ТЧ новыми значениями из формы
0 ssalikoff
 
31.10.22
18:27
Здравствуйте. Имеется простая задачка — нужно при записи в форме проверить, какие меняются допреквизиты, и, в некоторых случаях, выставлять Отказ.
Эта проверка делается в обработчике ПередЗаписьюНаСервере, и, если не пользоваться расширениями, то проблем нет.
Однако если использовать расширение конфигурации, возникает трудность.
Если я свой обработчик размещу Перед, то в табличную часть ДополнительныеРеквизиты ТекущегоОбъекта почему-то не попадают новые значения из формы.
А если я обработчик размещу После, то возникает проблема с изменением параметра Отказ. Его можно менять только если разместить Перед.

Ясно, что можно в ПараметрыЗаписи запихнуть информацию и Отказ выставить в ПередЗаписью модуля объекта. Но это кривой вариант.

Как можно сделать правильно и красиво? И почему всё же Перед обработчиком не заполнена табличная часть Допреквизиты объекта?
1 1Сергей
 
31.10.22
18:29
А ТЧ добавлена в расширение?
2 ssalikoff
 
31.10.22
18:48
(1) А разве это важно? Вообще добавлена. Перед обработчиком новых данных из формы в ТекущемОбъекте нет. После — есть.
3 Сергиус
 
31.10.22
19:06
(0)[Ясно, что можно в ПараметрыЗаписи запихнуть информацию и Отказ выставить в ПередЗаписью модуля объекта. Но это кривой вариант.]

Чем же он "кривой"? Вполне себе рабочая схема. А то, что оно вообще так - особенности обработчиков в расширении.
4 ssalikoff
 
31.10.22
19:43
(3) Кривой это вариант потому что мы начинаем транзакцию записи и уже внутри неё ставим отказ. А зачем вообще начинать транзакцию, ставить блокировки, если мы уже сразу знаем, что Отказ = Истина?
5 ssalikoff
 
31.10.22
20:02
Нашёл решение.
ПередЗаписьюНаСервереПеред - не подходит, ТЧ ТекущегоОбъекта ещё не заполнена
ПередЗаписьюНаСервереПосле - не подходит, нельзя изменять параметр Отказ

&После("ПередЗаписьюНаСервере")
Процедура Расш1_ПередЗаписьюНаСервере - то, что надо. И ТЧ заполнена, и Отказ менять можно.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший