Пример создания внешнего отчета 1с 8.3. Добавление внешнего отчета в базу

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

Отчеты и обработки: различия

При этом от других подобных объектов – обработок, их отличает:

  1. Возможность использования СКД (системы компановки данных);
  2. С помощью обработки можно вводить информацию, отчет служит для вывода и организации данных;
  3. Разница в формате файлов: расширение epf говорит о том, что мы имеем дело с обработкой, erf характерно для внешних отчетов.

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

Способы добавления отчета в базу

С помощью специального справочника

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

  1. Для Полного и Административного интерфейсов, перейдя по адресу: Операции->Справочники->Внешние обработки;
  2. Все остальные через: Сервис->Дополнительные отчеты и обработки.
  3. Дальше надо выбрать вид формы, которую необходимо получить.

Итак, как добавить компановку в справочник через форму, вид которой представлен на рис.1

Рис.1 Форма регистрации отчета или обработки

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

  1. Печатная форма, вызываемая по кнопке Печать или другой кнопке в тех объектах, которые указаны в табличной части «Принадлежность печатной формы»;
  2. Заполнение табличных частей, для табличных частей документов и справочников, представленных в Табличной части «Принадлежность обработки по заполнению табличных частей»;
  3. Обработка;
  4. Отчет.

Рис. 2 Поле выбора вида отчета

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

Рис.3 Надпись, говорящая о необходимости выбора файла отчета

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

Добавление в конфигурацию

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

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

Если конфигурация закрыта для редактирования, необходимо зайти в пункт меню Конфигурация->Поддержка->Настройка поддержки. Откроется окно, как на Рис.4

Рис. 4 Окно редактирования поддержки

  1. Нажать кнопку «Включить возможность изменения»;
  2. Положительно ответить на вопрос системы.

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

Теперь кликнув правой кнопкой мышки по строке «Отчеты» дерева конфигурации можно добавить внешний компановщик данных в конфигурацию Рис.5.

Рис. 5 Подменю добавления отчета в конфигурацию

Особенности размещения обработки на управляемых формах

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

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

Открыв программу в режиме Администрирования, необходимо в Панели навигации найти пункт «Печатные формы, отчеты и обработки»

Рис. 6 Панель навигации 1С 8.3

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

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

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

  1. Объект, к которому будет подключаться обработчик;
  2. Имя, с которым он будет зарегистрирован в базе;
  3. Наименование команды.

После этого можно приступать к размещению отчета в интерфейсе. Для этого надо щелкнуть по команде «Размещение».

Рис. 7 Размещение

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

Добавление без размещения

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

Регламентированные отчеты

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

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

Открыть их можно из меню Отчеты->Регламентированные отчеты. После выбора варианта отчета, программа проведет его заполнение данными из базы. Если данных будет не хватать, программа предложит довнести недостающие данные вручную.

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

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

В типовых конфигурациях для "1С:Предприятия 8", выпускаемых фирмой "1С", формы регламентированной отчетности входят в состав конфигураций и выпускаются вместе с релизами конфигураций. Однако когда возникает необходимость - например, вступает в силу новая редакция формы отчетности, - фирма "1С" выпускает такие формы отчетности в виде внешних отчетов "1С:Предприятия 8" (файлов с расширением *.erf).

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

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

Список внешних отчетов, выпущенных для конкретного релиза конфигурации, можно увидеть на странице конфигурации сайта поддержки пользователей программ "1С:Предприятия 8" по адресу www.users.v8.1c.ru (в разделе Сводная информация необходимо в столбце с номерами версий кликнуть на интересующий номер) или в форме Информация об обновлениях (вызывается кнопкой Информация об обновлениях верхней командной формы ), если в информационной базе включен сервис оповещений регламентированной отчетности.

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

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

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

Если внешний отчет предназначен для замены регламентированного отчета, уже существующего в конфигурации, его можно подключить к информационной базе, просто открыв отчет в режиме "1С:Предприятие" (меню Файл - Открыть ).

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

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

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

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

Для регистрации внешнего отчета как нового вида регламентированных отчетов в справочнике Регламентированные отчеты необходимо (см. рис. 1):

1) перейти в группу справочника, в которой будет располагаться отчет нового вида;
2) создать новый элемент справочника, нажав кнопку Добавить в верхней командной панели формы справочника;
3) в форме элемента справочника заполнить наименование, которое будет выдаваться в справочнике Регламентированные отчеты и в списке видов отчетов формы Регламентированная и финансовая отчетность . Желательно также заполнить описание вида отчета;
4) переключатель Использовать установить в положение файл и указать, какой файл следует использовать в качестве внешнего отчета. После нажатия кнопки ОК в диалоге открытия файла в поле файл формы элемента справочника будет указано полное имя этого внешнего отчета.

Рис. 1. Регистрация внешнего отчета

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

То же самое происходит при нажатии кнопки ОК , при этом форма элемента справочника Регламентированные отчеты закрывается.

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

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

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

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

В любой момент можно вернуться к использованию "внутреннего" объекта конфигурации. Для этого в форме элемента справочника для требуемого регламентированного отчета необходимо поставить переключатель Использовать в положение объект и сохранить элемент справочника.

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

1) в справочнике Регламентированные отчеты найти регламентированный отчет, для которого подключен внешний отчет, - у такого отчета после наименования отчета будет добавлена строка (внешний);
2) открыть элемент справочника для редактирования обязательно кнопкой Изменить текущий элемент ;
3) в поле выбора внешнего отчета нажать кнопку Х (Очистить) . После ее нажатия текст Отчет загружен в ИБ очищается, это является признаком того, что отчет будет удален из информационной базы;
4) закрыть форму элемента справочника нажатием кнопки ОК .

Удаление отчета выполняется при сохранении элемента справочника.

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

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

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

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

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

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

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

Как сделать отчет в 1С с помощью макета

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

Но в этом случае все пунктики, меню и прочие «бантики» придется прописывать вручную, что очень трудоёмко.

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

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

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

Конструктору указывается запрос и все необходимые параметры будущего отчета, а он, в свою очередь, генерирует модули и формы отчета. Механизм основан на объекте встроенного языка 1С 8.2 — ПостроительОтчетов .

Создание отчета с помощью Универсального отчета

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

Отчеты на основе Системы компоновки данных

Это самый прогрессивный метод создания отчетов в 1С, рекомендованный и самой фирмой 1С. появилась в платформе 1С в версии 8.1.

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

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

Чем отличаются внешние отчеты от встроенных

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

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

Чем отчет отличается от обработки

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

Основные различия в свойствах: в отчетах можно указать Основную схему компоновки данных (СКД) и указать настройки для сохранения параметров отчетов.

Говорят, что под названием 1С изначально подразумевалась фраза «одна секунда», т.е. программы должны выдавать отчеты быстро, «в одну секунду». Скорость работы отчетов очень важна, но еще важнее, чтобы отчеты выдавали правильную информацию — разберемся с этим на примере создания простого отчета в 1С 8.3 на базе конфигурации Управление торговлей 10.3. Для создания корректных отчетов желательно (даже настоятельно рекомендуемо) уметь конфигурировать 1С и немного уметь программировать на внутреннем языке и языке запросов 1С, хотя, с другой стороны, создание отчетов — прекрасная возможность начать осваивать эти навыки.

Данное описание является учебным для понимания основных принципов создания отчетов 1С

Как создать отчет в 1С 8.3

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

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


В появившемся меню выбираете пункт Внешний отчет и нажимаете кнопку ОК:


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


Как сделать отчет с помощью макета

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

В окне отчета (которое открывается при создании отчета) в нижнем списке устанавливаете курсор на пункт Макеты и, при нажатии правой кнопкой мыши, в появившемся меню нажимаете Добавить:


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


После чего откроется окно макета, напоминающее лист Excel:


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

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

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


После этого идем в меню Таблица главного меню, заходим в подменю Имена и кликаем на пункт Назначить имя:


Программа предложит указать Имя области, имя также не должно содержать пробелов и спецсимволов, после этого нажимаем ОК, должно получиться так:


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

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


В открывшемся окне в разделе Начертание устанавливаем галочку Жирный и нажимаем кнопку ОК:


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


Таким же образом создаем область строки номенклатуры, только не выделяем жирным:


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


Возвращаемся в главное окно отчета и в нижнем списке кликаем правой кнопкой на пункт Формы и нажимаем Добавить:


В открывшемся конструкторе формы отчета нажимаем кнопку Готово, откроется форма отчета, кликаем два раза на кнопку Сформировать:


В результате откроется окно свойств кнопки в правой части экрана, в поле Действие нажимаем на лупу:


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


Сначала вставим вместо выделенного текста следующий текст программного кода:

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

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


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

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

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


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


и получаем перечень номенклатуры:


Это лишь один из способов создания отчетов в 1С. В следующих статьях разберем другие.

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

Вот главная страница отчета:

Вызывается данная страничка из конфигуратора в меню Файл – Новый – Внешний отчет.

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

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

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

На закладке Ресурсы выбираем сами ресурсы и настраиваем вывод итогов для них:

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

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

И, наконец, Настройки. Тут рисуется внешний вид отчета – колонки, строки, их положение относительно друг друга, группировки и т.д. Кнопочка «Открыть конструктор настроек» поможет выстроить строчки и колонки в нужном порядке. Кнопочка «Пользовательские настройки элемента» позволит вывести параметры в шапку отчета:

Обратите внимание на колонку Период.ЧастиДат.НазваниеМесяца. Как же вывести название месяца в заголовок колонки? Вот тут и выводится.

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

Еще одна важная закладка – Выбранные поля. Если она будет пустой, отчет не сформируется. Обычно заполняется автоматом по кнопке «Открыть конструктор настроек»:

Собственно, вот все, что нужно из минимально необходимого. В результате будем иметь отчет следующего вида:



Статьи по теме: