Вывод отчета на печать 1с

Обновлено: 06.07.2024

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

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

Как сформировать печатные формы в один клик

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

Как это сделать: в часто используемом документе необходимо перейти в раздел «Еще» – «Изменить форму» — «Еще» – «Установить стандартные настройки» – «Применить».

Далее в разделе «Печать» выберите форму, которую требуется вынести в панель быстрого доступа. В нашем примере выбираем «Счет на оплату». Нажимаем «Еще» – «Изменить форму» – Раскрываем все значки «+» и с помощью сочетания кнопок Ctrl+F ищем нужную форму (рис.1).


Рис.1. Настройка печатной формы в «1С» 8.3

Переносим нашу форму «Счет на оплату» в командную панель «Форма» и нажимаем «Применить». Для экономии рабочего пространства кнопку можно переименовать, например, в просто «Счет». Все готово! Видим, что после наших действий рядом со стандартной кнопкой «Печать» появилась новая – «Счет» (рис.2).


Рис.2. Настройка печатной формы в «1С» 8.3

Группировка отчетов и печатных форм

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

На рисунке ниже показано, как легко это делается. Просто кликните по элементу правой кнопкой мыши и выберите нужный уровень внешней группировки (рис.3).


Рис.3. Группировка отчетов в «1С»

Как настроить области печати

Если вам требуется распечатать только какую-то часть документа, то полезно уметь управлять областями печати в «1С». Можно выбрать как один столбец для вывода на печать, так и документ целиком. Сделать это очень просто. Выберите мышкой нужную зону, затем зайдите в раздел «Таблица» – «Настройки печати» – «Задать область печати» (рис.4).


Рис.4. Настройка области печати в «1С»

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

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

Настройка отчетов

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

Сделать это просто: откройте интересующий вас отчет и нажмите на кнопку «Настройка» (рис.5).


Рис.5. Настройка отчетов в программах «1С»

Откроется следующее окно (рис.6).


Рис.6. Настройка отчетов в программе «1С»

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

Подведем итоги

В статье мы рассказали о том, как настроить печатные формы и отчеты в «1С». Надеемся, что эти знания пригодятся вам при взаимодействии с интерфейсом «1С» и позволят облегчить управление программой.

Если вы только начинаете осваивать «1С» или у вас возникли сложности с применением настроек, обращайтесь за профессиональной консультацией к нашим специалистам.

Привет всем! В данной статье предлагаю рассмотреть методы вывода макета на печать любых документов (собственных или типовых) с помощью актуальной библиотеки стандартных подсистем (БСП). Данный небольшой обзор поможет снять вам вопросы типа "как прицепить макет печати к собственному документу или справочника?" или "как разместить кнопку печать на форме списка и форме документа или справочника". На момент написания статьи - середина февраля 2021 года - точка актуальности - это БСП версии 3.1.4.148.

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

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

Начнем с простого создания документа ТестоваяПечатьДокументов в конфигурации на БСП. В качестве конфигурации я беру чистую библиотеку стандартных подсистем версии 3.1.4.148. Разработка ведется на Платформе 1с 8.3.18.1208.

Основным и главным моментом после создания собственного документа будет необходимость прописать данный документ в общем модуле - процедуре УправлениеПечатьюПереопределяемый.ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт

выглядит это вот так:

ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт

Далее, что нам потребуется. Создаем 2 формы в документе ТестоваяПечатьДокументов - это "ФормаСписка" и "ФормаДокумента". В каждой из этих форм создаем и привязываем процедуру ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

выглядит она вот так:

Далее, для "формы списка" добавляем внутренние БСП подключаемые процедуры:

"ФормаСписка" в документе "ТестовыйДокумент"

А для "формы документа" добавляем вот такие внутренние БСП подключаемые процедуры:

"ФормаДокумента" в документе "ТестовыйДокумент"

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

Далее, заполним модуль менеджера нашего документа. Напишем в нем такой код:

Здесь функция - ПечатнаяФормаТестовогоДокумента(МассивОбъектов, ОбъектыПечати) - формирует заполненный макет печатной формы и возвращает пользователю.

Процедура - Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт - типовая процедура печати БСП.

Тут нет ничего сложного, но особое внимание хочу обратить на вот эту процедуру добавления команд

Открываем код БСП и смотрим какие возможности предоставляет нам функция УправлениеПечатью.СоздатьКоллекциюКомандПечати() - она используется для "наполнения" объекта КомандыПечати(). Возможности широчайшие:

Как мы видим, основные параметры - Идентификатор, Представление. Остальные являются необязательными.

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

Заключение и выводы

В данной статье мы рассмотрели основной алгоритм БСП для размещения команд печати на любых документах конфигурации, в основе которой лежит современная библиотека стандартных подсистем. Напомню, что разработка примера велась на "чистой" библиотеке стандартных подсистем версии 3.1.4.148 и Платформе 1с 8.3.18.1208.

Ну и конечно, знание данных методов позволит вам ускорить разработку и доработку любых типовых конфигураций 1с (БУХ, ЗУП, Розница, УНФ и т.п. ), основой которых является библиотека стандартных подсистем. И самое главное - это правильно и по стандарту профессиональных разработчиков.

Другие мои материалы по БСП

Так же прошу ознакомиться с другими моими статьями по функционалу библиотеки стандартных подсистем и типовым конфигурациям:

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

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

Пример с отчетом

Реализуем самый простой вариант отчета, который будет без какой-то смысловой нагрузки, призванный просто показать, как работает табличный документ на управляемой форме. В основном все современные отчеты делают на СКД, но этот мы сделаем по «старинке», используя табличный документ. Для этого создадим объект Отчет и подчиненный ему макет табличного документа всего с одной областью.

Отчет с макетом табличного документа

Подробнее о том, как создается и оформляется макет табличного документа, читайте в этой статье:

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

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

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

Элемент формы поле табличного документа

Создадим команду управляемой формы, и поместим её на форму в виде кнопки.

Команда управляемой формы

Подробнее о заполнении табличных документов читайте в этой статье:

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

Вывод табличного документа в 1с предприятии

Пример с печатной формой документа

А сейчас, мы доработаем вывод печатной формы документа, который мы делали в статье ранее:

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

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

Общая форма

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

Реквизит с типом табличный документ управляемой формы

Следующим шагом, создадим параметр ТабДок с типом ТабличныйДокумент.

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

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

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

Перейдем в модуль команды документа, которую мы создали в предыдущей статье.

Открытие модуля команды

И подправим эту команду: будем открывать общую форму, в которую в качестве параметра передадим сформированный ранее табличный документ.

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

Всё! На этом доработка команды закончена. Можно проверить, как работает открытие нашей формы.

Открытие общей управляемой формы для печати

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

Открытие общей управляемой формы для печати


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

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

С тем, как был создан макет табличного документа (его мы и будем использовать), можете ознакомиться в этой статье:

А как было реализовано заполнение табличного документа, и осуществлен простой способ его вывода можете ознакомиться в этой статье:

И так, создадим подчиненную нашему документу команду печати.

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

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

Модуль и палитра свойств команды

Назовем новую команду ПечатьНакладной.

Имя команды объекта

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

Выбор группы команды

Теперь, необходимо выбрать тип параметра, который будет передан в команду при её выполнении. Мы выберем ссылку на документ, которому эта команда подчинена.

Выбор типа параметра команды

Режим использования параметров

На этом мы закончим настройку свойств команды и перейдем к основной разработке: получению данных документов и заполнение табличного документа этими данными.

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

Открываем модуль менеджера документа

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

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

О том как этот макет сделан, читайте здесь: Создание макета табличного документа в 1С 8.3

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

Если всё нормально, то мы выводим шапку документа и таблицы, как мы это делали в предыдущей статье.

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

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

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

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

Откроем модуль команды, которую мы создали ранее.

В этом модуле уже будет существовать обработка команды в клиентском контексте, которая была образована при создании команды.

Обратите внимание на параметр ПараметрКоманды, в этом параметре и содержится массив документов. Это именно массив, потому что при создании команды мы в свойстве команды «Режим использования данных» указали Множественный. Именно этот массив мы и передадим в функцию, которую создали в модуле менеджера объекта.

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

Теперь мы можем распечатать сразу несколько документов из формы списка документов.

Команда на форме списка документов

Печать нескольких документов

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

Если Вы всё еще «плаваете» в конструкциях языка запросов, и у Вас вызывают трудности даже самые простые запросы, то рекомендую вам мой курс «Запросы в 1С от новичка до профи». Где эти и многие другие вопросы рассматриваются более подробно.


В чем особенность этого курса:
• Курс рассчитан на тех, кто не знаком с языком запросов в 1С;
• Учебный материал грамотно скомпонован и прост в освоении;
• Несколько десятков уроков;
• Полезные практические примеры;
• Все уроки изложены понятным и простым языком

Для моих читателей, купон на скидку 25%: hrW0rl9Nnx


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

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Вступайте в мои группы:

One thought on “ Вывод на печать табличного документа в 1С 8.3. Используем команды объектов ”

Спасибо большое, очень помогло в разработке печати своего документа в УНФ.

Читайте также: