Axapta 3.0 без SP
Денежные средства – Журналы – Журнал ордеров – Строки
появляется форма LedgerJournalTransRCash
Тип журнала: Касса (RCash)
Строки журнала хранятся в таблице LedgerJournalTrans.
В форме LedgerJournalTransRCash недоступна команда Функции – Сопоставление.
Я сделал доступным этот пункт меню,
по нему, вызвал форму CustOpenTrans
(по аналогии с формами, где сопоставление работает),
заставил эту форму показать накладные,
выписанные клиенту, код которого хранится в поле OffsetAccount (корр. счет)
таблицы LedgerJournalTrans.
После закрытия формы CustOpenTrans класс LedgerJournalEngine делает свое грязное дело стандартно,
за исключением смены знака сопоставленной суммы, которую я вставил в метод findSettledAmount
PHP код:
...
if (_ledgerJournalTrans.AccountType == LedgerJournalACType::RCash)
{
specAmount=-specAmount;
}
...
И все бы хорошо, только что-то нехорошо.
В строке таблицы LedgerJournalTrans имеем
AccountType = Касса,
OffsetAccountType = Клиент,
SettleVoucher = Помеченные проводки.
При проверке журнала подается сообщение:
Цитата:
Проводки для сопоставления были выбраны, не смотря на выбор “тип сопоставления: нет“ для клиента такого-то, документ ГК.
Думаю: ну как же “тип сопоставления: нет”, когда SettleVoucher = Помеченные проводки. Посмотрел отладчиком, класс LedgerJournalCheckPost метод checkJournal переколбашивает мою строчку из LedgerJournalTrans хитрым образом с помощью следующего кода:
PHP код:
while (ledgerJournalTrans.accountNum)
{
ledgerJournalTransUpdate = LedgerJournalTransUpdate::construct(ledgerJournalTrans, postingOffsetTrans);
ok = ledgerJournalTransUpdate.ledgerVoucherCheck(ledgerJournalTrans, ledgerVoucher) && ok;
ledgerJournalTrans = this.ledgerJournalTransOffset(ledgerJournalTrans);
}
В результате Account и Offset меняются местами и SettleVoucher = нет, что меня сильно огорчает.
Кто-нибудь, просвятите меня, пожалуйста, в отношении логики работы класса LedgerJournalCheckPost.
А главное, подскажите как грамотно сопоставлять кассовые ордера и накладные в случае AccountType = Касса (в таблице LedgerJournalTrans).
Спасибо