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