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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 31.01.2022, 11:49   #1  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
На будущее оставлю здесь ссылку на SQL-скрипт для AX2012
https://github.com/dodiggitydag/AX-2...model%20db.sql
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: mazzy (2), Logger (5).
Старый 15.04.2022, 17:54   #2  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,972 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
На будущее оставлю здесь ссылку на SQL-скрипт для AX2012
https://github.com/dodiggitydag/AX-2...model%20db.sql
Спасибо.
В скрипте не хватает обработки NumberSequenceDatatype.
За это сообщение автора поблагодарили: sukhanchik (10).
Старый 15.04.2022, 18:45   #3  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Спасибо.
В скрипте не хватает обработки NumberSequenceDatatype.
Ну так-то все таблицы, где присутствует в данных TableId или ExtendedDataTypeId надо обрабатывать. Соглашусь, что NumberSequenceDatatype из этого списка достаточно важная таблица.
__________________
Возможно сделать все. Вопрос времени
Старый 04.05.2023, 17:37   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,972 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
На будущее оставлю здесь ссылку на SQL-скрипт для AX2012
https://github.com/dodiggitydag/AX-2...model%20db.sql
Там похоже ошибка в этом месте
X++:
----------------------------------------------------------------------------------------------
-- Step 4 Fix the field ids in SQLDictionary which do not match
----------------------------------------------------------------------------------------------
PRINT 'Step 4';

WITH t AS (
    SELECT (
            SELECT m1.NAME
            FROM ModelElement m1
            WHERE m1.ElementHandle = m.ParentHandle
        ) AS [Table Name],
        m.NAME AS [mName],
        m.AXid,
        s.RECID,
        M.ParentId,
        s.TableId,
        s.FieldID,
        S.NAME,
        s.SQLNAME
    FROM ModelElement m
    LEFT OUTER JOIN AX2012DB.dbo.SQLDICTIONARY s
        ON m.ParentId = s.TABLEID
        AND s.NAME =  upper(m.NAME) collate Latin1_General_CI_AS
    WHERE m.ElementType = 42 -- UtilElementType::TableField
        AND (s.ARRAY = 1 OR s.ARRAY IS NULL)
        AND (s.FieldID > 0 OR s.FieldID IS NULL)
        AND s.FieldID != m.AxId
)
UPDATE AX2012DB.dbo.SQLDICTIONARY
SET FIELDID = (t.axid * -1) -- Set to a negative number but correct ID
FROM t join AX2012DB.dbo.SQLDICTIONARY s
ON upper(t.mName) collate Latin1_General_CI_AS = s.NAME
    AND s.FieldID <> 0
    AND s.TableId = t.ParentId
проблема в том что для табличек с наследованием (DirPartyTable -->..--> CompanyInfo) таблички наследники в ModelElement содержат ParentId равный идентификатору таблички (для CompanyInfo - будет 41 т.е. tableNum(CompanyInfo), а в SqlDictionary содержат в TableId значение корневой таблички иерархии, т.е. 2303 = tableNum(DirPartyTable) )

Последний раз редактировалось Logger; 04.05.2023 в 17:42.
За это сообщение автора поблагодарили: sukhanchik (10).
Теги
ax2009, sqldictionary, законченный пример

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Set записей таблицы OOuph DAX: Программирование 6 11.02.2008 10:27
Как добавить в фильтрацию записей доп. таблицы n:1 или 1:n? Hidden DAX: Программирование 6 11.08.2006 14:04
вывод количества записей в таблице на web форме и указание текущей страницы таблицы bambuk1960 DAX: Программирование 1 06.07.2006 13:27
Программное создание новых записей Владимир Максимов DAX: Программирование 35 06.03.2006 14:08
Lookupы при большом количестве записей выводимой таблицы Pavlo AKA Panok DAX: Программирование 9 07.05.2002 22:02
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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