1с как в отчете вывести на печать
Перейти к содержимому

1с как в отчете вывести на печать

  • автор:

Вывод на печать табличного документа в 1С 8.3. Простой пример.

В массе своей, в прикладных задачах нужно вывести на печать какие-либо данные оформленные нужным образом (например, счет, торговую накладную, акт сверки и т.п.). Для вывода на печать в 1С 8.3. можно использовать табличные документы. В предыдущей статье я показал, как создать макет табличного документа и как правильно его оформить. Нам осталось научиться заполнять его данными и выводить на просмотр для последующей печати. Материал по выводу табличного документа на печать, я решил разбить на две части. В первой части мы разберем простой пример (я бы назвал его учебным), а во втором случае реализуем пример приближенный к реальному. Эта статья — первая часть, в ней мы реализуем простой пример: будем выводить табличный документ на печать, используя команду управляемой формы. Этот вариант имеет следующий недостаток: нельзя вывести печатную форму из списка документов, можно это сделать, только открыв форму документа. Для того, чтобы можно было вывести печатную форму из списка документов, необходимо создать команду документа. Этот вариант мы рассмотрим в следующей статье.

И так, сам макет документа мы уже создали, как это сделано, вы можете узнать в соответствующей статье.

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

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

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

Для команды ПечатьДокумента создадим два обработчика в клиентском и серверном контексте.

Создание обработчиков команды

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

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

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

Доступность метода получить макет

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

Напомню, что макет у нас имеет четыре области: Шапка, ШапкаТаблицы, СтрокаТаблицы, Подвал. Области Шапка, ШапкаТаблицы и Подвал будут выведены в табличный документ всего один раз, а область СтрокаТаблицы будет выведена столько раз, сколько строк в табличной части обрабатываемого документа.

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

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

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

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

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

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

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

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

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

Нам осталось получить область Подвал и вывести её в табличный документ.

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

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

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

Проверим, как работает наш код.

Управляемая форма документа

Показ табличного документа

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

Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

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

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

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

Ваяние отчета в 1с 8.2 Как сделать отчет Формата А4

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

А все эти автомасштабы — с мопеда!

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

ТабличныйДокумент (SpreadsheetDocument)
ПроверитьВывод (CheckPut)
Синтаксис:

Тип: Массив; ТабличныйДокумент.
Массив из проверяемых таблиц или табличный документ.
Возвращаемое значение:

Тип: Булево.
Истина — умещаются; Ложь — в противном случае.
Описание:

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

Сервер, толстый клиент, внешнее соединение.
Примечание:

При возникновении проблем с получением информации о текущем принтере (например, в системе не установлено ни одного принтера), будет вызвано исключение.
Пример:

Т.Добавить(ШапкаДокумента);
Т.Добавить(СтрокаДокумента);
Т.Добавить(ПодвалДокумента);
Если Не ТабДок.ПроверитьВывод(Т) Тогда
Сообщить(«Документ не умещается на страницу!»);
КонецЕсли;

(27) Ну мне что, сюда весь синтаксис-помощник постить что ли? Или ты уже сам читать научишься?

ТабличныйДокумент (SpreadsheetDocument)
АвтоМасштаб (FitToPage)
Использование:

Чтение и запись.
Описание:

Тип: Булево.
Содержит признак автоматического масштабирования изображения при печати.

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание:

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

(29) Мде. Ну давай я попробую ещё раз.

АвтоМасштаб: Если признак установлен . , то масштаб будет установлен таким образом, чтобы документ помещался на одну страницу по ШИРИНЕ.

ПроверитьВывод: Проверяет, умещаются ли переданные табличные документы на страницу при печати. То есть проверка идет и по ШИРИНЕ и по ВЫСОТЕ.

1С-Отчетность: гибкая настройка и функциональные возможности

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

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

В «1С:Бухгалтерии 8» (ред. 3.0) доступ к единому рабочему месту 1С-Отчетность осуществляется из раздела программы Отчеты. Отличительными особенностями такого интегрированного рабочего места являются:

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

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

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

О возможностях 1С-Отчетности см. на Портале 1С:ИТС.

1С:ИТС

Руководство по использованию сервиса «1С-Отчетность» см. в разделе «Инструкции по учету в программах 1С». В разделе «Консультации по законодательству» см. о порядке формирования отчетов (в т. ч. за прошлые периоды); о составлении и представлении регламентированных отчетов в программах 1С.

Настройки регламентированного отчета

В программах 1С предусмотрена возможность дополнительных настроек регламентированных отчетов. В «1C:Бухгалтерии 8» редакции 3.0 для настройки конкретного открытого отчета следует воспользоваться командой Еще — Настройка.

Форма настройки регламентированного отчета (рис. 1) содержит две закладки: Общие и Свойства разделов. В зависимости от формы отчета на закладке Общие можно управлять:

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

017-01.jpg

Рис. 1. Форма настройки регламентированного отчета

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

Редактирование автозаполняемых отчетов

Большинство форм регламентированной отчетности в «1С:Бухгалтерии 8» редакции 3.0 заполняются автоматически по данным информационной базы. У форм отчетности с возможностью автозаполнения в верхней командной панели находится кнопка Заполнить. При нажатии на данную кнопку выполняется расчет и заполнение бланка отчета.

Экранная форма отчета представляет собой таблицу с показателями — ячейками, имеющими различную цветовую «кодировку» (рис. 2). Цвет ячейки иллюстрирует ее доступность для редактирования:

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

017-02.jpg

Рис. 2. Цветовая индикация ячеек регламентированного отчета

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

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

При снятии флага будет выдан запрос: Будет произведен перерасчет всех рассчитываемых показателей. Продолжить? Если ответить Нет, флаг останется установленным.

Отключение выбора значений из списка

В большинстве форм отчетности существуют показатели, которые должны заполняться значениями из установленного в программе списка значений (в соответствии с законодательством РФ), например, коды видов операций по НДС или коды бюджетной классификации (см. рис. 3).

018.jpg

Рис. 3. Выбор значения из списка

В практике нередки случаи, когда дополнительное значение или значения, добавляемые в список такого рода, рекомендуются к применению ненормативными документами (например, письмами до утверждения соответствующих приказов Минфина и ФНС России) или новой версией XSD-схемы*.

Примечание:
* XSD-схема — набор правил, описывающий структуру XML-документа. Документы в формате XML — это файлы, которые используются для хранения и передачи данных при обмене приложениями (программами), написанными на разных языках.

Если список значений показателя не установлен форматом отчета или соответствующей XSD-схемой, нет необходимости вносить официальные изменения в формат электронного представления. Но указывать новое значение надо. Чтобы получить такую возможность в форме отчетности, в настройках отчета достаточно установить флаг Отключить выбор значений из списка. После этого нужное назначение можно ввести вручную (например, указать то значение кода вида операции по НДС, которого в настоящий момент нет в списке).

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

Расшифровка автоматического заполнения показателей

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

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

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

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

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

Если флаг Сохранять расшифровку автоматического заполнения не устанавливать, то расшифровка сохраняться не будет, и ее придется формировать заново вместе с автозаполнением отчета. Но при этом она будет актуальной.

Печать формы без двумерного штрихкода

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

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

Примечание:
* PDF417 (англ. Portable Data File — переносимый файл данных) — двумерный штрихкод, поддерживающий кодирование до 2 710 знаков. В настоящее время PDF417 широко применяется в идентификации личности, учете товаров, при сдаче отчетности в контролирующие органы и других областях.

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

  • на компьютере пользователя должна быть установлена внешняя компонента печати*, разработанная ФГУП ГНИВЦ ФНС России. Как правило, внешняя компонента печати ФНС устанавливается автоматически при первой печати любой машиночитаемой формы;
  • форма отчетности должна быть заполнена в соответствии с требованиями формата представления в электронной форме, утверждаемого ФНС. При выгрузке выполняется проверка файла на соответствие указанному формату, именно поэтому нельзя распечатать заполненную до конца или некорректно заполненную форму.

Примечание:
* Внешняя компонента — это независимый программный модуль, предназначенный для многократного использования и предоставляемый пользователю в двоичном формате.

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

Для этого в форме настроек отчета следует включить флаг Разрешить печать без штрихкода PDF417. После установки флага у кнопки Печать появляется подменю:

  • Форма со штрихкодом PDF417 (рекомендуется);
  • Форма без штрихкода PDF417.

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

Обратите внимание, что представление отчетности на машиночитаемых бланках с двумерными штрихкодами является добровольным и не отменяет иных существующих способов представления отчетности. Налоговые органы не вправе отказать в приеме деклараций, на которых отсутствует упомянутый штрихкод (см., например, письмо ФНС России от 18.04.2014 № ПА-4-6/7440).

Проверка контрольных соотношений

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

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

По каждому контрольному соотношению в правилах проверки ФНС России указана область проверки (исходный документ), приведены формула проверки, возможное нарушение законодательства РФ при невыполнении контрольного соотношения (ссылка на нормативный документ) и формулировка нарушения.

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

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

Кроме проверки контрольных соотношений для пользователей сервиса 1С-Отчетность доступна и онлайн-проверка форматно-логического контроля отчетности. Выполнить такую проверку можно непосредственно из открытой формы отчетности перед ее отправкой с помощью команды Отправка — Проверить в Интернете.

1С:ИТС

Подробнее о средствах автоматизированного составления отчетов в программах «1С» см. в практическом пособии «Практический годовой отчет 2019» под ред. д. э. н., проф. С.А. Харитонова.

Выгрузка и загрузка регламентированных отчетов

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

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

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

Выгрузка отчета в файл

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

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

Загрузка файла для отправки

В программах 1С давно существует возможность загрузки XML-файлов электронного представления в список отчетов для дальнейшей отправки по каналам связи в контролирующие органы. Для этого следует перейти в раздел Отчеты единого рабочего места 1С-Отчетность и нажать на кнопку Загрузить — Файл для отправки (рис. 4).

020.jpg

Рис. 4. Создание нового отчета из файла выгрузки

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

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

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

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

Механизм загрузки данных в отчеты

В настоящее время в ряде программ, в том числе в «1С:Бухгалтерии 8» редакции 3.0, реализован механизм, который позволяет загружать данные из XML-файлов электронных представлений в регламентированные отчеты для ФНС, ФСС, ПФР, Росстата и других контролирующих органов.

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

Механизм загрузки запускается по кнопке Загрузить. Загрузить данные файла выгрузки можно:

  • из списка отчетов 1С-Отчетности — при этом будет создан новый отчет;
  • из формы регламентированного отчета соответствующего вида — при этом будет выполнена замена показателей отчета на данные из загружаемого файла.

Создание нового отчета из файла выгрузки

Новый отчет из файла выгрузки можно создать из формы списка отчетов. Для этого следует перейти в раздел Отчеты единого рабочего места 1С-Отчетность и нажать на кнопку Загрузить — Отчет (рис. 4).

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

Программа автоматически определит вид отчета, период отчета, вид документа (первичный или корректирующий) и организацию.

В окне файла отчета можно выбрать и установить:

  • другую организацию (или добавить новую);
  • другой период отчета;
  • другой вид документа.

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

Обратите внимание, что в открывшейся форме:

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

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

Загрузка данных из файла выгрузки в существующий отчет

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

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

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

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

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

К очевидным преимуществам механизма загрузки относятся возможности:

  • редактировать отчеты, полученные в виде файлов выгрузки;
  • переносить данные отчетности из программ, с которыми отсутствует обмен данными на уровне информационных баз;
  • создавать архив отчетности из файлов, отправленных по телекоммуникационным каналам связи из других программ и/или сервисов специализированных операторов связи.

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

Сервис оповещений

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

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

Можно включить сервис самостоятельно. Для этого в едином рабочем месте 1С-Отчетность следует перейти по гиперссылке Настройки проверки актуальности отчетов (рис. 5) в одноименную форму, где установить флаг Выполнять проверки регламентированной отчетности (рис. 6).

022-01.jpg

Рис. 5. Раздел «Настройки» рабочего места «1С-Отчетность»

022-02.jpg

Рис. 6. Настройки проверки актуальности отчетов

При попытке использования формы устаревшей редакции будет выдано соответствующее предупреждение (рис. 7).

023.jpg

Рис. 7. Предупреждение о неактуальности формы отчета

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

Автоматическое подключение внешних отчетов

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

В таких случаях для программ 1С публикуются внешние отчеты, которые можно скачивать и подключать в автоматическом режиме. Чтобы данная возможность стала доступна пользователю, в форме Настройки проверки актуальности отчетов следует установить флаг Автоматически подключать внешние формы регламентированной отчетности (см. рис. 6).

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

Подробнее об автоматической загрузке внешних отчетов в «1С:Бухгалтерии 8» редакции 3.0 см. в статье «Автоматическая загрузка внешних отчетов в "1С:Бухгалтерии 8"».

Сравнение форм регламентированной отчетности

С июня 2019 года в программах 1С, в которых присутствует подсистема регламентированной отчетности, появился новый механизм сравнения экземпляров форм регламентированной отчетности, который обеспечивает:

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

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

С помощью механизма можно сравнивать:

  • первичные и корректирующие варианты отчета в рамках одного отчетного периода;
  • варианты отчета за разные отчетные периоды, но в рамках одной редакции формы отчета.

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

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

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

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

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

Механизм сравнения, реализованный в программе, может быть полезен в разнообразных случаях, например, если:

1с как в отчете вывести на печать

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

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

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

2. Масштаб отчетов и печатных форм

Можно менять масштаб экрана обычным способом, а можно необычным. Мы уже рассказывали, что масштаб можно изменить просто выбрав соответствующий пункт в меню. А ещё, масштаб может быть изменен, если мы просто будем проворачивать колесо мыши, зажав кнопку ctrl.

3. Открыть в новом окне

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

Открыть документ в новом окне не сложно. В тех местах, где оно поддерживается, нужно нажать кнопку “ещё”. В выпадающем меню появится нужная опция “открыть в новом окне”. Если функция доступна для данного документа, то в меню ещё есть эта опция, если нет, то вы не сможете найти такой пункт.

По бесплатному телефону 8 (800) 600-32-31 или +7 (495) 139-09-60

Оставьте заявку через наш сайт или через раздел контакты

4. Посчитать данные через в ячейках

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

Кроме того, можно вполне успешно использовать функции М+ и М-. Они позволяют “вытаскивать данные из калькулятора”, ну а заодно и использовать их в расчётах.

5. Проваливаться внутрь (Расшифровка)

Наверное, для многих не будет новостью, что практически во все важные пункты списка можно “проваливаться”. Это значит, что если мы нажмем на нужный пункт, то мы сможем попасть в нужный отчёт или связанный документ. Эта возможность очень полезная, но почему-то в интерфейсе нет ни одной подсказки, которая позволила бы простому смертному сориентироваться и понять, что неактивная строка может оказаться гиперссылкой. Что же, зная особенности подхода 1С к построению интерфейса, удивляться не стоит. Но зато очень полезно запомнить эту функцию.

6. Включение отключение редактирования печатной формы и отчета 1С

Если вам нужно подключить или отключить редактирование отчета или печатной формы в документе 1С, то проследуйте по следующей схеме: Таблица – Вид – Редактирование.

Включая и отключая эту опцию, вы сможете вносить коррективы в имеющийся отчёт или печатную форму в 1С.

7. Настройка отчетов в 1С

Отчёты и их форму можно настроить. Можно сделать отчёт более информативным или менее информативным, сжатым и развернутым.

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

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

Ну а полученный вариант настроенного отчёта в 1С можно легко сохранить через кнопку “Ещё”. Следующий раз не нужно будет заново выполнять всю настройку.

8. Задать область печати

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

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

Заключение

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

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

Разработаем цепочку импорта вместе с вашими специалистами. Продумаем механизм, а после этого реализуем его в…

Свежие записи

Свежие комментарии

Ответить Отменить ответ

Наш сайт использует cookie

  • Privacy Overview
  • Strictly Necessary Cookies

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.

Вывод на печать табличного документа в 1С 8.3. Простой пример.

В массе своей, в прикладных задачах нужно вывести на печать какие-либо данные оформленные нужным образом (например, счет, торговую накладную, акт сверки и т.п.). Для вывода на печать в 1С 8.3. можно использовать табличные документы. В предыдущей статье я показал, как создать макет табличного документа и как правильно его оформить. Нам осталось научиться заполнять его данными и выводить на просмотр для последующей печати. Материал по выводу табличного документа на печать, я решил разбить на две части. В первой части мы разберем простой пример (я бы назвал его учебным), а во втором случае реализуем пример приближенный к реальному. Эта статья — первая часть, в ней мы реализуем простой пример: будем выводить табличный документ на печать, используя команду управляемой формы. Этот вариант имеет следующий недостаток: нельзя вывести печатную форму из списка документов, можно это сделать, только открыв форму документа. Для того, чтобы можно было вывести печатную форму из списка документов, необходимо создать команду документа. Этот вариант мы рассмотрим в следующей статье.

И так, сам макет документа мы уже создали, как это сделано, вы можете узнать в соответствующей статье.

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

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

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

Для команды ПечатьДокумента создадим два обработчика в клиентском и серверном контексте.

Создание обработчиков команды

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

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

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

Доступность метода получить макет

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

Напомню, что макет у нас имеет четыре области: Шапка, ШапкаТаблицы, СтрокаТаблицы, Подвал. Области Шапка, ШапкаТаблицы и Подвал будут выведены в табличный документ всего один раз, а область СтрокаТаблицы будет выведена столько раз, сколько строк в табличной части обрабатываемого документа.

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

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

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

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

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

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

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

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

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

Нам осталось получить область Подвал и вывести её в табличный документ.

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

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

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

Проверим, как работает наш код.

Управляемая форма документа

Показ табличного документа

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

Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

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

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

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

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

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

  • Создание файла внешней печатной формы;
  • Создание макета печатной формы;
  • Написание программного кода для вывода данных печатной формы на экран;
  • Создание параметров авторегистрации печатной формы;
  • Подключение внешней печатной формы к базе 1С Предприятия.
Создание печатной формы 1С. Постановка задачи

От нас требуется в конфигурации Бухгалтерия 2.0 создать печатную форму к документу Поступление товаров и услуг. В шапке печатной формы вывести следующие данные:

  • Организацию;
  • Контрагента;
  • Договор контрагента;
  • Дату поступления.

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

  • Номенклатура;
  • Количество;
  • Цена;
  • Сумма;
  • А также цена номенклатуры на текущую дату (по виду цен из документа).
Файл внешней обработки

Перейдем к решению задачи. Для начала откроем 1С 8 в режиме Конфигуратор. Именно в этом режиме осуществляются все разработки на платформе 1С 8. Теперь нам необходимо создать файл внешней обработки. Для этого кликнем по меню Файл -> Новый… или по пиктограмме нового файла.

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

В открывшемся окошке выберем пункт Внешняя обработка.

Выбор вида документа 1С

Далее в поле Имя необходимо вписать название внешней обработки. В нашем случае назовем ее просто: «ПечатнаяФорма», поле синоним при этом заполнится автоматически. Обратите внимание, что в поле Имя, внешней обработки, следует писать название без пробелов и знаков препинания.

Добавим реквизит внешней обработки СсылкаНаОбъект и выберем для него тип ДокументСсылка.ПоступлениеТоваровУслуг. Для этого в дереве метаданных внешней обработки 1С выделим пункт Реквизиты и нажмем кнопку Добавить (кнопка с зеленым плюсом). В правой части экрана откроется окно свойств реквизита, в поле Имя впишем — СсылкаНаОбъект. В поле Тип нажмем кнопку с тремя точками.

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

В дереве типов раскроем ветку ДокументСсылка, и найдем там элемент ПоступлениеТоваровУслуг, поставим напротив него галочку и нажмем ОК.

Сохраним файл внешней обработки на жесткий диск, для этого воспользуемся меню Файл -> Сохранить, пиктограммой Сохранить (синяя дискета), либо сочетанием клавиш Ctrl + S. Назовем сохраняемый файл «ПечатнаяФорма».

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

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

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

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

В открывшемся новом макете создадим несколько областей, необходимых для вывода печатной формы. Все необходимые нам области макета будут горизонтальными, поэтому для создания новой области следует выделить необходимое количество строк макета и перейти в меню Таблица -> Имена -> Назначить имя или использовать сочетание клавиш Ctrl + Shift + N, после чего ввести в окошке имя области. При создании области макета не бойтесь ошибиться с количеством строк их всегда можно будет добавить или убрать. Для удаления строки макета 1С выделите нужную строку и выберите в контекстном меню пункт Удалить. Для добавление новой строки в макет, выделите любую строку макета и выберите в контекстном меню пункт Раздвинуть.

Добавление шапки макета

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

Создание области макета 1С

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

Обычно хватает тринадцать или четырнадцать ячеек макета, выделим их в первой строке области Шапка и объединим в одну ячейку (Контекстное меню -> Объединить). После этого дважды щелкнем по получившейся большой ячейке и напишем название параметра, в нашем случае «ТекстЗаголовка». Для того чтобы введенный текст стал полноценным параметром щелкнем по ячейке правой кнопкой мыши и в контекстном меню выберем пункт Свойства. На закладке Макет найдем поле Заполнение и выберем значение Параметр. Параметры в макете 1С обозначаются скобками «<>».

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

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

На рисунке видно, как отличаются параметры макета, от обычного текста.

Добавление шапки таблицы макета

Последнее, что нам необходимо создать в данной области макета — это шапка таблицы, в которую будут выводится данные табличной части Товары. Колонки необходимые для таблицы были описаны в разделе «Постановка задачи». Шапку таблицы также создадим используя объединение ячеек и написания текста (названий колонок). Границы шапки таблицы выделим при помощи инструмента Рамка, который расположен на панели форматирования макета.

Добавление таблицы в макет

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

Добавление подвала в макет

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

В итоге должен получиться макет следующего вида:

Создание печатной формы 1С. Программирование

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

Создание печатной формы 1С - ереход в модуль объекта

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

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

Инициализация основных переменных

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

В переменную Макет получим созданный нами макет печатной формы. Для этого используем встроенную функцию ПолучитьМакет(<ИмяМакета>).

Все области макета получим в переменные. Для этого используем метод макета ПолучитьОбласть(<ИмяОбласти>).

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

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

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

Все параметры шапки заполнены, выведем ее в созданный нами табличный документ, для этого используем метод Вывести(<Область>).

Написание запроса для печатной форы

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

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

Создадим переменную, которая будет содержать в себе запрос.

Текст запроса будем составлять при помощи конструктора запросов. Для начала напишем:

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

 Конструктор запросов 1С

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

В левой части окна конструктора найдем столбец База данных. В нем находится дерево всех объектов метаданных, найдем нужные нам. Для этого раскроем ветку Документы и отыщем документ ПоступлениеТоваровУслуг, раскроем его и найдем табличную часть Товары, перетащим ее в столбец конструктора запросов Таблицы. Перетащить можно тремя способами: собственно перетаскиванием, двойным щелчком по таблице или выделив ее и нажав кнопку «>». Раскроем ветку РегистрыСведений и найдем там таблицу ЦеныНоменклатуры.СрезПоследних, также перетащим ее в столбец Таблицы. Этих двух таблиц достаточно для нашего запроса.

Выберем нужные нам поля из полученных таблиц. Для этого в столбце Таблицы раскроем таблицу ПоступлениеТоваровУслугТовары и найдем поля: Номенклатура, Сумма, Цена, Количество и перетащим их в третий столбец конструктора — Поля. Раскроем таблицу ЦеныНоменклатурыСрезПоследних, найдем поле Цена и тоже перетащим его в Поля.

Конструктор запросов таблицы и поля

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

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

После того, как в окно Условия мы добавили поле Ссылка, конструктор запросов сам создаст параметр с аналогичным названием и расположит его после знака «=». Данный параметр можно переименовать, если есть желание. В тексте запроса параметры помечаются знаком «&», но в данном случае этого делать не нужно, так как подразумевается, что во второй части условия стоит параметр, это просто надо запомнить. О том как передать значение в параметр запроса 1С будет рассказано ниже.

Условия в конструкторе запросов 1С

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

Для заполнения параметров виртуальной таблицы перейдем на закладку Таблицы и поля конструктора запроса, в колонке Таблицы выделим таблицу ЦеныНоменклатурыСрезПоследних и нажмем кнопку Параметры виртуальной таблицы, расположенную вверху. В открывшемся окне, в поле Период следует задать параметр, в который будет передаваться дата, на которую будет делаться срез цен. В нашем случае это будет текущая дата (то есть сегодня), поэтому и параметр назовем «&ТекущаяДата». В поле условия напишем условия на тип цен, его мы тоже передадим в параметре, который назовем «&ТипЦен». Получившееся условие будет выглядеть следующим образом (где ТипЦен — измерение регистра Цены номенклатуры):

Параметры виртуальной таблицы заполнены, нажмем кнопку ОК.

Заполнение параметров виртуальной таблицы

Теперь, когда мы ограничили выборку только нужным нам документом, создадим связи между таблицами запроса. Если этого не сделать, то цены из таблицы ЦеныНоменклатурыСрезПоследних не будут связаны с номенклатурой из поступления. Перейдем на вкладку Связи конструктора запросов. Создадим связь по полю Номенклатура между двумя нашими таблицами. Для этого нажмем кнопку Добавить, в поле Таблица 1 выберем таблицу ПоступлениеТоваровУслугТовары, а в поле Таблица 2 — ЦеныНоменклатурыСрезПоследних. В условиях связи выберем поля Номенклатура из обоих таблиц.

Также следует заметить, что в выборке запроса нам необходимо получить все строки из табчасти Товары и цены только в том случае, если таковые имеются на текущую дату по типу цен документа. Таким образом данные табчасти Товары являются обязательными, а данные среза цен нет. Поэтому в связях между этими таблицами необходимо использовать так называемое ЛЕВОЕ СОЕДИНЕНИЕ, причем левой (или обязательной) таблицей будет ПоступлениеТоваровУслугТовары, а правой (или необязательной) ЦеныНоменклатурыСрезПоследних. Для того чтобы левое соединение таблиц запроса заработало так как я описал выше необходимо поставить галочку Все после поля Таблица 1.

Связи между таблицами запроса

Запрос практически готов, осталось только немного поработать над псевдонимами полей. Перейдем на закладку Объединения / Псевдонимы и зададим псевдоним для поля ЦеныНоменклатурыСрезПоследних.Цена. Имя псевдонима будет — ЦенаНаСегодня, нужен он для того чтобы имена полей выборки запроса и имена параметров в макете печатной формы совпадали.

Псевдонимы полей запроса 1С

Работа в конструкторе запросов на этом закончена, нажмем кнопку ОК. После того, как окно конструктора закроется вы увидите, что строка с текстом запроса заполнена и имеет следующий вид:

Выполнение запроса

Передадим в запрос необходимые параметры, для этого воспользуемся методом запроса УстановитьПараметр(<ИмяПараметра>,<Значение>). Для получения текущей даты воспользуемся встроенной функцией ТекущаяДата(), она возвращает дату и время компьютера.

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

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

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

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

Внутри цикла будем заполнять область Данные данными из текущего элемента выборки, в переменные ИтогоСумма и ИтогоКоличество добавлять значения суммы и количества, и наконец, выводить область в табличный документ при помощи уже знакомого нам метода Вывести(). Так как имена полей нашего запроса полностью совпадают с именами параметров области Данные, то для заполнения будем использовать встроенную процедуру ЗаполнитьЗначенияСвойств(<Приемник>, <Источник>), которая копирует значения свойств <Источника> в свойства <Приемника>.

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

Осталось заполнить и вывести последнюю область макета — Подвал. Данные для заполнения мы уже подготовили, заполнение и вывод осуществляем по той же схеме.

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

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

Создание печатной формы 1С. Параметры авторегистрации

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

Делается он следующим образом:

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

Макет с параметрами авторегистрации

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

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

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

Скачать внешнюю печатную форму рассмотренную в статье: Внешняя печатная форма

Настройка печати в 1С

Здравствуйте дорогие читатели блога 1С Программист.

Спонсор Поста: Прошивка принтеров, заправка картриджей, ремонт принтеров в Москве. Прошивка принтера Sam­sung ML-2950ND/2955ND. Перепрошивка принтера Sam­sung ML 3300, прошивка принтеров Xerox.

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

При построении печатной формы используются следующие объекты:
1) Макет — В нем содержатся различные области для формирования печатной формы.
2) Табличный документ — Необходим для вывода печатной формы на экран.

Построение печатной формы происходит в следующем порядке:
1) Получить макет (созданный для данного объекта или общий)
2) Получаем области макета (в областях макета содержится параметр или текст)
3) Создаем табличный документ (тот объект, куда будет происходить вывод).
4) Подставляем значения в параметры и выводим области в табличный документ.
5) Отображаем табличный документ на экране.

Создание Макетов и областей макетов затрагивать сейчас не будем, а сразу перейдем к типу данных “ТабличныйДокумент”, который необходим для вывода печатной формы созданной на основании макета.
“Макет” доступен только на сервере и толстом клиенте, поэтому для формирования печатной формы потребуется серверный вызов, Заполнение макета будем производить на сервере, а вывод на клиенте.

Пример создания простейшей печатной формы:

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

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

Свойства Табличного Документа

Зададим для печати принтер, отличный от установленного по умолчанию.
Используем свойство Табличного документа «ИмяПринтера» которое позволяет задать имя принтера известного в системе, на который бедет выводится печать.

Установим количество копий печатуемого документа программно.

Установив признак разбора по копиям для документа.

Установим через свойство «РазмерСтраницы» которое позволяет задать стандартные форматы страницы – “A3”, “A4”, “A5” (полный список в справке 1С).

Если размер бумаги нестандартен (Cus­tom — произвольный размер бумаги ) то укажем значения высоты и ширины страницы (в мм):

Зададим поля для страницы (по умолчанию поля 10мм).

Программно управляем вывводом колонтиттула и его содержимым в 1С через свойства «ВерхнийКолонтитул» и «НижнийКолонтитул».
Пример:

Еще пару свойств страницы:

Если свойство АвтоМасштаб имеет значение Ложь или еще не заданно то можно указать значение масштабирования в процентах (через свойство «МасштабПечати»).

Методы Табличного Документа

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

Перед печатью будет выведен диалог печати.

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

Или открываем окно для показа и редактирования табличного документа.

Можно принудительно вставить разрывы страниц используя методы «ВывестиГоризонтальныйРазделительСтраниц()» и «ВывестиВертикальныйРазделительСтраниц()»

Более полный список по свойствам и методам Табличного Документа смотрите в справке 1С.

На платформе «1С:Предприятие 8.2» у свойств и методов идет четкое разделение по контексту исполнения. Если свойства доступны в любом контексте, то методы в основном недоступны на «Тонком» клиенте. Следовательно, оформляем документ на сервере, а отправку на печать производим в клиентской процедуре.

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

П.С. Если вам необходимо создать печатную форму или отредактировать существующую обращайтесь 1С Программист к вашим услугам.

Пожалуйста, оставляйте комментарий мне важно ваше мнение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *