Пример разработки регламентированного отчета

09.10.24

Разработка - Инструментарий разработчика

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Пример разработки регламентированного отчета:
.cfe 177,13Kb
19 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Отчет проектируем в расширении (в нашем случае префикс — реготч).

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

 

Создаем в расширении новый отчет РегламентированныйОтчет_реготч_КлассификацияОбязательств. Начинаться наименование источника должно так. Теперь его можно зарегистрировать в базе данных через команду обновления рег. отчетов.

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

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

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

В контексте нашего примера типичная структура отчета состоит из:

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

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

— Макет(ы) редакции отчета. Табличные документы с именованными ячейками.

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

Кроме того, отчет может иметь различные служебные формы и макеты.

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

Добавим в метод ТаблицаФормОтчета модуля менеджера отчета его редакции, и также добавим их в метод ДеревоФормИФорматов.

 

 

 

Настроим основную форму отчета (например, периодичность).


 

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

 


 

Где-то в закромах формы мы заместили типовой код по формированию структуры разделов.


 

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

Для хранения показателей первой таблицы мы используем структуру ЯчейкаОтчета, а для хранения второй таблицы — массив СтрокаОтчета.

 

 

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


 

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


 

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


 

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


 

Для заполнения отчета создадим обычный отчет на СКД реготч_КлассификацияОбязательств. Текст запроса отчета будем использовать для заполнения отчета в модуле менеджера.


 

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

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


 

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


 

Логично, что раз отчет формируется на основании другого отчета, то второй используется для расшифровки первого. Для открытия отчета с заданными параметрами, отбором и проч. созданы 2 общих модуля: реготч_ОтчетыСервер и реготч_ОтчетыКлиентСервер.


 

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



 

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

Протестировано на конфигурации Бухгалтерия предприятия, редакция 3.0 (3.0.158.23).

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    273359    1519    422    

1185

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    77076    388    171    

331

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    41271    120    54    

129

Инструментарий разработчика Нейросети Платные (руб)

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

15250 руб.

25.08.2025    67029    134    38    

142

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    10178    43    61    

57

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    27107    99    46    

105

Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

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

9500 руб.

17.05.2024    55452    189    63    

220
Для отправки сообщения требуется регистрация/авторизация