Skip to main content
Через OData4 можно записывать движения регистров, подчинённых регистратору: накопления, бухгалтерии, расчёта и сведений в режиме «Подчинение регистратору». Набор пишется только целиком, через сущность регистратора, как у standard.odata. Всё берётся из метаданных конфигурации: виды регистров, допустимые регистраторы (движения документов), поля строк, счета и субконто.

Адрес набора

Если у регистра один вид регистратора, ключ — Recorder_Key:

Операции

Строки

  • Свойства строки — как у …_RowType в $metadata.
  • LineNumber задаёт порядок строк в теле и в базу не пишется.
  • Регистратор строки берётся из ключа набора.
  • Аннотация [email protected], которую требует standard.odata, не нужна.
Регистратор должен быть документом, в движения которого входит регистр (иначе 400). Документ должен существовать и быть виден профилю с учётом его отборов строк (иначе 404). Права. Операция профиля по регистру: POST — «Добавление», PATCH/PUT — «Изменение», DELETE — «Удаление». Кроме того, нужно право 1С «Изменение» на регистр. Запись. Срабатывает бизнес-логика регистра. Проверка заполнения включается флажком «Проверять заполнение перед записью». У наборов нет ETag: If-Match принимается только *, а «Требовать If-Match» действует. Ссылки в строках проверяются так же, как в табличных частях (см. Надёжная запись). При чтении поля ИмяDr/ИмяCr, которые счёт строки не ведёт, выдаются пустым значением типа, а не null, как у standard.odata.

Субконто в строках регистров бухгалтерии

По умолчанию строки регистра бухгалтерии такие же, как у standard.odata: без субконто. Проводку с субконто так не записать. Флажок «Субконто в строках регистров бухгалтерии» на вкладке «Запись» добавляет в строки поля:
  • ExtDimensionDr1…N и ExtDimensionCr1…N с парами _Type;
  • для регистра без корреспонденции — ExtDimension1…N.
N — наибольшее число субконто в плане счетов. K-е значение относится к K-му виду субконто счёта строки. Значение сверх видов счёта — 400. Строки такого регистра читаются из виртуальной таблицы движений с субконто.
Субконто в строках — сознательное расширение интерфейса standard.odata.

Сохранение субконто при изменении набора

Пока субконто в строках выключены, PATCH/PUT набора стирает субконто, как standard.odata. Флажок «Сохранять субконто при изменении наборов движений» (по умолчанию выключен) переносит их из прежних строк по LineNumber. Правила — как у колонок, скрытых профилем (следующий раздел). Строка получает только те виды субконто, которые ведёт её счёт.

Колонки, скрытые профилем

Если профиль скрывает колонки регистра, при PATCH/PUT их значения сохраняются:
  • строка тела с LineNumber N получает скрытые значения прежней строки N;
  • строка без номера или с новым номером получает пустые значения;
  • повтор номера — 400;
  • если набор не пуст, а ни у одной строки тела номера нет, — 400 «…передайте LineNumber строк», набор не меняется.

Отличия от standard.odata

  • Повторный POST существующего набора — 409, у standard.odata — 400.
  • PUT поддерживается, у standard.odata — 405.
  • Аннотация [email protected] не нужна.
  • Субконто в строках — по настройке.
Подробнее — на странице Отличия от standard.odata.