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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.01.2007, 14:01   #21  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от mazzy
...
Совет опасный
...
Так а можно для непонятливых, в чем заключается опасность? Ссылочная целостность уже нарушена. Станет еще хуже?
__________________
С уважением,
glibs®
Старый 17.01.2007, 14:08   #22  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Вообще, хороший повод добавить Num в "Коррекцию основных типов"
Так пожалуй корректнее всего будет
__________________
-ТСЯ или -ТЬСЯ ?
Старый 17.01.2007, 14:42   #23  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AndyD Посмотреть сообщение
Что бы не трогать все таблицы и поля можно сначала из Axapta'ы пробежаться по AOT'у и выбрать таблицы, в которых есть поля с EDT num или его наследниками.
Сохранить найденные таблицы и поля в промежуточную таблицу и уже по ней вносить исправления в б/д.
Проще пробежаться в SQL по всем полям строкового типа.

Цитата:
Сообщение от glibs Посмотреть сообщение
Но если он под "123" уже понимает одно, а под " 123" — другое, то вот это проблема. И обрезанием пробелов она не вылечится.
Нет, такого нет.

Цитата:
Сообщение от Vadik Посмотреть сообщение
ты же не хочешь написать универсальный скрипт, который проанализирует и исправит все-все ошибки во всех-всех таблицах? это мы уже проходили (тема о дефрагментации RecId)
Скрипт не должен быть хитроумным.
Он должен пробегать все поля строкового типа NChar и убрать левые пробелы.
Без разницы, принадлежат ли они EDT или нет.

Цитата:
Сообщение от Vadik Посмотреть сообщение
да
Воодушевляет. Спасибо.
Но я бы перестраховался.
__________________
полезное на axForum, github, vk, coub.
Старый 17.01.2007, 14:53   #24  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
В общем, я за то, чтобы не программировать
__________________
С уважением,
glibs®
Старый 18.01.2007, 06:19   #25  
Maksim is offline
Maksim
Участник
Axapta Retail User
Ex AND Project
 
25 / 18 (1) ++
Регистрация: 28.03.2003
Адрес: г. Владивосток
После выравнивания делал скрипт, который убирал все лишние пробелы, все отработало за несколько часов, полет нормальный (база была под 30 гиг). Скрипт был написан на X++, использовал стандартный механизм "переименования записей" в аксапте.
Старый 18.01.2007, 10:22   #26  
36AC is offline
36AC
Участник
Аватар для 36AC
 
28 / 11 (1) +
Регистрация: 30.06.2005
Адрес: город М
Цитата:
Сообщение от Maksim Посмотреть сообщение
После выравнивания делал скрипт, который убирал все лишние пробелы
А где остались пробелы? Или скрипт писался для перестраховки?
Старый 19.01.2007, 06:50   #27  
Maksim is offline
Maksim
Участник
Axapta Retail User
Ex AND Project
 
25 / 18 (1) ++
Регистрация: 28.03.2003
Адрес: г. Владивосток
Цитата:
Сообщение от 36AC Посмотреть сообщение
А где остались пробелы? Или скрипт писался для перестраховки?
Там, где изменилось выравнивание.
Старый 09.06.2007, 12:17   #28  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Поднимаю тему. Тоже встала задача изменить выравнивание на "Влево" во всех таблицах БД. Что сделали:

1. Прибили все индексы непосредственно на сервере (БД Oracle).
2. Собрали в проект все родительские EDT с выравниванием вправо и одним махом изменили их на Влево.
3. Прошла синхронизация. С т.з. данных все корректно, значения сдвинулись влево, пробелы были удалены. У EDT и их наследников стало выравнивание влево. А вот в свойствах таблиц выравнивание отображается все равно Вправо! Хотя все работает корректно, записи создаются правильно и т.д.

Т.е. для меня остался без ответа первый вопрос автора: как изменить отображение свойств таблиц?
__________________
Андрей.
Старый 09.06.2007, 13:14   #29  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Dron AKA andy Посмотреть сообщение
А вот в свойствах таблиц выравнивание отображается все равно Вправо!
Правая кнопка мыши на таблице \ Восстановить.

Или перегрузите Аксапту.
Это в кэше остались значения.
__________________
полезное на axForum, github, vk, coub.
Старый 09.06.2007, 14:20   #30  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Это все, естественно, проделали - не помогает. Сейчас идет глобальная компиляция, посмотрим на ее результат. Больше уже и не знаю, что делать. Снять-поставить расширенный тип на всех таблицах - не предлагать.
__________________
Андрей.
Старый 09.06.2007, 16:00   #31  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
На будущее. В коробке от 4.0 в разделе про апгрейд с 3.0 есть скрипты, которые выравнивают типы влево. В 4.0 отказались от выравнивания вправо. Почти :-).

Можно было воспользоваться ими.
__________________
С уважением,
glibs®
Старый 09.06.2007, 16:13   #32  
rINT is offline
rINT
Участник
 
31 / 21 (1) +++
Регистрация: 16.11.2004
Попробуйте запустить такой джобик. Для начала на одной таблице. У меня работает
X++:
static void changeAdjustment(Args _args)
{
    Dictionary  dictionary = new Dictionary();
    DictTable   dictTable;
    DictIndex   dictIndex;
    int         i,j;
    Counter     tables, recIdIndexTable;
    TreeNode    treeNode;
    DictField   dictField;
    Set         edt_Set = new Set(Types::Integer);
    ;

    for (i = 1; i <= dictionary.tableCnt(); i++)
    {
        j = 0;
        dictTable = new DictTable(dictionary.tableCnt2Id(i));

        if (!dictTable.isTmp() && !dictTable.isSystemTable() && !dictTable.isView() && !dictTable.isMap())
        {
            for (j = 1; j <= dictTable.fieldCnt(); j++)
            {
                dictField = new DictField(dictTable.id(), dictTable.fieldCnt2Id(j));

                if (edt_Set.in(dictField.typeId()))
                {
                    treeNode = TreeNode::findNode(strfmt("\\Data Dictionary\\Tables\\%1\\Fields\\%2", dictTable.name(), dictField.name()));
                    treeNode.AOTsetProperties("PROPERTIES"+"\n"+"Adjustment #Left"+"\n"+"ENDPROPERTIES");
                    treeNode.AOTsave();
                }
            }
        }
    }
}
Ваи остается только заполнить set идентификаторами всех EDT, включая наследников.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Выравнивание в репортах Alexanderrrr DAX: Программирование 4 01.04.2009 12:50
Ax 3.0 выравнивание влево Logger DAX: Программирование 9 31.07.2008 14:42
Выравнивание для ItemId exceptor DAX: Программирование 0 17.11.2005 17:39
Изменение выравнивания EDT NUM jaran DAX: Программирование 12 22.04.2005 09:57
Прижатие данных влево или вправо studentLPC DAX: Программирование 1 16.07.2003 11:43

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

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

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