17.01.2007, 14:01 | #21 |
Member
|
Цитата:
Сообщение от mazzy
...
Совет опасный ...
__________________
С уважением, glibs® |
|
17.01.2007, 14:08 | #22 |
Модератор
|
Вообще, хороший повод добавить Num в "Коррекцию основных типов"
Так пожалуй корректнее всего будет
__________________
-ТСЯ или -ТЬСЯ ? |
|
17.01.2007, 14:42 | #23 |
Участник
|
Цитата:
Цитата:
Цитата:
Он должен пробегать все поля строкового типа NChar и убрать левые пробелы. Без разницы, принадлежат ли они EDT или нет. Воодушевляет. Спасибо. Но я бы перестраховался. |
|
17.01.2007, 14:53 | #24 |
Member
|
В общем, я за то, чтобы не программировать
__________________
С уважением, glibs® |
|
18.01.2007, 06:19 | #25 |
Участник
|
После выравнивания делал скрипт, который убирал все лишние пробелы, все отработало за несколько часов, полет нормальный (база была под 30 гиг). Скрипт был написан на X++, использовал стандартный механизм "переименования записей" в аксапте.
|
|
18.01.2007, 10:22 | #26 |
Участник
|
|
|
19.01.2007, 06:50 | #27 |
Участник
|
|
|
09.06.2007, 12:17 | #28 |
Moderator
|
Поднимаю тему. Тоже встала задача изменить выравнивание на "Влево" во всех таблицах БД. Что сделали:
1. Прибили все индексы непосредственно на сервере (БД Oracle). 2. Собрали в проект все родительские EDT с выравниванием вправо и одним махом изменили их на Влево. 3. Прошла синхронизация. С т.з. данных все корректно, значения сдвинулись влево, пробелы были удалены. У EDT и их наследников стало выравнивание влево. А вот в свойствах таблиц выравнивание отображается все равно Вправо! Хотя все работает корректно, записи создаются правильно и т.д. Т.е. для меня остался без ответа первый вопрос автора: как изменить отображение свойств таблиц?
__________________
Андрей. |
|
09.06.2007, 13:14 | #29 |
Участник
|
Цитата:
Или перегрузите Аксапту. Это в кэше остались значения. |
|
09.06.2007, 14:20 | #30 |
Moderator
|
Это все, естественно, проделали - не помогает. Сейчас идет глобальная компиляция, посмотрим на ее результат. Больше уже и не знаю, что делать. Снять-поставить расширенный тип на всех таблицах - не предлагать.
__________________
Андрей. |
|
09.06.2007, 16:00 | #31 |
Member
|
На будущее. В коробке от 4.0 в разделе про апгрейд с 3.0 есть скрипты, которые выравнивают типы влево. В 4.0 отказались от выравнивания вправо. Почти :-).
Можно было воспользоваться ими.
__________________
С уважением, glibs® |
|
09.06.2007, 16:13 | #32 |
Участник
|
Попробуйте запустить такой джобик. Для начала на одной таблице. У меня работает
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(); } } } } } |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Выравнивание в репортах | 4 | |||
Ax 3.0 выравнивание влево | 9 | |||
Выравнивание для ItemId | 0 | |||
Изменение выравнивания EDT NUM | 12 | |||
Прижатие данных влево или вправо | 1 |
|