В СКД такую задачу можно решить связью наборов данных:
Простой настройкой ролей для полей тут не обойтись, т.к. в том случае СКД просто протягивает значение ресурса до следующего изменения, да и то, только по тем дням, на которые были движения по регистру. Дополнительная сложность состоит в том, что еще нужно получать по цене и курсу валюты на дату, которая вычисляется непосредственно в запросе.
Необходимо получить остатки по количеству и стоимости товара на каждый день месяца, даже если в этот день не было движений. Также на каждый день нужно вывести стоимость товара по указанному типу цен, пересчитанную в рубли по курсу на день вывода.
Рассмотрим более сложный вариант:
Остатки на каждый день периода (даже если не было движений)
Таким образом, СКД сама будет подтягивать последнее значение ресурса на промежуточные периоды до следующего изменения. Примерный результат будет выглядеть так:
В СКД подобного можно добиться, указав для поля роль "Остатки":
Система компоновки данных
Период ПЕРИОДАМИ(ДЕНЬ, &НачПериода, &НачПериода)
СУММА(СтоимостьКонечныйОстаток)
СУММА(КоличествоКонечныйОстаток),
Чтобы сделать такой отчет с помощью построителя отчетов нужно было в итогах для поля "Период" указать вывод периодами с заданной периодичностью (в нашем случае "ДЕНЬ"):
Построитель отчета
В самом простом случае, когда остатки по нужны только на те периоды, когда по нему были движения, задача решается указанием периодичности для параметра виртуальной таблицы "Остатки и обороты" регистра накопления:
Наверное, каждый разработчик рано или поздно сталкивается с проблемой получить ежедневные остатки.
В данной статье описывается способ получить остатки на каждый день в 1С:Предприятия.
СКД: Остатки на каждый день
Материал из 1C-WIKI.RU (1С википедия)
Ежедневные остатки
Ежедневные остатки 1C-WIKI.RU (1С википедия)
Комментариев нет:
Отправить комментарий