Имя: Пароль:
1C
1С v8
Как отказаться от проведения документа без системного окна "Не удалось провести докум."?
0 Mobilis77
 
07.03.26
12:24
Задача, собственно, простая. Имеем самописный документ в БП 3.0.193.19. При его проведении необходимо проверить заполнение некоторых реквизитов, и , если некорректно, то сообщить пользователю и не проводить документ. Возможность записи некорректного документа сохраняется. Я , конечно, прочитал о последовательности процедур записи и проведения в Форме на клиенте, На сервере, в Модуле документа. Конечно, когда проведение идет через открытую форму документа, то вопросов нет, все можно отловить и отказаться от проведения прямо в Форме. Но, пользователь может провести этот документ из формы списка. И тогда нужно что то делать в модуле этого документа. Я добавил проверки в процедуру модуля ПередЗаписью(Отказ,РежимПроведения) но, когда устанавливаю Отказ=Истина; И дальше сообщение пользователю - вываливается системное сообщение "Не удалось провести документ бла бла бла" и две кнопки ОК Подробно.  Подскажите, как правильно организовать подобную проверку при проведении, сделать просто сообщение пользователю и избавиться от этого системного окна ?
1 crotnn
 
07.03.26
13:07
В ПередЗаписью Отказ не трогать, а анализировать и при необходимости переопределять РежимЗаписи с выводом сообщения.
2 Mobilis77
 
07.03.26
13:15
Спасибо, получилось
3 Мультук
 
гуру
07.03.26
15:19
(1)

Один "доработчик" в передзаписью модуля документа делает дописку, которая меняет реквизит документа, используемый в генерации движений.

Другой завуалировано при перепроведении меняет режим записи с провести на записать . Надеясь, что пользователи что-то будут читать и хуже того думать головой.

Оба живут счастливо с чувством выполненного долга.
А пользователи начинают генерить документы, где документ расходится со своими движениями.
4 Garykom
 
гуру
07.03.26
16:15
(0) Есть же Процедура ОбработкаПроверкиЗаполнения
Либо ПередЗаписью или ПриЗаписи
Сообщение выводить всегда
Если режим записи = проведение то отказ, но отменять или просто записывать разрешать