Внешние печатные формы в 1С:Предприятие 8

Платформа: 1С:Предприятие 8.1

Конфигурация: Управление торговым предприятием 8 для Украины

Область применения

Часто Клиенты просят изменить печатную форму того или иного документа. Если изменять конфигурацию, то придется включить возможность изменения конфигурации и забыть об автоматическом обновлении. Отсутствие автоматических обновлений – это дополнительные затраты денег, времени и отсутствие оперативных обновлений. Для программистов и консультантов – это дополнительная нагрузка, причем массовый поток заявок невозможно предугадать. Однако можно обойтись без изменения конфигурации 1С 8. Для этого будем использовать внешние печатные формы.

Наверняка, многие замечали пункт меню Сервис/Внешние обработки и печатные формы.

Расположение внешних печатных форм в 1С:Предприятие 8 Управление торговым предприятием

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

Пример размещения вызова внешней печатной формы в меню печати документа в 1С

Приступим!

Практическая часть

Откроем конфигуратор и создадим внешнюю обработку с названием ВнешняяПечатнаяФорма.epf . Нажмем Файл/Новый…

Меню Файл - Новый... в конфигураторе 1С

Выберем «Внешняя обработка».

Выбор вида нового документа в конфигураторе 1С:Предприятие 8

Результатом будет новая внешняя обработка.

Новая внешняя обработка в 1С:Предприятие 8.1, релиз 8.1.11

Назовем её ВнешняяПечатнаяФорма. Добавим новый реквизит СсылкаНаОбъект с типом ДокументСсылка.РеализацияТоваровИУслуг. Если хотим сделать печатную форму для другого вида документа – нужно использовать соответствующий ссылочный тип.

Добавление нового реквизита СсылкаНаОбъект с типом ДокументСсылка.РеализацияТоваровИУслуг в конфигураторе 1С:Предприятие 8

Добавим новый макет.

Добавление нового макета во внешнюю обработку 1С 8

Создадим макет с названием «Макет». Создадим область с названием «Заголовок» и параметром «ТекстЗаголовка».

Область макета с названием «Заголовок» и параметром «ТекстЗаголовка» в конфигураторе 1С

 Свойство ячейки R1C1 макета в конфигураторе 1С 8.1

Откроем модуль внешней обработки.

Открытие модуля внешней обработки (1С 8.1)

И вставим следующий текст модуля:

//Украинская Софтовая Компания. Пример внешней печатной формы для 1С:Предприятие 8

// Функция формирует табличный документ с печатной формой
// Возвращаемое значение:
// Табличный документ - печатная форма накладной
//
// Рекумендуется заменить на аналогичную функцию из модуля документа, для которого создается внешняя печатная форма
Функция ПечатьДокумента()
	
	//Получим данные из документа
	
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
	|	РеализацияТоваровУслуг.Номер,
	|	РеализацияТоваровУслуг.Дата
	|ИЗ
	|	Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
	|ГДЕ
	|	РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент";
	
	Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект); //используем в качестве параметра реквизит обработки СсылкаНаОбъект
	
	Шапка = Запрос.Выполнить().Выбрать();
	Шапка.Следующий();
	
	//Созданим и заполним табличный документ
	ТабДокумент = Новый ТабличныйДокумент;
	Макет = ПолучитьМакет("Макет");
	ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
	ОбластьМакета.Параметры.ТекстЗаголовка = "Расходная накладная №" + Шапка.Номер + " от " + Шапка.Дата;
	ТабДокумент.Вывести(ОбластьМакета);
	
	Возврат ТабДокумент;

КонецФункции // ПечатьДокумента()

// Функция является точкой входа в данную обработку.
// Алгоритм заполнения печатной формы удобно размещать в отдельной(ых) функции(ях)
// Возвращаемое значение:
// Табличный документ - печатная форма накладной
//
Функция Печать() Экспорт
	
	ТабДокумент = ПечатьДокумента();
	Возврат ТабДокумент;
	
КонецФункции // Печать

В результате получится

Модуль объекта Обработки внешней печтной формы (1С конфигуратор)

Запустим 1С:Предприятие 8. Перейдем в Сервис/Внешние обработки и печатные формы/Внешние печатные формы.

Добавим новую запись в список форм. Выберем созданный нами файл обработки. В табличной части укажем принадлежность внешней печатной формы документу «Реализация товаров и услуг».

Регистрация внешней печатной формы в 1С:Предприятие 8 Управление торговым предприятием

Проверим как работает новая печатная форма.

Документ "Реализация товаров и услуг", проверка работы внешней печатной формы

                Табличный документ - результат выполнения обработки внешней печатной формы в 1С:Предприятие 8

Заключение

Мы прошли весь путь от создания до внедрения внешней печатной формы. Удобно для создания внешних форм использовать макеты и модули из типовой конфигурации.

Пример обработки для 1С скачать бесплатно.

Сергей Матвиенко. 2008 г .

 

Полезные материалы по программным продуктам 1С: Предприятие


Количество показов: 160415
Автор:  Сергей Матвиенко
Рейтинг:  4.66

Возврат к списку


Страницы: 1 2 След.
uasoft
:idea: Оставляйте свои комментарии и пожелания к темам будущих статей об 1С:Предприятие.
Гость
Дякую! Як би знав раніше - всім би своїм бухгалтерам форми переробив бы. А то вони хочуть, а я кажу що краще не треба. Просто не було часу розібратися. Ще раз дякую! :D
Гость
Спасибо! Полезная статья.
В 7ке приходилось менять конфигурацию, а это влекло за собой сложности при обновлении.
А тут конфигурация остается типовой, но с добавлеными своими печатными формами.
Гость
Очень полезно, но у меня есть один вопрос как во внешней печатной форме использовать экспортные функции Глобальных модулей, у меня что то не получается, плиз кто сталкивался объясните.
Гость
подскажите что не так делаю, беру в конфигураторе нахожу макет накладной изменяю все в ней так как надо, а при печати она мне печатает как до этого печатала, что я делаю не так
uasoft
Цитата
Гость пишет:
подскажите что не так делаю, беру в конфигураторе нахожу макет накладной изменяю все в ней так как надо, а при печати она мне печатает как до этого печатала, что я делаю не так


Когда меняется что-либо во внешней печатной форме - нужно обновить обработку во внешних печатных формах в 1С:Предприятие 8.
В 1С внешние печатные формы и обработки находятся в хранилище значений. При обращении к обработке, происходит извлечение обработки их хранилища в каталог временных файлов, откуда и запускается обработка.
uasoft
Цитата
Гость пишет:
Очень полезно, но у меня есть один вопрос как во внешней печатной форме использовать экспортные функции Глобальных модулей, у меня что то не получается, плиз кто сталкивался объясните.


Если общий модуль не отмечен как глобальный, нужно обращаться через точку НазваниеОбщегоИодуля.ИмяФункции(<Параметры>)
Так же в общем модуле должен быть флаг Клиент.
Еще в клиент-серверном варианте стоит обратить внимание на конструкции вида "#Если Клиент ..."
Гость
хорошая подробная статья спасибо
mariner
В 7-ке можно аналогично подключать к документам внешние дополнительные формы.
mariner
спасибо автору.

2 Гость, 15.10.2008 13:28:46
в 7-ке аналогично можно подключить внешнюю форму к документу.
Гость
Сергей, спасибо за статью! Сэкономил кучу времени!
Алексей
СПАСИБО. Съекономил Время!
Гость
Большое спасибо автору! Очень доступно написано, как раз для начинающих :)
Enya
Большое спасибко..все просто и ясно..очень пригодилось)) :)
Ren
Спасибо
Parasol`ka
Огромное спасибо за материал, но всё-таки не хватает мастерства для формирования собственной Внешней печатной формы. Как можно извлечь/скопировать базовый ***.epf файл, чтобы слегка подкорректировать?
uasoft
Цитата
Parasol`ka пишет:
Как можно извлечь/скопировать базовый ***.epf файл


Можете скачать epf файл внизу статьи. Форму табличного документа и модуль печати прийдется копировать из типовой конфигурации. Базовых epf файлов не существует. Существует только возможность их создания.
Max
Огромное спасибо за статью. Ну, просто огромнейшее:) Очень помогло.
Гость
Спасибо! Все гениальное просто!
jj
:) Хорошая Статья) Респект автору
Страницы: 1 2 След.
Последние статьи на тему "1С:Предриятие"