Олег Т.
28.06.2017
126 понравилось
3253 просмотров

Неверный расчет остатков при использовании СКД

Еще одна распространенная ошибка при создании отчетов на СКД для 1с предприятие - неверно рассчитываются начальный и конечный остатки в виртуальных таблицах регистров накоплений. Например, создадим простой отчет, который покажет остатки и движения по регистру ТоварыНаСкладах. Его запрос будет выглядеть следующим образом:

Также создадим простые настройки варианта:

 В результате получим следующий отчет:

У вас есть вопрос, нужна помощь консультанта?

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

Дело в том, что в СКД имеется свой механизм расчета остатков. Для его корректной работы требуется однозначно определять расположение регистраторов на временной оси. В данном случае в выборке присутствует только ссылка, поэтому система компоновки не может этого сделать. Чтобы избежать подобного поведения СКД, необходимо в запросе выбрать поле ПериодСекунда. В этом случае система правильно рассчитает остатки:

Следует помнить, что у полей с ролью "Период" есть флажок "Дополнительный". И если по каким-то причинам у поля ПериодСекунда он будет снят, то отчет вернется к некорректному варианту. Для правильного расчета остатков необходимо либо наличие взведенного флажка "Дополнительный" в роли, либо присутствие поля в выбранных полях отчета на уровне варианта.

Эта статья помогла вам?

Теги:

Комментарии ( 0 )

Оставить комментарий