Запрет печати документа по условию (обычные формы)

1. EvaMendes 12.10.18 16:27 Сейчас в теме
Доброго времени суток! подскажите, пожалуйста, как быть: нужно запретить формирование любых печатных форм из реализации при наступлении некоторого условия (Заполнение/незаполнение реквизита или согласование). Как запретить любую возможную печать конкретного документа любому пользователю (УТ 10.3)?
Пробовала в процедуре Печать() ставить ограничение, но тогда в любом случае печатаются внешние печатные формы, а этого не должно быть.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. alex-l19041 8 12.10.18 16:31 Сейчас в теме
при добавлении внеш печатной формы в справочник можно добавить отбор, когда эта форма доступна
3. iliya2009 12.10.18 16:33 Сейчас в теме
Добрый день!

Пока приходит в голову в ставка в каждую печатную форму следующего кода:

Если НЕ ЗначениеЗаполнено(СсылкаНаОбъект.Реквизит) Тогда
Сообщить("Не заполнено поле ...");
Возврат Неопределено;
КонецЕсли;
4. YannikAlx 43 12.10.18 16:36 Сейчас в теме
Если речь идет о защите от несанкционированного доступа,
Если речь идет о принципиальном запрете , то без запрета подключения внешних печ. форм он невозможен.
Потому как если пользователь сможет подключить внешнюю обработку или печ форму - он все равно напечатает
alex-l19041; +1 Ответить
8. EvaMendes 15.10.18 14:19 Сейчас в теме
(4)нужно чтобы менеджеры не смогли напечатать никаких печатных форм конкретного документа пока не заполнен соответствующий реквизит документа. Есть несколько филиалов, которые все работают в одной базе и разрабатывают свои формы
5. YannikAlx 43 12.10.18 16:38 Сейчас в теме
Если же речь всего лишь о незаполнении реквизита - то проверку необходимо заводить во все подключенные внешние печатные формы
6. config 186 12.10.18 17:00 Сейчас в теме
В процедуре Печать() и нужно запрещать.
А для ВПФ (для каждой из них) эти запреты нужно продублировать в ту же процедуру Печать()
7. Spirit007 12.10.18 17:03 Сейчас в теме
Как вариант при открытии формы накладной и при изменении проверяемого реквизита вставить процедуру проверки, например удалять кнопку печати:

Кнопка = ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Печать;
Если ПроверяемыйСтатус = Ложь Тогда
ЭлементыФормы.ОсновныеДействияФормы.Кнопки.Удалить(Кнопка);
КонецЕсли;
EvaMendes; catena; +2 Ответить
9. EvaMendes 15.10.18 14:21 Сейчас в теме
(7) Эта идея кажется мне шикарной! Не нужно добавлять код во все ПФ, добавить только на форму элемента и списка. Я, правда, думала, что скажут правильнее править где-то в подписках на событие
10. YannikAlx 43 15.10.18 15:00 Сейчас в теме
(9) Она шикарной только кажется...
Подписки на события для печати не применяют, ибо нету такого отслеживаемого события в 1С. А преимущество подписок - не нужно коробить конфигурацию...
В случае же с кнопкой на форме если не сделать это в расширении, то усложнится процесс обновления конфигурации. Это так называемая "ломка конфы" может слететь при неграмотном обновлении.
12. catena 110 16.10.18 06:15 Сейчас в теме
(10)Альтернатива - "ломка" процедуры печать(), то же самое внедрение в текст, но приводящее к необходимости отслеживания всех ВПФ. Блокировка кнопки в данном случае менее болезненно ИМХО.
11. Spirit007 15.10.18 21:51 Сейчас в теме
Если УТ 10.3 на поддержке, значит у конфигурации режим совместимости 8.2 -никаких расширений быть не может. Если не хочется ломать форму на поддержке, то можно копированием с основной создать новую форму и назначить ее основной формой объекта и ее уже изменять. При обновлении на новый релиз не забывать менять основную форму с типовой на свою.
13. EvaMendes 16.10.18 15:29 Сейчас в теме
(11)
(10) к сожалению, ну или к счастью, моя конфигурация только издалека напоминает типовую....
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)