|
Как создать кнопку печать в созданном в конфигураторе документе? | ☑ | ||
---|---|---|---|---|
0
gabd_marat
07.07.17
✎
10:55
|
Народ, подскажите как создать кнопку печать документе и подцепить функции печати?
|
|||
1
h-sp
07.07.17
✎
11:01
|
(0) продублировать всё, что есть по печати в других, типовых документах. В модуле менеджера и в модуле формы там что-то есть
|
|||
2
Ёпрст
07.07.17
✎
11:01
|
(0) Нанять кодера
нанять вминяемого спрашивальщика на форуме. |
|||
3
gabd_marat
07.07.17
✎
14:22
|
(1) Продублировал функции печати из модуле менеджер документа, изменил под свою задачу, создал команду в конструкторе печати, но не работает, поэтому думал может есть стандартные методы создания такой же кнопки как и в стандартных документах (без использования конструктора печати , может надо кукую-либо обработку подключать )
|
|||
4
Гипервизор
07.07.17
✎
14:24
|
(3) А форма-то обычная или необычная?
|
|||
5
gabd_marat
07.07.17
✎
16:31
|
(4) управляемая
|
|||
6
gabd_marat
07.07.17
✎
16:31
|
8.3 платформа
|
|||
7
Slypower
07.07.17
✎
16:38
|
(3) а на кнопку повесили код?
|
|||
8
Strogg
07.07.17
✎
16:46
|
(3) Если создал команду, выбрал тип параметра команды, написал код в команде (путь к менеджеру объекта), то на форме ничего не надо вешать - достаточно определить ее положение в свойствах команды. (задается в группе). Эта кнопка потом автоматом появляется в командной панели.
|
|||
9
gabd_marat
07.07.17
✎
19:45
|
(8) Хорошо посмотрю, сейчас не за компьютером,просто посмотрев стандартные документы там не создана конструктором команда печати, думал может нужна подписка на событие или добавить в обработки
|
|||
10
gabd_marat
07.07.17
✎
20:43
|
(8) Вот функции и процедуры печати из модуля менеджера
//////////////////////////////////////////////////////////////////////////////// // ПРОЦЕДУРЫ И ФУНКЦИИ ПЕЧАТИ // Заполняет список команд печати. // // Параметры: // КомандыПечати - ТаблицаЗначений - состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати // Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт // Перемещение товароа КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Идентификатор = "ПеремещениеПечать"; КомандаПечати.Представление = НСтр("ru = 'Перемещение товаров'"); КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати"; КонецПроцедуры Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт // Проверяем, нужно ли для макета Накладная формировать табличный документ. Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПеремещениеПечать") Тогда // Формируем табличный документ и добавляем его в коллекцию печатных форм. УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПеремещениеПечать", "Перемещение товаров", ПечатьПеремещениеТоваров(МассивОбъектов, ОбъектыПечати), , "Документ.ПеремещениеТовараСоСклада.Печать"); КонецЕсли; ОбщегоНазначенияБП.ЗаполнитьДополнительныеПараметрыПечати(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода); КонецПроцедуры // Функция формирует табличный документ с печатной формой накладной, // разработанной методистами // // Возвращаемое значение: // Табличный документ - печатная форма накладной // Функция ПечатьПеремещениеТоваров(МассивОбъектов, ОбъектыПечати) УстановитьПривилегированныйРежим(Истина); ТекстЗапроса = "ВЫБРАТЬ | ПеремещениеТовараСоСклада.Ссылка КАК Ссылка, | ПеремещениеТовараСоСклада.Дата КАК Дата, | ПеремещениеТовараСоСклада.СкладОтправитель, | ПеремещениеТовараСоСклада.СкладПолучатель, | ПеремещениеТовараСоСклада.Ответственный, | ПеремещениеТовараСоСклада.Товары.( | Номенклатура, | Количество | ), | ПеремещениеТовараСоСклада.Дата КАК ДатаНач, | ПеремещениеТовараСоСклада.Дата КАК ДатаКон |ИЗ | Документ.ПеремещениеТовараСоСклада КАК ПеремещениеТовараСоСклада |ГДЕ | ПеремещениеТовараСоСклада.Ссылка В(&МассивОбъектов) | |УПОРЯДОЧИТЬ ПО | Дата, | Ссылка |ИТОГИ | МИНИМУМ(ДатаНач), | МАКСИМУМ(ДатаКон) |ПО | ОБЩИЕ"; Запрос = Новый Запрос(); Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов); Запрос.Текст = ТекстЗапроса; ШапкаИтоги = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.АвтоМасштаб = Истина; ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет; ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ПеремещениеТоваров"; Макет = УправлениеПечатью.МакетПечатнойФормы("Документ.ПеремещениеТовараСоСклада.Печать"); Если ШапкаИтоги.Следующий() Тогда ДатаНач = ?(ЗначениеЗаполнено(ШапкаИтоги.ДатаНач), ШапкаИтоги.ДатаНач, '00010101'); ДатаКон = ?(ЗначениеЗаполнено(ШапкаИтоги.ДатаКон), ШапкаИтоги.ДатаКон, '00010101'); СтруктураПоиска = Новый Структура("Регистратор, Номенклатура"); ПервыйДокумент = Истина; Шапка = ШапкаИтоги.Выбрать(); Пока Шапка.Следующий() Цикл ВыборкаСтрокТовары = Шапка.Товары.Выбрать(); Если Не ПервыйДокумент Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); КонецЕсли; ПервыйДокумент = Ложь; // Запомним номер строки, с которой начали выводить текущий документ. НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1; ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначенияБПВызовСервера.СформироватьЗаголовокДокумента(Шапка, "Пернемещение товаров"); ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("ШапкаРеквизиты"); ОбластьМакета.Параметры.Заполнить(Шапка); СведенияОбОрганизации = БухгалтерскийУчетПереопределяемый.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата); ПредставлениеОрганизации = ОбщегоНазначенияБПВызовСервера.ОписаниеОрганизации(СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,"); ОбластьМакета.Параметры.ПредставлениеОрганизации = ПредставлениеОрганизации; ТабличныйДокумент.Вывести(ОбластьМакета); ОбластьШапкаТовары = Макет.ПолучитьОбласть("ШапкаТовары"); ТабличныйДокумент.Вывести(ОбластьШапкаТовары); ОбластьТовары = Макет.ПолучитьОбласть("Товары"); Ном = 0; Пока ВыборкаСтрокТовары.Следующий() Цикл Ном = Ном + 1; ОбластьТовары.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьТовары.Параметры.НомерСтроки = Ном; ОбластьТовары.Параметры.Номенклатура = ВыборкаСтрокТовары.Номенклатура; ОбластьТовары.Параметры.Количество = ВыборкаСтрокТовары.Количество; ТабличныйДокумент.Присоединить(ОбластьТовары); КонецЦикла; // Вывести подписи ОбластьМакета = Макет.ПолучитьОбласть("Подвал"); ТабличныйДокумент.Вывести(ОбластьМакета); // В табличном документе зададим имя области, в которую был // выведен объект. Нужно для возможности печати покомплектно. УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент, НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка); КонецЦикла; КонецЕсли; Возврат ТабличныйДокумент; КонецФункции |
|||
11
gabd_marat
08.07.17
✎
00:03
|
Вроде разобрался как формировать печать документа через конструктор печати, но все же интересно как можно вывести кнопку печати и сформировать печать документа программно без конструктора печати с теми же возможностями? Подскажите литературу
|
|||
12
Мимохожий Однако
08.07.17
✎
06:51
|
(11) БСП
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |