|   |   | 
| 
 | Скрытие внешних печатных форм в выпадающем списке | ☑ | ||
|---|---|---|---|---|
| 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 | 
        если печать задается через ДобавитьКомагдыПечати то там можно фильтр сделать     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |