19.12.2016

Внешняя печатная форма 1С 8.3

Автор: Белозерских Евгений

     Для того чтобы реализовать возможность вывода на печать дополнительной печатной формы к документу, нет необходимости снимать с поддержки включать возможность вносить изменения в конфигурацию. Можно воспользоваться механизмом внешних печатных форм.
     В этой статье рассмотрен шаблон внешней печатной формы для управляемого приложения. Пример разработки внешней печатной формы для обычного приложения можно посмотреть здесь.

Внешняя печатная форма для 1С 8.3

     Внешняя печатная форма, это файл обработки (с расширением epf) в модуле объекта которой содержатся необходимые процедуры и функции. Теперь по порядку

Функция СведенияОВнешнейОбработке()

Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	МассивНазначений = Новый Массив;
	МассивНазначений.Добавить("Документ.СчетНаОплату");
	ПараметрыРегистрации.Вставить("Вид",			"ПечатнаяФорма");
	ПараметрыРегистрации.Вставить("Назначение",		МассивНазначений);
	ПараметрыРегистрации.Вставить("Наименование",	"Коммерческое предложение");
	ПараметрыРегистрации.Вставить("БезопасныйРежим",ЛОЖЬ);
	ПараметрыРегистрации.Вставить("Информация",		"Печать коммерческого предложения");
	ПараметрыРегистрации.Вставить("Версия",			"1.0");    
	
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
	ДобавитьКоманду(ТаблицаКоманд, "Коммерческое предложение", "КоммерческоеПредложение", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

	Возврат ПараметрыРегистрации;
	
КонецФункции

Функция ПолучитьТаблицуКоманд()

Функция ПолучитьТаблицуКоманд()
	Команды = Новый ТаблицаЗначений;
	//как будет выглядеть описание печ.формы для пользователя
	Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
	//имя макета печ.формы
	Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
	//ВызовСерверногоМетода
	Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
	Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
	Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
	
	Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду()

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

	НоваяКоманда = ТаблицаКоманд.Добавить();
	НоваяКоманда.Представление = Представление;  
	НоваяКоманда.Идентификатор = Идентификатор;
	НоваяКоманда.Использование = Использование;
	НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
	НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры

Процедура Печать

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

	УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
			"Шаблон",
			"Шаблон внешней печатной формы",
			ТабличныйДокументПечати
	);

КонецПроцедуры // Печать()
     Обращаем внимание, что это шаблон внешней печатной формы. Для того, чтобы форма была полноценной, необходимо в переменную "ТабличныйДокументПечати" поместить табличный документ, содержимое которого должно выводится на печать.
     По ссылке вы можете скачать готовый шаблон внешней печатной формы.
 

Другие статьи

Функция вычисления контрольной цифры для штрихкода EAN-13 (EAN-8)

    Рабочая функция для вычисления контрольной цифры в штрихкоде формата EAN-13 или EAN-8

Чтение текстового файла в 1С

    Пример чтения данных текстового файла (на клиенте и сервере) при разработке в режиме управляемого приложения 1С

Чтение (Загрузка) данных из MXL в 1С 8.3

    Рабочий пример обработки чтения (загрузки) данных из MXL файла, с учетом отказа от использования модальных вызовов

Открыть форму выбора 1С 8.3

    Пример кода для открытия окна выбора элемента справочника, без использования модальных вызовов

Чтение и загрузка DBF в 1С 8.3

    Пример программного кода для чтения и/или записи файлов в формате DBF

Выгрузка объекта «1С» в XML и загрузка объекта из XML файла

    Пример выгрузки объекта информационной базы (СправочникОбъект, ДокументОбъект) «1С» в XML файл, и пример обратной загрузки объекта из XML файла

Выгрузка и загрузка XML через DOM

    Полезный пример того, как можно выгрузить в XML данные и загрузить обратно через DOM. Обработка осуществляется при помощи таких объектов как: ЗаписьXML, ЧтениеXML, ЗаписьDOM, ДокументDOM, ПостроительDOM.

HTTP запрос в 1С средствами «WinHttpRequest»

    Пример реализации HTTP запроса в 1С, средствами «WinHttpRequest» 

Программное изменение расписания фонового задания 1С 8.3

   Пример программного кода, для редактирования расписания выполнения фонового задания в 1С 8.3 в режиме отказа использования модальных вызовов

Оформление строк табличной части 1С 8.3

    Пример условного оформления элементов формы, в частности строк табличной части в 1С 8.3 (управляемые формы)

Обработка заполнения табличной части в 1С 8.3

    В статье рассматривается разработка обработки заполнения табличной части на примере конфигурации 1С:ERP
 

Запрос к таблице значений 1С 8.3

    В статье описан простой пример того, как можно сформировать запрос 1С к данным таблицы значений, т.е. как передать таблицу значений в параметр запроса
 

Динамическое создание колонок в таблице на форме 1С (Обычное приложение)

     Практический пример того, каким образом в таблице на форме (в режиме обычного приложения 1С), можно динамически создавать необходимое количество колонок, с возможностью установки обработки событий (например "ПриИзменении" в ячейке таблицы)

Динамическое создание колонок в таблице на форме 1С 8.3

      Практический пример того, каким образом в управляемом интерфейсе можно создавать и удалять колонки в таблице значений на форме

Чтение (загрузка) данных в 1С 8.3 из Excel

     Для передачи различной информации очень часто применяются табличные документы Excel. Переносить руками информацию из такого файла можно, но не удобно. Поэтому давайте рассмотрим, как можно программно в 1С обработать такой документ

Сохранение и восстановление настроек 1С 8.3

    Пример работы с хранилищем настроек 1C, для программного сохранения и получения сохраненных настроек

Определение даты создания ссылки в 1С

Определяем дату создания ссылки по уникальному идентификатору объекта 1С

Программное создание команды и кнопки на форме 1С 8.3

Небольшой пример того, как программно создавать команды и элементы управления на управляемых формах 1С

Открыть форму созданного объекта (Справочник, документ в 1С 8.2, 8.3)

Создаем новый объект, НЕ записываем его в базу, и открываем форму