AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.03.2005, 15:30   #1  
Ганибалл is offline
Ганибалл
Участник
 
8 / 10 (1) +
Регистрация: 16.03.2005
Адрес: Карфаген
? Сопоставление приходных кассовых ордеров и накладных от клиентов.
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(ledgerJournalTranspostingOffsetTrans);
            
ok ledgerJournalTransUpdate.ledgerVoucherCheck(ledgerJournalTransledgerVoucher) && ok;
            
ledgerJournalTrans this.ledgerJournalTransOffset(ledgerJournalTrans);
        } 
В результате Account и Offset меняются местами и SettleVoucher = нет, что меня сильно огорчает.
Кто-нибудь, просвятите меня, пожалуйста, в отношении логики работы класса LedgerJournalCheckPost.
А главное, подскажите как грамотно сопоставлять кассовые ордера и накладные в случае AccountType = Касса (в таблице LedgerJournalTrans).
Спасибо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сопоставление оплат и накладных. NJD DAX: Функционал 2 20.10.2005 16:46
Номера серий приходных ордеров Zorik DAX: Функционал 10 13.01.2005 19:33
Сопоставление кассовых ордеров chel DAX: Функционал 2 24.12.2004 05:36
Ошибка при попытке создания кассовых ордеров mad_pilot DAX: Функционал 1 03.02.2003 06:17
сопоставление накладных расходов и счетов mad_pilot DAX: Функционал 19 23.10.2002 11:45
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:56.