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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.06.2011, 12:33   #1  
Andrux is offline
Andrux
Участник
Axapta Retail User
 
263 / 17 (1) ++
Регистрация: 29.05.2007
Отмена сопоставлений
Добрый день. Такой вопрос.
Модуль: Расчеты с поставщиками; AX 2009, RU5.
Пользователь реверсировал сопоставление двух операций (накладная от 11.01.2011, платеж от 31.01.2011) выбранной датой: 21.06.2011. В результате теперь система не дает провести повторное сопоставление. Разбираюсь с проблемой. Выяснилось. При реверсировании сопоставления Указанной датой в таблице VendSettlement проставляется ссылка на реверсирующую операцию и признак реверсирующей операции (поля ReversedRecId_RU и ReverseTrans_RU).
При сопоставлении в классе CustVendSettle, в методе settleNow создается Map paymentReversedAmounts.
X++:
..........
// Get credit (payment) transaction
        if (!areCreditsDone && (areDebitsDone || specTransCredit.Balance01 == 0))
        {
            areCreditsDone = ( !(this.fetchPayment(_company, _tableId, _recId)));
            // <GEEU>
            paymentReversedAmount = 0;
            // </GEEU>
            if (!areCreditsDone)
            {
                creditTransState = #TransStateFound;
                isCreditTransFullySettled = false;
                specTransRecordsProcessed++;
                // <GEEU>
                paymentReversedAmounts = Map::create(CustVendTransData::construct(custVendTransCredit).mapReversedAmountsCur_RU());
                // </GEEU>
            }
            else
            {
                creditTransState = #TransStateNone;
            }
        }
........
и дальше в томже методе сопоставление прерывается
X++:
............
 if ( !this.checkCurDealCanBeSettled_RU())
            {
                throw error("@GEE30084");
            }
            paymentReversedAmount = this.calcBalanceOnSelectedDate_W(specTransCredit, custVendTransCredit, paymentReversedAmounts, paymentReversedAmount);
            if (! specTransCredit.Balance01)
            {
                continue;
            }
............
Что делать? получается открытые операции, сопоставление по которым было отменено Выбранной датой невозможно сопоставить????
Старый 27.06.2011, 13:09   #2  
VORP is offline
VORP
Участник
Аватар для VORP
 
146 / 95 (4) ++++
Регистрация: 26.05.2006
А сопоставляете Вы тоже выбранной датой? Дата повторного сопоставления должна быть больше чем дата рассопоставления (на дату). Иначе(поскольку при сопоставлении могут генериться проводки) у Вас будет нарастать при повторном сопоставлении сальдо.
То есть у Вас 31.01 счёт задолженности например 62.01 будет два раза закрываться два раза на счёт оплат(например 62.02). А обратная проводка будет только 21.06.
Старый 27.06.2011, 13:11   #3  
VORP is offline
VORP
Участник
Аватар для VORP
 
146 / 95 (4) ++++
Регистрация: 26.05.2006
Там не очень хорошо что хотя оно и не сопоставляет - не говорит почему - я как то инфолог туда встраивал какой датой можно проводить сопоставление и почему нельзя сейчас.
Старый 27.06.2011, 13:21   #4  
ashu is offline
ashu
MCTS
MCBMSS
 
251 / 77 (3) ++++
Регистрация: 24.06.2008
Странно, 2009, ру6.
воспроизвел ситуацию, все успешно получилось, у вас операции в разных валютах?
Старый 27.06.2011, 13:33   #5  
Andrux is offline
Andrux
Участник
Axapta Retail User
 
263 / 17 (1) ++
Регистрация: 29.05.2007
Повторное сопоставление Крайней датой (сегодняшнее число, 27.06.2011). Операции в разных валютах. Дебетовая в RUB, кредитовая в USD
Старый 27.06.2011, 13:35   #6  
VORP is offline
VORP
Участник
Аватар для VORP
 
146 / 95 (4) ++++
Регистрация: 26.05.2006
Там есть крыжик:
X++:
        if (! TaxParameters::find().ReverseSettlementDatePrinciple_W)
        {
            return map.pack();
        }
Наверное если его отключить то проверка выполняться не будет.
Старый 27.06.2011, 13:41   #7  
Andrux is offline
Andrux
Участник
Axapta Retail User
 
263 / 17 (1) ++
Регистрация: 29.05.2007
ага, флаг установлен в true

Последний раз редактировалось Andrux; 27.06.2011 в 13:44.
Старый 27.06.2011, 13:48   #8  
VORP is offline
VORP
Участник
Аватар для VORP
 
146 / 95 (4) ++++
Регистрация: 26.05.2006
Ну а если попробовать выбранной датой - и выбрать сегодня - всё равно не работает?
Старый 27.06.2011, 14:17   #9  
Andrux is offline
Andrux
Участник
Axapta Retail User
 
263 / 17 (1) ++
Регистрация: 29.05.2007
пробовал Выбранная дата с любыми значениями, и сегодня, и дату проводки, и дату платежа, и дату отмены сопоставления.
Старый 27.06.2011, 14:18   #10  
VORP is offline
VORP
Участник
Аватар для VORP
 
146 / 95 (4) ++++
Регистрация: 26.05.2006
Проверил - оплата старая 2009 г, инвойс 27.06.
Сопоставил 27.06.
Рассопоставил 28.06.
Повторно сопоставить 27.06 не дало.
Повторно сопоставить 29.06 дало.
Крыж в taxParameters включен, всё делал Выбранной датой.

Попробуйте поставьте брейкпойнт в calcBalanceOnSelectedDate_W, что в мапе, какая дата туда передастся(в transactionDate).

Последний раз редактировалось VORP; 27.06.2011 в 14:20.
Старый 27.06.2011, 14:34   #11  
Andrux is offline
Andrux
Участник
Axapta Retail User
 
263 / 17 (1) ++
Регистрация: 29.05.2007
как раз дата, которой выполнили отмену сопоставления 21.06.2011
Старый 27.06.2011, 17:40   #12  
Andrux is offline
Andrux
Участник
Axapta Retail User
 
263 / 17 (1) ++
Регистрация: 29.05.2007
Закрался косой?
Старый 27.06.2011, 18:00   #13  
VORP is offline
VORP
Участник
Аватар для VORP
 
146 / 95 (4) ++++
Регистрация: 26.05.2006
Сложно сказать, Вам на месте должно быть видней. Я проверил на стандартной RU6 всё отработало нормально. Я бы подебажил calcBalanceOnSelectedDate_W, что оно там делает. Смысл проверки, как я говорил уже, в том чтобы не получилось что на определённую дату проводка сопоставлена дважды(хотя потом один раз аннулируется при рассопоставлении).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Реверс сопоставлений Andrux DAX: Функционал 2 22.03.2011 23:50
Отмена закрытия склада. AlexeyBP DAX: Функционал 2 16.01.2008 07:47
Отмена транспортировки палеты со статусом обработки "Начато" Ilia# DAX: Функционал 4 03.02.2006 10:55
Отмена проводки Swetik DAX: Функционал 1 02.12.2005 13:09
Как сделать CommandButton Отмена? elfalex DAX: Программирование 12 14.09.2005 16:17

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:09.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.