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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.09.2012, 19:00   #21  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Цитата:
Сообщение от mnt_dx Посмотреть сообщение
а почему нет? Дт часть проводки может идти на один счет, Кт на другой или никуда не идти.
Не... тут другой случай. Метод fixTransDifference проверяет уже обработанные проводки ГК. Он бежит по временной таблице, данные в которой уже имеют и дебет и кредит, и проверяет нет ли дисбаланса, т.е. не получилось ли так, что дебет попал под правила трансляции, а кредит нет.

Так вот упомянутый мною код приводит к тому, что дебетовая и кредитовая часть проводки рассматривается отдельно. В результате дебет не находит кредита, а кредит дебета. Получаем дисбаланс, хотя по факту его нет.
Если код закомментировать до дебет и кредит обрабатываются в одной итерации цикла и ошибка уходит.
Старый 27.09.2012, 19:04   #22  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Цитата:
Сообщение от EVGL Посмотреть сообщение
1) Добавить в Query TransLog и делать выборку с джойном. Будет ничем не медленее вашей идеи с полем.
Можно наверно и так.
Но, если я сейчас правильно помню код, то таблица TransLog заполняется в процессе трансляции. Получается что таблица, которая входит в запрос, «инсертится» в процессе выполнения этого запроса.
Когда-то у меня были проблемы с такой реализацией.
Спасибо – будем пробовать.
О результатах постараюсь отписаться.
Старый 16.10.2012, 12:05   #23  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Ошибка корреспонденции
Ошибку корреспонденции походе удалось исправить, модифицировав код метода importTransactions класса rtslLedgerTranslation.
X++:
protected void importTransactions()
{
....

    while select tmpLedgerTrans         // The order defines bond sequence
        order by Voucher,
                 TransDate,
                 //BUG003, 10/10/2012 -->
                 //add - исправление ошибки корреспонденции
                 BondBatch desc,
                 BondBatchTrans desc,    // 2-2, 1-1, 0-0, 0, 0, 0
                 //BUG003 <--
                 TransType,
                 OperationsTax,
                 AccountType,           // Usial-Usial, Usial-Disbalance, ...-TransDiff
                 Txt
                 //BUG003 10/10/2012 -->
                 //comment - исправление ошибки корреспонденции
                 //BondBatch desc,
                 //BondBatchTrans desc    // 2-2, 1-1, 0-0, 0, 0, 0
                 //BUG003 <--
...
На такой вариант удалось выйти почти случайно, просто по косвенным признакам я пришел к выводу, что если количество проводок большое и пара ДТ - КТ приходит не последовательно в движок корреспонденции, то он затрудняется их обработать.

После внесения описанных выше изменений ошибка перестала проявляться.

Последний раз редактировалось Starling; 16.10.2012 в 12:09.
Старый 16.10.2012, 12:08   #24  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
Скорость трансляции
Попробовали оба варианта:
1. Новое поля – признак того, что проводка уже транслирована.
2. Not exists join по таблице TransLog.
При первом вариант один день за 7 минут, при втором за 1 час. Но для первого пришлось еще и индекс на LedgerTrans добавить – это пока смущает.
Старый 10.04.2014, 22:42   #25  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Прошу прощения, что поднимаю старую тему, но по смыслу мой вопрос сюда, вроде бы, вписывается.

Проблема такая: настроили трансляцию в AX 2009 SP1 RU8, теперь тестируем. Всё более или менее хорошо, кроме отмены трансляции. Ошибка, вроде бы, простейшая: при удалении LedgerTrans происходит проверка, что на эту таблицу есть права на удаление (так как AOSAuthorization = CreateReadUpdateDelete), и, так как MaxAccessMode = View, разумеется прав не находит. Соответственно, трансляция не отменяется.

В принципе, ошибку исправить не сложно, но не могу понять, это только у меня такая проблема или все это исправляют? Судя по отзывам в этой теме, у кого-то отмена работает и без модификаций. Хотелось бы понять, как это возможно
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
консолидация, трансляция

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Трансляция. Слетает корреспонденция. ena_ax DAX: Функционал 0 28.10.2008 07:38
Трансляция 4.0 и 3.0: есть ли разница Arahnid DAX: Функционал 1 19.08.2007 12:26
Трансляция и двухвалютный склад EVGL DAX: Функционал 22 28.12.2005 17:28
Трансляция (ошибка целостности) VAA DAX: Программирование 2 19.07.2005 14:44
Трансляция в Аксапте vaavr DAX: Функционал 5 25.11.2003 12:02
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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