| 
    
            
         
         | 
    
  | 
программно добавить свое подменю в команды печати | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Новый1сник2    
     15.08.17 
            ✎
    13:26 
 | 
         
        конфа УНФ 1.6, подскажите как программно добавить в меню печать, подменю со своими печ.формами. поиском не нашел.     
         | 
|||
| 
    1
    
        DrShad    
     15.08.17 
            ✎
    14:03 
 | 
         
        надеюсь искал по модулям конфы?     
         | 
|||
| 
    2
    
        Новый1сник2    
     15.08.17 
            ✎
    14:28 
 | 
         
        (1) по модулям то же.
 
        команды печати добавляю в модуле менеджера, в модуле формы можно сделать, а как из модуля менеджера добавить подменю не понятно  | 
|||
| 
    3
    
        Fragster    
     гуру 
    15.08.17 
            ✎
    14:31 
 | 
         
        https://its.1c.ru/db/bsp243doc#content:8058:hdoc ну, только по соответствующей версии БСП     
         | 
|||
| 
    4
    
        AsadRoman    
     15.08.17 
            ✎
    14:31 
 | 
         
        (2) БСП штудировал?     
         | 
|||
| 
    5
    
        AsadRoman    
     15.08.17 
            ✎
    14:33 
 | 
         
        По любому, чтобы команды появились на форме в форме тоже команду (ы) прописывать придется.     
         | 
|||
| 
    6
    
        Новый1сник2    
     15.08.17 
            ✎
    14:33 
 | 
         
        (4) не БСП, пока не смотрел     
         | 
|||
| 
    7
    
        Новый1сник2    
     15.08.17 
            ✎
    14:35 
 | 
         
        (5) в модуле формы, команды не прописаны     
         | 
|||
| 
    8
    
        AsadRoman    
     15.08.17 
            ✎
    14:46 
 | 
         
        (7) БСП:
 
        в модуле менеджера: // Заполняет список команд печати. // // Параметры: // КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати. // Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт // Счет на оплату КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Идентификатор = "Счет"; КомандаПечати.Представление = НСтр("ru = 'Счет на оплату'"); КомандаПечати.ПроверкаПроведенияПередПечатью = Не Пользователи.РолиДоступны("_ДемоПечатьНепроведенныхДокументов"); // Счет на оплату без платежных реквизитов. КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Идентификатор = "Счет"; КомандаПечати.Представление = НСтр("ru = 'Счет на оплату без платежных реквизитов'"); КомандаПечати.ПроверкаПроведенияПередПечатью = Не Пользователи.РолиДоступны("_ДемоПечатьНепроведенныхДокументов"); КомандаПечати.ДополнительныеПараметры.Вставить("ВыводитьПлатежныеРеквизиты", Ложь); .... КонецПроцедуры; В модуле формы: в событии ПриСозданииНаСервере: // СтандартныеПодсистемы.ПодключаемыеКоманды ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект); // Конец СтандартныеПодсистемы.ПодключаемыеКоманды Ну и в общем модуле ПодключаемыеКоманды .... Здесь текст приводить не буду.  | 
|||
| 
    9
    
        Новый1сник2    
     16.08.17 
            ✎
    15:02 
 | 
         
        видимо в основное меню печать, свое подменю не добавить     
         | 
|||
| 
    10
    
        Новый1сник2    
     16.08.17 
            ✎
    15:04 
 | 
         
        подскажите как из формы документа, обращаться к процедуре печать (в модуле менеджера).
 
        делаю так: Процедура ПечатьФиз() МассивОбъектов = Новый Массив(); МассивОбъектов.Добавить(Объект.Ссылка); КоллекцияПечатныхФорм = Новый ТаблицаЗначений; КоллекцияПечатныхФорм.Колонки.Добавить("ИмяВРЕГ"); КоллекцияПечатныхФорм.Колонки.Добавить("ИмяМакета"); КоллекцияПечатныхФорм.Колонки.Добавить("Картинка"); КоллекцияПечатныхФорм.Колонки.Добавить("ПолныйПутьКМакету"); КоллекцияПечатныхФорм.Колонки.Добавить("СинонимМакета"); КоллекцияПечатныхФорм.Колонки.Добавить("ТабличныйДокумент"); КоллекцияПечатныхФорм.Колонки.Добавить("Экземпляров"); Стр = КоллекцияПечатныхФорм.Добавить(); Стр.ИмяМакета = "ДоговорФиз"; Стр.ПолныйПутьКМакету = "Документ.асЗаказНаряд.ДоговорФиз"; Стр.Экземпляров = 1; ОбъектыПечати = Новый СписокЗначений; ПараметрыПечати = Новый Структура; ПараметрыПечати.Вставить("ДополнитьКомплектВнешнимиПечатнымиФормами", Ложь); ПараметрыОтправки = Новый Структура; ПараметрыОтправки.Вставить("Получатель", Неопределено); ПараметрыОтправки.Вставить("Текст", ""); ПараметрыОтправки.Вставить("Тема", ""); ПараметрыВывода = Новый Структура; ПараметрыВывода.Вставить("ДоступнаПечатьПоКомплектно", Истина); ПараметрыВывода.Вставить("ПараметрыОтправки", ПараметрыОтправки); Документы.асЗаказНаряд.Печать(МассивОбъектов,ПараметрыПечати,КоллекцияПечатныхФорм ,ОбъектыПечати,ПараметрыВывода); КонецПроцедуры  | 
|||
| 
    11
    
        Новый1сник2    
     16.08.17 
            ✎
    15:05 
 | 
         
        и на клиенте
 
        &НаКлиенте Процедура ПечатьФизКнопка(Команда) ПечатьФиз(); КонецПроцедуры  | 
|||
| 
    12
    
        Любопытная    
     16.08.17 
            ✎
    15:06 
 | 
         
        (11) Экспорт добавь     
         | 
|||
| 
    13
    
        Новый1сник2    
     16.08.17 
            ✎
    15:11 
 | 
         
        (12) экспорт у печать() есть в модуле менеджера     
         | 
|||
| 
    14
    
        Любопытная    
     16.08.17 
            ✎
    15:14 
 | 
         
        (13) не вижу)     
         | 
|||
| 
    15
    
        Любопытная    
     16.08.17 
            ✎
    15:15 
 | 
         
        (13) ну и как бы надо обозначить чей метод ты вызываешь. Раз уж метод в модуле менеджера, то обратись к менеджеру     
         | 
|||
| 
    16
    
        Новый1сник2    
     16.08.17 
            ✎
    15:16 
 | 
         
        Процедура Печать(МассивОбъектов,
 
        ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт  | 
|||
| 
    17
    
        Любопытная    
     16.08.17 
            ✎
    15:18 
 | 
         
        (16) теперь про менеджера вспомни)     
         | 
|||
| 
    18
    
        Новый1сник2    
     16.08.17 
            ✎
    15:21 
 | 
         
        как к менеджеру обратиться?     
         | 
|||
| 
    19
    
        Любопытная    
     16.08.17 
            ✎
    15:23 
 | 
         
        (18) По имени-отчеству
 
        Например Документы.ПоступлениеТМЦ ...  | 
|||
| 
    20
    
        Новый1сник2    
     16.08.17 
            ✎
    15:26 
 | 
         
        Документы.асЗаказНаряд.Печать(МассивОбъектов,ПараметрыПечати,КоллекцияПечатныхФорм ,ОбъектыПечати,ПараметрыВывода); ?     
         | 
|||
| 
    21
    
        Новый1сник2    
     16.08.17 
            ✎
    16:32 
 | 
         
        может еще варианты есть по теме?     
         | 
|||
| 
    22
    
        Любопытная    
     16.08.17 
            ✎
    16:33 
 | 
         
        (21) а что, не получилось?     
         | 
|||
| 
    23
    
        Новый1сник2    
     16.08.17 
            ✎
    16:38 
 | 
         
        нет, при нажатии кнопки ничего не происходит.
 
        в отладке в строку попадает Документы.асЗаказНаряд.Печать(МассивОбъектов,ПараметрыПечати,КоллекцияПечатныхФорм ,ОбъектыПечати,ПараметрыВывода);  | 
|||
| 
    24
    
        Любопытная    
     16.08.17 
            ✎
    16:42 
 | 
         
        (23) Так в модуле менеджера Печать или ПечатьФиз? Где что формируется-то?     
         | 
|||
| 
    25
    
        Новый1сник2    
     16.08.17 
            ✎
    16:45 
 | 
         
        (24) в модуле менеджера типовая процедура Печать()
 
        нужно из модуля формы распечатать документ для этого сделал в модуле формы процедуру ПечатьФиз()  | 
|||
| 
    26
    
        Любопытная    
     16.08.17 
            ✎
    16:46 
 | 
         
        (25) а параметры печати заполнил? в типовой уже давно же посмотреть можно было     
         | 
|||
| 
    27
    
        Новый1сник2    
     16.08.17 
            ✎
    16:53 
 | 
         
        (26) в типовой и смотрел, видимо еще какие то параметры нужны)     
         | 
|||
| 
    28
    
        Любопытная    
     16.08.17 
            ✎
    16:56 
 | 
         
        (27) Плохо смотрел. 
 
        Тебе надо достучаться вот до этой процедуры // Формирует и выводит на экран печатные формы. // // Параметры: // ИмяМенеджераПечати - Строка - менеджер печати для печатаемых объектов; // ИменаМакетов - Строка - идентификаторы печатных форм; // МассивОбъектов - Ссылка, Массив - объекты печати; // ВладелецФормы - УправляемаяФорма - форма, из которой выполняется печать; // ПараметрыПечати - Структура - произвольные параметры для передачи в менеджер печати. // Процедура ВыполнитьКомандуПечати(ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, ВладелецФормы, ПараметрыПечати = Неопределено) Экспорт // Проверим количество объектов. Если НЕ ПроверитьКоличествоПереданныхОбъектов(МассивОбъектов) Тогда Возврат; КонецЕсли; // Получим ключ уникальности открываемой формы. КлючУникальности = Строка(Новый УникальныйИдентификатор); ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати"); ПараметрыОткрытия.ИмяМенеджераПечати = ИмяМенеджераПечати; ПараметрыОткрытия.ИменаМакетов = ИменаМакетов; ПараметрыОткрытия.ПараметрКоманды = МассивОбъектов; ПараметрыОткрытия.ПараметрыПечати = ПараметрыПечати; // Откроем форму печати документов. ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, КлючУникальности); КонецПроцедуры  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |