|
07.07.2009, 16:22 | #1 |
int 20h
|
интересный Меточный файл @SYS
Всем добрый день.
В ходе ковыряния в аксе натолкнулся на кусок кода, который выдает сообщение об ошибке используя метку @SYS24175 открыл меточный файл и удивился, так как - данная метка не включена в меточный файл axSYSRu.aldи более того, данная метка отсутствует и в английском меточном файле axSYSen-us.ald). Так же показалось странным что в меточном файле, метки идут непоследовательно, а с пропуском. @SYS24165 Закрытие и коррекция @SYS24167 Счет разового поставщика использован для разовой поставки @SYS24168 Счет разового поставщика @SYS24171 Утверждение @SYS24176 Номер покупки %1 уже используется. @SYS24177 Профиль разноски взят из @SYS24178 Механизм разноски не определен Подскажите пожалуйста это я один такой везучий или это мс что то забыл добавить Да забыл сказать MS DAX Kernel 4.5.2503.630 Application Version 4.0.2501.122 Спасибо.
__________________
It's just my Unhopelessnessabilityerism Trying to debug my mind Последний раз редактировалось zZ_TOP_Zz; 07.07.2009 в 16:24. |
|
07.07.2009, 17:24 | #2 |
Участник
|
Цитата:
этой метки нет и в ax2009. Цитата:
Мог, конечно. |
|
07.07.2009, 17:27 | #3 |
Участник
|
Цитата:
Сообщение от zZ_TOP_Zz
В ходе ковыряния в аксе натолкнулся на кусок кода, который выдает сообщение об ошибке используя метку @SYS24175 открыл меточный файл и удивился, так как - данная метка не включена в меточный файл axSYSRu.ald
... Да забыл сказать MS DAX Kernel 4.5.2503.630 Application Version 4.0.2501.122 @SYS24175 Валютный курс национальной валюты должен быть равен 100 Вполне возможно, что ваш "кусок кода" - это неудаленный устаревший код из ax3.0 |
|
|
За это сообщение автора поблагодарили: zZ_TOP_Zz (1). |
07.07.2009, 18:32 | #4 |
int 20h
|
Цитата:
Сообщение рождает системный класс FormRealControl вызвается метод modified и условие проверки не выполняется бросая throw Error X++: Boolean modified() { Boolean ret; if ((someTable.CurrencyCode == CompanyInfo::find().currencyCode) && (this.realValue() != 100)) throw error("@SYS24175"); Return ret; } [c] \Classes\Info\add 14 [c] \Classes\Global\error 3 [c] \Classes\FormRealControl\modified 7 [c] \Classes\FormRealControl\leave [c] \Classes\FormRun\selectControl
__________________
It's just my Unhopelessnessabilityerism Trying to debug my mind Последний раз редактировалось zZ_TOP_Zz; 07.07.2009 в 18:37. |
|
07.07.2009, 18:57 | #5 |
Участник
|
Цитата:
а как вы получили текст этого метода? |
|
07.07.2009, 17:28 | #6 |
Участник
|
Кстати, а что за код то?
Я пытаюсь найти где используется метка @SYS24175 при помощи перекрестных ссылок в четверке, у меня такой метки в коде не находит. |
|
07.07.2009, 17:37 | #7 |
Member
|
Просмотрел приложения версий 4.0.2501.122 и 4.0.2501.347 (какие нашел быстро). Не нашел ссылки на метку. Вы назовите метод и класс. Может вам дадут правильный код (с правильной меткой). Или посмотрите сравнением слоев сами может... На каком слое у вас метод?
__________________
С уважением, glibs® |
|
07.07.2009, 19:00 | #8 |
Участник
|
Цитата:
Нету такого в списке официальных http://forum.mazzy.ru/index.php?showtopic=881 вот приложение - это Axapta 4.0 SP2 EE Feature Pack 1 (HRM & Payroll) а кернел какой-то забавный. |
|
07.07.2009, 19:04 | #9 |
Member
|
Класс то системный, а вот код из контрола на форме. Сделайте сравнение слоев на этой форме. В стандарте на .modified() у этого контрола формы что-то есть?
Или назовите форму и путь к контролу.
__________________
С уважением, glibs® |
|
07.07.2009, 19:13 | #10 |
Member
|
Нашел. Это либо
\Data Dictionary\Tables\EmplAdvLine_RU\Methods\checkExchRate либо \Data Dictionary\Tables\LedgerJournalTrans\Methods\checkExchRate в 3.0 было. Вот код 4.0 X++: private boolean checkExchRate() { boolean ret = true; ; if (this.ExchRate != 100.00 && this.CurrencyCode == CompanyInfo::standardCurrency()) { ret = checkFailed(strfmt("@SYS85793", ExchRates::displayExchRate(100))); } return ret; } private boolean checkExchRate() { boolean ret = true; if (this.CurrencyCode == CompanyInfo::standardCurrency()) { if (this.ExchRate != 100.00) { ret = checkFailed(strfmt("@SYS85793", ExchRates::displayExchRate(100))); } } return ret; }
__________________
С уважением, glibs® |
|
07.07.2009, 19:16 | #11 |
Member
|
В общем, Маззи правильно сначала предположил. Вы код из 3.0 потянули откуда-то и затерли правильный код из 4.0.
Что интересно, в 3.0 у вас код не правлен. Непонятно зачем вы вообще его в 4.0 затянули из 3.0.
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: zZ_TOP_Zz (1). |
07.07.2009, 22:16 | #12 |
Боец
|
Не совсем в тему, но почему расчет ведётся жестко на 100 единиц, как в 3ке, так и в 4-ке?
ведь логичнее было бы брать LedgerParameters::find().expressExchRate() (General ledger parameters --> Tabpage 'Ledger' --> Group 'General' --> Field 'Express exchange rate') |
|
07.07.2009, 22:52 | #13 |
Member
|
А он хранится в БД за 100 всегда. Вот отображается в интерфейсе в соответствии с указанным вами параметром.
__________________
С уважением, glibs® |
|
08.07.2009, 10:34 | #14 |
int 20h
|
Всем спасибо...дело действительно в старом функционале который протащили в 4 из тройки. Проверил контрол на форме и нашел там этот модифай...
Хотя не понятно зачем они удалили метки из меточного файла. А как же обратная совместимость Будем считать тему закрытой. Спасибо. Что касается странной версии ядра то это последняя версия ядра высланая нам МС не помню какой это KB был, но если кому надо могу поискать.
__________________
It's just my Unhopelessnessabilityerism Trying to debug my mind |
|
08.07.2009, 10:40 | #15 |
Участник
|
Цитата:
в том числе был перенос в другой слой. полной обратной совместимости по меткам нет. |
|
08.07.2009, 10:42 | #16 |
Участник
|
А про билд?
Может расскажете что за билд такой? Интересно же. Цитата:
Сообщение от mazzy
Нету такого в списке официальных http://forum.mazzy.ru/index.php?showtopic=881
вот приложение - это Axapta 4.0 SP2 EE Feature Pack 1 (HRM & Payroll) а кернел какой-то забавный. |
|
08.07.2009, 11:39 | #17 |
int 20h
|
Это был KB969779 он фиксит версию ядра до указанной в заголовке.
__________________
It's just my Unhopelessnessabilityerism Trying to debug my mind |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
08.07.2009, 11:41 | #18 |
Administrator
|
Ну кстати патч от KB944115 (см также KB950595) дает билд 4.0.2503.362. А вообще - на партнерсорсе лежит список всех изменений в ядре с указанием номера билда. Вполне возможно что очередной патч дает соответствующий номер
UPD О.. опередили уже
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
08.07.2009, 11:47 | #19 |
Участник
|
Меня удивила вторая циферка. ни разу не видел в ней 5.
|
|
08.07.2009, 11:53 | #20 |
int 20h
|
Прошу прощения у Всех я похоже опечатался и задумался только после сообщения Мази о цифре 5. Версия ядра 4.5.2503.630 надо читать 4.0.2503.630
Извините еще раз...отвлекают ...теряешь сосредоточенность.
__________________
It's just my Unhopelessnessabilityerism Trying to debug my mind |
|