Имя: Пароль:
1C
 
Скрытие внешних печатных форм в выпадающем списке
,
0 СинийКот
 
16.09.20
15:28
Через МассивНазначений можно задать, из каких объектов будет печататься ВПФ (скажем, Справочник.Сотрудники). А что, если определенная ВПФ нужна не для всех сотрудников, а только для некоторых, соответствующих определенному признаку? Как это сделать?
1 ДенисЧ
 
16.09.20
15:38
Фильтровать при заполнении этого списка
2 СинийКот
 
16.09.20
16:06
(1) Какого списка? У нас несколько ВПФ, в них прописано, где они размещаются, мы загружаем их в дополнительные обработки, где это профильтровать я даже и не знаю.
3 ДенисЧ
 
16.09.20
16:12
(2) Ты же ПФ из списка в документе или справочнике выбираешь? Когда нажимаешь кнопку Печать...
Так вот... Этот список формируется программно. Соответственно - нужно найти место, где он формируется, и вставить условие.
4 Сергиус
 
16.09.20
16:16
(0)Как вариант, можно в модуле внешней обработки сделать условие.
5 Сергиус
 
16.09.20
16:16
+(4)Не на скрытие, а на условие формирования самой формы.
6 Eiffil123
 
16.09.20
16:19
(3) кнопка "Печать" есть также в форме списка, заполняется при открытии формы. Она к тому же может работать на печать сразу нескольких документов, если они выделены в списке. Так что фильтровать в этом случае не очень корректно.
7 Очевидно
 
16.09.20
16:42
(0)
Добавляй свои условия в:
УправлениеПечатьюПереопределяемый.ПередДобавлениемКомандПечати(ИмяФормы, КомандыПечати, СтандартнаяОбработка)
8 СинийКот
 
16.09.20
17:37
(7) Сомнительно. Туда отладчик не попадает.
9 Очевидно
 
16.09.20
17:45
(8) форма типовая ?
См след путь :

НаФорме :
// СтандартныеПодсистемы.Печать
УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.КоманднаяПанельФормы);
// Конец СтандартныеПодсистемы.Печать
=>
КомандыПечати = УправлениеПечатьюПовтИсп.КомандыПечатиФормы(ИмяФормы, СписокОбъектов).Скопировать();
=>
Возврат УправлениеПечатью.КомандыПечатиФормы(ИмяФормы, ОбъектыПечати);
=>
УправлениеПечатьюПереопределяемый.ПередДобавлениемКомандПечати(ИмяФормы, КомандыПечати, СтандартнаяОбработка);

ERP (2.2.4.81)
10 СинийКот
 
16.09.20
17:57
(9) Таких модулей нет, конфа сильно перепиленная УНФка. И логичнее, мне кажется, было бы делать все это не в формах, а в модуле объекта. Так как и в форме элемента, и в форме списка есть кнопка печати с выпадающим списком.
На форумах порой встречается штука ПолучитьСтруктуруПечатныхФорм(), но я так и не понял, в чем ее прикол. Если ее просто написать в модуле объекта, она ничего не дает, а по умолчанию у меня ее нигде нет.
11 END
 
16.09.20
19:28
(0) А зачем скрывать ПФ то? Если у сотрудника нет "определенного признака" (это из твоей задачи), тогда ПФ просто не сформируется (будет пустой ТабДок). Это намного проще в реализации (вся логика сосредоточена во внешней ПФ), чем лезть в дебри БСП и там что то править.
12 Вафель
 
16.09.20
22:23
если печать задается через ДобавитьКомагдыПечати то там можно фильтр сделать