Smart1Spec Документация
Studio
СправочникИзучающий Spec1C

turnovers

Команда turnovers — обороты регистра накопления за период в таблицу значений; for период не задаёт, а в облачной среде сборка с командой останавливается.

Перед чтением

На этой странице

turnovers описывает получение оборотов регистра накопления за период с группировкой по измерениям в таблицу значений. Разбор и запись в модель работают. В облачной среде собрать файл со спецификацией, где есть turnovers, сейчас нельзя — так же, как с balance: проверка измерений требует конфигурации.

Назначение#

Команда нужна, когда к отчёту требуются обороты регистра за период: например, движение активов по договорам. Результат кладётся в таблицу значений с именем из into.

Синтаксис#

Spec1C
turnovers <Вид>.<ИмяРегистра>
  for  <период>
  by   <Измерение1>, <Измерение2>
  into <таблица>

Команда пишется на верхнем уровне спецификации; порядок for → by → into обязателен.

Элементы#

ЭлементОбязателенЧто означает
<Вид>.<ИмяРегистра>дапуть к регистру, обычно РегистрНакопления.…
for <период>даодно имя (буквы, цифры, _, точка); на сгенерированный код не влияет
by <измерения>даимена измерений регистра через запятую
into <таблица>даимя таблицы значений для результата; префикс epf. допускается

Ресурс не задаётся: в запросе всегда используется КоличествоОборот.

Пример#

Spec1C
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#

Живой сборкой не проверялось — в облачной среде сборка останавливается. Ниже — по исходному коду генератора (фрагмент получен запуском генератора кода на примере выше):

BSL
Процедура prc_Spec1C_Заполнить_тзОбороты(тзРезультат) Экспорт
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ
		|Обороты.Договор КАК Договор,
		|Обороты.КоличествоОборот КАК КоличествоОборот
		|ИЗ
		|	РегистрНакопления.Активы.Обороты(&НачалоПериода, &КонецПериода) КАК Обороты
		|";
	Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(ДатаНачПериода));
	Запрос.УстановитьПараметр("КонецПериода", КонецДня(ДатаКонПериода));
	тзРезультат = Запрос.Выполнить().Выгрузить();
КонецПроцедуры
  • for период не задаёт. Границы периода всегда берутся из переменных ДатаНачПериода и ДатаКонПериода, что бы ни было написано после for.
  • Ресурс зашит: КоличествоОборот.
  • Процедура вывода таблицы значений в табличный документ и вызовы — как у balance: при target: managed процедура вызывается из серверной процедуры формирования, при target: ordinary генерируется, но не вызывается.

Работа в 1С#

Не проверялось: файл с turnovers в облачной среде не собирается. По коду можно ожидать, что в новом файле нет реквизитов ДатаНачПериода и ДатаКонПериода (как и для отбора по периоду, where и filter period), а ресурс КоличествоОборот есть не у каждого регистра.

Ограничения#

  • В облачной среде сборка с turnovers останавливается.
  • for не влияет на период в коде.
  • Ресурс зашит (КоличествоОборот).
  • Пропущенная часть или другой порядок — команда теряется без сообщения.
  • Удаление команды не очищает модель.

Полный список — Ограничения реализации.

Связанные конструкции#

См. также

Сверено с продуктом: 27.10.2026

Нашли неточность? Напишите на [email protected] и укажите адрес страницы.

Smart1Spec · документация описывает текущую версию сервиса.