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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.04.2011, 19:12   #1  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Upgrade проблема с айдишками
Уважаемые коллеги,

Делаю апгрейд с 4ки на 2009. Всплыла очень неприятная бяка. У нас на bus в 4ке есть модуль. В 2009 этот модуль был выкуплен МС и уже находится на слое sl1. В связи с тем что нужно выполнить перенос данных, а так же то что модуль на bus от этого партнера содержит дополнительный функционал - удалить я его соответственно не могу. После того как накатил bus слой получил дубликаты таблиц и EDT. Это ок, таблицы с bus я переименовал добавив префикс. Но вот с EDT проблема, заключается она в том что они тоже продублировались и при удалении дубликата с bus все таблицы которые используют ссылку на старый EDT новый естественно не находят, так как все работает по айди. Но как я понимаю добраться до тех самых ссылок на айди возможности нет - в UtilIdElements и UtilElements связей между полями и типами увы не найдено.

Собственно вопрос коллективному разуму, как лучше поступить, что бы не сделать больше проблем и решить эту меньшей кровью?

Если интересно модуль называется Lean Enterprise это часть партнерского решения которое мы используем и было выкупленно МС. В 6ке оно будет входить в стандарт, так что проблема повторится при следующем апгрейде.

Из идей можно попробовать джоб, но есть опасения что то поломать так как нет четкой логики. Ручками конечно можно, но элементов очень много. А так как таблицы еще продублировались, это количество удваивается. Так как старые таблицы нужно перенаправлять на новый EDT.

Может кто то уже решал подобную задачу и может поделиться опытом?
Старый 21.04.2011, 21:51   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Link Посмотреть сообщение
модуль на bus от этого партнера содержит дополнительный функционал - удалить я его соответственно не могу.

как лучше поступить
Идеальный вариант - вы отказываетесь от "устаревших" объектов BUS-слоя и везде где они использовались, начинаете использовать объекты стандартного приложения.

Сделать это можно выгрузив ваш BUS-слой в XPO-файл и загрузив из него лишь те объекты которые отсутствуют в стандартном приложении.
Старый 21.04.2011, 22:25   #3  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
в 6-ке механизм апгрейда изменен, и такой проблемы больше не будет
Старый 22.04.2011, 00:21   #4  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Link Посмотреть сообщение
У нас на bus в 4ке есть модуль. В 2009 этот модуль был выкуплен МС и уже находится на слое sl1. В связи с тем что нужно выполнить перенос данных, а так же то что модуль на bus от этого партнера содержит дополнительный функционал - удалить я его соответственно не могу.
Ууу... Если у вас есть модификации классов/табличных методов из этого модуля, то еще и они у вас могут отвалиться после "перехода" на версию из sl1-слоя: методы в UtilElements к классам и таблицам тоже по id привязаны. Я такое словил на нескольких классах с sys-слоя, у которых в 2009-й id-шники поменялись.
Цитата:
Сообщение от Link Посмотреть сообщение
с EDT проблема, заключается она в том что они тоже продублировались и при удалении дубликата с bus все таблицы которые используют ссылку на старый EDT новый естественно не находят, так как все работает по айди.
Проще всего собрать таблицы, которые используют задублировавшиеся EDT, в проект, выгрузить его в XPO, удалить EDT-дубликаты и потом накатить проект, чтобы EDT прописались по их названиям. Если таких таблиц много, сбор такого проекта можно более-менее автоматизировать.
За это сообщение автора поблагодарили: Link (1).
Старый 22.04.2011, 00:41   #5  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Идеальный вариант - вы отказываетесь от "устаревших" объектов BUS-слоя и везде где они использовались, начинаете использовать объекты стандартного приложения.

Сделать это можно выгрузив ваш BUS-слой в XPO-файл и загрузив из него лишь те объекты которые отсутствуют в стандартном приложении.
К сожалению не тот случай. Я наверное плохо описал ситуацию. У нас используется несколько решений одного партнера, но МС купил только часть. А партнер не изменял названия, и получилось что EDT используются везде, т.е. таблички я временно переименовал, с ними проблем нет, а вот куча дупликатов EDT в системе и их естественно нужно прибить. Но на них ссылается тот функционал, что не был переведен на sl1.
Старый 22.04.2011, 00:48   #6  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Ууу... Если у вас есть модификации классов/табличных методов из этого модуля, то еще и они у вас могут отвалиться после "перехода" на версию из sl1-слоя: методы в UtilElements к классам и таблицам тоже по id привязаны. Я такое словил на нескольких классах с sys-слоя, у которых в 2009-й id-шники поменялись.
Я такого еще не встречал. Но там хоть можно пройтись по табличке и указать айдишники, по идее должно работать.

Цитата:
Сообщение от gl00mie Посмотреть сообщение
Проще всего собрать таблицы, которые используют задублировавшиеся EDT, в проект, выгрузить его в XPO, удалить EDT-дубликаты и потом накатить проект, чтобы EDT прописались по их названиям. Если таких таблиц много, сбор такого проекта можно более-менее автоматизировать.
Спасибо, дельный совет. Думаю это будет самым быстрым способом. Таблиц много, но они все префиксированы.
Теги
ax2009, edt, upgrade

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
sjakalax: DAXCONF - Upgrade Tools for Developers & Administrators Blog bot DAX Blogs 0 21.01.2011 19:12
Sample Design Patterns: Upgrade to Microsoft Dynamics AX 2009 and issues with the global address book Blog bot DAX Blogs 0 21.12.2010 11:11
Pre-upgrade duplication detection form Evgeniy2020 DAX: Программирование 1 04.08.2010 17:28
DynamicsAxSCM: Quality Management in Dynamics AX 2009 - Upgrade essentials Blog bot DAX Blogs 0 16.12.2008 14:05
mfp: Sneak preview - Code Upgrade Enhancements Blog bot DAX Blogs 0 02.03.2007 20:46
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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