Запрет печати документа по условию (обычные формы)
Доброго времени суток! подскажите, пожалуйста, как быть: нужно запретить формирование любых печатных форм из реализации при наступлении некоторого условия (Заполнение/незаполнение реквизита или согласование). Как запретить любую возможную печать конкретного документа любому пользователю (УТ 10.3)?
Пробовала в процедуре Печать() ставить ограничение, но тогда в любом случае печатаются внешние печатные формы, а этого не должно быть.
Пробовала в процедуре Печать() ставить ограничение, но тогда в любом случае печатаются внешние печатные формы, а этого не должно быть.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Добрый день!
Пока приходит в голову в ставка в каждую печатную форму следующего кода:
Если НЕ ЗначениеЗаполнено(СсылкаНаОбъект.Реквизит) Тогда
Сообщить("Не заполнено поле ...");
Возврат Неопределено;
КонецЕсли;
Пока приходит в голову в ставка в каждую печатную форму следующего кода:
Если НЕ ЗначениеЗаполнено(СсылкаНаОбъект.Реквизит) Тогда
Сообщить("Не заполнено поле ...");
Возврат Неопределено;
КонецЕсли;
Если речь идет о защите от несанкционированного доступа,
Если речь идет о принципиальном запрете , то без запрета подключения внешних печ. форм он невозможен.
Потому как если пользователь сможет подключить внешнюю обработку или печ форму - он все равно напечатает
Если речь идет о принципиальном запрете , то без запрета подключения внешних печ. форм он невозможен.
Потому как если пользователь сможет подключить внешнюю обработку или печ форму - он все равно напечатает
(4)нужно чтобы менеджеры не смогли напечатать никаких печатных форм конкретного документа пока не заполнен соответствующий реквизит документа. Есть несколько филиалов, которые все работают в одной базе и разрабатывают свои формы
Если же речь всего лишь о незаполнении реквизита - то проверку необходимо заводить во все подключенные внешние печатные формы
В процедуре Печать() и нужно запрещать.
А для ВПФ (для каждой из них) эти запреты нужно продублировать в ту же процедуру Печать()
А для ВПФ (для каждой из них) эти запреты нужно продублировать в ту же процедуру Печать()
Как вариант при открытии формы накладной и при изменении проверяемого реквизита вставить процедуру проверки, например удалять кнопку печати:
Кнопка = ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Печать;
Если ПроверяемыйСтатус = Ложь Тогда
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Удалить(Кнопка);
КонецЕсли;
Кнопка = ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Печать;
Если ПроверяемыйСтатус = Ложь Тогда
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Удалить(Кнопка);
КонецЕсли;
(9) Она шикарной только кажется...
Подписки на события для печати не применяют, ибо нету такого отслеживаемого события в 1С. А преимущество подписок - не нужно коробить конфигурацию...
В случае же с кнопкой на форме если не сделать это в расширении, то усложнится процесс обновления конфигурации. Это так называемая "ломка конфы" может слететь при неграмотном обновлении.
Подписки на события для печати не применяют, ибо нету такого отслеживаемого события в 1С. А преимущество подписок - не нужно коробить конфигурацию...
В случае же с кнопкой на форме если не сделать это в расширении, то усложнится процесс обновления конфигурации. Это так называемая "ломка конфы" может слететь при неграмотном обновлении.
Если УТ 10.3 на поддержке, значит у конфигурации режим совместимости 8.2 -никаких расширений быть не может. Если не хочется ломать форму на поддержке, то можно копированием с основной создать новую форму и назначить ее основной формой объекта и ее уже изменять. При обновлении на новый релиз не забывать менять основную форму с типовой на свою.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот