Публикации. Публикации Параметры в печатной форме 1с

Инструкция

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

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

Добавьте новый макет щелчком по соответствующей кнопке в окне новой формы. Присвойте ему имя «Макет», создайте область с именем «Заголовок», присвойте ей параметр «Текст заголовка». Затем щелкните по кнопке «Действия», выберите команду «Открыть модуль объекта». Затем вставьте текст модуля, вы можете воспользоваться примером, размещенным на сайте http://www.uasoft.com.ua/content/articles/315/.

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

Источники:

  • как в 1с изменить печатную форму

Для того чтобы создавать и редактировать формы объектов, в программе «1C:Предприятие» предусмотрен специальный редактор формы (или Form Designer). Формы объектов прикладного решения предназначены для визуального представления данных во время работы с программой. В редакторе формы содержатся несколько закладок, которые обеспечивают возможность редактирования всех элементов формы.

Вам понадобится

  • компьютер, программа 1С

Инструкция

С помощью редактора формы вы можете добавить в форму один или несколько элементов «Группа – Страницы», для этого нажмите на зеленый плюсик в верхнем левом углу редактора, находясь на вкладке «Элементы».
В режиме «1C:Предприятие» все существующие элементы группы будут отображаться каждая на отдельной вкладке. Чтобы расположить сверху или снизу рабочей , в окне «Свойства» той или иной группы в пункте «Отображение » выберите соответствующую команду.

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

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

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

Видео по теме

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

Вам понадобится

  • - персональный компьютер с 1С.

Инструкция

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

Никому не секрет, что, хоть в наше время всё большее количество компаний переходят на электронный документооборот, старая поговорка «Без бумажки ты…» не теряет своей актуальности. Так сложилось, что проверяющие органы почему-то интересуют в первую очередь бумажные документы. Поэтому, если вы активно пользуетесь для финансового контроля программой 1С:Бухгалтерия или Предприятие, важно знать, как распечатать электронный документ, созданный при помощи программы.

Печатные формы в 1С позволяют трансформировать электронный документ в печатный вариант.

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

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

Для начала стоит разобраться, что, вообще, представляет собой печатная форма в 1С 8. Это шаблон электронной таблицы 1С (наподобие Excel), в котором указанные некоторые переменные строки, заполняемые данными из программы при оформлении документа.

Печатные формы бывают двух видов:

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

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

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

Где хранятся печатные формы

Просмотреть встроенные печатные формы можно как в режиме конфигуратора, так и в обычном режиме предприятия. В первом случае нужно при запуске программы нажать соответствующую кнопку в стартовом окне. Вы увидите меню программы, найти ветку «РеализацияТоваровУслуг», в которой содержится пункт «Макеты». В нём зачастую содержатся только два пункта - «Накладная» и «Акт». Где же тогда все остальные, ведь список гораздо более обширен? Они просто прячутся в другом месте. Нужно отрыть ветку «Общие» - «Общие макеты», в ней и хранятся практически все макеты.

Во втором случае нужно перейти в раздел меню «Администрирование» - «Печатные формы, отчёты и обработки» - «Макеты печатных форм». В нём будут отображаться все макеты документов. Примечательно, что в этом же меню их можно и отредактировать.

Что касается внешних форм, то их сначала нужно либо создать через режим конфигуратора, либо скачав готовый файл, а затем подключить в меню «Администрирование» - «Печатные формы, отчёты и обработки» - «Дополнительные отчёты и обработки». Об этом расскажем несколько позже.

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

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

  1. Первым делом запуститесь в режим Конфигуратора, найдите нужный вам документ, например, РеализацияТоваровУслуг, в свойствах документа перейдите в Действия - Конструкторы - Конструктор печати.
  2. При запросе варианта работы выберите «Обычные формы».
  3. Дайте название новому макету, например, «Печать счёта».
  4. Выберите те реквизиты, которые вы бы хотели видеть в шапке документа. Причём их нужно выбирать в том порядке, в котором они будут отображаться. Для выбора вам нужно выделить курсором пункт в левой колонке и нажать стрелочку посреди экрана, чтобы реквизит отобразился в правой колонке.
  5. Отметьте реквизиты для отображения в табличной части. Выбор реквизитов происходит по тому же принципу, что и в предыдущем пункте.
  6. Таким же образом выберите реквизиты нижней части документа.
  7. На заключительном этапе создания выберите, хотите ли вы печатать сразу же без предварительного просмотра, нужна ли защита таблицы, после чего подтвердите создание формы кнопкой ОК.

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

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

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

Теперь подробнее о самой процедуре. Рассмотрим на примере создания макета «Счёт» для документа «Реализация (акты, накладные)».

  1. Откройте программу 1С 8 в режиме Конфигуратора.
  2. Нажмите Файл - Новый - Внешняя обработка, придумайте его название (оно не должно включать пробелы), затем нажмите кнопку Действия - Открыть модуль объекта.
  3. В открывшемся поле для ввода введите следующий код (жёлтым цветом выделены значения, которые можно изменить на свои):

Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить(«Документ.РеализацияТоваровУслуг»); //Указываем документ, к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить(«Вид», «ПечатнаяФорма»); //может быть — ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов…
ПараметрыРегистрации.Вставить(«Назначение», МассивНазначений);
ПараметрыРегистрации.Вставить(«Наименование», «Заказ для реализации товаров»); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить(«БезопасныйРежим», ЛОЖЬ);
ПараметрыРегистрации.Вставить(«Версия», «1.0»);
ПараметрыРегистрации.Вставить(«Информация», «Эта форма для печати была создана в качестве образца»);
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, «Внешний заказ», «ВнешнийЗаказ», «ВызовСерверногоМетода», Истина, «ПечатьMXL»);
ПараметрыРегистрации.Вставить(«Команды», ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции // СведенияОВнешнейОбработке()
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить(«Представление», Новый ОписаниеТипов(«Строка»));//как будет выглядеть описание печ.формы для пользователя
Команды.Колонки.Добавить(«Идентификатор», Новый ОписаниеТипов(«Строка»)); //имя макета печ.формы
Команды.Колонки.Добавить(«Использование», Новый ОписаниеТипов(«Строка»)); //ВызовСерверногоМетода
Команды.Колонки.Добавить(«ПоказыватьОповещение», Новый ОписаниеТипов(«Булево»));
Команды.Колонки.Добавить(«Модификатор», Новый ОписаниеТипов(«Строка»));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = «»)
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры

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

Вставьте в этот же документ процедуру запуска печати из меню программы (выделенные жёлтым цветом команды должны совпадать со строкой):

ДобавитьКоманду(ТаблицаКоманд, «Внешний заказ», «ВнешнийЗаказ»):
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
«Внешнийзаказ»,
«Внешний заказ»,
СформироватьПечатнуюФорму(МассивОбъектов, ОбъектыПечати);
КонецПроцедуры // Печать()

  1. Вставьте макет заполнения печатной формы, кликнув по названию внешней формы в левом нижнем углу и выбрав «Макеты» - «Добавить» - «Табличный документ», дайте ему название. После этого заполните электронную таблицу нужными данными. Например:
    • Заказ на товар № [НомерРеализации] от [ДатаРеализации] - клик правой кнопкой мыши - Свойства - Макет - Заполнение - Шаблон.
    • Создайте столбцы, которые должны отображаться в вашем документе.
    • Выделите введённые ячейки, нажмите Таблица - Имена - Назначить имя - введите название «Шапка».
    • Скопируйте строку с заголовками таблицы, выделите их, кликните правой кнопкой мыши - Свойства - Макет - Заполнение - Параметр.
    • Выделите строку, назовите её, к примеру, «СтрокаТЧ».
    • Создайте подвал: пропишите Итого, ячейку, в которой должна отображаться итоговая сумма, назовите СуммаИтого, в свойствах выберите «Параметры».
    • Укажите ответственного, в свойствах ячейки для вывода фамилии укажите «Параметры».
    • Выделите нижние строки и дайте диапазону наименование «Подвал».
  2. Теперь в окне ввода пропишите функцию формирования печатной формы:

Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_СчетНаОплатуВРТУ»;
МакетОбработки = ПолучитьМакет(«СчетНаОплатуВнешний»);
//заполняем шапку
ОбластьШапка = МакетОбработки.ПолучитьОбласть(«Шапка»);
ОбластьШапка.Параметры.НомерДокумента = СсылкаНаДокумент.Номер;
ОбластьШапка.Параметры.ДатаДокумента = СсылкаНаДокумент.Дата;
ОбластьШапка.Параметры.НазваниеОрганизации = СсылкаНаДокумент.Организация.Наименование;
//выводим шапку в табличный документ
ТабличныйДокумент.Вывести(ОбластьШапка);
//заполняем строки ТЧ
ОбластьСтроки = МакетОбработки.ПолучитьОбласть(«СтрокаТЧ»);
Для Каждого ТекущаяСтрока Из СсылкаНаДокумент.Товары Цикл
ЗаполнитьЗначенияСвойств(ОбластьСтроки.Параметры, ТекущаяСтрока);
ТабличныйДокумент.Вывести(ОбластьСтроки);
КонецЦикла;
//заполняем подвал
ОбластьПодвал = МакетОбработки.ПолучитьОбласть(«Подвал»);
ОбластьПодвал.Параметры.КоличествоИтог = СсылкаНаДокумент.Товары.Итог(«Количество»);
ОбластьПодвал.Параметры.СуммаИтог = СсылкаНаДокумент.Товары.Итог(«Сумма»);
ОбластьПодвал.Параметры.ИмяОтветственного = СсылкаНаДокумент.Менеджер.Наименование;
//выводим подвал в табличный документ
ТабличныйДокумент.Вывести(ОбластьПодвал);
ТабличныйДокумент.АвтоМасштаб = Истина;
Возврат ТабличныйДокумент;
КонецФункции

  1. Сохраните изменения в документе.
  2. Теперь нужно активировать созданную форму. Для этого:
    • Перейдите в «Администрирование» - «Печатные формы, отчёты и обработки» - «Дополнительные отчёты и обработки».
    • Нажмите кнопку «Создать», выберите в проводнике файл внешней формы, подтвердите ввод кнопкой «Записать и закрыть».
  3. Для проверки перейдите в Продажи - Реализация (акты, накладные), нажмите кнопку «Печать», выберите свою форму и проверьте правильность заполнения.
  4. Распечатайте документ при потребности.

Заключение

Мы рассмотрели с вами образец создания печатной формы через Конструктор печати и через инструмент создания внешних форм. Надеемся, что у вас всё получится. В комментариях оставляйте свои вопросы.

Итак! Есть конфигурация (например "Управление торговлей", редакция 10.3), и для нее необходимо разработать внешнюю печатную форму. Для примера возьмем типовой документ "Счет на оплату покупателю" (хотя внешние печатные формы можно создавать не только для документов, но и для справочников).

Пример для 1С 8.3 (Управляемые формы)

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

Задача

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

Поехали!

Первое что нужно сделать, это создать файл внешней обработки. Обработка должна содержать три основных момента:
  1. Реквизит "СсылкаНаОбъект" с типом "ДокументСсылка.СчетНаОплатуПокупателю"
  2. Макет, который будет выводиться на печать
  3. Экспортную Функцию "Печать()" которая возвращает табличный документ
Эти действия видны на рисунке №1

"Рисуем макет"

Наш макет будет содержать две области:
  1. Заголовок (шапка) документа (в этой области будут размещены наименования организации и контрагента), и шапка таблицы (с наименованием колонок)
  2. Таблица с товарами (колонки, с наименование количество и суммой)
На рисунке №2 показан макет внешней печатной формы. Обратите внимание на то, что ячейки таблицы и шапки содержат параметры, а не просто текст.

Функция "Печать()"

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

Добавляем нашу внешнюю печатную форму в 1С

Заходим в меню "Сервис - Внешние печатные формы и обработки - Внешние печатные формы"

В открывшемся окне создания элемента, выполняем следующие действия:

  1. Загружаем файл внешней обработки
  2. Указываем для какого документа (или справочника) конфигурации, предназначена печатная форма
  3. Записываем изменения

Печатаем!

Открываем любой документ "Счет на оплату покупателю" (с заполненной табличной частью "Товары", потому что именно оттуда мы берем данные для заполнения), нажимаем кнопку "Печать", в открывшемся окне, выбираем НАШУ печатную форму, и нажимаем "Печать"


ВНИМАНИЕ! Такой алгоритм разработки подходит ТОЛЬКО для "Обычного приложения". Печатные формы для конфигураций в режиме "Управляемое приложение" отличаются!

Файл печатной форме которая показана в примере можно

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

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

Вот это мы и посмотрит прямо сейчас.

Подготовка макета для печати в 1С

Для начала придется начать с самого простого и заполнить макет для печати в 1С статическим текстом и линиями таблиц. Ведь кто-то должен сделать эту скучную работу?

Размещаем статический текст для печати в 1С

Для начала неплохо было бы разместить название нашей печатной формы. Выделим несколько ячеек в строке, и выберем пункт меню Таблица/Объединить. В результате несколько ячеек будут объединены в одну.

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

Размещаем оформление макета для печати в 1С

У нас есть именованная область Строка. В ней при печати в 1С будет выводиться каждая строка таблицы документа Товары. Вероятно мы хотели бы, чтобы таблица выглядела при печати в 1С тоже таблицей? Тогда нужно нарисовать для нее границы.

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

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

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

Размещаем картинки и прочую мишуру для печати в 1С

Многие спрашивают – а как разместить на печатной форме 1С что-то кроме текста? Например – картинку.

А очень просто. Мало того, скажу сразу, что штрих-код (если Вам нужно его распечатать) тоже является картинкой.

Поставим курсор на любую ячейку. Выберем меню Таблица/Рисунки. Это целое подменю, которое позволяет вставить на макет для печати в 1С не только картинку или рисованный объект – но и объекты извне 1С, зарегистрированные на компьютере с помощью COM класса (например, элемент управления выпадающий список).

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

Как разместить содержимое электронного документа при печати в 1С

Для размещения на макете при печати в 1С содержимого электронного документа – используется метод подстановки. Состоит он из двух частей.

Часть первая . Необходимо на макете разместить параметры, в которые Вы будете подставлять значения при печати в 1С.

Поставим курсор в ячейку. Впишем название параметра (одним словом, без пробелов и прочего мусора). Далее войдем в свойства этой ячейки (как — уже говорилось выше) и выберем Заполнение = Параметр.

Часть вторая . Подстановка значений производится не в когда Вы программируете в конфигураторе, а в момент печати документа в 1С. Соответственно с помощью программирования нужно указать 1С что нужно подставить в этот параметр.

Производится это следующим образом:

Макет = ПолучитьМакет("НазваниеМакета");
облКакаято = Макет.ПолучитьОбласть("НазваниеОбласти");
облКакаято.Параметры.НазваниеПараметра = "То что я хочу подставить из базы";

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

Естественно, значение может быть как строкой или цифрой, так и значением указанным в документе.

Как производится печать макета в 1С

После того, как макет готов, пора задуматься о программировании процесса печати в 1С.

Печать в 1С обычно программируется несколькими процедурами, которые находятся в модуле объекта документа. .

Процедура Печать() обычно имеет пометку Экспорт и управляет печатью документа в 1С с помощью параметра ИмяМакета, в котором передается что хотелось бы распечатать.

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

Программирование печати в 1С состоит из трех пунктов.

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

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

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
Дата,
Номер,
Организация
ИЗ
Документ.ИмяДокумента
ГДЕ
Ссылка = &ДокументДляПечати";
Запрос.УстановитьПараметр("ДокументДляПечати", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();

Пункт 2. Заполнение макета для печати в 1С

Печать в 1С производится в табличный документ. Это специальный объект 1С, который позволяет выводить таблицы, наподобии Excel, на экран и на печать. Печатается, естественно макет, вернее его области поочередно.

Соответственно нам нужно сначала получить табличный документ, потом макет. Поочередно выводим области на печать, заполняя параметры макета.

ТабДок = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("ИмяМакета"); //или ПолучитьОбщийМакет("")

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

облСтрока = Макет.ПолучитьОбласть("Строка");
Пока ВыборкаСтрокДокумента.Следующий() Цикл
облСтрока.Параметры.Товар = ВыборкаСтрокДокумента.Товар;
ТабДок.Вывести(облСтрока);
КонецЦикла;

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

Пункт 2. Вывод документа на печать в 1С

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

В других случаях можно просто использовать типовые функции объекта ТабличныйДокумент: ТабДок.Показать() или ТабДок.Напечатать() .




Top