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

09.10.24

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

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

Платные

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

Наименование Скачано Купить файл
(только для физ. лиц)
Пример разработки регламентированного отчета:
.cfe 177,13Kb
9 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний за 2430 руб. в месяц

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

 

 

 

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


 

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

 


 

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


 

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

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

 

 

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


 

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


 

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


 

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


 

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


 

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

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


 

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


 

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


 

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



 

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

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

См. также

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

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

15500 руб.

02.09.2020    195612    1085    405    

1006

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    32160    195    104    

186

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 руб.

06.10.2023    22699    62    19    

90

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

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

15000 руб.

10.11.2023    15465    65    33    

83

Инструментарий разработчика Программист 1С v8.3 Платные (руб)

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

9360 руб.

17.05.2024    32873    112    48    

155

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

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    20093    8    32    

44

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 руб.

22.11.2024    1339    1    0    

8
Оставьте свое сообщение