1с внешняя печатная форма обычные формы

Создание внешних печатных форм 1С — обычное приложение

Рассмотрим написание простейшей печатной формы в 1с 8.1 — 8.2 на примере конфигурации Бухгалтерия предприятия 2.0. Допустим требуется написать внешнюю печатную форму к документу Реализация товаров и услуг: вывести основные данные документа, а так же из табличной части Товары: номенклатуру, цену, количество и сумму.

Скачать получившийся пример можно по ссылке.

Создание внешней обработки

В конфигураторе 1C Предприятия 8 создаем внешнюю обработку (Файл->Новый->Внешняя обработка), задаем имя, создаем обязательный для внешней печатной формы реквизит СсылкаНаОбъект с типом ДокументСсылка.РеализацияТоваровУслуг.

%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5 %D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B5%D0%B9 %D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B81

Создание макета печатной формы

Добавляем новый макет, тип макета оставляем Табличный документ. На макете создаем три области: Шапка, Данные и Подвал. Сделать это можно выделив нужное количество строк и нажав меню Таблица->Имена->Назначить имя (Ctrl+Shift+N).

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

В области Данные создадим параметры для вывода строк табличной части(Номенклатура, цена и т.д.), а в области Подвал для итогов по количеству и сумме.

%D0%9C%D0%B0%D0%BA%D0%B5%D1%82 %D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%BD%D0%BE%D0%B9 %D1%84%D0%BE%D1%80%D0%BC%D1%8B

Программирование

Зайдем в модуль объекта печатной формы Действия->Открыть модуль объекта.

%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4 %D0%B2 %D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C %D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0

Получите понятные самоучители по 1С бесплатно:

Создадим там обязательную для печатных форм экспортную функцию Печать().

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

Заполним параметры шапки и выведем ее в табличный документ.

Для того чтобы получить строки табличной части Товары используем запрос.

В параметр запроса передаем реквизит СсылкаНаОбъект, что бы указать в условии ГДЕ, что нам нужны данные только того документа из которого выводим печатную форму. Чтобы получить выборку запроса, сначала выполняем его, а затем выбираем строки.

Заполним и выведем область Подвал.

Возвращаем заполненный табличный документ из функции Печать().

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

5. Подключение печатной формы к документу

В типовых конфигурациях 1С 8 для регистрации внешних печатных форм существует справочник ВнешниеОбработки. Для подключения следует в режиме предприятия зайти в меню Сервис->Дополнительные отчеты и обработки->Дополнительные внешние печатные формы.

%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5 %D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA%D0%B0 %D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B8%D1%85 %D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BE%D0%BA

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

%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F %D0%B2%D0%BD%D0%B5%D1%88%D0%BD%D0%B5%D0%B9 %D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%BD%D0%BE%D0%B9 %D1%84%D0%BE%D1%80%D0%BC%D1%8B

Теперь в документе Реализация товаров и услуг появится новая печатная форма.

%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA %D0%BF%D0%B5%D1%87%D0%B0%D1%82%D0%BD%D1%8B%D1%85 %D1%84%D0%BE%D1%80%D0%BC %D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0

%D0%9F%D0%B5%D1%87%D0%B0%D1%82%D0%BD%D0%B0%D1%8F %D1%84%D0%BE%D1%80%D0%BC%D0%B0

Авторегистрация печатной формы

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

%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0 %D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8

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

%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5 %D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2 %D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D0%B8

Смотрите видео по созданию внешней печатной формы для управляемого приложения:

Источник

Внешние печатные формы в 1С

service img1

Обновим 1С с гарантией сохранности базы

service img2

Поможем с 1С 24/7, без выходных

service img3

Установим сервисы 1С бесплатно

service img4

Оперативно решим любые задачи по 1С

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

Часто пользователям необходимо внести небольшие изменения в печатную форму, уже существующую. В этом случае также лучше использовать дополнительную форму, а не вносить поправки в стандартную, т.к. при последующих обновлениях системы могут возникнуть серьёзные проблемы.

Для примера возьмём печатную форму «Унифицированная форма №Т-61» или по-другому «Записка-расчет при прекращении (расторжении) трудового договора с работником (увольнении)». Будем использовать конфигурацию 1С Управление производственным предприятием.

Пользователи попросили добавить в документ «Увольнение из организаций» данную печатную форму. Рассмотрим процесс создания печатной формы, заполнение её макета и подключения печатной формы.

Создание и настройка печатной формы в 1С

Для создания новой обработки в 1С необходимо запустить 1С в режиме «Конфигуратор».

placeholder

В Конфигураторе в меню «Файл» необходимо выбрать пункт «Новый», так же можно воспользоваться комбинацией клавиш Ctrl+N или кнопкой на панели быстрого доступа.

placeholder

По сути внешняя печатная форма – это внешняя обработка, предназначенная для формирования печатной формы, поэтому в появившемся окне выбираем вариант «Внешняя обработка» и нажимаем «ОК».

placeholder

В открывшемся окне новой обработки необходимо задать ей имя. Назовём нашу обработку «УвольнениеТ61», автоматически формируется синоним, который будет виден пользователям.

placeholder

Добавим реквизит «СсылкаНаОбъект» и укажем тип «ДокументСсылка.УвольнениеИзОрганизаций» т.к. мы собираемся подключать обработку именно к данному документу.

placeholder

Теперь необходимо создать форму для нашей обработки. Выбираем в списке «Формы» и нажимаем «Добавить».

placeholder

В появившемся окне формы выбираем параметры для формы нашей обработки. Тип формы установим «Форма обработки», проконтролируем флаг «Назначить форму основной». Можно задать форме имя, но мы оставим стандартное. В данном примере оно не играет никакой роли. Нажимаем «Далее».

placeholder

На данной вкладке установим флаг у реквизита «СсылкаНаОбъект» для того, чтобы он появился на форме, затем нажимаем «Готово».

placeholder

Нажимаем правой кнопкой мыши на кнопку «Выполнить» и выбираем пункт «КнопкаВыполнитьНажатие».

placeholder

В процедуру выполнить нажатие добавим следующий код:

placeholder

Так же нам понадобятся две переменные «ВалютаРегламентированногоУчета» и «ВалютаУправленческогоУчёта».

placeholder

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

placeholder

В появившемся окне необходимо установить имя макета. Назовём макет «Т_61» и установим тип макета «Табличный документ».

placeholder

Перед нами откроется окно пустого табличного документа, которое необходимо заполнить в соответствии с внешним видом «Унифицированной формы №Т-61». Опустим шаги по заполнению макета, покажем только конечный результат.

placeholder

placeholder

Заполнение макета печатной формы

Код для заполнения макета необходимо расположить в «Модуле объекта». Для этого нажмём на кнопку «Действия» нашей обработки и выберем пункт «Открыть модуль объекта».

placeholder

Процесс написания кода аналогичен процессу заполнения обычного табличного документа, поэтому приведём готовый листинг кода, разобраться в котором начинающим программистам не составит никакого труда.

Запрос = Новый Запрос;

// Установим параметры запроса

Если Режим = «ПоРеквизитамДокумента» Тогда

Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

| УвольнениеИзОрганизаций.Номер КАК НомерДок,

| УвольнениеИзОрганизаций.Дата КАК ДатаДок,

| УвольнениеИзОрганизаций.Организация.НаименованиеПолное КАК НазваниеОрганизации,

| УвольнениеИзОрганизаций.Организация.КодПоОКПО КАК КодПоОКПО,

| ОтветственныеЛицаОрганизаций.Должность КАК ДолжностьРуководителя,

| ОтветственныеЛицаОрганизаций.НаименованиеОтветственногоЛица КАК ФИОРуководителя,

| Документ.УвольнениеИзОрганизаций КАК УвольнениеИзОрганизаций

| ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОбОтветственномЛице КАК ОтветственныеЛицаОрганизаций

| ПО УвольнениеИзОрганизаций.Организация = ОтветственныеЛицаОрганизаций.СтруктурнаяЕдиница

ИначеЕсли Режим = «ПоТабличнойЧастиДокумента» Тогда

| ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + «» «» + ФИОФизЛицСрезПоследних.Имя + «» «» + ФИОФизЛицСрезПоследних.Отчество, УвольнениеИзОрганизацииРаботники.Сотрудник.Наименование) КАК Работник,

| УвольнениеИзОрганизацииРаботники.Сотрудник.ДатаДоговора КАК ТрудовойДоговорДата,

| УвольнениеИзОрганизацииРаботники.Сотрудник.НомерДоговора КАК ТрудовойДоговорНомер,

| УвольнениеИзОрганизацииРаботники.НомерСтроки КАК НомерСтроки,

| УвольнениеИзОрганизацииРаботники.СтатьяТКРФ.Наименование КАК СтатьяТКРФ,

| УвольнениеИзОрганизацииРаботники.ОснованиеУвольнения КАК ОснованиеУвольнения,

| КОГДА Работники.ПериодЗавершения ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

| КОНЕЦ КАК Подразделение,

| КОГДА Работники.ПериодЗавершения ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

| КОНЕЦ КАК ОЦРВ_Подразделение,

| КОГДА Работники.ПериодЗавершения ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)

| КОНЕЦ КАК Должность,

| УвольнениеИзОрганизацииРаботники.Сотрудник.Код КАК ТабельныйНомер,

| УвольнениеИзОрганизацииРаботники.ДнейЧасовКомпенсацииУдержанияОтпуска КАК Компенс,

| Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК УвольнениеИзОрганизацииРаботники

| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ

| СписокДат.Сотрудник КАК Сотрудник,

| РаботникиОрганизации.ПодразделениеОрганизации.Наименование КАК ПодразделениеОрганизации,

| РаботникиОрганизации.Должность.Наименование КАК Должность,

| РаботникиОрганизации.ПодразделениеОрганизацииЗавершения.Наименование КАК ПодразделениеОрганизацииЗавершения,

| РаботникиОрганизации.ОЦРВ_ПодразделениеОрганизации.Наименование КАК ОЦРВ_ПодразделениеОрганизации,

| РаботникиОрганизации.ОЦРВ_ПодразделениеОрганизацииЗавершения.Наименование КАК ОЦРВ_ПодразделениеОрганизацииЗавершения,

| РаботникиОрганизации.ДолжностьЗавершения.Наименование КАК ДолжностьЗавершения,

| РаботникиОрганизации.ПериодЗавершения КАК ПериодЗавершения

| РаботникиВнутри.Сотрудник КАК Сотрудник,

| МАКСИМУМ(РаботникиВнутри.Период) КАК ДатаПоследнегоИзменения

| РегистрСведений.РаботникиОрганизаций КАК РаботникиВнутри

| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК Док

| ПО РаботникиВнутри.Период 0 Тогда

ПредставлениеДатыДоговора = Формат(ВыборкаРаботники.ТрудовойДоговорДата, «ДЛФ=DD»);

ПредставлениеДатыУвольнения = Формат(ВыборкаРаботники.ДатаУвольнения, «ДЛФ=DD»);

Если ВыборкаРаботники.ПризнакКомпенсацииОтпуска = Истина Тогда

Функция Печать(КоличествоЭкземпляров = 1, НаПринтер = Ложь) Экспорт

// ОПЕРАТОРЫ ОСНОВНОЙ ПРОГРАММЫ

мДлинаСуток = 86400; // в секундах

мСведенияОВидахРасчета = Новый Соответствие;

Сохраняем нашу готовую печатную форму на диск и запускаем 1С в режиме «Предприятие».

Подключение внешней печатной формы к документу

Подключение внешней печатной формы производится аналогично подключению внешней обработки.

В меню «Операции» выберем пункт «Справочник».

placeholder

В открывшемся окне выберем справочник «Внешние обработки».

placeholder

В данном справочнике хранятся все внешние обработки, внешние отчеты и внешние печатные формы, добавленные в систему. Нажмём кнопку добавить на панели справочника.

placeholder

В появившемся окне нового элемента справочника необходимо указать вид элемента. Выбираем значение «Печатная форма».

placeholder

Выбираем файл нашей печатной формы

placeholder

Имя печатной формы в 1С заполнилось автоматически. Теперь необходимо указать «Принадлежность печатной формы». Нажимаем кнопку «Добавить».

placeholder

Выбираем документ «Увольнение из организаций» и нажимаем «ОК».

placeholder

Сохраняем нашу внешнюю печатную форму и открываем документ «Увольнение из организаций». В кнопке «Печать» добавился новый пункт с нашей печатной формой «Форма Т-61 (внешняя печатная форма)».

placeholder

Как оптимизировать работу с программой?

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

Даже если у вас есть программисты 1С, мы предлагаем оставить за ними важные стратегические задачи, а за сопровождением 1С к профессионалам, в компанию «ПРОГРАММЫ 93».

Почему нас выбирают?

ООО «ПРОГРАММЫ 93» — это компания с большим штатом сотрудников, в который входят не только специалисты 1С, но и бухгалтера, кадровики, юристы и другие эксперты. Вы больше не зависите от одного сотрудника, вам не нужно тратить деньги на приглашенных специалистов для решения каждой задачи и переживать насчет того, что у вас не хватает компетенции для проверки работы сотрудника. Для вас работает целая команда, любая задача дополнительно проверяется, а заболевший специалист тут же заменяется другим незаметно для вас.

Мы рады предложить вам:

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

Источник

Внешние печатные формы в 1С 8.2 и 8.3

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

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

Кроме этого, нужно отметить, что создание внешних печатных форм различается для обычного приложения (Бухгалтерия 2.0.*, ЗиУП 2.5.*, УТ 10.3.*) и управляемого приложения (Бухгалтерия 3.0.*, ЗиУП 3.*, УТ 11.*). В статье будут рассмотрены оба варианта.

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

Внешняя печатная форма в управляемом приложении

Начнем с того, что в настоящее время встречается чаще — с управляемого приложения. В тексте ниже будет приведен пример создания и подключения внешней печатной формы для документа «Приходный кассовый ордер» (Бухгалтерия предприятия, редакция 3.0).

Создание

Как уже было сказано выше, внешняя печатная форма — это просто-напросто внешняя обработка соответствующая некоторым требованиям. Первым требованием является реализация в модуле печатной формы экспортной функции СведенияОВнешнейОбработке().

Итак, создаем новую внешнюю обработку и в модуле объекта этой обработки размещаем примерно такой код:

Код в основном прокомментирован, но некоторые моменты нужно обговорить отдельно. Функция СведенияОВнешнейОбработке() является общей для всех внешних объектов. Вид внешнего объекта указывается в параметре «Вид» (у нас указана «ПечатнаяФорма»).

Большинство параметров не являются обязательными для заполнения. В нашем случае обязательно указать параметры «Вид», «Версия» и «Команды» — это обязательные параметры для всех видов внешних объектов («Команды» необязательны для отчетов). Кроме этого будет полезно указать параметры «Назначение». Но вообще, желательно указывать как можно больше информации — это поможет не запутаться как Вашим клиентам так и Вам самим.

Параметр «БезопасныйРежим» со значением «Истина» накладывает следующие ограничения:

Параметру «БезопасныйРежим» рекомендуется присваивать значение «Истина». Если необходима какая-либо функциональность, запрещаемая безопасным режимом, то можно получить дополнительное разрешения на эту функциональность (как в примере выше).

Кроме функции СведенияОВнешнейОбработке() необходимо реализовать еще одну экспортную функцию — Печать(). Эта функция должна иметь следующие параметры:

Пример реализации функции Печать():

Источник

Как создать внешнюю печатную форму для обычного приложения 1С

Внешние печатные формы для обычного приложения (для конфигурация Бухгалтерия предприятия 2.0, Зарплата и управление персоналом 2.5, Управление торговлей 10.3 и т.д.) создаются довольно просто по сравнению с внешними печатными формами для управляемого приложения.

Для чего создавать внешние печатные формы

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

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

Как создать внешнюю печатную форму

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

Часто бывает, что нужно слегка подкорректировать макет уже существующей печатной формы и сделать ее внешней. Например, добавить на макет печать организации и подпись руководителя.

Создание внешней печатной формы на основе стандартной с незначительными изменениями

Рассмотрим эту процедуру на примере создания внешней печатной формы универсального передаточного документа для документа Реализация товаров и услуг 1С:Бухгалтерии. От стандартной печатной формы она будет отличаться наличием печати организации.

Источник

Еще раз о создании Внешней Печатной Формы на 8.2 из существующей

Часто необходимо «немного» подправить существующую печатную форму. Изменить конфу просто, но потеряешь поддержку. Хорошо бы сделать внешнюю форму, но многочисленное освещение этого вопроса в интернете приводит только к новым вопросам. Продравшись через советы «гуру», предлагаю Вам коротенькую инструкцию:

1.Создать новую внешнюю обработку
2.В реквизиты добавить СсылкуНаОбъект можно неопределенный, но лучше на ДокументСсылка.Родитель
3.Скопировать Макет из родителя в новую обработку
4.Скопировать Процедуру Печать из модуля Родителя и превратить ее в Функцию Печать() Экспорт, именно так без параметров, если параметры необходимы описать их в теле функции
5.Скопировать все запрашиваемые функции и процедуры
6.Заменить прямые обращения к Реквизитам Родителя на
Реквизит=СсылкаНаОбъект.Реквизит;
7.Заменить ЭтотОбъект и ЭтотОбъект.Ссылка на СсылкаНаОбъект
8.Обратить Внимание! на вызов процедуры печати
было
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект, «»), НепосредственнаяПечать);

выдавало ошибку не найден «Номер».

стало
УниверсальныеМеханизмы.НапечататьДокумент(ТабДокумент, КоличествоЭкземпляров, НаПринтер, ОбщегоНазначения.СформироватьЗаголовокДокумента(СсылкаНаОбъект, «»), НепосредственнаяПечать);

PS Теперь можно править Макет (осторожней с изменением его названия)

Прилагаю рабочий вариант НовогоСчета для БП 2.0.25.5

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • 1с внешняя печатная форма обучение
  • 1с внешняя печатная форма договора