При разработке учетных систем на платформе 1С часто возникают задачи, требующие расширения аналитики стандартных отчетов. Одной из таких задач является вывод информации о группе основных средств не из справочника, а из периодического регистра сведений. Рассмотрим, почему это происходит и как правильно решить задачу, не нарушая целостность типовой конфигурации.
Прежде всего, разберем, почему стандартная ОСВ не позволяет «просто добавить» поле из регистра. Типовой отчет Оборотно-сальдовая ведомость в 1С:Бухгалтерии 3.0 построен на базе СКД (Системы компоновки данных) и жестко сфокусирован на данных бухгалтерских регистров. Внутренние механизмы отчета ожидают получения данных напрямую из реквизитов справочников, связанных с субконто. Попытки модифицировать код типовых отчетов крайне нежелательны, так как это усложняет обновление конфигурации и может привести к ошибкам в расчетах сальдо.
Наиболее надежный и правильный путь — создание собственного отчета. Давайте разберем этот процесс по шагам.
СхемуКомпоновкиДанных. В качестве основного набора данных используйте БухгалтерскийРегистр.Хозрасчетный.ОстаткиИОбороты.LEFT JOIN) по полю ОсновноеСредство и периоду.СрезПоследних. Если отчет должен показывать группу, актуальную на начало периода, необходимо задать параметр Период для среза, соответствующий началу выбранного в отчете интервала.Рассмотрим пример того, как может выглядеть фрагмент запроса в СКД для получения данных:
ВЫБРАТЬ
ОстаткиИОбороты.Счет КАК Счет,
ОстаткиИОбороты.Субконто1 КАК ОС,
ГруппыОСР.ГруппаОС КАК ГруппаОС
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , ) КАК ОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ГруппыОС.СрезПоследних(&НачалоПериода, ) КАК ГруппыОСР
ПО ОстаткиИОбороты.Субконто1 = ГруппыОСР.ОсновноеСредство
Если задача заключается лишь в добавлении аналитики, которая не меняется динамически в рамках одного периода, рассмотрите использование механизма дополнительных реквизитов Библиотеки стандартных подсистем (БСП). Этот метод позволяет:
ОсновныеСредства без изменения конфигурации.Однако помните: этот метод не учитывает «историчность» (изменение группы во времени), так как значение дополнительного реквизита привязано к объекту, а не к периоду.
При решении данной задачи важно учитывать поведение данных при смене группы. Проанализируем ситуацию: если основное средство в течение отчетного периода сменило группу, отчет должен четко интерпретировать, какая группа является приоритетной. Обычно за основу берется группа, зафиксированная на начало периода или на дату совершения операции.
Советы по производительности:
ОСВ — это отчет с большим объемом данных. Соединение с периодическим регистром может замедлить формирование отчета.СКД. Если данных очень много, рассмотрите возможность использования ВременныхТаблиц для предварительной подготовки данных перед выводом в группировки отчета.Если вам требуется отображение динамической аналитики (группы ОС, меняющейся со временем), создание внешнего отчета на СКД является единственным профессиональным решением. Это позволит сохранить целостность типовой Бухгалтерии 3.0 и обеспечит гибкость в настройках группировок для бухгалтерского учета.