|  24.02.2009, 18:55 | #1 | 
| Участник | Изменение  fieldId 
			
			Microsoft Dynamics 4.0 kernel version 4.0.2501.116 application version 4.0.2501.347 Как можно поменять fieldId без потери информации? Поиск по форуму и модификация SqlDictionary и UtilIdElements ни к чему не привели.   | 
|  | 
|  24.02.2009, 20:30 | #2 | 
| Модератор | 
				__________________ -ТСЯ или -ТЬСЯ ? | 
|  | 
|  25.02.2009, 10:01 | #3 | 
| Moderator | 
			
			А то же самое для 3.0 никто не подскажет?
		 
				__________________ Андрей. | 
|  | 
|  25.02.2009, 10:09 | #4 | 
| Administrator | 
			
			Дык это.... не делая синхронизацию - трем записи в SQLDictionary про эту таблицу. Потом делаем \Администрирование\Периодические операции\Администрирование SQL\Проверка/синхронизация для нашей таблицы. Соответственно - в SQLDictionary запишется инфа о fieldID из АОТа. В конце концов в SQLDictionary напрямую можно сменить fieldId, если дело касается одного поля. Я не очень понимаю - почему модификация SQLDictionary у автора топика не решила его проблему. Может потому, что он менял UtilIdElements, либо делал синхронизацию до всех изменений. Синхронизация - она ж тупо сравнивает АОТ и SQLDictionary. И если есть расхождения по ID - то старый стирает в таблице (с удалением поля), и новый создает (с созданием поля). Поэтому - если поле просто переименовано - то Аксапта "догадается" - что его надо не грохать, а просто переименовать. 
				__________________ Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 25.02.2009 в 10:17. | 
|  | 
|  25.02.2009, 10:10 | #5 | 
| Moderator | 
			
			Мне бы наоборот, в АОТ поменять...
		 
				__________________ Андрей. | 
|  | 
|  25.02.2009, 10:31 | #6 | 
| Administrator | 
			
			ааа.. ну это другое дело. Только для сохранения данных важно - чтобы в АОТ и SQLDictionary ID-шники совпадали. Первый способ - простой - экспорт с сохранением ID, изменение ID в XPO, удаление объекта из текущего слоя и импорт с сохранением ID Второй - это попробовать поиграться с UtilElements*. Но там 2 таблички - UtilElements и UtilIdElements. Тут не скажу точно - надо пробовать. У автора смотрю не получилось. Тут могут быть только рекомендации делать это в 2-шке. Может еще что-то потребуется - надо исследовать 
				__________________ Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 25.02.2009 в 10:35. | 
|  | 
|  25.02.2009, 10:32 | #7 | 
| Member | 
			
			В АОТ можно экспортом-импортом с сохранением идентификаторов. Но аккуратно.
		 
				__________________ С уважением, glibs® | 
|  | 
|  25.02.2009, 10:41 | #8 | 
| Administrator | 
			
			кстати. Мысль пришла. Очевидно - что изменение в UtilIdElements может погоды не сделать... до тех пор пока "жив" axapd.aoi. Но это - только мысль - ее надо проверять.
		 
				__________________ Возможно сделать все. Вопрос времени | 
|  | 
|  25.02.2009, 12:07 | #9 | 
| MCITP |   Цитата: Это же не таблица на самом деле, в том смысле, что это не таблица в БД.. Это что-то типа "проекции структуры приложения в таблицу".  Типа представления объектов приложения (которые на самом деле хранятся в бинарном виде в файле АОТ) в удобном виде. Поменять в ней ID из БД не получится, так как там её нет, а из Аксапты тоже не получается, пробовал: Цитата: 
		
			Невозможно отредактировать запись в "UtilIdElements" ("UtilIdElements"). Номер записи не соответствует первоначальному номеру.  Так что я вижу наиболее реальным только вариант экспорт-импорт... 
				__________________ Zhirenkov Vitaly | 
|  | 
|  25.02.2009, 12:25 | #10 | 
| Участник | 
			
			Dron AKA andy Была тема с твоим участием по этому поводу Изменение идентификаторов(id) полей 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  | 
|  25.02.2009, 13:14 | #11 | 
| Administrator | 
			
			Есть у меня бааальшое подозрение, что aod-файлы - представляют собой набор таблиц (а-ля mdb-файл) или одну большую таблицу (а-ля dbf-файл), только в "своем", конкордовском формате. Было бы интересно поставить какой-нибудь XAL и попытаться прочесть эти файлы как БД. Я могу ошибаться. Это всего лишь гипотеза. 
				__________________ Возможно сделать все. Вопрос времени | 
|  | 
|  25.02.2009, 15:13 | #12 | 
| Moderator | Цитата: 
		
			Сообщение от AndyD
			   Dron AKA andy Была тема с твоим участием по этому поводу Изменение идентификаторов(id) полей   
				__________________ Андрей. | 
|  | 
|  25.02.2009, 18:03 | #13 | 
| Участник | Цитата: ключ -native при запуске переводит Аксапту 3.0 в режим работы с базой данных собственного формата. Файл базы данных собственного формата (был) похож на aod изнутри. Давно проверял. Про последние версии и сервис-паки уже не знаю. | 
|  | |
| За это сообщение автора поблагодарили: belugin (17), Logger (1). | |