|
программно добавить свое подменю в команды печати | ☑ | ||
---|---|---|---|---|
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) Плохо смотрел.
Тебе надо достучаться вот до этой процедуры // Формирует и выводит на экран печатные формы. // // Параметры: // ИмяМенеджераПечати - Строка - менеджер печати для печатаемых объектов; // ИменаМакетов - Строка - идентификаторы печатных форм; // МассивОбъектов - Ссылка, Массив - объекты печати; // ВладелецФормы - УправляемаяФорма - форма, из которой выполняется печать; // ПараметрыПечати - Структура - произвольные параметры для передачи в менеджер печати. // Процедура ВыполнитьКомандуПечати(ИмяМенеджераПечати, ИменаМакетов, МассивОбъектов, ВладелецФормы, ПараметрыПечати = Неопределено) Экспорт // Проверим количество объектов. Если НЕ ПроверитьКоличествоПереданныхОбъектов(МассивОбъектов) Тогда Возврат; КонецЕсли; // Получим ключ уникальности открываемой формы. КлючУникальности = Строка(Новый УникальныйИдентификатор); ПараметрыОткрытия = Новый Структура("ИмяМенеджераПечати,ИменаМакетов,ПараметрКоманды,ПараметрыПечати"); ПараметрыОткрытия.ИмяМенеджераПечати = ИмяМенеджераПечати; ПараметрыОткрытия.ИменаМакетов = ИменаМакетов; ПараметрыОткрытия.ПараметрКоманды = МассивОбъектов; ПараметрыОткрытия.ПараметрыПечати = ПараметрыПечати; // Откроем форму печати документов. ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, КлючУникальности); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |