При работе с подсистемой бюджетирования в 1С:ERP Управление предприятием часто возникает задача извлечения плановых данных для построения произвольной отчетности или интеграции с внешними системами. Основная сложность заключается в том, что архитектура бюджетирования существенно отличается от оперативного контура. Давайте разберем по шагам, где хранятся эти данные и на что нужно обратить внимание при написании запросов.
Рассмотрим структуру хранения информации. Основным «хранилищем» всех плановых показателей, которые вводятся через документ Экземпляр бюджета, является регистр накопления ОборотыБюджетов. Именно этот регистр служит источником для типовых отчетов, таких как «План-фактный анализ» или «Бюджетный баланс».
Проанализируем ключевые особенности работы с этим регистром:
ОборотыБюджетов только в том случае, если документ Экземпляр бюджета проведен и имеет статус «Утвержден». Если документ находится в статусе «В подготовке» или «На утверждении», движений по регистру не будет, и ваш запрос вернет пустой результат.Экземпляр бюджета, однако движения могут формироваться и другими документами, если используются механизмы автоматического расчета (например, Установка значений нефинансовых показателей через сложные формулы).Часто возникает путаница: откуда брать суммы по Бюджету движения денежных средств (БДДС) — из справочника СтатьиДвиженияДенежныхСредств или СтатьиБюджетов? Разберем разницу:
Для получения плана в регистре ОборотыБюджетов мы всегда оперируем Статьями бюджетов. Если вам нужно получить данные в разрезе Статей ДДС, необходимо проверить настройки связи в справочнике Статьи бюджетов. Каждая статья бюджета может быть связана с одной или несколькими статьями ДДС. При трансляции фактических данных система использует эту связь, чтобы переложить суммы из оперативного учета в бюджетный контур.
Посмотрим на структуру измерений регистра. При извлечении данных крайне важно накладывать фильтр по измерению Сценарий. План в ERP всегда существует в контексте конкретного сценария планирования. Без этого фильтра вы получите некорректные итоговые суммы, так как система сложит данные разных версий бюджета (например, «Оптимистичный», «Пессимистичный» и «Рабочий»).
Кроме того, обратим внимание на ресурсы регистра. Суммы хранятся в трех разрезах:
При написании запроса к виртуальной таблице ОборотыБюджетов.Обороты обязательно указывайте, какая именно валюта вам необходима, чтобы избежать ошибок при конвертации курсов.
Выясним, какие еще регистры могут быть полезны в зависимости от ваших задач:
Заявка на расходование ДС.ОборотыБюджетов.Рассмотрим упрощенный пример того, как может выглядеть обращение к плановым данным в коде. Предположим, нам нужно получить обороты по конкретному сценарию и статье бюджета за месяц:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| БюджетныеОбороты.СтатьяБюджета КАК СтатьяБюджета,
| БюджетныеОбороты.Организация КАК Организация,
| БюджетныеОбороты.СуммаСценарияОборот КАК СуммаПлан
|ИЗ
| РегистрНакопления.ОборотыБюджетов.Обороты(&НачалоПериода, &КонецПериода, Авто, Сценарий = &Сценарий) КАК БюджетныеОбороты";
Запрос.УстановитьПараметр("НачалоПериода", НачалоМесяца(ТекущаяДата()));
Запрос.УстановитьПараметр("КонецПериода", КонецМесяца(ТекущаяДата()));
Запрос.УстановитьПараметр("Сценарий", ВыбранныйСценарий);
РезультатЗапроса = Запрос.Выполнить();
Проанализируем ситуацию с дополнительными аналитиками. В 1С:ERP для каждой статьи бюджета можно настроить до 6 произвольных аналитик (ЦФО, Проекты, Номенклатура и т.д.). Эти аналитики хранятся в измерениях Аналитика1...Аналитика6. Перед написанием универсального отчета обязательно выясните, в каком порядке и какие именно аналитики закреплены за интересующими вас статьями в настройках «Вида бюджета».
Важно помнить про НДС: В зависимости от учетной политики и настроек модели бюджетирования, суммы в ОборотыБюджетов могут быть как с учетом НДС, так и без него. Это определяется настройками самой Статьи бюджета или правилами формирования Экземпляра бюджета.
Таким образом, для получения плановых данных бюджетирования в ERP основным источником всегда будет регистр ОборотыБюджетов, но корректность данных напрямую зависит от учета сценариев, статусов утверждения документов и правильного понимания связи между статьями бюджета и статьями ДДС.