Синтаксис и применение КорСубконто в платформе 1С:Предприятие. Описание и примеры кода.
Полное описание, параметры и ограничения
КорСубконто
КорСубконто (необязательный)
Тип параметра: ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>, Массив, Неопределено.
Задает набор и порядок кор. субконто, которыми можно оперировать в запросе. Накладывает фильтр на записи по видам кор. субконто (если массив то по И).
Параметр не существует, если при конфигурировании для плана счетов не указаны субконто.
Если задан массив, то тип значения элемента массива ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>.
Значение по умолчанию: Неопределено.
Методическая информация
Практические примеры
Прочитать свои субконто: оборот и корреспондирующая аналитика
Все имена аналитики, счетов и регистров получены из точной собственной учебной схемы. В запросе не подставляются поля, которых эта схема не создаёт.
Где и как запускать
Тело серверной команды собственной обработки; только два подготовленных учебных регистра с субконто.
Подготовка
В своей учебной конфигурации создайте план видов характеристик УчебныеВидыАналитикиКниг: код Строка 10, наименование 100, тип значений Строка 40. Предопределенные виды Книга и Партия должны иметь именно эти имена и строковый тип значения.
Создайте план счетов УчебныеСчетаАналитикиКниг: код Строка 10, маска допускает УЧ-А и УЧ-П, максимум субконто 2, ВидыСубконто = УчебныеВидыАналитикиКниг. Предопределенные счета Актив (код УЧ-А, вид Активный) и Пассив (УЧ-П, вид Пассивный), оба не забалансовые.
У каждого из двух собственных счетов в табличной части ВидыСубконто задайте первым Книга, вторым Партия; ТолькоОбороты = Ложь. Порядок важен: позиции запросов начинаются с 1. Признаки учета и дополнительные признаки субконто не создавайте.
Создайте два регистра бухгалтерии с этим планом счетов: УчебныйДвойнойУчетКниг — Корреспонденция Истина; УчебныйПростойУчетКниг — Корреспонденция Ложь. В обоих итоги включены, длина уточнения периода 3, измерение Организация Строка 20 балансовое, ресурс Сумма Число 15.2 балансовый. Других ресурсов и разделителей нет.
Создайте документ УчебнаяЗаписьАналитикиКниг: автонумерация, проведение разрешено. Реквизиты Организация Строка 20, НаименованиеКниги и Партия Строка 40, Сумма Число 15.2, Обратная Булево. В движения включите оба собственных регистра.
Три отдельных BSL-блока подготовки поместите на уровне модуля объекта этого документа. Только один ОбработкаПроведения вызывает две собственные процедуры; вторую одноименную процедуру события создавать нельзя.
Обновите только свою учебную базу с созданием предопределенных данных. Создайте и проведите собственный документ 15.10.2026 10:00: Организация Урок, НаименованиеКниги Учебная книга, Партия УРОК-1, Сумма 600, Обратная Ложь.
Второй собственный документ 16.10.2026 10:00 с теми же организацией, книгой и партией: Сумма 100, Обратная Истина. Это обратная положительная запись, не отрицательная сумма. Итог по активному счету за обе записи — 500.
Основные читающие запросы выполняйте в серверной команде своей обработки. Они читают только созданные свои регистры, счета и строки; здесь BSL не исполнялся и рабочий учет не изменялся.
ВидыАналитики = Новый Массив;
ВидыАналитики.Добавить(ПланыВидовХарактеристик.УчебныеВидыАналитикиКниг.Книга);
ВидыАналитики.Добавить(ПланыВидовХарактеристик.УчебныеВидыАналитикиКниг.Партия);
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Данные.Счет,
| Данные.Субконто1,
| Данные.Субконто2,
| Данные.КорСчет,
| Данные.КорСубконто1,
| Данные.КорСубконто2,
| Данные.СуммаОборотДт,
| Данные.СуммаОборотКт
|ИЗ РегистрБухгалтерии.УчебныйДвойнойУчетКниг.Обороты(&Начало, &Конец, День, Счет = &Счет, &ВидыАналитики, Организация = &Организация, КорСчет = &КорСчет, &ВидыАналитики) КАК Данные";
Запрос.УстановитьПараметр("Начало", Дата(2026, 10, 15));
Запрос.УстановитьПараметр("Конец", Дата(2026, 10, 16, 23, 59, 59));
Запрос.УстановитьПараметр("Организация", "Урок");
Запрос.УстановитьПараметр("Счет", ПланыСчетов.УчебныеСчетаАналитикиКниг.Актив);
Запрос.УстановитьПараметр("КорСчет", ПланыСчетов.УчебныеСчетаАналитикиКниг.Пассив);
Запрос.УстановитьПараметр("ВидыАналитики", ВидыАналитики);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Строка(Выборка.Счет) + " | " + Строка(Выборка.Субконто1) + " | " + Строка(Выборка.Субконто2));
Сообщить(Строка(Выборка.КорСчет) + " | " + Строка(Выборка.КорСубконто1) + " | " + Строка(Выборка.КорСубконто2));
Сообщить(Строка(Выборка.СуммаОборотДт) + " | " + Строка(Выборка.СуммаОборотКт));
КонецЦикла;Модуль своего документа: единственный обработчик проведения
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ЗаполнитьДвойнойУчет();
ЗаполнитьПростойУчет();
Сообщить("Подготовлены движения только своих двух регистров");
КонецПроцедурыТот же модуль: двойная запись со своими предопределенными видами субконто
Процедура ЗаполнитьДвойнойУчет()
Движения.УчебныйДвойнойУчетКниг.Записывать = Истина;
Запись = Движения.УчебныйДвойнойУчетКниг.Добавить();
Запись.Период = Дата;
Запись.УточнениеПериода = 0;
Запись.Активность = Истина;
Запись.Организация = Организация;
Актив = ПланыСчетов.УчебныеСчетаАналитикиКниг.Актив;
Пассив = ПланыСчетов.УчебныеСчетаАналитикиКниг.Пассив;
Запись.СчетДт = ?(Обратная, Пассив, Актив);
Запись.СчетКт = ?(Обратная, Актив, Пассив);
Запись.СубконтоДт.Книга = НаименованиеКниги;
Запись.СубконтоДт.Партия = Партия;
Запись.СубконтоКт.Книга = НаименованиеКниги;
Запись.СубконтоКт.Партия = Партия;
Запись.Сумма = Сумма;
КонецПроцедурыТот же модуль: две простые записи с собственными субконто
Процедура ЗаполнитьПростойУчет()
Движения.УчебныйПростойУчетКниг.Записывать = Истина;
Для Индекс = 1 По 2 Цикл
Запись = Движения.УчебныйПростойУчетКниг.Добавить();
Запись.Период = Дата;
Запись.УточнениеПериода = 0;
Запись.Активность = Истина;
Запись.Организация = Организация;
Запись.Сумма = Сумма;
Запись.Счет = ?(Индекс = 1, ПланыСчетов.УчебныеСчетаАналитикиКниг.Актив,
ПланыСчетов.УчебныеСчетаАналитикиКниг.Пассив);
Если (Индекс = 1 И Не Обратная) Или (Индекс = 2 И Обратная) Тогда
Запись.ВидДвижения = ВидДвиженияБухгалтерии.Дебет;
Иначе
Запись.ВидДвижения = ВидДвиженияБухгалтерии.Кредит;
КонецЕсли;
Запись.Субконто.Книга = НаименованиеКниги;
Запись.Субконто.Партия = Партия;
КонецЦикла;
КонецПроцедурыРазбор по шагам
Подготовьте свои предопределенные виды и счета с одинаковым порядком аналитики.
Проведите два своих документа через единственный обработчик и две процедуры подготовки.
Прочитайте соответствующий собственный регистр и сравните виды, значения и суммы.
Как проверить результат
Запрос читает только два собственных документа и их аналитические значения Учебная книга / УРОК-1.
Массив ВидыАналитики содержит ссылки на виды, а не строки-наименования книги. Он задаёт набор и порядок Субконто1 / Субконто2.
Для активного своего счета оборот дебета 600, кредита 100, конечный остаток 500; при детализации по дням это значения разных строк периода.
Ожидаемый результат
Позиционные и именованные значения аналитики связаны с настоящими собственными проводками и точными условиями виртуальной таблицы.
На что обратить внимание
Вид субконто и его значение — не одно и то же. Имя Книга относится к предопределенному виду, Учебная книга — к его строковому значению.
Корреспонденция и порядок аналитики различаются в схемах. Чужой план счетов нельзя подключить только заменой имени в строке.
BSL, проведение и запросы к 1С при сборке HTML не выполнялись; рабочий учет не изменялся.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.