Предназначена для получения остатков по регистру накопления. Данные представляют собой итоги ресурсов. При расчете итогов учитываются только активные записи. Таблица существует только для регистров остатков. Агрегация производится по измерениям указанным в запросе.
Синтаксис
РегистрНакопления.<Имя регистра накопления>.Остатки (AccumulationRegister.<Имя регистра накопления>.Balance)Примеры платформы
ВЫБРАТЬ * ИЗ РегистрНакопления.УчетНоменклатуры.Остатки(&КонПериода,
Номенклатура = &ПарНоменклатура)Полное описание, параметры и ограничения
РегистрНакопления.<Имя регистра накопления>.Остатки (AccumulationRegister.<Имя регистра накопления>.Balance)
Синтаксис
РегистрНакопления.<Имя регистра накопления>.Остатки (AccumulationRegister.<Имя регистра накопления>.Balance)
Поля
<Имя измерения>
<Имя общего реквизита> (<Common attribute name>)
<Имя ресурса>Остаток (<Имя ресурса>Balance)
Параметры
Период (Period)
Условие (Condition)
Описание:
Предназначена для получения остатков по регистру накопления. Данные представляют собой итоги ресурсов.
При расчете итогов учитываются только активные записи.
Таблица существует только для регистров остатков.
Агрегация производится по измерениям указанным в запросе.
Пример:
// Получение остатков по регистру остатков по указанному товару
// на указанный момент времени
ВЫБРАТЬ * ИЗ РегистрНакопления.УчетНоменклатуры.Остатки(&КонПериода,
Номенклатура = &ПарНоменклатура)
Методическая информация
Практические примеры
Получить остаток учебного товара на включающей границе
Граница с видом Включая явно включает движение, попавшее точно на заданный момент.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В отдельной учебной конфигурации создайте документ УчебноеДвижение с разрешённым проведением и автонумерацией. Реквизиты: Артикул (Строка 20), Количество (Число 15.3), Приход (Булево), Комментарий (Строка 100).
Создайте регистр накопления УчебныеОстатки, вид Остатки. Измерение Артикул (Строка 20), ресурс Количество (Число 15.3), реквизит Комментарий (Строка 100). Регистратор — УчебноеДвижение; включите регистр в движения документа.
В отдельной учебной конфигурации создайте общий реквизит УчебныйИсточник типа Строка 20. Разделение данных — Не использовать. В составе явно включите только учебный объект этого урока; использование — Использовать.
Если общий реквизит не выведен на форму, его пустое строковое значение допустимо. Запрос всё равно покажет именованную колонку УчебныйИсточник. Это не разделитель данных и не механизм ограничения доступа.
Общий реквизит УчебныйИсточник включите в состав именно регистра УчебныеОстатки. Виртуальные таблицы итогов этого урока его не используют: обычный неразделяющий реквизит там не является измерением.
В модуль объекта документа вставьте отдельный обработчик проведения ниже. Обновите только учебную базу.
Вручную проведите два учебных документа: 01.10.2026 12:00:00, Артикул КНИГА, Количество 10, Приход Истина, Комментарий Поступление; 02.10.2026 12:00:00, тот же артикул, Количество 3, Приход Ложь, Комментарий Продажа. Других движений КНИГА в этом учебном регистре не должно быть.
Основной код запроса запускайте в отдельной серверной процедуре учебной обработки, не внутри проведения. Запрос ничего не пишет и не перепроводит.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Данные.Артикул, Данные.КоличествоОстаток
|ИЗ РегистрНакопления.УчебныеОстатки.Остатки(&Граница, Артикул = &Артикул) КАК Данные";
Запрос.УстановитьПараметр("Граница", Новый Граница(Дата(2026, 10, 2, 12), ВидГраницы.Включая));
Запрос.УстановитьПараметр("Артикул", "КНИГА");
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Для Каждого Колонка Из Результат.Колонки Цикл
Сообщить(Колонка.Имя + ": " + Строка(Выборка[Колонка.Имя]));
КонецЦикла;
КонецЦикла;Проведение учебного движения
Документы → УчебноеДвижение → Модуль объекта
Выполняется только при ручном проведении подготовленных учебных документов.
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
Движения.УчебныеОстатки.Записывать = Истина;
Запись = Движения.УчебныеОстатки.Добавить();
Запись.Период = Дата;
Запись.Активность = Истина;
Запись.Артикул = Артикул;
Запись.Количество = Количество;
Запись.Комментарий = Комментарий;
Запись.УчебныйИсточник = "Урок";
Если Приход Тогда
Запись.ВидДвижения = ВидДвиженияНакопления.Приход;
Иначе
Запись.ВидДвижения = ВидДвиженияНакопления.Расход;
КонецЕсли;
КонецПроцедурыРазбор по шагам
Параметр Граница имеет тип Граница, а не просто Дата.
Включая учитывает запись точно на времени границы.
Условие по артикулу ограничивает записи, по которым считается остаток.
Как проверить результат
На 02.10.2026 12:00:00 с Включая показан остаток 7.
Замените Включая на Исключая на том же времени: расход 3 не входит, остаток равен 10.
Ожидаемый результат
Остаток получен с явно выбранным правилом включения граничной записи.
На что обратить внимание
У простой даты в параметре Остатки другое поведение на самой границе; не теряйте различие между Дата и Граница.
Таблица Остатки существует для регистра остатков, не для регистра оборотов.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.