Имя: Пароль:
1C
1С v8
Реализация не блокирующих проверок при записи документов.
0 Saval1986
 
27.01.23
08:35
Всем привет. Есть типовая конфа (1С ЗУП 3.1), дописанная с помощью расширений. В ней реализованы неблокирующие проверки при записи различных документов. Причем работает это так - выполняются проверки, по результатам проверок формируется массив сообщений, далее этот массив передается в общую форму, которая и показывается пользователю. Все это происходит в клиентской процедуре ПередЗаписью. Мне что-то эта реализация как-то не особо нравится. На мой взгляд лучше было бы все проверки перенести в обработку проверки заполнения и сделать на это отдельную подписку. Но тут возникает такой нюанс - пользователь может нажать на кнопку "Провести и закрыть" и тогда информационные сообщения он не увидит (поскольку они привязаны к форме). Что можете посоветовать в данной ситуации?
1 Мимохожий Однако
 
27.01.23
08:37
Вызвать отдельную общую форму с массивом сообщений через обработку ожидания?
2 Saval1986
 
27.01.23
08:46
(1) спасибо, подумаю над этим
3 Ryzeman
 
27.01.23
08:52
Ещё вариант - Взводить булевый реквизит формы (можно добавить в расширении) что были ошибки и перед закрытием отказ делать. Ибо нефиг, пусть читает)
4 asady
 
27.01.23
08:57
(3) тогда это блокировка - ТС хочет без блокировки
5 Ryzeman
 
27.01.23
09:08
(4) где блокировка? Просто при "провести и закрыть" он не проведёт и не закроет) Интерфейс не будет блокирован
6 rozer76
 
27.01.23
09:59
[На мой взгляд лучше было бы все проверки перенести в обработку проверки заполнения и сделать на это отдельную подписку]
да, конечно лучше в МО.ОбработкаПроверкиЗаполнения() и выкидывать исключение или Отказ=истина тогда и при "Провести и закрыть" все увидит пользователь. И вне транзакции - красота )
7 Saval1986
 
27.01.23
11:22
(6) да, все красиво. только пользователь блокировки не хочет. в этом проблема. типа предупреди, но не запрещай
8 eddy_n
 
27.01.23
11:50
Реализацию этой тему можно развивать бесконечно. К примеру, пользователь, прочитал сообщения. И даже в уме что-то наверное, отложил. Но его дёрнули буквально сразу же. Форму сообщений он уже закрыл. Очнулся - гипс. Ничего не помнит. Что делать? Куда бежать? Сообщения-то важные были.
9 rozer76
 
27.01.23
18:39
(7) ну глянь, может твое https://infostart.ru/1c/articles/372973/
10 eddy_n
 
27.01.23
18:51
(8) Я к чему клоню? Если нужно просто отреагировать на какое-то событие и забыть, то да - хватит и вопроса, а если надо будет потом вернуться и освежить в памяти возникшие проблемы, то одним вопросом не отделаешься.