Имя: Пароль:
1C
1С v8
СКД, отбор по вычисляемому полю
0 vicof
 
06.03.13
08:39
ВЫБОР             КОГДА ЕстьNULL(ВычислитьВыражение("Сумма(СуммаПлатежа)","Детали" , , "Первая", "Предыдущая"),0) = 0 ТОГДА 1
                 КОГДА ЕстьNULL(ВычислитьВыражение("Сумма(СуммаПлатежа)","Детали" , , "Первая", "Текущая"),0) <= ОстатокДолга ТОГДА 1
     ИНАЧЕ ВЫБОР КОГДА ЕстьNULL(ВычислитьВыражение("Сумма(СуммаПлатежа)","Детали" , , "Первая", "Предыдущая"),0) < ОстатокДолга И
                       (ЕстьNULL(ВычислитьВыражение("Сумма(СуммаПлатежа)","Детали" , , "Первая", "Текущая"),0)  +
                       ЕстьNULL(ВычислитьВыражение("Сумма(СуммаПлатежа)","Детали" , , "Следующая", "Последняя"),0) > ОстатокДолга) И
                       (ЕстьNULL(ВычислитьВыражение("Сумма(СуммаПлатежа)","Детали" , , "Первая", "Текущая"),0) > ОстатокДолга) Тогда 1  
                 ИНАЧЕ 0 КОНЕЦ
КОНЕЦ
1 vicof
 
06.03.13
08:40
блин, щас вопрос напишу
2 vicof
 
06.03.13
08:50
В общем, есть такое вычисляемое поле Превышение, типизирован, число.
Далее, пихаю его в ресурсы: Сумма(Превышение), рассчитываю по контаргенту, договору, общий итог.

Если ставлю отбор по превышению в группировке по договору или по детальным записям, выкидывает ошибку: выражение не может быть вычислено: Сумма(ЗадолженностьПоСрокам.СуммаПлатежа).

Структура настроек: Отчет - Контрагент - Договор - Детальные записи

Как победить?
3 vicof
 
06.03.13
09:32
уп
4 Defender aka LINN
 
06.03.13
09:47
Жесть какая. А Что это поле возвращает вообще?
5 vicof
 
06.03.13
09:49
Задолженность поставщиков по документам оплаты.
Поле показывает, превышает ли сумма по платежке сумму долга.
6 Defender aka LINN
 
06.03.13
09:50
(5) А из запроса или другого набора данные его не вытащить?
7 vicof
 
06.03.13
09:57
Из запроса не получается. Некоторые платежки тогда не попадут, которые должны попадать. Мне нужно знать суммы предыдущей и следующей  платежки.
На соединение с отдельным набором те же условия нужно будет накладывать, что и в вычисляемом поле.
8 vicof
 
06.03.13
10:00
Могу схему выложить, если нужно.
9 rphosts
 
06.03.13
10:03
(7) ну тогда:
1.получи то что нужно запросом.
2.выгрузи в таблицузначений и досчитай там всё что можно (хотя имхается и в запросе всё решается при желании).
3.используй свою дорасчитанную таблицу значений как истояник данных СКД
10 vicof
 
06.03.13
10:03
http://yadi.sk/d/0230-5xW34sCp
извиняюсь, нужно убежать на часок
11 vicof
 
06.03.13
11:02
(10) вернулся
12 Classic
 
06.03.13
11:05
Перепиши отчет
13 Classic
 
06.03.13
11:06
Точнее запрос.
Что б это поле у тебя в самом запросе было
14 vicof
 
06.03.13
11:09
Ок, как в запросе вытянуть данные из следующей и предыдущей строчки - правильно, никак, в этом случае нужно делать ,как в (9).
Но не хочется. Хочу понять, как отбор влияет на вычисление выражения. Без отбора отчет нормально работает.
15 Classic
 
06.03.13
11:20
(14)
Получить в запросе предыдущую вполне себе можно.
Только не так просто, как в СКД
16 vicof
 
06.03.13
11:35
(15) погуглил, не нашел.
17 vicof
 
06.03.13
11:38
я, в принципе, представил. То есть нужно нумеровать строки, потом соединять таблицу саму с собой плюс соединения по номерам строк и др. полям.
18 rphosts
 
06.03.13
11:48
(15) связи наборов данных?
19 Fragster
 
гуру
06.03.13
11:49
убери это поле из ресурсов и приколись!
20 vicof
 
06.03.13
11:49
(19) ща, рискну
21 vicof
 
06.03.13
11:52
(19) нифига, то же самое выдает. Сохраненные настройки на всякий случай почистил.
22 Fragster
 
гуру
06.03.13
11:54
(20) у меня отбор по вычисляемому полю (если оно использует данные из 2-х наборов и находится в ресурсе) работает неправильно, когда строка одного из наборов пустая несмотря на естьNULL
23 vicof
 
06.03.13
11:55
У меня один набор данных
24 Classic
 
06.03.13
11:59
(17)
Накопительный итог договоров по контрагенту, твое поле = накопительный итог - сумма долга.
25 vicof
 
06.03.13
12:28
(24) так и считается.
http://pikucha.ru/iasae
Как сделать так, чтобы в отчет отбор ставился на те платежки, сумма нарастающим итогом по которым равна или превышает общую сумму долга по договору, и не попортить при этом условное оформление.
26 Classic
 
06.03.13
12:39
(25)
Накопительный итог где считаешь? В запросе или в вычисляемом поле?
27 vicof
 
06.03.13
12:47
(26) В запросе
28 vicof
 
07.03.13
16:30
+
Основная теорема систематики: Новые системы плодят новые проблемы.