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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.05.2010, 11:44   #1  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
Id полей при переходе на AX 2009
Переходим с AX 4 на AX 2009, в 4 была своя табличка, в которой ID полей не последовательны, т.к. удалялись поля. Перенес табличку в приложение 2009. В 2009 ID стали по-порядку. При синхронизации аксапта выдает ошибку преобразования данных одного поля в другое (естественно потому что тип данных различен). То есть, насколько я понял, синхронизирует не по имени поля а по ID. А с этим ID в старой аксапте было другое поле.
Как можно избежать этого?
Старый 11.05.2010, 11:54   #2  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
переносить c сохранением ID
Старый 11.05.2010, 12:02   #3  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
Цитата:
Сообщение от belugin Посмотреть сообщение
переносить c сохранением ID
Вы имеете ввиду "Импортировать со значениями кодов" ?
При импорте стояла эта галочка. Сейчас еще раз попробовал таблицу импортнуть, но все так же осталось.
Смотрю в xpo файле блокнотом, айдишники как в старой аксапте, все нормально. Гружу в 2009 с этим параметром и всеравно последовательность выстраивается.

Последний раз редактировалось propeller; 11.05.2010 в 12:10.
Старый 11.05.2010, 12:11   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от propeller Посмотреть сообщение
При импорте стояла эта галочка.
А при экспорте?
Цитата:
Сообщение от propeller Посмотреть сообщение
Сейчас еще раз попробовал таблицу импортнуть, но все так же осталось.
Предварительно удалите таблицу, если она уже была импортирована
За это сообщение автора поблагодарили: propeller (1).
Старый 11.05.2010, 14:53   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,317 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Да не нужно никакого сохранения ID - просто нужно чтобы в табличке SQLDictionary стояли бы те же ID, что и в АОТе.
Для этого:
1. Импортните все XPO такими как они есть
2. Узнайте ID вашей таблички (табличек)
3. Удалите из таблички SQLDictionary записи : DELETE FROM SQLDICTIONARY WHERE TABLEID = Ваш_ID
4. Зайдите в \Администрирование\Периодические операции\Администрирование SQL
5. Выберите ваши таблицы и нажмите меню Проверка-Проверка/Синхронизация.
6. В открывшемся окне нажмите кнопку "Экспорт в DDL". Укажите путь к текстовому файлу, в который будут сохранены команды Transact-SQL
7. Откройте файлик блокнотом и скопируйте из него в SQL Management Studio только те строчки, которые относятся к табличке SQLDictionary. Это строчки вида INSERT INTO "DBO".SQLDICTIONARY .... (строчку DELETE FROM "DBO".SQLDICTIONARY ... мы уже выполнили на 3-м шаге)
8. Выполните скрипт.
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 11.05.2010 в 14:58.
За это сообщение автора поблагодарили: Logger (3), S.Kuskov (1).
Старый 11.05.2010, 15:23   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Да не нужно никакого сохранения ID - просто нужно ...
Просто? Проще чем поставить галку?
Старый 11.05.2010, 16:05   #7  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,317 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Согласен, что конечно поставить галку проще. Но у галки есть особенность, про которую нужно помнить. А именно то, что на каком-то этапе может возникнуть конфликт id-шников (конечно это может проявиться только при подкладывании слоев). Мелочь конечно... Но на мой (личный правда) взгляд - лучше сразу (в момент перехода на версию) БД подвести под приложение.
С другой стороны, если ID таблиц / полей хранятся в БД - то однозначно их лучше не менять - есть риск получить рассогласование с данными.

В общем - есть 2 рецепта - галка и приведенный мной алгоритм. Так что - есть выбор - кому что по вкусу
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: propeller (1).
Старый 12.05.2010, 10:31   #8  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
3. Удалите из таблички SQLDictionary записи : DELETE FROM SQLDICTIONARY WHERE TABLEID = Ваш_ID
Только не TABLEID а TABID вроде как.
Старый 12.05.2010, 10:45   #9  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,317 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от propeller Посмотреть сообщение
Только не TABLEID а TABID вроде как.
Если выполнять команду из SQL Management Studio - то именно TABLEID. Синтаксис приведен именно в формате Transact-SQL
__________________
Возможно сделать все. Вопрос времени
Старый 13.05.2010, 10:40   #10  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
еще вопрос
Еще вопросик сюда же кину:
Завершили весь список обновления, все прошло успешно.
Но, в некоторых табличках, которые создавали сами, нет данных причем в компании DAT все нормально.
Зашел в бд на sql -server данные в табличках есть для всех компаний, dataareaId заполнено нормально. Но аксапта показывает что пусто.
В чем может быть дело? в какую сторону думать?
Спасибо
Старый 13.05.2010, 12:29   #11  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,317 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
а с виртуальными компаниями игр не было? Типа того, что табличка, входящая в виртуальную компанию вдруг резко перестала в нее входить или наоборот "случайно" вошла ("потерялась" табличная коллекция в настройке виртуальной компании)
__________________
Возможно сделать все. Вопрос времени
Старый 13.05.2010, 17:10   #12  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
а с виртуальными компаниями игр не было? Типа того, что табличка, входящая в виртуальную компанию вдруг резко перестала в нее входить или наоборот "случайно" вошла ("потерялась" табличная коллекция в настройке виртуальной компании)
Да, все верно именно так и было, разобрались, подправили.
Теперь еще ошибка при открытии договоров
"Невозможно выбрать запись в Договоры (RContractTable). Группа договоров: , .
База данных SQL обнаружила ошибку."
В бд данные в этой таблице по компаниям есть.
В чем может быть причина ошибки?
Старый 13.05.2010, 17:33   #13  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
обычно в Event log или в соседнем сообщении infolog или в логе АОСа написано, в чем причина ошибки
Старый 13.05.2010, 17:51   #14  
propeller is offline
propeller
Участник
Аватар для propeller
 
359 / 29 (1) +++
Регистрация: 25.07.2007
Цитата:
Сообщение от belugin Посмотреть сообщение
обычно в Event log или в соседнем сообщении infolog или в логе АОСа написано, в чем причина ошибки
Посмотрел в логе, ошибка из за того что два поля есть в приложении но их нет в табличке в БД на SQL server, в SQLDictionary есть запись об этих полях. Синхронизация/проверка этой таблицы проходит без ошибок. Как сделать чтобы эти поля появились в таблице в бд? (есть вариант руками там создать, но хотелось бы аксаптой)
Пока сделал так: удалил из SQLDictionary 2 строчки с этими полями, и прогнал синхронизацию/проверку по этой табличке - поля создались.

Последний раз редактировалось propeller; 13.05.2010 в 17:58.
Старый 13.05.2010, 18:58   #15  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,317 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от propeller Посмотреть сообщение
Пока сделал так: удалил из SQLDictionary 2 строчки с этими полями, и прогнал синхронизацию/проверку по этой табличке - поля создались.
И это правильно
__________________
Возможно сделать все. Вопрос времени
Теги
как правильно, приложение

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
mbsturk: Ax 2009 Rollup 4 Version Checker Blog bot DAX Blogs 0 29.04.2010 17:05
emeadaxsupport: List of fixes that improve performance of certain features in Dynamics AX 2009 Blog bot DAX Blogs 0 13.10.2009 19:06
gatesasbait: Dynamics AX 2009 SSRS and SSAS Integration Tips Blog bot DAX Blogs 3 09.07.2009 13:07
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:07.