[ Вопрос дня ] Особенности параметра “массив субконто” в виртуальной таблице регистра бухгалтерии

У регистра бухгалтерии есть физические (таблицы первичных движений и таблицы итогов) и виртуальные таблицы.

Таблицы первичных движений (основная таблица и таблица значений субконто) хранят полную информацию о проводке. Таблицы итогов скрыты от прикладного разработчика и не могут выступать источниками данных для запроса. Виртуальные таблицы, в свою очередь, являются по сути своей запросами к базе данных и используют в качестве источников данных и таблицы первичных движений, и таблицы итогов.

С особенностью одного из параметров виртуальной таблицы регистра бухгалтерии и разбирался наш слушатель.

Вопрос

Поймал одну странную ошибку, чудом догадался.

Если в тексте кода в момент создания массива субконто сначала добавить в массив Инвентарный номер, а потом Номенклатуру, то запрос возвращает неправильные значения по количеству. А если сделать, как у вас в примере – сначала Номенклатура, затем Инвентарный номер, то все ок!

С чем это связано? По идее какая разница, в каком порядке идет добавление в массив? Или это связано с порядком субконто? Как их определили?

Ответ тренера

Это не ошибка, так задумано разработчиками. Как говорится, “это не баг, это фича”.

Посмотрите в синтаксис-помощнике справку для параметра Субконто виртуальных таблиц регистра бухгалтерии Остатки, Обороты и прочих. В описании этого параметра сказано:

“Передается ссылка, или массив ссылок, или фиксированный массив ссылок, или список значений, содержащий ссылки, на виды субконто. Задает набор и порядок субконто, которыми можно оперировать в запросе. Также ограничивает записи регистра.”

То есть то, в каком порядке виды субконто идут в массиве, определяет их и в сформированной виртуальной таблице в результате запроса. Порядком следования, заданным в этом массиве, можно в запросе переопределить порядок видов субконто, заданный в конфигураторе. В вашем примере, если порядок в массиве такой: Инвентарный номер, Номенклатура – то в результате запроса Субконто1 имеет вид Инвентарный номер, Субконто2Номенклатура, причем независимо то того, в каком порядке эти виды субконто заданы в конфигураторе.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вход на сайт

Зарегистрироваться

Подтверждение регистрации будет отправлено на указанный e-mail.

Я подтверждаю, что ознакомлен(а) с Пользовательским соглашением, принимаю его условия и даю свое согласие на обработку моих персональных данных.

Восстановить доступ

E-mail или логин

Ссылка на создание нового пароля будет отправлена на указанный e-mail.