Проблема ресурсов и итогов по группировкам. Отчет. СКД

1. AlekseySipaev 22.07.16 13:47 Сейчас в теме
Коллеги, доброго времени суток.

Прошу помощи по отчету на СКД.

Имеем следующее: КА1.1 . Отчет по РН "ПартииТоваровНаСкладах". Требуется сделать отчет, чтобы он показывал движения товаров по конечникам, т.е. исключить внутреннее товародвижение (в частности, документы перемещений).

Да, в курсе, что на ИС есть отчеты с аналогичным названием и требованием, но не уверен в их правильности (не пробовал, не смотрел), да и уже много времени было потрачено на текущий отчет.

Что было проанализировано: Если взять типовой отчет ведомость по партиям товаров на складах и в запросе жестко отсечь документы перемещений, то можно наблюдать картину, что обороты верные, а остатки - нет. Оно и логично. Никакой фильтрации в типовом отчете нет, чтобы грамотно фильтрануть.

Что было сделано: используя консоль СКД был сделан отчет, который с помощью встроенных функций СКД получал значения предыдущих значений ресурсов и формировал по товару начальные и конечные остатки.

Можно подумать, что все хорошо! да, я так и думал по-началу, НО...тестирование проводил для "нужных" условий (понимаю, что делать так нельзя), т.е. для одного товара по нужным складам. Стоило изменить группировки, изменить отбор (в качестве отбора по номенклатуре сделал в группе <нужная группа>), да еще и группировку "Номенклатура" сделал "Иерархия" и тут получил очень интересные цифры.

Мои ресурсы стали считаться не в разрезе одной номенклатуры (группировки), а по всем выводимым строкам (ниже скрины покажу).

Что требуется: подсказать ГУРУ СКД как исправить выражения у вычисляемых полей и в ресурсах, чтобы получился верный результат (отчет прикреплю).

Теперь картинки по порядку

1. Вот так показывает результат стандартный отчет с перемещениями (внешняя ссылка http://screencast.com/t/qGAlKQ72fmV0)
2. Вот так показывает результат стандартный отчет без перемещений (в запросе задали условие на тип значения регистратора). Как видим, остатки поехали. Ожидаемо (внешняя ссылка http://screencast.com/t/2YAZa8zp9)
3. Вот так показывает результат написанный отчет на СКД по одному товару (внешняя ссылка http://screencast.com/t/zypgh7nPJF1j)
4. Вот так показывает результат написанный отчет на СКД, если изменить отбор на группу товаров (внешняя ссылка http://screencast.com/t/tc28vmU1O)
5. При этом, если посмотреть типовой отчет с такими же настройками, то у нас кардинально отличаются начальные остатки и конечные остатки (ТОЛЬКО внешняя ссылка http://screencast.com/t/2Z0j3t1gSEH), потому что при редактировании не дает добавить новые картинки к теме.

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

Отчет ниже.

Привожу еще выражение вычисляемого поля начального и конечного остатков:
1.Начальный остаток
Сумма(ВЫБОР КОГДА ВычислитьВыражение("Сумма(КоличествоНачальныйОстаток)",,, "Предыдущая", "Предыдущая") ЕСТЬ NULL ТОГДА ВычислитьВыражение("Сумма(КоличествоНачальныйОстаток)") ИНАЧЕ ВычислитьВыражение("Сумма(КоличествоНачальныйОстаток) - Сумма(КоличествоРасход)",,, "Первая", "Предыдущая") КОНЕЦ)

2. Конечный остаток
Сумма(ВЫБОР КОГДА ВычислитьВыражение("Сумма(КоличествоНачальныйОстаток)",,, "Предыдущая", "Предыдущая") ЕСТЬ NULL ТОГДА ВычислитьВыражение("Сумма(КоличествоНачальныйОстаток)") ИНАЧЕ ВычислитьВыражение("Сумма(КоличествоНачальныйОстаток) - Сумма(КоличествоРасход)",,, "Первая", "Предыдущая") КОНЕЦ + ВычислитьВыражение("Сумма(КоличествоПриход)") - ВычислитьВыражение("Сумма(КоличествоРасход)"))


Будут вопросы - задавайте, отвечу. Может что не понятно расписал.

Спасибо
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. AlekseySipaev 22.07.16 13:54 Сейчас в теме
так, ребята, что-то не так с картинками получилось.

Попробую вставить для наглядности снова в отдельном сообщении
3. AlekseySipaev 22.07.16 13:55 Сейчас в теме
1. Вот так показывает результат стандартный отчет с перемещениями http://screencast.com/t/qGAlKQ72fmV0
4. AlekseySipaev 22.07.16 13:56 Сейчас в теме
2. Вот так показывает результат стандартный отчет без перемещений http://screencast.com/t/2YAZa8zp9
5. AlekseySipaev 22.07.16 13:57 Сейчас в теме
3. Вот так показывает результат написанный отчет на СКД по одному товару http://screencast.com/t/zypgh7nPJF1j
6. AlekseySipaev 22.07.16 13:57 Сейчас в теме
4. Вот так показывает результат написанный отчет на СКД, если изменить отбор на группу товаров http://screencast.com/t/tc28vmU1O
7. AlekseySipaev 22.07.16 13:58 Сейчас в теме
При этом, если посмотреть типовой отчет с такими же настройками, то у нас кардинально отличаются начальные остатки и конечные остатки http://screencast.com/t/APROubwcssW
8. alex-l19041 8 22.07.16 14:24 Сейчас в теме
если проблема в том, чтобы сформировать начальный и конечный остаток, то можно их получить двумя отдельными вложенными запросами. А обороты и так уже верные
9. AlekseySipaev 22.07.16 15:46 Сейчас в теме
(8) alex-l19041, Т.е. предлагаете делать запрос к виртуальной таблице "Остатки" РН для получения начального и конечного остатков? Не уверен, что будут правильные остатки показываться в разрезе прочих группировок в связи с тем, что при обращении к вирт. таблице "Остатки" мы не сможем обойти исключение по перемещениям...или я не правильно понимаю?
10. AlekseySipaev 22.07.16 17:24 Сейчас в теме
Или в таком случае предлагаете собирать остатки, обращаясь к реальной таблице РН и суммировать показатель (ресурс), исключая перемещения?
11. alex-l19041 8 22.07.16 17:26 Сейчас в теме
не понял "в разрезе прочих группировок"
12. AlekseySipaev 22.07.16 17:30 Сейчас в теме
(11) alex-l19041, Ну смотрите, я могу получить отчет списком в одну строку, у меня будет отчет следующего вида с получением остатков так, как вы сказали, получим:
Товар 1 ___ Нач. ост. 7 ___ Приход 0 ___ Расход 6 ___ Кон. ост. 1
Если эту строку расшифровать (углубиться), например, по регистратору, то я считаю, что у меня нач.остаток по каждой строке расшифровки так и останется 7, разве не так?
13. AlekseySipaev 22.07.16 17:46 Сейчас в теме
Или вы предлагаете для моего отчета просто изменить принцип получения остатков и использовать те же функции для получения остатков в разрезе тех же регистраторов?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот