8.2 УФ Отказать в открытии формы #619760


#0 by Rounder
Ввожу документ на основании другого. В процедуре ОбработкаЗаполнения в модуле объекта заполняю документ и кой-чего проверяю и если результат проверки меня не устраивает мне нужно сообщить пользователю (это понятно как) и не открывать форму документа, создаваемого на основании. Как лучше организовать отказ в открытии формы документа?
#1 by Pro-tone
Реквизит добавить "НеОткрыватьФорму", в обработке заполнения ему присваивать значение ИСТИНА если не надо открывать, ПриОткрытии - тут анализировать, если истина, то Закрыть
#2 by Nexux
ВызватьИсключение
#3 by х86
это как не надо делать?
#4 by Pro-tone
если не напишешь свой более умный вариант - уйдешь отсюда
#5 by acsent
как минимум отказ = истина вместо закрыть
#6 by Stim
в процедуре ОбработкаЗаполнения  делай возврат; и не выдумывай
#7 by Pro-tone
сорри, да отказ
#8 by Rounder
не подходит - форма все одно будет создаваться и пробую
#9 by Buster007
а почему нельзя проверить в ПриСозданииНаСервере? Зачем придумывать непонятно что?
#10 by Buster007
модер обиделся?
#11 by Rounder
Потому что будет один лишний запрос к БД.
#12 by Pro-tone
авторы постов как в караться будут - охаял и свалил это называется
#13 by Pro-tone
для
#14 by fisher
Зачем же реквизит? Для этого параметры придуманы.
#15 by Buster007
тебе виднее ;) если ты конечно решишь делать запрос на проверку и в обработкаЗаполнения и в ПриСозданииНаСервере... ну что ж, да будет так )
#16 by Rounder
Всем спасибо. Пора уходить. Завтра попробую.
#17 by acsent
Как это методология 1с
#18 by fisher
Не, туплю. А как ты в ПриСозданииНаСервере передашь из ОбработкаЗаполнения инфу, что форму открывать не надо?
#19 by х86
+500 я не онлайн консультант +500
#20 by fisher
Зря ты плюсуешь. Принятие решение идет в обработке заполнения. Параметры не канают.
#21 by fisher
Единственное, что приходит в голову в конце дня для избавления от лишнего реквизита - это вынести проверку в отдельную экспортную процедуру модуля документа и вызывать её в ПриСозданииНаСервере, получив предварительно документ-объект.
#22 by fisher
Тьфу. Не в процедуру, а функцию. И по результату разрешать открывать форму или запрещать. Зато и реквизитов лишних не надо и до клиента дело не доходит.
#23 by Stim
- точно не стоит делать
#24 by Mort
А кто сказал что обработка заполнения это место для подобных решений?
#25 by Buster007
я смогу решить надо открывать или не надо в ПриСозданииНаСервере и не буду париться в ОбработкаЗаполнения.
#26 by fisher
Это напрашивается. Тогда объект еще доступен и вся нужная инфа есть. Другое дело, что полученный признак никак не красиво передать. Не создавать же для этого лишний реквизит, в самом деле. А в ПриСозданииНаСервере придется ломиться к объекту, которого уже нет. Тоже не идеал. Но меньшее из зол.
#27 by riv40rus
а не проще отказ сделать на стороне формы инициатора?
#28 by fisher
Нет.
#29 by Mort
Результат отказа заполнения это отсутствие заполнения некоторых реквизитов. А это легко палится в присоздании, при наличии параметра "Основание"
#30 by Stim
+ можно вообще поставить стандартную обработку в ложь и открывать форму программно
#31 by fisher
Да кто ж спорит. Просто некоторая избыточность возникает. По этим же реквизитам мы пробегаемся, когда пытаемся их заполнить в обработке заполнения. Поэтому и подмывает сразу оттуда просигнализировать о фэйле.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С