Печатная форма своими руками.
Начать рубрику о 1С я думаю лучше с того, с чем приходится сталкиваться довольно часто. Не знаю как у вас, а у меня создание или изменение внешних печатных форм, довольно частое занятие. А как быть если вы новичок? Эта небольшая заметка как раз и рассчитана на помощь новичкам ведь компьютерная поддержка является приоритетным направлением. Итак , сегодня мы с вами научимся делать печатные формы.
Поговорим сначала о изменении уже существующих печатных форм. Есть два пути, один правильный другой нет. Рассмотрим для начала в корне не правильный подход. Печатную форму можно изменить прямо в конфигурации. Если мы так поступим, то мы автоматом изменим и саму конфигурацию, то есть снимем ее с поддержки. Если мы снимем ее с поддержки, то смело можем забыть о такой полезной вещи, как автоматическое обновление. Отсутствие автоматических обновлений – это дополнительные затраты денег, времени и отсутствие оперативных обновлений. Для нас – это дополнительная нагрузка, причем массовый поток заявок невозможно предугадать.
Рассмотрим подробнее второй путь решения. Путь правильный, не затрагивающий конфигурацию.Вы скорей всего замечали пункт меню Сервис/Внешние обработки и печатные формы.

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

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



06. Июнь, 2011 