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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.04.2007, 15:23   #1  
PavelSR is offline
PavelSR
Участник
 
98 / 10 (1) +
Регистрация: 25.05.2006
Странный код в базовом функционале
Добрый День!
При разборе одной ситуации, связанной с печатью авансового отчета, наткнулся на странный участок кода.

В классе EmplSettle_RU есть метод postExchAdjTrans, как я понимаю смысл его в том чтобы учесть курсовую разницу.

Там вызывается метод updateTransactions который вставляет записи во временную таблицу, у которой есть уникальный индекс.

Табличная переменная exchAdjTrans нигде не инициализируется, а потом отправляется в updateTransactions

Ведь может возникнуть ситуация, когда уникальность индекса не выполняется!!! Кстати может кто подскажет более подробно, для чего нужен этот метод?
Старый 20.04.2007, 17:40   #2  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
А вот на этот код, идущий до updateTransactions(), Вы не обратили внимания?
X++:
 if (! tmpDebitTrans.RecId)
    {
        tmpRecId++;
        tmpDebitTrans.RecId = tmpRecId;
    }
    if (! tmpCreditTrans.RecId)
    {
        tmpRecId++;
        tmpCreditTrans.RecId = tmpRecId;
    }
По идее, не должно возникнуть неуникальности.
__________________
Старый 20.04.2007, 18:11   #3  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
оффтопик: хм... интересно, если "Жункционал" это опечатка в первой букве, то как она случилась - буквы ф и ж расположены на разных краях клавиатуры...
Старый 21.04.2007, 09:41   #4  
:-) is offline
:-)
Участник
 
17 / 10 (1) +
Регистрация: 11.09.2006
Эти буквы расположены под мизинцами.. Кстати, рекомендую тренажер для слепой десятипальцевой печати http://www.verseq.ru/, сам довел до 300 зн в минуту с его помощью.
Старый 23.04.2007, 15:28   #5  
ShowPoint is offline
ShowPoint
Участник
 
16 / 10 (1) +
Регистрация: 28.07.2005
Адрес: Moscow, Russia
Цитата:
Сообщение от Ruff Посмотреть сообщение
А вот на этот код, идущий до updateTransactions(), Вы не обратили внимания?

<skipped>

По идее, не должно возникнуть неуникальности.
Если проводка сопоставляется в два приема - возникнет, tmpRecId не "помнит" предыдущих сопоставлений.
__________________
SY,
AVA
Старый 23.04.2007, 15:46   #6  
Ruff is offline
Ruff
Дмитрий Ерин
Аватар для Ruff
1C
 
475 / 396 (14) ++++++
Регистрация: 18.09.2003
Адрес: Тула
Цитата:
Сообщение от ShowPoint Посмотреть сообщение
Если проводка сопоставляется в два приема - возникнет, tmpRecId не "помнит" предыдущих сопоставлений.
Но в таком случае временная таблица transSettle тоже должна обнулиться.
Скажу честно, я не знаток данного функционала, просто высказываю предположения, судя по коду. А Вы на практике сталкивались с возникновением неуникальности?
__________________
Старый 23.04.2007, 16:01   #7  
ShowPoint is offline
ShowPoint
Участник
 
16 / 10 (1) +
Регистрация: 28.07.2005
Адрес: Moscow, Russia
Сталкивался. До появления вышеупомянутого кода, сорри, туплю.
__________________
SY,
AVA
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Код палеты Varmen DAX: Функционал 10 27.03.2008 15:54
Есть ли возможность вызывать код с вышележащих слоев ? FishLog DAX: Программирование 0 07.09.2004 13:39
Странный программный код. Гуру, помогите! dirigente DAX: Программирование 5 15.01.2004 13:53
Ошибка "необходимо заполнить 'основной код сотрудника' " alpin DAX: Функционал 2 04.12.2003 16:28

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

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

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