Имя: Пароль:
1C
1С v8
ОбщегоНазначения.СообщитьПользователю - будет работать и на сервере и на клиенте?
0 igel1969
 
06.08.23
11:01
Здравствуйте!
У меня стоит задача при выполнении неких условий (точнее невыполнении) - не дать записать документ.
Но эти условия разные, и было бы здорово сообщать пользователю - почему именно ему запрещено записать документ.
Документ может создаваться разными способами - как через основную форму, так и моими программами.
Поэтому проверку выполнения условий я повесил на процедуру "ПередЗаписью".
Сперва все работало нормально, но потом нам внедрили сборку товара через ТСД, а в их обработке процедура "ПередЗаписью"
вызывается НаСервере. И тогда их программа стала ругаться на наличие в процедуре "ПередЗаписью" моего "Предупреждение",
даже если в их программе до этого момента не доходит, само наличие в коде этого вызова уже достаточно для отказа в запуске НаСервере.

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

Я хочу воспользоваться процедурой "ОбщегоНазначения.СообщитьПользователю".
Но у меня сегодня (в выходной) нет возможности проверить - не возникнет ли такая же проблема как с "Предупреждение" на сервере,
так как склад сегодня не работает. Вдруг я сегодня использую "ОбщегоНазначения.СообщитьПользователю", а завтра склад не сможет
записывать документы с ТСД, как было когда я попытался использовать "Предупреждение"?

Соответственно вопрос, в теме: ОбщегоНазначения.СообщитьПользователю - будет работать и на сервере и на клиенте?
1 igel1969
 
06.08.23
11:04
1С 8.3  УТ 10.3  Толстый клиент везде, никакие УФ не используются
2 ejikbeznojek
 
06.08.23
11:11
Валиться возможно и не будет, но не факт, что сообщение отобразится.
3 igel1969
 
06.08.23
11:22
(2) на уровне записи с ТСД мне сообщение не нужно, по одной простой причине:
девочки-операторы сперва создают документ, и только потом он попадает на ТСД для сборки.
Таким образом, если началась сборка на ТСД, то значит все условия уже выполнены и документ корректен.
Главное, что "ПриЗаписи" не валилось из-за вызова НаСервере, когда документ снова заливается с ТСД в 1С.
А сообщения нужны в момент записи на толстом клиенте, когда операторы создают или редактируют этот документ.
А вообще, те кто писал процедуру "ПриЗаписи" могли бы предусмотреть возврат причины отказа от записи, а не только булеву переменную "Отказ".
4 igel1969
 
06.08.23
11:31
ладно, сделал так, если что будем завтра на ходу переобуваться.
6 H A D G E H O G s
 
06.08.23
11:49
ВызватьИсключение СтрШаблон("Нельзя, потому что ""%1""",ПричинаОтказа);
7 АНДР
 
06.08.23
12:08
(0) Помести Предупреждение в инструкцию препроцессора

#Если Клиент

https://its.1c.ru/db/v8std/content/439/hdoc
8 timurhv
 
06.08.23
14:36
"ОбщегоНазначения" - по названию модуля видно что только на сервере