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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.09.2014, 13:45   #1  
Pandasama is offline
Pandasama
Участник
 
449 / 133 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
странные CIL ошибки при апгрейде
Делаю апгрейд с Ax2009 на Ax2012R3

В Data Upgrade checklist в пункте Presynchronize (upgrade) на трети тасков посыпались ошибки:
ошибки примерно такие:
X++:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Dynamics.Ax.Application.SysDictClass.invokeObjectMethod(XppObjectBase _object, String _methodName, Boolean _tryBaseClass, Boolean ) in SysDictClass.invokeObjectMethod.xpp:line 18
   at Dynamics.Ax.Application.ReleaseUpdateDB.Run(String methodName, sysReleasedVersion scriptVersion, Boolean force) in ReleaseUpdateDB.run.xpp:line 52
   at Dynamics.Ax.Application.ReleaseUpdateExecute.Run() in ReleaseUpdateExecute.run.xpp:line 37
   at Dynamics.Ax.Application.BatchRun.runJobStaticCode(Int64 batchId) in BatchRun.runJobStaticCode.xpp:line 54
   at Dynamics.Ax.Application.BatchRun.runJobStatic(Int64 batchId) in BatchRun.runJobStatic.xpp:line 13
   at BatchRun::runJobStatic(Object[] )
   at Microsoft.Dynamics.Ax.Xpp.ReflectionCallHelper.MakeStaticCall(Type type, String MethodName, Object[] parameters)
   at BatchIL.taskThreadEntry(Object threadArg)
второй вид ошибки (всего их два разных, первый - на скриптах модуля Ledger, второй - на других скриптах):
X++:
System.NullReferenceException: Object reference not set to an instance of an object.    
at Dynamics.Ax.Application.ReleaseUpdateDB.indexAllowDup(DictIndex _dictIndex) in ReleaseUpdateDB.indexAllowDup.xpp:line 12
для примера, два скрипта, один выполнился, другой нет
allowDupRCashParametersKeyIdx выдал ошибку
allowDupRCashTransAccDocTypeIdx отработал

X++:
public void allowDupRCashParametersKeyIdx()
{
    ReleaseUpdateDB::indexAllowDup(new DictIndex(tableNum(RCashParameters), indexNum(RCashParameters, KeyIdx)));
}
X++:
public void allowDupRCashTransAccDocTypeIdx()
{
    ReleaseUpdateDB::indexAllowDup(new DictIndex(tableNum(RCashTrans),
                                                 indexNum(RCashTrans, AccDocTypeIdx)));
}
таблицы обе существуют, индексы существуют, особых различий в параметрах таблиц не увидел
ошибка на System.NullReferenceException: Object reference not set to an instance of an object. at Dynamics.Ax.Application.ReleaseUpdateDB.indexAllowDup(DictIndex _dictIndex) in ReleaseUpdateDB.indexAllowDup.xpp:line 12

X++:
static void indexAllowDup(DictIndex _dictIndex)
{
    DictTable dictTable = new DictTable(_dictIndex.tableid()); //это 12я строка, она без условия
    ;
здесь, как я понимаю, "Object reference not set to an instance of an object", может относится только к _dictIndex.tableid() - т.е. _dictIndex (параметр метода) не создан
создается он выше указанных методах одинаково new DictIndex(tableNum(<таблица>), indexNum(<таблица>, <индекс>))
почему он мог в одном случае не создаться при вызове new (и при этом не дать ошибки на new) - я не понимаю

если содержимое этих же скриптов запускаю через джоб - отрабатывает все нормально, т.е. при запуске из X++ работает, а при CIL (это, как я понимаю, именно он судя по стеку ошибки) - нет

вопрос
1) в чем может быть проблема, в какую сторону смотреть?
2) можно ли форсированно эти (и следующие, во избежание проблем) апгрейд-джобы запускать толкьо как X++ код, без CIL ?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AXBR: AX2012 – Common Intermediate Language (CIL) – (Parte I) Blog bot DAX Blogs 0 04.04.2013 09:11
X++ to CIL Blog bot DAX Blogs 0 01.04.2013 14:11
X++: X++ Arrays Behave Differently in .NET CIL, in Dynamics AX 2012 Blog bot DAX Blogs 0 17.09.2012 23:11
emeadaxsupport: In Microsoft Dynamics AX 2012, compiler output setting of Message Window may cause errors when generating (incremental) CIL Blog bot DAX Blogs 0 16.03.2012 23:12
X++: X++ Function num2Str: Difference in .NET CIL Mode Blog bot DAX Blogs 0 09.03.2012 07:45

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

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

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