Показать сообщение отдельно
Старый 03.08.2015, 18:43   #3  
Kabardian is offline
Kabardian
Талантливый разгвоздяй
Аватар для Kabardian
 
424 / 338 (12) ++++++
Регистрация: 14.12.2008
Адрес: Москва
Записей в блоге: 14
Хотфикс выше неправильный - при тестировании была обнаружена ошибка. Рабочий вариант исправления:
X++:
        if (lastInvoiceId != transTable.invoiceId)
        {
            postCreditLedgerJournalLine();

            // Unblock the customer
            custUnblocker.unblockCustomer(transTable.custAccount);

            select sum(grossAmount), sum(paymentAmount) from transTable2
                group by store, businessDate, custAccount, currency, exchRate, invoiceId
                where  transTable2.statementId == statementTable.statementId
                    && transTable2.invoiceId == transTable.invoiceId
                    && transTable2.type != RetailTransactionType::Logoff
                    && transTable2.type != RetailTransactionType::Logon
                    && transTable2.type != RetailTransactionType::Payment
                    && transTable2.type != RetailTransactionType::CustomerOrder
                    && transTable2.type != RetailTransactionType::PendingSalesOrder
                    && !transTable2.incomeExpenseAmount
                    && !transTable2.salesInvoiceAmount
                    && !transTable2.salesOrderAmount;

            custTable = CustTable::find(transTable.custAccount);
            if (custTable.InvoiceAccount)
            {
                invoiceAccount = custTable.InvoiceAccount;
            }
            else
            {
                invoiceAccount = custTable.AccountNum;
            }

            // <GEERU>
            if (correspondenceEnabled)
            {
                offsetAccountNum = RetailStatementPaymentJournal::getNativeNonLedgerAccount(invoiceAccount, LedgerJournalACType::Cust);
            }
            // </GEERU>

            totalRoundAmountCur = this.postRoundingDifference(transTable2
                                                              // <GEERU>
                                                              , LedgerJournalACType::Cust
                                                              , offsetAccountNum
                                                              // </GEERU>
                                                              );