|
![]() |
#1 |
Участник
|
Глюк с таблицей RpayHRMOrganization в DAX2009
С момента перехода на 2009 наблюдается следующий глюк:
таблица RpayHRMOrganization периодически исчезает из АОТ, хотя из датасорса формы открывается в обозревателе и в администрировании SQL она тоже есть. Но в методах она не доступна, то есть при попытке компиляции методов, где она используется, выдается сообщение, что переменная не была объявлена. Хотя ранее скомпилированное работает без проблем. Как с этими исчезновениями можно бороться? и из-за чего это может происходить? ПС версия АХ на скрине, на чистую АХ установлено решение АНД-проджект "Зарплата и кадры", База данных на SQL2008. Id таблицы ни с чем не пересекается, проверено не однократно. ПС2 Через администрирование SQL таблицу синхронизируешь, перезайдешь в аксапту и таблица появилась. Последний раз редактировалось d_alexe; 20.09.2013 в 10:36. |
|
![]() |
#2 |
Участник
|
Может вам в приложении индексы (*.aoi) пересоздать ?
|
|
![]() |
#3 |
Участник
|
В схожей ситуации помогла переиндексация в средствах разработки (Сервис \ Средства разработки \ Объекты приложения \ Переиндексация)
__________________
Здесь могла быть Ваша реклама! |
|
![]() |
#4 |
Участник
|
И логику переиндексировали и глобальную компиляцию запускали, ни чего не помогает
не как таблицу вернуть я знаю, а вот почему она пропадает и как от этого избавиться, вот в чем вопрос |
|
![]() |
#5 |
Участник
|
Слава богу, а то думал у меня одного такие глюки, первый раз зайду она есть , второй раз в аоте уже ее нет. Плюнул захожу через проекты.))
|
|
![]() |
#6 |
Участник
|
так она и в проектах так же, то есть, то нет.
… Видишь суслика? — Нет. — И я не вижу. А он есть! (c)ДМБ вот и тут так же |
|
![]() |
#7 |
Участник
|
Странно, у нас пропадает только из самого аоса, редко но бывает, в проектах остается.
|
|
![]() |
#8 |
Участник
|
Столкнулись с похожей проблемой. Победили так. Запустите следующий джоб (ногами не пинать – писали начинающие стажеры), если джоб найдет ошибки, то надо будет написать ещё один джобик, который удалить "испорченные" объекты.
X++: // Поиск дубликатов объектов с различными ID static void findDuplicateJob_LRA(Args _args) { Dictionary dict1 = new Dictionary(); Dictionary dict2 = new Dictionary(); DictTable dictTable1; DictTable dictTable2; DictEnum dictEnum; DictType dictType; int i1, i2, num; ; // Обработка таблиц for (i1 = 1; i1 <= dict1.tableCnt(); i1++) { dictTable1 = new DictTable(dict1.tableCnt2Id(i1)); if (dictTable1) { print strFmt("%1 из %2 %3", i1, dict1.tableCnt(), dictTable1.name()); for (i2 = i1+1; i2 <= dict2.tableCnt(); i2++) { dictTable2 = new DictTable(dict2.tableCnt2Id(i2)); if (dictTable2) { if (dictTable1.name() == dictTable2.name() && dictTable1.id() != dictTable2.id()) { // Здесь собственно и есть ошибка error(strFmt("Ошибка в объекте %1 %2 %3", dictTable1.name(), dictTable1.id(), dictTable2.id())); num++; } } else { info(strFmt("Ошибка при инициализации Table %1", dict2.tableCnt2Id(i2))); } } } else { info(strFmt("Ошибка при инициализации Table %1", dict2.tableCnt2Id(i2))); } } info(strFmt("Готово! Ошибок %1", num)); } «Сервис \ Средства разработки \ Объекты приложения \ Переиндексация» у нас безвозвратно подвисала Dynamics AX. Последний раз редактировалось LRA; 23.09.2013 в 15:57. |
|
![]() |
#9 |
Участник
|
По-пробовал не помогло. "Ошибок 0."
В общем-то, как и ожидалось, так как на пересечения по Id или названию проверялись в-первую очередь. |
|
![]() |
#10 |
Участник
|
Я замечал, что такие глюки бывают из-за того, что на разных слоях объект существует с названием в разных регистрах символов (например RPayHRMOrganization и RpayHRMOrganization).
|
|
|
За это сообщение автора поблагодарили: Logger (3), Ace of Database (3), Ivanhoe (1), d_alexe (1). |
![]() |
#11 |
Участник
|
Цитата:
SL2 - RPayHRMOrganization, а на CUS & USR - RpayHRMOrganization теперь надо пробовать переименовать как-то, в лоб не получилось ![]() |
|
![]() |
#12 |
Участник
|
Я думаю, надо попробовать послойно экспортировать слои в XPO, потом удалить из AOT, поправить регистр в XPO и импортировать в обратном порядке (данные могут покриветь, если пройдёт синхронизация таблиц -- в зависимости от имеющихся модификаций на удаляемых слоях. Вообще лучше на тестовой инсталляции опробовать для начала).
|
|
![]() |
#13 |
Участник
|
Цитата:
Ну это само собой разумеющиеся ![]() ![]() |
|