fbpx
  • slide microsft
  • slide aida64
  • XCOM Enemy Unknown (2012)
  • Обзор бесплатных антивирусов
  • Вышел в свет Windows 8.1
  • 3DMark 1.0 (2013)
  • Ролик про Крым
  • Беспроводная зарядка в телефоне, где ее быть не должно :)
  • Скрипт установки принтеров Canon LBP на Linux Ubuntu (обновлено)
  • Увеличение размера виртуального и системного диска в Windows Server без остановки VMWare
  • Что, еще и место выбирать ?!
  • Создание своего Ubuntu Live CD
  • Запуск VMWare ESXi Customizer на несовместимой ОС
  • Проблема при обновлении Kubuntu 11.10 desktop x86
  • Скрипт для выгрузки базы 1С в DT
  • Домашний медиа-сервер своими руками. Часть 1
  • Как качать с торрента
  • Семь мифов о сисадминах
  • Свернуть массив в 1С
  • Windows Server 2016 доступна
  • Создаем свой караоке-видео
  • Как отключить тачпад ноутбука в Linux Ubuntu
  • Winamp прекращает свое существование
  • Что такое UEFI
  • Китайцы назвали WINDOWS 8 угрозой для страны
  • GeForce Experience
  • Adobe Creative Suite 6
  • Звездочки
May23

Печать табличного документа через общую форму печати в УНФ

Троцкий Юрий

Печать табличного документа через общую форму печати в УНФ

Применение встроенного механизма печати в 1С УНФ для печати своего табличного документа.

тонкий клиент

 

 

1. На форме, где должны быть кнопка печати, создаем группу типа "Подменю" (или командную группу) где будет размещаться кнпка печати.

2. Создаем программно кнопку, по нажатию которой должен печататься Табличный документ в модуле формы ПриСозданииНаСервере

 &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.КомандыПечать);	
КонецПроцедуры 

3. МодульФормы документа. Обработчик нажатия программно созданной кнопки

&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
	УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтотОбъект, Объект);
КонецПроцедуры

4. Модуль менеджера документа.

Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
// Расшифровка платежа
КомандаПечати = КомандыПечати.Добавить();
КомандаПечати.Идентификатор = "МакетРасшифровкаПлатежа";
КомандаПечати.Представление = НСтр("ru = 'Расшифровка платежа'");
КомандаПечати.СписокФорм = "ФормаДокумента,ФормаСписка";
КомандаПечати.ПроверкаПроведенияПередПечатью = Ложь;
КомандаПечати.ПереопределитьПользовательскиеНастройкиКоличества = Истина;
КомандаПечати.МестоРазмещения = "КомандыПечать";
КомандаПечати.Порядок = 1;			
КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Ложь;

Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "МакетРасшифровкаПлатежа") Тогда		
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "МакетРасшифровкаПлатежа", "Расшифровка платежа", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "МакетРасшифровкаПлатежа"));
КонецЕсли;
	
//Параметры отправки печатных форм по электронной почте
УправлениеНебольшойФирмойСервер.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);
КонецПроцедуры
Функция ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета)
Если ИмяМакета = "МакетРасшифровкаПлатежа" Тогда		
		Возврат ПечатьРасшифровкаПлатежа(МассивОбъектов, ОбъектыПечати, ИмяМакета);
КонецЕсли;
КонецФункции
Функция ПечатьРасшифровкаПлатежа(МассивОбъектов,ОбъектыПечати,ИмяМакета) Экспорт 
	
	ПервыйДокумент		=	Истина;
	ТабличныйДокумент	=	Новый ТабличныйДокумент;
	Макет	=	ПолучитьМакет("МакетРасшифровкаПлатежа");
	
	Для Каждого Документ из МассивОбъектов Цикл 
	
	//Текст формирования табличного документа	
	
	ПервыйДокумент	= Ложь;
КонецЦикла;


ТабличныйДокумент.АвтоМасштаб = Истина;
Возврат ТабличныйДокумент;	

КонецФункции

P.S. Так-же мы предоставлям надежное обланое хранилище для ваших баз 1С. Подробнее...

Leave a comment

Please login to leave a comment.