Добрый день
Есть отчет по остаткам номенклатуры на каждый день, с группировками по номенклатуре и дням, с использованием дополнения по дням. Данные берутся из регистра бухгалтерии
Как получить остаток по группировке Номенклатура равный сумме остатков по дням?
Выражение Сумма(КоличествоКонечныйОстатокДт) по ресурсу КоличествоКонечныйОстатокДт дает остаток на конец периода
Выражение Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(КоличествоКонечныйОстатокДт)","ПериодДень")) дает сумму остатков по границам периода и дням, в которых было движение
Ниже представлен пример отчета для случая, когда внутри периода движений не было
------------------------------------------------------
Номенклатура | Период | Остаток
------------------------------------------------------
Товар 1 20 <----- неправильно
День 1 10
День 2 10
День 3 10
----------------------------------------------
Спасибо
Есть отчет по остаткам номенклатуры на каждый день, с группировками по номенклатуре и дням, с использованием дополнения по дням. Данные берутся из регистра бухгалтерии
Как получить остаток по группировке Номенклатура равный сумме остатков по дням?
Выражение Сумма(КоличествоКонечныйОстатокДт) по ресурсу КоличествоКонечныйОстатокДт дает остаток на конец периода
Выражение Сумма(ВычислитьВыражениеСГруппировкойМассив("Сумма(КоличествоКонечныйОстатокДт)","ПериодДень")) дает сумму остатков по границам периода и дням, в которых было движение
Ниже представлен пример отчета для случая, когда внутри периода движений не было
------------------------------------------------------
Номенклатура | Период | Остаток
------------------------------------------------------
Товар 1 20 <----- неправильно
День 1 10
День 2 10
День 3 10
----------------------------------------------
Спасибо
По теме из базы знаний
- Создание отчетов с помощью СКД - основные понятия и элементы
- Анализ продаж с остатками проданных товаров. Розница 2.3
- Кейсы решения задач на СКД
- Динамический иерархический список только с имеющимися товарами на складе с отображением остатков в элементах и группах
- Продажи по месяцам за период с остатками
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
По-моему, в этом нет никакого смысла, потому что КонечныйОстатокДт - это уже остаток на каждый конкретный день, а остаток по группировке при подчиненной детализации по дням - это остаток на конец всего периода. Так и должно быть. А суммировать конечный остаток в разные дни (10+10+10) и говорить, что это остаток в целом по Товар1 ошибочно, потому что его как было 10, так и осталось 10 - это тот же самый остаток.
Смысл есть
1) Сумма остатков по дням нужна для определения среднего остатка в день. Этот показатель используется для подсчета оборачиваемости ТМЦ за период
2) Организация оказывает услуги хранения тмц, стоимость услуг зависит от количества хранимых тмц и от времени хранения. И есть система скидок, которая тоже зависит от количества и периода хранения тмц
1) Сумма остатков по дням нужна для определения среднего остатка в день. Этот показатель используется для подсчета оборачиваемости ТМЦ за период
2) Организация оказывает услуги хранения тмц, стоимость услуг зависит от количества хранимых тмц и от времени хранения. И есть система скидок, которая тоже зависит от количества и периода хранения тмц
(3) pilotfitz,
Если у полей периодов и полей остатков заполнены роли, то в функциях языка выражений СКД считаться итоговые суммы по ним будут именно так - не суммированием значений в периодах, а сдвигом к последнему. В этом и смысл. Единственное исключение при заданных ролях у полей - если ты будешь передавать данные в метод общего модуля с помощью какой-нибудь функции СКД типа ТаблицаЗначений или ГрупповаяОбработка - тогда в методе модуля уже суммы будут считаться как ты опишешь.
Для задачи расчета оборачиваемости (в которой обычно и нужен среднедневной остаток) проще всего сделать так - два набора данных: в первом обороты со всей аналитикой и с полем Период (соответствующим дню), во втором выборка из виртуальной таблицы остатков с указанным параметром периодов и первым полем Период (в которое подставляется параметр Период). Наборы связываются по аналитике и полю Период с передачей в набор с остатками значения поля Период. Поле Период и поля аналитики в наборе с остатками недоступны (поставить все галки), выбирается поле Период из основного набора с оборотами. Для поля Период делается дополнение, если нужно.
Если у полей периодов и полей остатков заполнены роли, то в функциях языка выражений СКД считаться итоговые суммы по ним будут именно так - не суммированием значений в периодах, а сдвигом к последнему. В этом и смысл. Единственное исключение при заданных ролях у полей - если ты будешь передавать данные в метод общего модуля с помощью какой-нибудь функции СКД типа ТаблицаЗначений или ГрупповаяОбработка - тогда в методе модуля уже суммы будут считаться как ты опишешь.
Для задачи расчета оборачиваемости (в которой обычно и нужен среднедневной остаток) проще всего сделать так - два набора данных: в первом обороты со всей аналитикой и с полем Период (соответствующим дню), во втором выборка из виртуальной таблицы остатков с указанным параметром периодов и первым полем Период (в которое подставляется параметр Период). Наборы связываются по аналитике и полю Период с передачей в набор с остатками значения поля Период. Поле Период и поля аналитики в наборе с остатками недоступны (поставить все галки), выбирается поле Период из основного набора с оборотами. Для поля Период делается дополнение, если нужно.
(4) Способ соединения таблицы периодов с таблицей остатков - старый способ, и работает долго, т.к. рассчитывает остатки на каждую запись периода. СКД по сравнению с ним выплевывает результат с дополнениями по периодам на раз. Думал сделать красиво, но видимо придется как обычно
я делал так: 1) получал все дни из заданного периода. 2) получите те остатки, которые получаете сейчас (видимо это виртуальная таблица остаткииобороты с периодичностью день) и по хитрому объединить полученные таблицы в одну.
хитрость аналогична получению курсов валют на каждый день в запросе
хитрость аналогична получению курсов валют на каждый день в запросе
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот