Заголовок печатной формы 1с

Заголовок печатной формы 1с

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

Области макета предназначены для однократного или многократного вывода, например, ниже представлен макет для печати расходной накладной:

Некоторые ячейки содержат только текст, который должен быть выведен. Другие ячейки содержат имена параметров (в угловых скобках). Значения этих параметров должны указываться в программном модуле. В отличие от версии 7.7, в ячейку нельзя вписать выражение. В версии 8.0 весь программный код сосредоточен в программных модулях и при выводе секций нет связи с текущим контекстом программного модуля. Назначение параметров табличного документа должно производиться явно из программного модуля через коллекцию "Параметры" объекта "ТабличныйДокумент".

Область может состоять из нескольких расположенных подряд строк или колонок, либо быть прямоугольной областью таблицы. К области можно обратиться по имени или по координатам. Можно также обращаться к пересечению областей, используя вертикальную черту (как в версии 7.7).

Общая схема

Общая схема формирования печатной формы на основе макета:

  1. Создание макета в табличном редакторе (определение областей, имен параметров, форматирования).
  2. Создание нового табличного документа (этот пункт не требуется, если отчет выводится в элемент управления ПолеТабличногоДокумента).
  3. Получение макета в переменную (метод ПолучитьМакет).
  4. Получение областей макета (метод ПолучитьОбласть).
  5. Заполнение параметров области (свойство Параметры).
  6. Вывод области в табличный документ (методы Вывести и Присоединить).
  7. Установка свойств отображения табличного документа (сетка, заголовки, только просмотр и т.д.).
  8. Отображение табличного документа на экране (а может быть отправка на принтер или сохранение).

Пример вывода табличного документа

Ниже приведен пример формирования печатной формы расходной накладной из модуля документа:

Процедура Печать(ТабДок) Экспорт

//создание нового табличного документа
ТабДок = Новый ТабличныйДокумент ;

//получение макета для печати расходной накладной
Макет = Документы.РасходнаяНакладная. ПолучитьМакет ("Основной");

//получим область "Заголовок" как новый табличный документ (!)
Область = Макет. ПолучитьОбласть ("Заголовок");

//укажем параметры области
Область. Параметры .НомерДокумента = Номер;
Область.Параметры.От = Дата;
Область.Параметры.Кому = Контрагент;

//выведем заполненную область "Заголовок" в табличный документ
ТабДок. Вывести (Область);

//выведем область "Шапка" в табличный документ
ТабДок.Вывести(Макет.ПолучитьОбласть("Шапка"));

//получение области "Строка"
//обратите внимание, что это можно сделать до цикла по строкам
Область = Макет.ПолучитьОбласть("Строка");

//вывод строк документа в печатную форму
Для Каждого СтрСостава Из Состав Цикл

//заполнение параметров области из строки табличной части
Область.Параметры. Заполнить (СтрСостава);

//вывод сформированной области в табличный документ
ТабДок.Вывести(Область);

//вывод области "Подвал"
Область = Макет.ПолучитьОбласть("Подвал");
Область.Параметры.ИтогоКоличество = Состав.Итог("Количество");
Область.Параметры.ИтогоСумма = Состав.Итог("Сумма");
ТабДок.Вывести(Область);

//установим параметры отображения табличного документа
ТабДок.ТолькоПросмотр = Истина;
ТабДок.ОтображатьЗаголовки = Истина;
ТабДок.ОтображатьСетку = Ложь;

//покажем табличный документ на экране
ТабДок. Показать ();

Основные методы

Основные методы формирования итогового табличного документа следующие:

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

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

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

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

Первый шаг — необходимо зайти в палитру свойств нужного нам документа и выбрать Действия — Конструкторы — Конструктор печати:

Читайте также:  Микроволновка инверторная плюсы и минусы

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

Следующий шаг — выбор названия процедуры для печати. Назовём её «Печать счета».

Далее необходимо выбрать реквизиты, которые нужно указать в шапке печатной формы в том порядке, который нам необходим:

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

Когда и этот шаг сделан, нужно выбрать реквизиты подвала аналогично реквизитам в шапке.

На последней странице можно оставить всё по умолчанию и нажать ОК:

Что получаем в итоге?

Правильно оформленный макет печатной формы:

Процедура, полностью формирующая печатную форму документа:

Получите 267 видеоуроков по 1С бесплатно:

Которые можно настроить в 1С 8.2, как нужно нам.

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

Для вызова созданной печатной формы нужно просто разместить кнопку на форму документа. Это сделать очень просто. Для начала создадим кнопку на форме, назовем её «Печать счета»:

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

Где «ПечатьСчета» — имя нашей процедуры.

Созданная и настроенная печатная форма выглядит так:

Другие статьи по 1С:

В дополнение — наш видеоурок по созданию внешних печатных форм и подключению их на примере конфигурации 1С Бухгалтерии:

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

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

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

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

Создание печатной формы документа начинается с открытия режима конфигуратора базы. Желательно открывать ту базу, в которую требуется внести изменения, чтобы платформа позволила нам открывать конструктор запроса. Создайте новую внешнюю обработку с помощью основного меню «Файл» — «Новый…» и заполните имя и синоним. В среде 1С принято указывать «говорящие» имена, чтобы другие программисты могли комфортно работать с чужим кодом.

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

Читайте также:  Фото аниме девушек с ушками на аву

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

  1. Верхняя часть («Шапка»). Сюда войдет идентификация документа в системе 1С – номер и дата, основные данные об операции – организация, контрагент, менеджер, заголовок таблицы номенклатуры. Выводиться будет 1 раз;
  2. Информация по номенклатуре («ДанныеСтрок»). Данные о тех товарах, которые продаются – наименование, количество, цена и сумма. Выводиться по 1 разу на каждую строчку табличной части «Товары»;
  3. Итоговые данные («ИтогиСтрок»). В печатной форме фигурирует 1 раз и отражает итоговые суммы количества и суммы;
  4. Подписи («Подвал»). Область для согласования бумажной версии документа. Необходимо вывести на печать единожды.

В окне, похожем на Excel, выделяем 10 строк и выбираем в основном меню «Таблица» — «Имена» — «Назначить имя…». В открывшемся окне вводим название области и подтверждаем. Далее в этой области размещаем необходимые для вывода поля, используя возможности объединения и выбора шрифта и размера надписей.

Теперь надо настроить переменные, куда будут вставлены данные. Для этого на ячейке, где уже есть надпись, нажимаем правой кнопкой мыши и открываем свойства. Найдите пункт «Заполнение» и выберите там значение «Параметр», после чего убедитесь, что надпись в ячейке теперь заключена в угловые скобки. Если вы выберите «Шаблон», то это даст вам возможность указать переменные внутри строки в ячейке с помощью квадратных скобок.

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


Вывод данных в печатную форму

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

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

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

Читайте также:  Произведение целых чисел это

После завершения сохраняем внешнюю обработку и запускаем 1С в режиме предприятия. Чтобы подключить созданную печатную форму, зайдите в раздел «Администрирование» — «Печатные формы, отчеты и обработки» — «Дополнительные отчеты и обработки». Нажмите кнопку «Создать» и в диалоге выберите сохраненный файл формата *.EPF. Если все было сделано правильно, останется лишь сохранить, и 1С самостоятельно разместит новую печатную форму.

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

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

Конструктор печати 1С

Для настройки новой печатной формы откройте конфигуратор базы и найдите нужный документ в дереве. Открыв его, нажмите кнопку «Действия» — «Конструкторы» — «Конструктор печати…». Платформа предложит выбрать для изменения существующую команду или создать новую, указав имя, после чего нажмите «Далее». При выборе наименования не используйте пробелы, так как будет сформирована одноименная процедура, а в их наименовании не допускаются пробелы.

Конструктор печати в версии 8.3 предполагает, что печатная форма состоит из нескольких частей:

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

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

  1. Создать область в макете, если использовать уже созданные области недопустимо;
  2. Добавить надписи и переменные. Перечень добавляемых объектов зависит от потребностей;
  3. В процедуре получить область по имени;
  4. Рассчитать или прочитать из документа данные;
  5. Заполнить переменные информацией.

Данный вариант формирования позволяет быстро создать печатную форму, если пользователи не предъявляют серьезных требований к внешнему виду. Платформа самостоятельно пропишет все необходимые связи и добавит команду печати на форму документа. А ручное редактирование печатной формы позволит добавить недостающие данные или разместить существующие по-другому.

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

Ссылка на основную публикацию
Adblock detector