|
Не правильно работает функция РазностьДат в запросе. Код прилагаю. | ☑ | ||
---|---|---|---|---|
0
Румата
10.04.14
✎
16:01
|
РАЗНОСТЬДАТ(&КонДата, ВЫБОР
КОГДА ОплатаСчетовОстаткиИОбороты.Счет.ДатаПлатежаПоДоговору ЕСТЬ NULL ТОГДА НАЧАЛОПЕРИОДА(КОНЕЦПЕРИОДА(ОплатаСчетовОстаткиИОбороты.Счет.Дата, МЕСЯЦ), ДЕНЬ) ИНАЧЕ ОплатаСчетовОстаткиИОбороты.Счет.ДатаПлатежаПоДоговору КОНЕЦ, ДЕНЬ) + 1 ================================== Вот код. Если у документа счет на оплату покупателя заполнен реквизит "ДатаПлатежаПоДоговору ", то просрочку (код получения вверху) рассчитывает правильно. А если же не заполнен, то для расчета должна браться дата конца месяца от даты счета. И во втором варианте итогом получаются сумащедщие цифры, а именно -735 231 везде. Где я туплю ? ) |
|||
1
shuhard
10.04.14
✎
16:03
|
(0)[КОГДА ОплатаСчетовОстаткиИОбороты.Счет.ДатаПлатежаПоДоговору ЕСТЬ NULL ]
в топку |
|||
2
GROOVY
10.04.14
✎
16:03
|
Логику с головой подружить надо и все буде ништяк.
Для проверки передай без всяких функций пару дат. А потом подумай корректно ли РазностьДат считается, или ты накосячил.ю |
|||
3
Румата
10.04.14
✎
16:08
|
Мужики, объясните плиз толково, голова уже кипит )
|
|||
4
Румата
10.04.14
✎
16:13
|
РАЗНОСТЬДАТ(&НачДата,&КонДата, ДЕНЬ) + 1
Попробовал вот так. &НачДата = 01.12.2013 &НачДата = 31.12.2013 ====================== Результат выдал 31. Все правильно. |
|||
5
Румата
10.04.14
✎
16:13
|
РАЗНОСТЬДАТ(&НачДата,&КонДата, ДЕНЬ) + 1
Попробовал вот так. &НачДата = 01.12.2013 &КонДата = 31.12.2013 ====================== Результат выдал 31. Все правильно |
|||
6
Румата
10.04.14
✎
16:14
|
Вместо второго параметра в функцию разность дат передаю вот это :
ВЫБОР КОГДА ОплатаСчетовОстаткиИОбороты.Счет.ДатаПлатежаПоДоговору ЕСТЬ NULL ТОГДА НАЧАЛОПЕРИОДА(КОНЕЦПЕРИОДА(ОплатаСчетовОстаткиИОбороты.Счет.Дата, МЕСЯЦ), ДЕНЬ) ИНАЧЕ ОплатаСчетовОстаткиИОбороты.Счет.ДатаПлатежаПоДоговору КОНЕЦ |
|||
7
Gogger
10.04.14
✎
16:17
|
Надо делать через параметр &ПустаяДата
КОГДА ОплатаСчетовОстаткиИОбороты.Счет.ДатаПлатежаПоДоговору = &ПустаяДата ЕСТЬ NULL с датой не будет работать, там по факту есть дата 01.01.0001. |
|||
8
ale-sarin
10.04.14
✎
16:17
|
"Пустая дата" не есть NULL
КОГДА ОплатаСчетовОстаткиИОбороты.Счет.ДатаПлатежаПоДоговору = ДатаВремя(1,1,1) |
|||
9
Gogger
10.04.14
✎
16:20
|
(8) ну или так
|
|||
10
Румата
10.04.14
✎
16:20
|
Мужики, спасибо, вопрос закрыт !!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |