10.08.2010, 17:35 | #1 |
Участник
|
вопросы по переходу из ax 3 в ax 2009
Доброго времени суток
есть несколько вопросов к тем кто уже проходил процедуру апгрейда. вопросы по переходу из ax 3 в ax 2009 прошел успешный перегон БД при помощи встроенной dbupgrade.exe, база весит 55 Гб, в LedgerTrans 16 млн строк. наибольшее время заняло LeftJustify (15 часов), (я решил делать при помощи SQL скриптов) после база успешно была переведена для ax2009. В старом приложении в трешке есть axCus.aod axVar.aod axUSR.aod 1. Вопрос нужно ли переносить axVar или все же лучше axVar не переносить в ax 2009? еще до синхронизации БД, я сначала три слоя скопировал к сожалению лицензия не смогла загрузится из за грубых ошибок в коде. убрал три слоя Var, Сus, USR сделал глобальную компиляцию после чего смог успешно загрузить лицензию в новое приложение в ax 2009. после этого скопировал только два слоя CUS USR начал проверять на таблице LedgerTable (План счетов) выявилась ошибка что теперь поле TaxCode есть в слое SYS и в слое CUS из за этого грубового дублирования одного поля но на разных слоях, (видимо это поле стало стандартным функционалом в sys слое) зашел в тестовую трешку и удалил это поле с CUS слоя, после скопировал axCUS.aod в девятку запустил ax2009 и успешно синхронизировал таблицу после подредактировал один метод display метод, и после форма План счетов нормально запустилась и показывает данные из трешки, то есть привычный план счетов. Вопрос 2 есть ли какой то xpo который покажет дублирование полей в разных слоях? (хотя наверно не сложно написать самому) и вопрос есть ли еще у кого то какие то вспомогательные xpo для выявления грубых ошибок? и нужно ли переносить VAR слой? или лучше какие то модификации вручную переносить с VAR слоя? и (старый) VAR слой убрать из ax 2009 ? и синхронизацию всех таблиц проводить уже после выявления грубых ошибок? и сервис пак SP1 RU5 накатывать уже потом после обновления кода? или можно сразу? увы, с VAR как то совсем тяжко, практически не стартует клиент из за многочисленных ошибок Последний раз редактировалось Evgeniy2020; 10.08.2010 в 17:44. |
|
10.08.2010, 17:56 | #2 |
Модератор
|
Ой-е-ей!
На VAR слое лежат партнерские разработки. Если он есть, то переносить надо. Как только вы убили слой, то убили соответствующую ему структуру БД при синхронизации. Есть разные методологии перехода. Сначала переведите приложение. Потом поднимайте базу. Возможно, стоит воспользоваться услугами тех, кто этим занимается? К тому же, в 2009 много чего понаписали, возможно часть доработок уже не требуется. По-хорошему, надо анализировать доработки на их целесообразность подъема на каждый слой. Да, на имея доступа на вар, вы не поднимите наработки - только на более верхние слои. С Уважением, Георгий |
|
|
За это сообщение автора поблагодарили: Evgeniy2020 (2). |
10.08.2010, 18:17 | #3 |
Участник
|
Спасибо,
вот поэтому я и не тороплюсь с глобальной синхронизацией БД, ну и теперь очевидно что необходимо оценить какие изменения есть на VAR по поводу таблиц, EDT, Base Enums чтобы понять стоит ли их поднять на CUS слой или нет, доступ есть на BUS, VAR, CUS слои, так что с подъемом или удалением чего то со слоя нет проблем. я все делаю в тестововом приложении, а для новой базы данных есть бэкапы. вообщем попробую оценить что стоит перенести из VAR (поднятием на CUS) или же можно чистить VAR до того чтобы оставить в нем все целесеобразное. у меня на var модифированы объекты Application, работа c Global Cache, Class Factory похоже какие то технические кастомизации. из за именно этих кастомизаций как раз и не грузится клиент ax 2009. как только убираю axVAR.aod из приложения ax 2009 та нормально запускается. попробую почистить все эти кастомизации в VAR слое. спасибо за ответ, теперь очевидно как двигаться дальше. Последний раз редактировалось Evgeniy2020; 10.08.2010 в 18:21. |
|
10.08.2010, 21:09 | #4 |
Administrator
|
Со слоями VAR и BUS есть одна тонкость - лицензия. Когда Вы подкладываете эти слои в новое приложение, в которое еще не загружена лицензия на АХ2009, то система (что логично) считает, что лицензии на исполнение кода, написанного в VAR/BUS слое отсутствуют (Var layer Runtime, bus layer runtime), а значит этот код исполнять нельзя.
Поэтому, если у Вас есть объекты, которые инициализируются при старте системы или тем более исполняемый код - то система у Вас не запустится до ввода лицензий. Т.е. в Вашем случае - нужно запустить АХ без VAR-слоя (а лучше еще и без CUS,USR), залить в нее лицензии и НЕ СИНХРОНИЗИРУЯСЬ выйти из системы, чтобы подложить все слои. После чего уже можно запускать снова систему и уже синхронизацию.
__________________
Возможно сделать все. Вопрос времени |
|
10.08.2010, 23:17 | #5 |
Участник
|
Так я и делал. убрал все три слоя VAR, CUS, USR из девятки
сделал глобальную компиляцию. После чего успешно загрузил лицензии в девятку. После сразу закрыл клиента ax 2009 ничего более не делая. открыл клиента и уже появилась панель инструментов и доступ в AOT. затем вышел. добавил слои VAR CUS USR и перезапустил АОС девятки. затем уже начал разбираться дальше. убрал кастомизации с главных классов на VAR слое почистил класс Application ClassFactory Sys.. Dialog и т.д. и после уже стало лучше. |
|
Теги |
ax2009, ax3.0 |
|
|