Печатная форма своими руками

Начать рубрику о я думаю лучше с того, с чем приходится сталкиваться довольно часто. Не знаю как у вас, а у меня создание или изменение внешних печатных форм, довольно частое занятие. А как быть если вы новичок? Эта небольшая заметка как раз и рассчитана на помощь новичкам. Итак , сегодня мы с вами научимся делать печатные формы.

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

Рассмотрим подробнее второй путь решения. Путь правильный, не затрагивающий конфигурацию.Вы скорей всего замечали пункт меню Сервис/Внешние обработки и печатные формы.

Сервис/Внешние обработки и печатные формы

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

Поехали, как сказал Гагарин.

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

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

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

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

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

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

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

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

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

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

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

Ничего пока не писал

    11 комментариев to “Печатная форма своими руками”

    1. Автору не стоит ни в коем случае путать понятия «снятие с поддержки» и «включение возможности редактирования»

    2. Делаю внешнию обработку по аналогии данной, все работает, только вот макет почему то береться из документа, как сделать так чтоб брать его из внешней обработки ?

    3. Все очень просто Павел, нужно во внешнюю обработку добавить макет с другим именем. И в коде модуля добавить строку «Макет=ПолучитьМакет(„Как вы там его обозвали“);»

    4. всегда пожалуйста :) Заходите еще!

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

      А как создать область?

    6. А из скриншота не понятно?

    7. Скажите пожалуйста, а где можно найти типовой код заполнения типовой же печатной формы счёта на оплату покупателю? Мне надо изменить его чуть-чуть, макет я нашла, скопировала, а вот сам модуль найти не могу...

    8. Скажите пожалуйста, а где можно найти типовой код заполнения типовой же печатной формы счёта на оплату покупателю? Мне надо изменить его чуть-чуть, макет я нашла, скопировала, а вот сам модуль найти не могу...

    9. Помог, спасибо.

    10. Пожалуйста. Всегда рад, когда мои записи хоть кому то приносят пользу

    Leave a Reply

    Прежде чем высказаться
    blog comments powered by Disqus