Назначение
В типовой 1С:ERP запросы, которыми подсистема бюджетирования получает фактические данные по правилам и плановые данные по СКД, формируются динамически — на основе макетов компоновки данных. Поэтому их не всегда удобно получить штатными средствами для анализа и отладки.
Расширение «Отладка бюджетирования» (БюджОтл) выгружает сформированные тексты запросов и их параметры в каталог на сервере 1С. Это помогает разбирать расхождения в отчётах, проверять правила получения факта, а также переносить логику источников в SQL, DWH или BI-систему.
Выгрузка включается отдельной константой. Файлы записываются в локальный каталог сервера 1С либо в UNC-путь, доступный учётной записи службы кластера 1С.
Что выгружает расширение
- Отдельную сессию выгрузки для каждого формирования бюджетного отчёта
- Контекст сессии: вид бюджета, период, сценарий, валюта и другие доступные параметры
- Реестр правил получения фактических данных в CSV
- Тексты запросов онлайн-факта по отдельным правилам, если используется классический алгоритм получения данных
- Тексты запросов объединённого макета факта, если используется альтернативный алгоритм
- Тексты запросов для получения плановых данных из СКД
- Параметры макетов и запросов в файле
params.csv - Манифест с итоговой информацией о сессии и журнал ошибок, если отдельные запросы не удалось подготовить
При выключенной выгрузке расширение не записывает файлы и не меняет штатный сценарий работы 1С:ERP.
Кому будет полезно
- Разработчикам и консультантам 1С, сопровождающим подсистему бюджетирования в 1С:ERP
- Специалистам, которые анализируют причины расхождений между ожидаемыми и фактическими данными бюджетного отчёта
- Архитекторам и аналитикам данных, которым нужны фактически исполняемые запросы для анализа источников
- Командам DWH и BI, переносящим логику получения факта и плана из 1С во внешнее хранилище
Важно: расширение не выполняет выгрузку данных в DWH и не строит ETL-конвейер. Его результат — структурированный набор файлов с текстами запросов, параметрами и контекстом их формирования.
Как включить выгрузку
- Установите расширение
БюджОтл_ОтладкаБюджетированияв информационную базу. - Укажите значение константы «Каталог выгрузки источников запросов бюджетирования» — путь, в который служба 1С имеет право записи. Проверить, что учётная запись службы 1С имеет права записи в каталог.

- Включите константу «Выгружать источники запросов бюджетирования».

- Сформируйте бюджетный отчёт с получением фактических и/или плановых данных.
- Откройте созданный каталог сессии и проанализируйте выгруженные файлы.
Пример UNC-пути: \\fileserver\1CLogs\BudgetDebug.
Структура выгрузки
Для каждого запуска формирования данных создаётся отдельный каталог. Имя каталога содержит вид бюджета и дату/время запуска, чтобы результаты разных прогонов не смешивались.
| Файл или каталог | Содержимое |
|---|---|
session_context.txt |
Контекст сессии: вид бюджета, период, валюта, сценарий и другие доступные параметры |
rules.csv |
Основной реестр правил получения фактических данных |
rules_articles.csv |
Связи правил со статьями бюджетов |
rules_indicators.csv |
Связи правил с показателями бюджетов |
params.csv |
Параметры сформированных макетов и запросов |
queries/rule_*.txt |
Запросы классического алгоритма получения онлайн-факта по правилам |
queries/fact/fact_online_*.txt |
Запросы объединённого макета альтернативного алгоритма получения факта |
queries/plan/*.txt |
Запросы получения плановых данных |
manifest.txt |
Итоговая сводка по сессии выгрузки |
errors.log |
Ошибки подготовки отдельных правил или запросов, если они возникли |

Пример выгруженного запросаplan_*.txt

Пример текста запроса plan_*.txt
// [План] plan_oboroty_budgetov | Схема: СКДПлановыеДанные | Компоновщик: настройки отчёта
// --- Набор: Данные ---
// &ВидАналитикиПартнеры = Партнеры | Тип: Аналитики статей бюджетов
// &ВыбранныеСтатьиБюджетовИД_0 = [Оплата закупок] | Тип: Список значений, элемент: Статьи бюджетов
// &ДатаАктуальности = 02.08.2026 23:59:59 | Тип: Дата
// &КонецПериода = 31.12.2022 0:00:00 | Тип: Дата
// &КэшЗначенийАналитик = Соответствие | Тип: Соответствие
// &КэшПлановыхКурсов = ТаблицаЗначений | Тип: Таблица значений
// &НачалоПериода = 01.04.2022 0:00:00 | Тип: Дата
// &П = 02.08.2026 23:59:59 | Тип: Дата
// &П2 = [Утвержден] | Тип: Список значений, элемент: Статусы планов
// &ФункциональнаяВалюта = В валюте упр. учета | Тип: Виды учета в функциональной валюте
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ПредварительныйРасчет.ПериодКурса КАК ПериодКурса,
ПредварительныйРасчет.СуммаРасход КАК СуммаРасход,
ПредварительныйРасчет.СуммаПриход КАК СуммаПриход,
ПредварительныйРасчет.СуммаВалХраненияПриход КАК СуммаВалХраненияПриход,
ПредварительныйРасчет.Аналитика4 КАК Аналитика4,
ПредварительныйРасчет.Аналитика5 КАК Аналитика5,
ПредварительныйРасчет.Аналитика2 КАК Аналитика2,
ПредварительныйРасчет.Сценарий КАК Сценарий,
ПредварительныйРасчет.Аналитика6 КАК Аналитика6,
ПредварительныйРасчет.Аналитика1 КАК Аналитика1,
ПредварительныйРасчет.ИсточникЗаполненияВалюты КАК ИсточникЗаполненияВалюты,
ПредварительныйРасчет.ВалютаОпределяетсяАналитикой КАК ВалютаОпределяетсяАналитикой,
ПредварительныйРасчет.АдресАналитикиВалюта КАК АдресАналитикиВалюта,
ПредварительныйРасчет.Период КАК Период,
ПредварительныйРасчет.СуммаВалХраненияРасход КАК СуммаВалХраненияРасход,
ПредварительныйРасчет.УчитыватьПоВалюте КАК УчитыватьПоВалюте,
ПредварительныйРасчет.ПоказательБюджетов КАК ПоказательБюджетов,
ПредварительныйРасчет.СтатьяБюджетов КАК СтатьяБюджетов,
ПредварительныйРасчет.ВалютаХранения КАК ВалютаХранения,
ПредварительныйРасчет.Аналитика3 КАК Аналитика3,
ПредварительныйРасчет.ИД_Источника КАК ИД_Источника
ИЗ
(ВЫБРАТЬ
Данные.ПериодДень КАК ПериодКурса,
0 КАК СуммаРасход,
ВЫБОР
КОГДА &ФункциональнаяВалюта = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВФункциональнойВалюте.ВВалютеУпр)
ТОГДА Данные.СуммаУпрОборот
КОГДА &ФункциональнаяВалюта = ЗНАЧЕНИЕ(Перечисление.ВидыУчетаВФункциональнойВалюте.ВВалютеРегл)
ТОГДА Данные.СуммаРеглОборот
КОНЕЦ КАК СуммаПриход,
Данные.СуммаВВалютеОборот КАК СуммаВалХраненияПриход,
Данные.Аналитика4 КАК Аналитика4,
Данные.Аналитика5 КАК Аналитика5,
Данные.Аналитика2 КАК Аналитика2,
Данные.Сценарий КАК Сценарий,
Данные.Аналитика6 КАК Аналитика6,
0 КАК КоличествоРасход,
Данные.Аналитика1 КАК Аналитика1,
Данные.СтатьяБюджетов.АналитикаВалюты.ЗаполнениеВалюты КАК ИсточникЗаполненияВалюты,
Данные.КоличествоОборот КАК КоличествоПриход,
Данные.СтатьяБюджетов.ВалютаОпределяетсяАналитикой КАК ВалютаОпределяетсяАналитикой,
Данные.СтатьяБюджетов.АдресАналитикиВалюта КАК АдресАналитикиВалюта,
НАЧАЛОПЕРИОДА(Данные.ПериодПланирования, МЕСЯЦ) КАК Период,
0 КАК СуммаВалХраненияРасход,
Данные.СтатьяБюджетов.УчитыватьПоВалюте КАК УчитыватьПоВалюте,
НЕОПРЕДЕЛЕНО КАК ПоказательБюджетов,
Данные.СтатьяБюджетов КАК СтатьяБюджетов,
Данные.Валюта КАК ВалютаХранения,
Данные.Аналитика3 КАК Аналитика3,
"ИД_0" КАК ИД_Источника
ИЗ
РегистрНакопления.ОборотыБюджетов.Обороты(
,
&П,
АВТО,
(ПериодПланирования МЕЖДУ &НачалоПериода И КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ)
И СтатьяБюджетов В (&ВыбранныеСтатьиБюджетовИД_0)) И (Статус) В(&П2)) КАК Данные) КАК ПредварительныйРасчет
Пример текста запроса fact_online_articles.txt
// [Факт онлайн / альтернативный алгоритм] fact_online_articles | Справочник правил: ПравилаПолученияФактаПоСтатьямБюджетов
// --- Набор: ОбъединенныйФакт ---
// &ВалютаМеждународ = RUB | Тип: Валюта
// &ВалютаОтчета = RUB | Тип: Валюта
// &ВалютаРегл = | Тип: Валюта
// &ВалютаУпр = | Тип: Валюта
// &ВалютаХранения = | Тип: Валюта
// &ГраницаФактДанных = 31.07.2026 0:00:00 | Тип: Дата
// &ЕстьИсточникСГруппойКорСчет = Истина | Тип: Булево
// &ИД_ВыражениеКонецПериода = | Тип: Строка
// &ИД_ВыражениеНачалоПериода = | Тип: Строка
// &ИД_ВыражениеПериод = | Тип: Строка
// &ИдентификаторИсточникаДанных = | Тип: Неопределено
// &П = ДвиженияДенежныеСредстваКонтрагент | Тип: Строка
// &П2 = [Оплата поставщику] | Тип: Массив, элемент: Хозяйственные операции
// &П3 = Оплата закупки товаров | Тип: Статья движения денежных средств
// &П4 = [ИД_0] | Тип: Массив, элемент: Строка
// &П5 = Оперативный учет: Оплата поставщику, Сумма оплаты, Статья движения денежных средств Равно "Оплата закупки товаров" | Тип: Правила получения фактических данных по статьям бюджетов
// &Период = 01.01.0001 0:00:00 | Тип: Дата
// &ПривилегированныйРежим = | Тип: Неопределено
// &ПривилегированныйРежимИсточника = | Тип: Неопределено
// &ТипПравилаИсполнениеБюджета = Исполнение бюджета | Тип: Тип правила получения фактических данных бюджетирования
// &ТипПравилаФактическиеДанные = Фактические данные | Тип: Тип правила получения фактических данных бюджетирования
// &КонецПериода = | Тип: Неопределено
// &НачалоПериода = | Тип: Неопределено
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ДвиженияДенежныеСредстваКонтрагент.ПериодДень КАК ПериодДень,
ДвиженияДенежныеСредстваКонтрагент.ПериодМесяц КАК ПериодМесяц,
ДвиженияДенежныеСредстваКонтрагент.ХозяйственнаяОперация КАК ИсточникДанных,
ДвиженияДенежныеСредстваКонтрагент.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств,
ДвиженияДенежныеСредстваКонтрагент.ВалютаПлатежа КАК Валюта,
ДвиженияДенежныеСредстваКонтрагент.Партнер КАК Партнер,
ДвиженияДенежныеСредстваКонтрагент.СуммаОплатыОборот КАК СуммаОплаты,
ДвиженияДенежныеСредстваКонтрагент.СуммаОплатыРеглОборот КАК СуммаОплатыРегл,
ДвиженияДенежныеСредстваКонтрагент.СуммаОплатыВВалютеПлатежаОборот КАК СуммаОплатыВВалютеПлатежа,
"ДвиженияДенежныеСредстваКонтрагент" КАК ИдентификаторИсточникаДанных,
&ПривилегированныйРежимИсточника КАК ПривилегированныйРежимИсточника,
&НачалоПериода КАК НачалоПериода,
&КонецПериода КАК КонецПериода,
&ИД_ВыражениеПериод КАК ИД_ВыражениеПериод,
&ИД_ВыражениеНачалоПериода КАК ИД_ВыражениеНачалоПериода,
&ИД_ВыражениеКонецПериода КАК ИД_ВыражениеКонецПериода
ИЗ
РегистрНакопления.ДвиженияДенежныеСредстваКонтрагент.Обороты(
&НачалоПериода,
&КонецПериода,
Авто,
(&ПривилегированныйРежимИсточника = &ПривилегированныйРежим
И "ДвиженияДенежныеСредстваКонтрагент" = &ИдентификаторИсточникаДанных) И (((("ДвиженияДенежныеСредстваКонтрагент") = &П) И ((((ХозяйственнаяОперация) В(&П2)) И ((СтатьяДвиженияДенежныхСредств) = &П3)))))) КАК ДвиженияДенежныеСредстваКонтрагент
// --- Набор: НаборСценарии ---
// &ВалютаМеждународ = RUB | Тип: Валюта
// &ВалютаОтчета = RUB | Тип: Валюта
// &ВалютаРегл = | Тип: Валюта
// &ВалютаУпр = | Тип: Валюта
// &ВалютаХранения = | Тип: Валюта
// &ГраницаФактДанных = 31.07.2026 0:00:00 | Тип: Дата
// &ЕстьИсточникСГруппойКорСчет = Истина | Тип: Булево
// &ИД_ВыражениеКонецПериода = | Тип: Строка
// &ИД_ВыражениеНачалоПериода = | Тип: Строка
// &ИД_ВыражениеПериод = | Тип: Строка
// &ИдентификаторИсточникаДанных = | Тип: Неопределено
// &П = ДвиженияДенежныеСредстваКонтрагент | Тип: Строка
// &П2 = [Оплата поставщику] | Тип: Массив, элемент: Хозяйственные операции
// &П3 = Оплата закупки товаров | Тип: Статья движения денежных средств
// &П4 = [ИД_0] | Тип: Массив, элемент: Строка
// &П5 = Оперативный учет: Оплата поставщику, Сумма оплаты, Статья движения денежных средств Равно "Оплата закупки товаров" | Тип: Правила получения фактических данных по статьям бюджетов
// &Период = 01.01.0001 0:00:00 | Тип: Дата
// &ПривилегированныйРежим = | Тип: Неопределено
// &ПривилегированныйРежимИсточника = | Тип: Неопределено
// &ТипПравилаИсполнениеБюджета = Исполнение бюджета | Тип: Тип правила получения фактических данных бюджетирования
// &ТипПравилаФактическиеДанные = Фактические данные | Тип: Тип правила получения фактических данных бюджетирования
ВЫБРАТЬ
ЗНАЧЕНИЕ(Перечисление.ТипПравилаПолученияФактическихДанныхБюджетирования.ФактическиеДанные) КАК ТипПравила,
ЗНАЧЕНИЕ(Справочник.Сценарии.ФактическиеДанные) КАК Сценарий
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЗНАЧЕНИЕ(Перечисление.ТипПравилаПолученияФактическихДанныхБюджетирования.ИсполнениеБюджета),
ЗНАЧЕНИЕ(Справочник.Сценарии.ИсполнениеБюджета)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЗНАЧЕНИЕ(Перечисление.ТипПравилаПолученияФактическихДанныхБюджетирования.ИсполнениеБюджетаИФактическиеДанные),
ЗНАЧЕНИЕ(Справочник.Сценарии.ФактическиеДанные)
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ЗНАЧЕНИЕ(Перечисление.ТипПравилаПолученияФактическихДанныхБюджетирования.ИсполнениеБюджетаИФактическиеДанные),
ЗНАЧЕНИЕ(Справочник.Сценарии.ИсполнениеБюджета)
Совместимость и обновление ERP
Расширение разработано и проверено на конфигурации «1С:ERP Управление предприятием 2.5.17.234».
Точки расширения типового кода реализованы по методике «Изменение и контроль» (&ИзменениеИКонтроль). Такой подход упрощает адаптацию при обновлении 1С:ERP: если заимствованные процедуры изменились в новом релизе, Конфигуратор покажет различия и предложит обновить их.
После обновления ERP рекомендуется выполнить короткую проверку:
- После перехода на другой релиз ERP в Конфигураторе: контекстное меню расширения → Конфигурация → «Проверка возможности применения»;
- При обнаружении расхождений с типовым кодом выполните предложенную адаптацию / обновление заимствованных процедур;
- Выполните контрольный прогон выгрузки на копии базы.
Технические особенности
- Тип поставки: расширение конфигурации 1С
- Префикс объектов расширения:
БюджОтл_ - Целевая конфигурация: типовая 1С:ERP 2.5.17.234, подсистема бюджетирования
- Режим совместимости расширения:
8_3_21 - Используется методика доработки типового кода «Изменение и контроль»
- Файлы создаются от имени учётной записи службы 1С, а не от имени пользователя, открывшего отчёт
- Для UNC-каталога необходимо предоставить службе кластера 1С права на создание и запись файлов
- Используются точки расширения общих модулей
БюджетированиеСервериБюджетнаяОтчетностьВыводСервер - Расширение предназначено для диагностики и выгрузки технической информации; стороннюю бизнес-логику в бюджетирование не добавляет
В поставку входят:
- Файл расширения
.cfe - Краткая инструкция по установке и включению выгрузки
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.17.234
Вступайте в нашу телеграмм-группу Инфостарт