Нарастающий итог и ВычислитьВыражение в СКД #619016


#0 by pessok
Всем доброго времени суток. Рисую простенький отчетик, в котором надо потребность на производство и фактическое списане под него. Нужно вывести нарастающие итоги по периодичности неделя. Усмотрел в СКД прекрасную функцию ВычислитьВыражение, раскурил, попробовал, все отлично, за одним маленьким исключением... Она не суммирует, если в текущем периоде вычисляемое выражение = 0. Запрос: ВЫБРАТЬ    ВложенныйЗапрос.Период КАК Период,    ВложенныйЗапрос.Номенклатура КАК Номенклатура,        ПотребностиЗаказовНаПроизводствоОстаткиИОбороты.Номенклатура,        ПотребностиЗаказовНаПроизводствоОстаткиИОбороты.ХарактеристикаНоменклатуры,        ПотребностиЗаказовНаПроизводствоОстаткиИОбороты.КоличествоПриход,        0    ИЗ В самой СКД делаю вычисляемое поле КонечныйОстаток ВычислитьВыражение("Сумма(Лимит-Отпущено)", "Период" , ,"Первая", "Текущая") делаю его ресурсом. Все по классике. В отчет вывожу таблицу - в строках Номенклатура/Характеристика, в колонках - Период. По тем периодам, где движение было - прекрасно суммирует, где движения не было - NULL, проверки на NULL вроде быб есть... По логике, я думал, что она возьмет значение предыдущей группировки и прибавит к нему 0, но не тут то было. Куда копать? Заранее спасибо!
#1 by pessok
вовремя я, да :) пятница, вечер :) отложим до понедельника :)
#2 by pessok
ну вот и утро понедельника. апну :)
#3 by ChAlex
Попробуй задать явно тип значения функции "число" и значимость
#4 by ChAlex
+ Можно еще EСТЬNULL(ВычислитьВыражение("Сумма(Лимит-Отпущено)", "Период" , ,"Первая", "Текущая"),0)
#5 by pessok
, пробовал, не взлетает. на этот период совсем нет оборота, и не считает таким образом...
#6 by pessok
даже больше скажу: EСТЬNULL(ВычислитьВыражение("Сумма(Лимит-Отпущено)", "Период" , ,"Первая", "Текущая"),"ФФФФФФФ") эти самые ФФФФФФФ не выводит. Т.е. в колонке даже не нулл, а хз что...
#7 by Bober
попробуй тогда такую вещь как дополнение периода
#8 by IVT_2009
Проблема аналогичная , есть взаиморасчеты . Если нет движения в периоде - то почему то начинает начальный остаток терять. Как решить ? (Дополнение - Движение и граница периода)
#9 by acsent
ВычислитьВыражение("Сумма(EСТЬNULL(Лимит-Отпущено, 0))", "Период" , ,"Первая", "Текущая")
#10 by pessok
, не помогло :( тоже не помогло З.Ы. Пробовал прицеплять к производственному календарю обороты и, проверяя на нулл, писать нули, но тоже не выводит
#11 by pessok
разобрался. идея такая: берем таблицу с периодами, например производственный календарь. к ней по периоду, левым соединением, цепляем таблицу номенклатуры (без оборотов!) из виртуальной таблицы ОстаткиИОбороты. Все это запихиваем во вложенный запрос. Второй вложенный запрос - все тоже самое, но уже добавляем обороты по периодам. К первому вложенному запросу присоединяем левым соединением второй, по номенклатуре, характеристике, периоду. У меня взлетело!
#12 by Bober
попробуй тогда такой вариант
#13 by Bober
как вариант: закрой пользовательский доступ к полю-ресурс из набора и создай свое вычисляемое поле с выражением "ВЫБОР КОГДА Лимит есть null тогда 0 иначе Лимит конец" или другой
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С