|
Не правильно работает функция РазностьДат в запросе. Код прилагаю. |
☑ |
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
|
Мужики, спасибо, вопрос закрыт !!!!
|
|