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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.04.2008, 09:26   #1  
Perc is offline
Perc
Участник
 
194 / 57 (2) ++++
Регистрация: 05.03.2005
Где ходит renamePrimaryKey()?
Как создать достоверный список таблиц и полей которое обойдет операция переименования кода через паспорт записи? renamePrimaryKey() я так понимаю..
Старый 10.04.2008, 09:50   #2  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Насколько я понял никак. RenamePrimaryKey() вызовится один раз, у той таблице для которой запустили переименование. Дальше все делается в системных методах.
См. метод SysRecordInfo.renamePrimaryKey().

А зачем Вам такое понадобилось?
Старый 10.04.2008, 10:06   #3  
Perc is offline
Perc
Участник
 
194 / 57 (2) ++++
Регистрация: 05.03.2005
нашел на форуме интуитивно навеяный rINTу джоб
Замена inventDimId во всех таблицах.
Но сдается мне здесь не будет точного соответсвия renamePrimaryKey().
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
А зачем Вам такое понадобилось?
Есть желание перекодировать большое число записей справочника. База уже большая и движений много. Перекодировка через паспорт записи подходит, но работает медленно и блокирует работу пользователей.
Появилась идея собрать список таблиц обновляемых и полей. Нагенерировать скриптов на sql и отработать все махом. Ну или попытаться оптимизировать переименование для большого списка записей на X++.
Соответсвенно возник вопрос, а как в общем случае определить и пройти по тем же таблицам и полям, что и renamePrimaryKey().//
Старый 10.04.2008, 10:17   #4  
otkudao
Гость
 
n/a
перекрестные ссылки по полю таблицы и ЕDT.
Старый 10.04.2008, 11:33   #5  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
нашел на форуме интуитивно навеяный rINTу джоб
Замена inventDimId во всех таблицах.
Но сдается мне здесь не будет точного соответствия renamePrimaryKey().
В указанном джобе идёт "отсмотр" только по одному EDT переименовываемого ключа и его наследникам. А, насколько я понимаю, renamePrimaryKey учитывает ещё и связи на таблицах и типах. Т.е. на это поле могут ссылатся и поля с другим ЕДТ. Типа какого-нибудь ТрансРефАйДи и т.п.
Так что, думаю, ответ: "Да, не будет."
__________________
Zhirenkov Vitaly
Старый 10.04.2008, 11:53   #6  
Perc is offline
Perc
Участник
 
194 / 57 (2) ++++
Регистрация: 05.03.2005
Цитата:
Сообщение от otkudao Посмотреть сообщение
перекрестные ссылки по полю таблицы и ЕDT.
Да, ну прежде их надо посчитать по всему дереву, что процесс совсем не быстрый Ну и потом заняться анализом списка ссылок. Случай что нинаесть самый общий )Пойдет.
Просто верилось, что есть какой-то волшебный класс который позволит сделать джоб из трех слов и аля.. получить что хотелось.
Старый 10.04.2008, 12:08   #7  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от Perc Посмотреть сообщение
Да, ну прежде их надо посчитать по всему дереву, что процесс совсем не быстрый
Насоклько я понимаю, используются перекрестные ссылки т.н. Модели данных, а она перестраивается быстро, примерно минуту.
__________________
Андрей.
Старый 10.04.2008, 12:15   #8  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Dron AKA andy Посмотреть сообщение
Насоклько я понимаю, используются перекрестные ссылки т.н. Модели данных, а она перестраивается быстро, примерно минуту.
Не. В этом случае можно будет только иерархию типов посмотреть. А этого мало в данном случае. Придется все перекрестные ссылки строить (можно конечно их в фильтре ограничить только по ЕDT)
Старый 10.04.2008, 14:00   #9  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Не. В этом случае можно будет только иерархию типов посмотреть. А этого мало в данном случае. Придется все перекрестные ссылки строить (можно конечно их в фильтре ограничить только по ЕDT)
Иерархия типов - то отдельная галочка
А Модель данных позволяет в запросе по Ctrl+F3 таблицы добавлять 1:n или n:1. Мож все же это оно?
__________________
Андрей.
Старый 10.04.2008, 11:58   #10  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Можно еще вот этот проектик посмотреть/подкорректировать
Переименование поля
Старый 10.04.2008, 12:34   #11  
otkudao
Гость
 
n/a
Цитата:
Да, ну прежде их надо посчитать по всему дереву, что процесс совсем не быстрый
на самом деле час- полтора. Быстрее, чем вы на форуме выясняете...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Где перекрыт метод в классе miklenew DAX: База знаний и проекты 5 29.05.2008 11:07
Подскажите где создается в Аксапте ReportTemplate? Hidden DAX: Функционал 1 30.06.2005 16:02
Где что хранится? Kengo DAX: Программирование 10 11.11.2004 13:05
Где отчёт?... 2b4fITin DAX: Программирование 1 18.09.2003 20:46
3.0: где активировать цены по скл. аналитикам ? Zabr DAX: Функционал 5 20.06.2003 11:12
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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