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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.06.2014, 17:30   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Новый класс создается как копия существующего с другого слоя
Периодически возникает проблема при создании нового класса на слое USR. Создание стандартное - правой клавишей мыши на узле Classes \ Создать Class

Новый класс создается, но не пустой, а как копия существующего класса на другом слое, но с другим именем. В смысле, у нового класса создаются не копии методов на слое USR, а копии методов на слое оригинального класса. При этом прав на редактирование слоев отличных от USR - нет. Такое ощущение, что новый объект слоя USR ассоциируется с ранее созданным объектом другого слоя. В моем случае связка идет со слоем BUP

Выкручиваюсь я из этой ситуации просто тупо создавая все новые и новые классы, пока очередной класс не будет создан как положено. Затем удаляю все "левые" объекты. Вот только что пришлось создать 10 классов пока наконец Axapta не дала создать то, что нужно.

Есть какие-либо соображения почему такое может происходить?

Ax2009

PS: Программное создание дает тот же эффект

X++:
#aot

    TreeNode treeNode = TreeNode::findNode(#ClassesPath);
    ;
    treeNode.AOTadd('MyNewClass');

PPS:
У нас есть две копии Axapta: для разработки и для тестирования. Проблема возникает одновременно на обоих копиях. Похоже на то, что это как-то связано с ID объектов. Пока ID нового объекта не станет больше некоторой величины, нормального создания нового класса не получается.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 11.06.2014, 17:47   #2  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Установлена ли у вас VSS или какая другая система контроля версий?
Насколько я знаю, в АХ ничего хорошего они не принесли.
__________________
// no comments
Старый 11.06.2014, 18:29   #3  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Есть система контроля версий от Columbus. Собственно, и классы-"образцы" берутся из их решения. Все с префиксами "CIT_"
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 11.06.2014, 18:49   #4  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
ну значит они "CIT_"классы с неправильными идентификаторами (из области USR) вот вы с ними и пересекаетесь.
Старый 11.06.2014, 18:57   #5  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
"CIT_" - классы созданы на слое BUP и имеют идентификаторы около 20000, а новые классы, создаваемые на слое USR имеют идентификаторы от 51000.

Например, при создании класса с идентификатором 51839 в качестве "образца" ему подсовывается класс с идентификатором 20934
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 11.06.2014, 19:25   #6  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,296 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Может, я не в тему... В своё время мы это решали так: брали максимальный ID класса данного слоя, принудительно проставляли его номер +1 в XPO файл с любым другим классом, импортировали файл с этим классом с IDs, далее все новые классы получали IDs выше данного минимального. И никаких пересечений не было.
P.S.VSS не использовался.
__________________
Михаил Андреев
https://www.amand.ru

Последний раз редактировалось Михаил Андреев; 11.06.2014 в 19:28. Причина: Добавил про VSS
Старый 11.06.2014, 22:28   #7  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Периодически возникает проблема при создании нового класса на слое USR. Создание стандартное - правой клавишей мыши на узле Classes \ Создать Class
Владимир, понятно, что наверное, делали - просто на всякий случай : пропадает ли данный глюк после Реиндексации объектов приложения? Или - пуще того - Глобальной компиляции?

В вашем вопросе эта деталь.. не упомянута )
__________________
Best Regards,
Roman
Старый 14.06.2014, 13:42   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от RVS Посмотреть сообщение
Владимир, понятно, что наверное, делали - просто на всякий случай : пропадает ли данный глюк после Реиндексации объектов приложения? Или - пуще того - Глобальной компиляции?
Все это проделал. На результат не повлияло. Глюк остался.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 14.06.2014, 21:18   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Все это проделал. На результат не повлияло. Глюк остался.
Т.е. именно удаляли aoi-файл, чтобы он пересоздался с нуля? Может, все же на BUP-слое есть пересечения по ID, и глюк возникает из-за того, что класс с "неправильным" ID участвует в иерархии наследования?.. Проверьте на всякий случай
код поиска объектов стандартного приложения с идентификаторами из диапазона usr-слоя

PS. Если не секрет, какого размера у вас файл usr-слоя? Для 2009-й это менее актуально, но на 3.0 я видел очень затейливые глюки, когда размер файла слоя вплотную приблизился к максимальному размеру: из-за этого новые объекты стали создваться будто бы на usp-слое, хотя текущим слоем разработки был usr.
Старый 15.06.2014, 21:16   #10  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
gl00mie

Гм... Ну, раз Вы все сообщения не читаете, то повторю то, что я уже писал, но другими словами и с дополнениями :

1. Пересечения id - нет. Новый объект создается, во-первых, со значением id которого ранее не существовало (проверил по таблице UtilIdElements),а, во-вторых, значение id "образца" на несколько тысяч отличается от значения id нового элемента.

2. "Переиндексацию" делал путем удаления файлов: *.ali, *.aoi, *.alt, *.ahi, *.khi, *.udb, *.add, *.adi

3. Глобальную перекомпиляцию делал

4. Размер файла axusr.aod = 152 444 928 байт
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...

Последний раз редактировалось Владимир Максимов; 15.06.2014 в 21:24.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибки при установке SP и русского слоя. (AX 2009) lekonstantine DAX: Администрирование 6 30.11.2011 12:48
Ошибка в компиляции после переноса слоя loka DAX: Программирование 11 15.09.2011 09:37
Проблема с передачей контролов из формы в класс matew DAX: Программирование 0 28.04.2008 17:37
траблы при выделении черным цветом и указанием слоя изменения кода... NetBus DAX: Программирование 8 14.07.2005 18:31
Класс xSysLastValue Maxim Gorbunov DAX: База знаний и проекты 0 27.11.2001 17:39

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

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

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