|
![]() |
#1 |
Member
|
Как вы определяете очередность платежей? По дате платежа или по очередности сопоставления?
С ума сойти не сложно. Сложнее вылечиться. Так что нервы стоит беречь.
__________________
С уважением, glibs® |
|
![]() |
#2 |
китайский стажер
|
Цитата:
![]() Или это вопрос о том, как мы хотим сопоставлять? По бытовой логике дата закрытия инвойса должна быть равна дате последнего платежа, в каком бы порядке все это не сопоставлялось. Иначе это приводит к ошибкам в отчете.
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|
![]() |
#3 |
Member
|
Цитата:
Сообщение от Qaz Qwerty
...
По бытовой логике дата закрытия инвойса должна быть равна дате последнего платежа, в каком бы порядке все это не сопоставлялось. Иначе это приводит к ошибкам в отчете. ... Я посмотрел буржуйскую версию. Там в инвойсе проставляется дата оплаты, с которой он был сопоставлен физически последней (если она закрывает инвойс). Без вариантов. В тексте подсказки к полю написано: "Date ot total settlement of the transaction". Это в принципе соответствует тому, что и происходит. В тексте справки текст неоднозначно трактуемый. "... If the transaction has been settled, the date for the full settlement is displayed. This date corresponds to the transaction date of the final payment. If the field is empty, the transaction has not yet been fully settled. For example, if a prepayment posted on January 1 is settled against an invoice posted on February 1, the invoice date is displayed. ..." А ваша бытовая логика чем аргументирована? Вы уверены, что от даты закрытия зависит корректность построения отчета?
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: Qaz Qwerty (1). |
![]() |
#4 |
китайский стажер
|
![]()
glibs, спасибо огромной за наводку на параметр, он нашелся на закладке "Sales tax" в параметрах главной книги и называется "Settlement / Latest date for closing" .
![]() И теперь дата закрытия всегда дата последнего платежа. Работает действительно АОТ\Classes\CustVendSettle.settleNow() . Mazzy, спасибо за объяснение по поводу использования CustTransOpen . Логично. По поводу того, почему отчет не работает в случае, когда дата закрытия не равна дате последнего платежа. Например, мы закрыли инвойс платежами от 10 октября и от 15 сентября и формируем отчет на 30 сентября. Для отчета выбираются все проводки по клиенту, проведенные ДО даты отчета, закрытые ПОСЛЕ даты отчета, сопоставленные ПОСЛЕ даты отчета. Смотрим CustBalanceList.queryRunClosedTransactions. X++: queryRun.query().dataSourceTable(tablenum(CustTrans)).findRange(fieldnum(CustTrans, AccountNum)).value(queryValue(_custTable.AccountNum)); queryRun.query().dataSourceTable(tablenum(CustTrans)).findRange(fieldnum(CustTrans, TransDate)) .value(queryRange(dateNull(),transactionDate)); queryRun.query().dataSourceTable(tablenum(CustTrans)).findRange(fieldnum(CustTrans, Closed)).value(SysQuery::valueEmptyString() + ',' + queryRange(transactionDate, dateMax())); if (!printReversed) { ... } queryRun.query().dataSourceTable(tablenum(CustSettlement)).findRange(fieldnum(CustSettlement, TransDate)).value(queryRange(transactionDate, dateMax())); Таким образом, баланс по клиенту (простая сумма всех проводок до определенного числа) будет расходиться с Aging Report. Так ведь? Вторая проблема с exchange adjustments. Тоже пришлось корректировать ручками.
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|