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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.12.2014, 16:17   #1  
Мышелов Федор is offline
Мышелов Федор
Участник
 
26 / 10 (1) +
Регистрация: 26.02.2014
:( Битый AOT
Приветствую!

У нас стоит Axapta 3.0 (рабочая из трех звеньев) и такая же Axapta (для разработки только из двух звеньев), последняя стоит на общем диске. Признаюсь честно данный диск периодически улетал и с доступом к нему были проблемы. Буквально неделю назад были замечены повреждения в AOT-е, а именно в ExtendedDataTypes и Forms. В ExtendedDataTypes были обнаружены разорванные Relation, а в Forms было замечена потеря в Data Source наименования таблицы. После проведенных расследований виновников данных ошибок найдено не было и мы стали грешить на общий диск, и да ко всему этому были выявлены пустые записи в системной таблице UtilElements

Уважаемые знатоки прошу Вашей помощи, может кто то решал данные проблемы и сталкивался с данными проблемами.
Миниатюры
Нажмите на изображение для увеличения
Название: AOT-Forms.jpg
Просмотров: 322
Размер:	236.0 Кб
ID:	9104   Нажмите на изображение для увеличения
Название: UtilElements.jpg
Просмотров: 411
Размер:	208.6 Кб
ID:	9105  

Изображения
 
Старый 26.12.2014, 16:38   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,875 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Такое еще бывает когда модификацию переносят частями.
Сперва EDT
затем форму
а затем табличку.

Особенно если без сохранения идентификаторов. можете попробовать.
Может просто криво накатывали ?
За это сообщение автора поблагодарили: Мышелов Федор (1).
Старый 26.12.2014, 17:11   #3  
Мышелов Федор is offline
Мышелов Федор
Участник
 
26 / 10 (1) +
Регистрация: 26.02.2014
Спасибо за оперативность.
Действительно при таком способе накатывания связка в EDT-шке разрывается, но при всем этом остается вопрос как данные ошибки появились в SYS слое.
Старый 26.12.2014, 20:24   #4  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
856 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
восстановите из бакапа да и всё, зачем что-то чинить?
что значит "стоит на общем диске"?
что значит "диск улетал"? куда улетал? в космос? тогда вероятно он был поврежден радиоактивным излучением
За это сообщение автора поблагодарили: someOne (0).
Старый 29.12.2014, 08:59   #5  
Мышелов Федор is offline
Мышелов Федор
Участник
 
26 / 10 (1) +
Регистрация: 26.02.2014
"стоит на общем диске" - значит что Ax стоит на сетевом диске на котором кроме нее находится много всего интересного
"диск улетал" - значит что диск работал нормально а потом резко пропадал и Windows выдавал сообщение что данный диск недоступен
Старый 29.12.2014, 14:57   #6  
Мышелов Федор is offline
Мышелов Федор
Участник
 
26 / 10 (1) +
Регистрация: 26.02.2014
вот Job чтобы проверить наличие битых EDT - шок
X++:
static void findErrorRalations_SeveralRelation(Args _args)
{
Int             i;
QtyInteger      qtyLines;

DictType        dictType;
DictTable       relatedDictTable;
DictRelation    dictTypeRelation;

TableId         relatedTableId;
FieldId         relatedFieldId;

UtilElements    utilElements;
;
while select utilElements
       where utilElements.parentId == 0
          //&& utilElements.name == 'AssetSortingId'
          && utilElements.recordType == UtilElementType::ExtendedType {
    //---------------------------------------------------------------->
    dictType = new DictType(extendedTypeName2Id_RU(utilElements.name));//'PriceTagTaskId'));
    while (dictType) {
        dictTypeRelation = dictType.relationObject();

        if (dictTypeRelation == null) {
            break;
            }

        qtyLines = dictTypeRelation.lines();

        for (i=1; i<=qtyLines; i++) {
            if (dictTypeRelation) {
                relatedTableId = dictTypeRelation.table();
                relatedFieldId = dictTypeRelation.lineExternTableValue(i);
                relateddictTable = new DictTable(relatedTableId);
                if (relatedTableId == 0 || relatedFieldId == 0 || relateddictTable == null) {
                    info(utilElements.name);
                    continue;
                    }
                else {
                    continue;
                    }
                }
            else {
                dictType = null;
                break;
                }
            }
        dictType = null;
        }
    }
}
Старый 30.12.2014, 09:02   #7  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
870 / 637 (23) +++++++
Регистрация: 14.10.2004
Цитата:
Сообщение от Мышелов Федор Посмотреть сообщение
Приветствую!

В ExtendedDataTypes были обнаружены разорванные Relation, а в Forms было замечена потеря в Data Source наименования таблицы.
В АОТ отсутствуют таблицы, которые используются в качестве Datasource на формах и в качестве Relations на EDT.
Поищите эти таблицы в других ваших приложениях или проектах, сохраненных на компьютерах разработчиков. И перенесите найденные таблицы на это кривое приложение.
Тут дело скорее всего не в том, что диск "улетал", а в том, что кто-то либо удалил таблицы, либо накатил с другого приложения новые формы и EDT, а таблицы забыл перенести.

То есть тут чисто человеческий фактор. В более узком смысле - программистский.

UPD: не заметил в более позднем сообщении, что это у вас на SYS-слое. На картинках у вас показаны "самодельные" таблицы. Но все равно попробуйте накатить отсутствующие таблицы с других приложений, либо из бэкапа.

UPD2: я запутался Если у вас таблицы в приложении есть, то перенесите туда EDT и формы с резервного приложения. Но лучше целиком восстановить приложение из резервной копии, если она есть

Последний раз редактировалось Ace of Database; 30.12.2014 в 09:14.
Старый 30.12.2014, 09:20   #8  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
870 / 637 (23) +++++++
Регистрация: 14.10.2004
Я бы сделал так: так как у вас рабочий АОС в порядке, то можно не заморачиваться. Я создал бы девелоперский АОС, скопировал на него рабочее приложение и базу. И начал бы разработку в трехзвенке. Двухзвенка тут не нужна.
Старый 30.12.2014, 10:03   #9  
Мышелов Федор is offline
Мышелов Федор
Участник
 
26 / 10 (1) +
Регистрация: 26.02.2014
Спасибо за предложенный вариант, но к сожалению бэкапа нет((((((, а в других приложениях были найдены абсолютно те же битые типы. Но мы уже все восстановили руками))) осталось только 2 вопроса про пустые записи в системной таблице UtilElements и как в дальнейшем избежать ошибок с битыми типами потому как перенос доработок производится только после их выверки и только проектами которые содержат все типы таблицы и прочие необходимые элементы
Старый 30.12.2014, 11:01   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Мышелов Федор Посмотреть сообщение
но к сожалению бэкапа нет((((((
1. Бггг.
2. системные AOD-файлы нельзя изменить нормальным образом. Поэтому возьмите из дистрибутива непользовательские слои и из сервис-паков-хотфиксов патч-слои (.??P)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
emeadaxsupport: Troubleshooting AOT Synchronization Errors Blog bot DAX Blogs 0 21.09.2012 05:24
xplusplus: Dynamics AX Application Object Tree (AOT) Blog bot DAX Blogs 0 25.11.2010 18:11
emeadaxsupport: Renaming an AOT object in Dynamics AX 2009 that is under source control with Team Foundation Server Blog bot DAX Blogs 0 06.10.2009 02:05
C# and AX Development: AOS crashed due corrupted node in the AOT Blog bot DAX Blogs 3 29.06.2009 15:14
SysDictCoder: Changing properties of AOT objects in code Blog bot DAX Blogs 0 04.05.2009 20:05

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

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

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