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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.04.2012, 10:37   #1  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
queryValue
Люди добрые!

Необходимо было добавить новый элемент в BaseEnum. Сам Enum несет значение типа StatusIssue, поэтому добавление нового элемента необходимо было сделать в середину. Так как "люков" между значениями не было, элементы "после" были удалены и воссозданы. Потом скриптом были поправлены данные. В коде при подводе курсора возле перечисления выводятся новые значения. Все бы хорошо... но!

X++:
queryValue(XXXStatusIssue)
возвращает старые значения. При этом int2str уже новые!!! Перезапуск AOS, переиндексация и очистка кэша не помогли

Enum редактировался в разработке и переносился на тестовую систему. Так вот в разработке queryValue отрабатывает абсолютно нормально!

Заранее спасибо за дельные советы
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!

Последний раз редактировалось plumbum; 12.04.2012 в 10:53. Причина: дополнение
Старый 12.04.2012, 11:01   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
а что вернет функция enum2value() ?

функция queryValue() вызывает статический метод value() класса SysQuery. и в этом методе для типа Enum используется как раз функция enum2value().

З.Ы. подебажте функцию enum2Value() (в классе Global) может что прояснится...
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: plumbum (2).
Старый 12.04.2012, 11:18   #3  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Заработало! Прокомпилировав инкрементно всю стркутуру классов и продебажив указанный вами метод все заработало. Что ж, причина не всплыла, но проблема решилась!
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!
Старый 12.04.2012, 11:19   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Надо просто перекомпилировать класс Global и SysQuery и все.

А самое надежное, сделать вообще глобальную компиляцию.
Мало ли где еще вылезет.
Старый 12.04.2012, 11:21   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от plumbum Посмотреть сообщение
Заработало! Прокомпилировав инкрементно всю стркутуру классов и продебажив указанный вами метод все заработало. Что ж, причина не всплыла, но проблема решилась!
Ну у вас появилось понимание почему так происходит ?

Enum вы отредактировали, а в скомпилированном байт коде остаются старые неотредактированные значения. При компиляции они обновляются.
За это сообщение автора поблагодарили: lev (2).
Теги
baseenum, queryvalue

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
sumitax: AX Queries – Passing query range as parameter Blog bot DAX Blogs 0 29.06.2011 13:11
можно ли в Аксапте сделать такой Query Evgeniy2020 DAX: Программирование 14 25.09.2010 14:02
Like по строке с одним или больше пробелами HorrR DAX: Программирование 15 06.08.2009 18:25
Функция QueryValue() экранирование слеша \ Logger DAX: Программирование 1 06.05.2008 15:27
Отчет.Ограничение из доп. таблицы dalyet DAX: Программирование 5 22.07.2002 15:05

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

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

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