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).
Спасибо
Старый 17.03.2005, 01:12   #2  
Тимур is offline
Тимур
Аксакал в отставке
 
2,457 / 50 (6) ++++
Регистрация: 31.01.2003
Адрес: Москва
Какой экономический смысл сопоставления наличных поступлений с накладными?
Деньги пришли сразу и сразу ясно от кого и за что.
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес").
Старый 17.03.2005, 10:57   #3  
Ганибалл is offline
Ганибалл
Участник
 
8 / 10 (1) +
Регистрация: 16.03.2005
Адрес: Карфаген
;-)
Это все конечно ясно, но, чтобы не забыть, нужно это зарегистрировать в системе.

Клиент платит наличными в кассу после отгрузки товара и обработки накладной.
Он может заплатить и частями через несколько дней.

Обычно для сопоставления таких платежей с накладными мы используем функцию "Сопоставление фактур с оплатами".

Но в тут в дело вмешивается еще одно обстоятельство.
В накладной в каждой строке своя ставка НДС, мы хотим посчитать сумму НДС и сразу добавить в ПКО.

Это уже обсудили в ветке:
http://www.axforum.info/forums/showt...ight=%CF%CA%CE

Я пытаюсь реализовать следующее:

Цитата:
1) Вам надо для печати ПКО узнать сумму НДС по каждой ставке на основании накладной, с которой она будет сопоставлена.
2) При подтверждении ордера аксапту требует ставки НДС и НСП. которые будут использоваться для расчета налогов и указании их в печатной форме ПКО.

Вам надо сделать кастомизацию.
Во первых в журнале ордеров необходимо сопоставлять будущий платеж с накладной.
Во вторых переписать печатную форму приходного ордера, что бы там печаталась сумма НДС по разным ставкам (кодам) на основании маркированных накладных.
Возможно существует и другой способ решения.
Решили прикрутить для расчета НДС механизм сопоставления, т.к. потом все равно придется использовать "Сопоставление фактур с оплатами".
И хотелось бы галочки проставлять один раз вместо двух.
Проблема в том, что журнал ордеров в результате не разносится.
Старый 18.03.2005, 00:16   #4  
Тимур is offline
Тимур
Аксакал в отставке
 
2,457 / 50 (6) ++++
Регистрация: 31.01.2003
Адрес: Москва
Тогда лучше всего не использовать функционал кассы. А сделать свой способ оплаты "наличный" и соответствующие настройки. Плюс формы приходных кассовых ордеров присобачить. Будет проще имхо.
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес").
Старый 31.03.2005, 10:11   #5  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
В результате Account и Offset меняются местами и SettleVoucher = нет, что меня сильно огорчает.
Что что-то там меняет я не заметил, НО SettleVoucher = нет всегда если тип "Коррсчета" = "Vend" или "Cust"!!!
вот код, отвечающий за это:
PHP код:
LedgerJournalTrans ledgerJournalTransOffset(LedgerJournalTrans _ledgerJournalTrans)
{
.........
switch (
_ledgerJournalTrans.accountType)
 {
            case    
LedgerJournalACType::Vend:
                
_ledgerJournalTrans.poolRecId       0;
                
// No break on purpose!!!
            
case    LedgerJournalACType::Cust:
                
_ledgerJournalTrans.settleVoucher   SettlementType::None;
        }
........

Может кто-то всетаки знает в чем тут дело?
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сопоставление оплат и накладных. 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, время: 17:06.