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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.08.2003, 13:46   #1  
mifi is offline
mifi
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
173 / 89 (3) ++++
Регистрация: 24.07.2002
Вопрос для EGLA - корреспонденция в 2.5
Женя, извини за беспокойство, но ты опять оставил следы, так что обращаюсь к тебе.
В методе updateTmpBondByRecId() класса LedgerBondServer_RU находим следующий код :
// EGLA, PTR 2051
// Compress these links
// X.RecIdX - Y.0
// Y.0 - Z.RecIdZ
while select tmpBond
outer join equalTmpBond
where tmpBond.AmountCurCredit == equalTmpBond.AmountCurCredit &&
tmpBond.AmountCurDebit == equalTmpBond.AmountCurDebit &&
tmpBond.AmountMST == equalTmpBond.AmountMST &&
tmpBond.AmountMSTSecondary == equalTmpBond.AmountMSTSecondary &&
tmpBond.RecId != equalTmpBond.RecId
{
if (! tmpBond || ! equalTmpBond)
continue;

debitVRef = this.getVRef(tmpBond.DebitRef);
creditVRef = this.getVRef(tmpBond.CreditRef);
equalDebitVRef = this.getVRef(equalTmpBond.DebitRef);
equalCreditVRef = this.getVRef(equalTmpBond.CreditRef);

if (! debitVRef.getLedgerTransRecId() && creditVRef.getLedgerTransRecId() &&
equalDebitVRef.getLedgerTransRecId() && ! equalCreditVRef.getLedgerTransRecId() &&
LedgerBondVRef_RU::equals(debitVRef, equalCreditVRef))
{
tmpBond.DebitRef = equalDebitVRef.getId();
tmpBond.update();
equalTmpBond.delete();
}
if (debitVRef.getLedgerTransRecId() && ! creditVRef.getLedgerTransRecId() &&
! equalDebitVRef.getLedgerTransRecId() && equalCreditVRef.getLedgerTransRecId() &&
LedgerBondVRef_RU::equals(creditVRef, equalDebitVRef))
{
tmpBond.CreditRef = equalCreditVRef.getId();
tmpBond.update();
equalTmpBond.delete();
}
}

Вопрос - какие ссылки тут "compress" и зачем?
Старый 29.08.2003, 14:27   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Точно уже не помню, но "PTR 2051" должен потдвердить или опровергнуть следующее:
в ряде случаев (при нулевой себестоимости возврата товара по заказу?) после корреспонденции остаются взаимосогласованные нулевые проводки по кредиту и по дебету, которые не записываются в БД, а корреспондирующие с ними должны на самом деле корреспондировать между собой. Такая ситуация сама по себе плохая, но и еще вызывает ошибку, поскольку алгоритм корреспонденции уверен, что нулевые проводки существуют в базе. Данный код призван устранить самый простой и часто встречающийся случай, когда нулевые проводки идут парами.

В версии 3.0 эта ошибка явилась одной из предпосылок к полной переделке кода.
Старый 29.08.2003, 14:41   #3  
mifi is offline
mifi
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
173 / 89 (3) ++++
Регистрация: 24.07.2002
Спасибо. Постараюсь уточнить, что было в этом PT 2051. Если это такой экзотический случай, то это хорошо
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Установлена неверная корреспонденция.Корреспонденция будет отменена. sao DAX: Функционал 2 25.04.2007 14:21
Вопрос по Проектам PSA DAX: Функционал 35 19.01.2007 22:26
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36
Вопрос к пользователю при сохранении данных в таблице Anais DAX: Программирование 1 23.03.2004 19:46
Вопрос к пользователю при сохранении данных в таблице Anais DAX: Программирование 1 19.03.2004 10:28
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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