СКД, отбор по вычисляемому полю #655252


#0 by vicof
ВЫБОР             КОГДА ЕстьNULL(ВычислитьВыражение("Сумма(СуммаПлатежа)","Детали" , , "Первая", "Предыдущая"),0) = 0 ТОГДА 1                  КОГДА ЕстьNULL(ВычислитьВыражение("Сумма(СуммаПлатежа)","Детали" , , "Первая", "Текущая"),0) <= ОстатокДолга ТОГДА 1      ИНАЧЕ ВЫБОР КОГДА ЕстьNULL(ВычислитьВыражение("Сумма(СуммаПлатежа)","Детали" , , "Первая", "Предыдущая"),0) < ОстатокДолга И
#1 by vicof
блин, щас вопрос напишу
#2 by vicof
В общем, есть такое вычисляемое поле Превышение, типизирован, число. Далее, пихаю его в ресурсы: Сумма(Превышение), рассчитываю по контаргенту, договору, общий итог. Если ставлю отбор по превышению в группировке по договору или по детальным записям, выкидывает ошибку: выражение не может быть вычислено: Сумма(ЗадолженностьПоСрокам.СуммаПлатежа). Структура настроек: Отчет - Контрагент - Договор - Детальные записи Как победить?
#3 by vicof
уп
#4 by Defender aka LINN
Жесть какая. А Что это поле возвращает вообще?
#5 by vicof
Задолженность поставщиков по документам оплаты. Поле показывает, превышает ли сумма по платежке сумму долга.
#6 by Defender aka LINN
А из запроса или другого набора данные его не вытащить?
#7 by vicof
Из запроса не получается. Некоторые платежки тогда не попадут, которые должны попадать. Мне нужно знать суммы предыдущей и следующей  платежки. На соединение с отдельным набором те же условия нужно будет накладывать, что и в вычисляемом поле.
#8 by vicof
Могу схему выложить, если нужно.
#9 by rphosts
ну тогда: 1.получи то что нужно запросом. 2.выгрузи в таблицузначений и досчитай там всё что можно (хотя имхается и в запросе всё решается при желании). 3.используй свою дорасчитанную таблицу значений как истояник данных СКД
#10 by vicof
извиняюсь, нужно убежать на часок
#11 by vicof
вернулся
#12 by Classic
Перепиши отчет
#13 by Classic
Точнее запрос. Что б это поле у тебя в самом запросе было
#14 by vicof
Ок, как в запросе вытянуть данные из следующей и предыдущей строчки - правильно, никак, в этом случае нужно делать ,как в . Но не хочется. Хочу понять, как отбор влияет на вычисление выражения. Без отбора отчет нормально работает.
#15 by Classic
Получить в запросе предыдущую вполне себе можно. Только не так просто, как в СКД
#16 by vicof
погуглил, не нашел.
#17 by vicof
я, в принципе, представил. То есть нужно нумеровать строки, потом соединять таблицу саму с собой плюс соединения по номерам строк и др. полям.
#18 by rphosts
связи наборов данных?
#19 by Fragster
убери это поле из ресурсов и приколись!
#20 by vicof
ща, рискну
#21 by vicof
нифига, то же самое выдает. Сохраненные настройки на всякий случай почистил.
#22 by Fragster
у меня отбор по вычисляемому полю (если оно использует данные из 2-х наборов и находится в ресурсе) работает неправильно, когда строка одного из наборов пустая несмотря на естьNULL
#23 by vicof
У меня один набор данных
#24 by Classic
Накопительный итог договоров по контрагенту, твое поле = накопительный итог - сумма долга.
#25 by vicof
так и считается. Как сделать так, чтобы в отчет отбор ставился на те платежки, сумма нарастающим итогом по которым равна или превышает общую сумму долга по договору, и не попортить при этом условное оформление.
#26 by Classic
Накопительный итог где считаешь? В запросе или в вычисляемом поле?
#27 by vicof
В запросе
#28 by vicof
+
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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