|
22.03.2009, 06:13 | #1 |
китайский стажер
|
Прошу прощения, DAX 4.0.2501.
РК - это что за зверь? У меня пробелы в русской терминологии... Не соответствует оборотной ведомости по клиенту (customer balance list).
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|
22.03.2009, 12:04 | #2 |
китайский стажер
|
Как я понимаю, разница возникает за счет двух моментов:
1. AR Aging report почему то берет не все exch. adj., сопоставленные против инвойсов., вошедших в отчет. Часть берет, а часть - не берет. Например, она не берет в отчет проводки по exch. adj, закрытые до даты отчета. И не только их, но сумма остальных проводок дает ноль, так как эти exch. adjustments закрываются следующим месяцем. 2. AR aging report берет открытые проводки из таблицы CustTransOpen. Я не понимаю зачем, ведь данные в отчете должны считаться на основании CustTrans? Ничего не понимаю, каша в голове...
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|
02.04.2009, 04:14 | #3 |
китайский стажер
|
Время идет, а проблема остается.
Частью проблемы было, что Аксапта не брала часть проводок в расчет, например exchange adjustments. В результате разнообразных игр с запросом, сейчас отчет совпадает с балансом по клиенту в большинстве случаев, зато выяснилось что проблема есть не только там, где есть exchange adjustments... Неужели никто не сталкивался с этой проблемой? Кстати, может кто-нибудь в курсе, почему в методе queryRunClosedTransactions класса условие выглядит как: X++: queryRun.query().dataSourceTable(tablenum(CustSettlement)).findRange(fieldnum(CustSettlement, TransDate)).value(queryRange(transactionDate, dateMax())); X++: queryRun.query().dataSourceTable(tablenum(CustSettlement)).findRange(fieldnum(CustSettlement, TransDate)).value(queryRange(transactionDate, dateMax()));
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|
02.04.2009, 05:35 | #4 |
китайский стажер
|
С ума сойти, обнаружился еще один источник проблемы:
Например, есть инвойс закрытый двумя платежами. Почему то Closing Date для инвойса - дата первого платежа, а не последнего. Такая проблема встречается "иногда". Но почему!?
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|
02.04.2009, 08:35 | #5 |
Модератор
|
Отчего же, весьма устойчивый эффект
Цитата:
Но почему!?
__________________
-ТСЯ или -ТЬСЯ ? |
|
03.04.2009, 06:01 | #6 |
китайский стажер
|
Цитата:
X++: _custTrans.Closed = CustVendTransData::construct(_custTrans).maxSettlementDate(_postingDate); X++: select maxof(TransDate) from custVendSettlement where custVendSettlement.TransRecId == custVendTrans.RecId; ... return max(custVendSettlement.TransDate, _transDate);
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|
06.04.2009, 11:40 | #7 |
Member
|
Цитата:
Сообщение от Vadik
...
см. CustVendSettle_Cust.postClosing() ... Действо в русской версии происходит тут. АОТ\Classes\CustVendSettle.settleNow() Место выглядит вот так X++: if (custVendTransCredit.AmountCur == custVendTransCredit.SettleAmountCur) { if (maxClosingDate) { custVendTransCredit.Closed = CustVendTransData::construct(custVendTransDebet).maxSettlementDate_W(transactionDate); } else { custVendTransCredit.Closed = transactionDate; } settleAmountMSTCredit = custVendTransCredit.AmountMST - (custVendTransCredit.SettleAmountMST - custVendTransCredit.ExchAdjustmentRealized); specTransCredit.Balance01 = 0; } Значит отчет, говорите, не работает? Очень хорошо . Привет локализаторам. А у вас галка в параметрах стоит? Если нет, попробуйте поставить и проверить, какой будет эффект после ее проставления с т.з. корректности построения отчета. PS. По-русски параметр называется "Максимальная дата закрытия.".
__________________
С уважением, glibs® Последний раз редактировалось glibs; 06.04.2009 в 11:43. |
|
06.04.2009, 08:17 | #8 |
Участник
|
Цитата:
Просто записей в CustTransOpen должно быть существено меньше при правильном регламенте (платежи с отгрузками сопоставляются). А закрытые записи из CustTrans дают в сумме 0 баланс по определению. Кроме того, при правильном ведении базы и, если программист не вмешивался в бездумно в таблицы, то сумма custTransOpen должна совпадать с суммой незакрытых проводок в CustTrans. В общем, повышают производительность. |
|
|
За это сообщение автора поблагодарили: Qaz Qwerty (1). |