turnovers
Команда turnovers — обороты регистра накопления за период в таблицу значений; for период не задаёт, а в облачной среде сборка с командой останавливается.
Перед чтением
- balance Справочник
На этой странице
turnovers описывает получение оборотов регистра накопления за период с группировкой по измерениям в таблицу значений. Разбор и запись в модель работают. В облачной среде собрать файл со спецификацией, где есть turnovers, сейчас нельзя — так же, как с balance: проверка измерений требует конфигурации.
Назначение#
Команда нужна, когда к отчёту требуются обороты регистра за период: например, движение активов по договорам. Результат кладётся в таблицу значений с именем из into.
Синтаксис#
turnovers <Вид>.<ИмяРегистра>
for <период>
by <Измерение1>, <Измерение2>
into <таблица>Команда пишется на верхнем уровне спецификации; порядок for → by → into обязателен.
Элементы#
| Элемент | Обязателен | Что означает |
|---|---|---|
<Вид>.<ИмяРегистра> | да | путь к регистру, обычно РегистрНакопления.… |
for <период> | да | одно имя (буквы, цифры, _, точка); на сгенерированный код не влияет |
by <измерения> | да | имена измерений регистра через запятую |
into <таблица> | да | имя таблицы значений для результата; префикс epf. допускается |
Ресурс не задаётся: в запросе всегда используется КоличествоОборот.
Пример#
spec1c {
report assets
title: "Обороты активов"
target: ordinary
data {
contracts = Справочник.КлиентскиеДоговора
fields: Ссылка, Код
}
turnovers РегистрНакопления.Активы
for ПериодT
by Договор
into epf.тзОбороты
}Что принимает разбор#
- Все четыре части обязательны и только в порядке
for,by,into. Безfor, сatвместоforили с двумя значениями (for Нач, Кон) команда пропускается без сообщения; проверьте счётчик «· queries N» в уведомлении. - Путь к регистру — любой из восьми видов объектов (Ссылки на метаданные); вид регистра не проверяется.
- В одной спецификации можно сочетать
turnoversиbalance; все команды попадают в модель по порядку.
Что попадает в модель#
Для каждой команды: вид turnovers, путь к регистру, значение for, измерения и таблица. Уведомление дополняется счётчиком «· queries N»; в инспекторе — блок «balance / turnovers (N)» с черновиком запроса (по исходному коду Studio).
Как и у balance, удаление команды из текста не убирает её из модели, если в новом тексте не осталось ни одной команды balance/turnovers (по исходному коду Studio). Надёжный обход — новый файл.
Что проверяется#
Проверка общая с balance: каждое измерение из by сверяется со сведениями о метаданных конфигурации. В облачной среде конфигурации нет, поэтому:
- «Применить без сборки» записывает команду в модель, а в журнале появляется «✗ 3.5 3.5: нет пути conf — нельзя проверить by по Index»;
- «Собрать .epf» при наличии источников данных останавливается: «Сборка остановлена: 3.5: нет пути conf — нельзя проверить by по Index».
Остановка наблюдалась живьём на спецификации с balance; для turnovers используется та же проверка (по исходному коду Studio). Все сообщения — Сообщения об ошибках и предупреждения.
Что генерируется в BSL#
Живой сборкой не проверялось — в облачной среде сборка останавливается. Ниже — по исходному коду генератора (фрагмент получен запуском генератора кода на примере выше):
Процедура prc_Spec1C_Заполнить_тзОбороты(тзРезультат) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|Обороты.Договор КАК Договор,
|Обороты.КоличествоОборот КАК КоличествоОборот
|ИЗ
| РегистрНакопления.Активы.Обороты(&НачалоПериода, &КонецПериода) КАК Обороты
|";
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ДатаНачПериода));
Запрос.УстановитьПараметр("КонецПериода", КонецДня(ДатаКонПериода));
тзРезультат = Запрос.Выполнить().Выгрузить();
КонецПроцедурыforпериод не задаёт. Границы периода всегда берутся из переменныхДатаНачПериодаиДатаКонПериода, что бы ни было написано послеfor.- Ресурс зашит:
КоличествоОборот. - Процедура вывода таблицы значений в табличный документ и вызовы — как у
balance: приtarget: managedпроцедура вызывается из серверной процедуры формирования, приtarget: ordinaryгенерируется, но не вызывается.
Работа в 1С#
Не проверялось: файл с turnovers в облачной среде не собирается. По коду можно ожидать, что в новом файле нет реквизитов ДатаНачПериода и ДатаКонПериода (как и для отбора по периоду, where и filter period), а ресурс КоличествоОборот есть не у каждого регистра.
Ограничения#
- В облачной среде сборка с
turnoversостанавливается. forне влияет на период в коде.- Ресурс зашит (
КоличествоОборот). - Пропущенная часть или другой порядок — команда теряется без сообщения.
- Удаление команды не очищает модель.
Полный список — Ограничения реализации.
Связанные конструкции#
- balance —
balance, остатки регистра. - where и filter period — отбор по периоду с теми же переменными периода.
- Сообщения об ошибках и предупреждения — сообщения проверки.
См. также
- balance Справочник
- Сообщения об ошибках и предупреждения Справочник
- where и filter period Справочник
- Ограничения реализации Справочник
Сверено с продуктом: 27.10.2026