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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.10.2009, 17:04   #1  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
Как аксапта выделяет ID объектов?
Как аксапта выделяет ID объектов? Где они хранятся? У нас проблема с созданием новых классов - создаю класс и он создается уже с именем , которое было присвоено кем-то, кто создавал класс до меня. Переиндексация и рестарт AOS не помогают. Проблема где-то глубже.
Старый 21.10.2009, 17:16   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от kitty Посмотреть сообщение
Проблема где-то глубже.
Ага, а создал эту проблему тот, кто опускал в нижележащий слой код "С сохранением ID объектов".
Т.е. у Вас теперь на cus-слое (к примеру) id-шники из диапазона usr-слоя. Вы пытаетесь на usr-слое создать объект и у Вас ничего не выходит.

Вам нужно выгрузить весь cus (нижележащий) слой, весь usr-слой, после чего удалить слои (как файлы) и снова загрузить cus "Без сохранения ID" и загрузить usr "как есть".
Первая же синхронизация конечно убьет все Ваши поля и таблицы со всего приложения, но... если грамотно подойти - то можно добиться и "неубиения" данных. А вот если где хранятся ID таблиц/классов в данных (или в релейшнах) - то они обязательно слетят - там придется все ручками перелопатить
__________________
Возможно сделать все. Вопрос времени
Старый 21.10.2009, 17:22   #3  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
Спасибо, но это не мой случай, тк я создала чистое приложение и положила в него наш var слой, но проблема осталась. База при этом та же.
Так все-таки где она хранит ID? В файлах приложения?
Старый 21.10.2009, 17:32   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
AOT \ System Documentation \ Tables \ UtilIdElements

не знаю уж корень вышей проблемы, но что то править там очень не советую.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 21.10.2009, 17:47   #5  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
То есть в файле слоя AOD хранятся заниси таблицы UtilIdElements, которые принадлежат этому слою, так?
Старый 21.10.2009, 18:00   #6  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от kitty Посмотреть сообщение
То есть в файле слоя AOD хранятся заниси таблицы UtilIdElements, которые принадлежат этому слою, так?
что это за слой AOD, я такого слоя не знаю.

UtilIdElements - это системная таблица, а вот где храниться не знаю.

Что бы посмотреть эту таблицу в аксапте надо проследовать по тому пути что я написал.
AOT (репазитарий, там где собсно вы классы создаете)\ System Documentation (есть такой пункт в репазитарии, 3-ий снизу) \ Tables \ UtilIdElements
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем

Последний раз редактировалось lev; 21.10.2009 в 18:02.
Старый 21.10.2009, 18:27   #7  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
Спасибо. я знаю, где таблица лежит и про AOD я написала "в файле слоя AOD". Проблема в том, что аксапта преиодически не выделяет новых ID, поэтому , когда создаешь новый класс , она "создает" класс с готовым именем (именем того класса, что был создан дрйгим девелопером или даже мной самой). Какие есть возможные пути решения проблемы?
Старый 21.10.2009, 18:59   #8  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1235 (44) ++++++++
Регистрация: 11.04.2008
попробуйте
Меню: Tools\Development tools\Application objects\Refresh AOD
Старый 21.10.2009, 19:02   #9  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
делала.не помогло.
Старый 21.10.2009, 19:05   #10  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
2 дня назад установлен был RU3, грешу на него. установила AOS с RU2 , отключила version control. вроде, заработало. Но как только сключаю version control, снова отваливается. я уже в отчаянии.
Старый 21.10.2009, 19:05   #11  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
AOS c RU3 + отключенный version control, тож не работает.
Старый 21.10.2009, 19:48   #12  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от kitty Посмотреть сообщение
Спасибо, но это не мой случай, тк я создала чистое приложение и положила в него наш var слой, но проблема осталась. База при этом та же.
Так все-таки где она хранит ID? В файлах приложения?
А в каком слое Вы создаете новый класс? В usr? Тогда это Ваш случай. Когда делали var-слой - в него опустили объектами из usr-слоя. И теперь Вы пытаетесь создать объект, с ID в usr-слое, который присутствует в var-слое
__________________
Возможно сделать все. Вопрос времени
Старый 21.10.2009, 20:19   #13  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
619 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
Можно написать джобик, который покажет конфликты с номерами, например, запросить по Вар слою номера старше, чем ему положено.
По описанию это именно та самая бага, что sukhanchik описал, тут он собаку съел, проверял
Старый 22.10.2009, 09:42   #14  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от kitty Посмотреть сообщение
Спасибо. я знаю, где таблица лежит и про AOD я написала "в файле слоя AOD". ..
Извеняюсь, неправильно прочитал
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 22.10.2009, 10:04   #15  
kitty is offline
kitty
Участник
 
354 / 26 (1) +++
Регистрация: 24.05.2005
Объект создаю на var. Ниже Var разработок нет. Usr пустой. На cus только еще есть объекты.Просмотрела ID-шники в UtilIdElements. Корректны. В моем случае у нового класса ID выделяется с номером 3xxxx, что нормально для Var. Но если создать 2 класса , то второму присвоится ID первого и сразу имя подставится первого класса тоже. То есть оба класса я создаю и на одном и том же( var слое) и новый создается с ID предыдущего.


Еще тут присоздании нового класса, AX почему-то думает. что он уже в Version Control. То есть при попытке сохранения абсолютно нового класса с абсолютно новым рандомным(для гарантии, что такого объекта еще не создавалось) именем(не всегда, как-то через раз выдет): "Unable to rename Class [classname]. The application object is checked out. Select Undo checkout to discard your changes or change the name back." Но при этом показывает класс как будто он сохранен.

Короче, мозги у нее совсем поехали(( или уже у меня.

Последний раз редактировалось kitty; 22.10.2009 в 10:17.
Старый 22.10.2009, 10:19   #16  
Bishop is offline
Bishop
Участник
 
89 / 60 (3) ++++
Регистрация: 12.08.2004
Адрес: Москва
Начнем с того, что вы не указали версию AX.
Цитата:
Сообщение от kitty Посмотреть сообщение
Спасибо, но это не мой случай, тк я создала чистое приложение и положила в него наш var слой, но проблема осталась. База при этом та же.
Так все-таки где она хранит ID? В файлах приложения?
Цитата:
отключила version control. вроде, заработало
Какую систему version control вы используете? Скорее всего, проблема в этом.
Старый 22.10.2009, 10:20   #17  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Во.. уже более детальное описание последовательности действий.
Проверьте, пожалуйста следующее (по табл. UtilIdElements):
1. Есть ли объекты с кодом 3xxxx на слое cus
2. Есть ли объекты с кодом 4хххх на слое var.

В общем-то интересно проверить гипотезу о наличии объекта с Id, следующим по порядку после уже созданного объекта.
Т.е., к примеру - Вы создали класс с номером 30123. Но класс с номером 30124 уже есть в системе (его закачивали с сохранением ID). Система не может создать такой объект и "сбрасывается" на предыдущий номер.
И вообще - проверьте наличие классов с ID 3хххх, большим чем Ваш новосозданный класс (неважно на каком слое)

UPD: Хм.. а про VersionControl я не подумал. В любом случае - проверьте и мою гипотезу тоже.
__________________
Возможно сделать все. Вопрос времени
Старый 22.10.2009, 11:24   #18  
anykey is offline
anykey
Участник
 
35 / 26 (1) +++
Регистрация: 04.12.2006
Не зная какой у вас Вершин Контрол используется, я бы предложил пересоздать репозиторий. Подозреваю, у вас там хранятся объекты с "предыдущего" ВАР слоя, поэтому и ругается.
Старый 22.10.2009, 12:33   #19  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от lev Посмотреть сообщение
UtilIdElements - это системная таблица, а вот где храниться не знаю.
UtilElements - это не таблица, а табличное представление AOD-файлов. Там ID и хранятся. Менять их простым редактированием не получится.

Последний раз редактировалось EVGL; 22.10.2009 в 12:37.
За это сообщение автора поблагодарили: lev (2).
Старый 22.10.2009, 12:35   #20  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от kitty Посмотреть сообщение
Спасибо. я знаю, где таблица лежит и про AOD я написала "в файле слоя AOD". Проблема в том, что аксапта преиодически не выделяет новых ID, поэтому , когда создаешь новый класс , она "создает" класс с готовым именем (именем того класса, что был создан дрйгим девелопером или даже мной самой). Какие есть возможные пути решения проблемы?
Создавать один новый класс за классом, пока не покинете "зараженную" область ID. Оставить один новый "чистый" класс, удалить все "зараженные". Счетчик ID продолжит крутиться в сторону увеличения.
Теги
ax3.0, ax4.0, нумерация, объект приложения, utilelements

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как сильно модифицировано ваше приложение Аксапты? (% обновленных партнерских объектов) mazzy DAX: Прочие вопросы 1 12.03.2009 17:41
Как сильно модифицировано ваше приложение Аксапты? (% новых партнерских объектов) mazzy DAX: Прочие вопросы 1 12.03.2009 17:41
Каков процент внедрений "стандартной" поставки системы Аксапта? coolibin DAX: Прочие вопросы 17 10.02.2009 12:45
Запросы в Аксапта ibc DAX: Программирование 5 08.08.2005 22:47
Аксапта, заметки программиста Роман Кошелев DAX: Программирование 0 25.12.2001 12:23

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:34.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.