Показать сообщение отдельно
Старый 22.04.2005, 09:33   #12  
DenisS is offline
DenisS
Участник
 
65 / 24 (1) +++
Регистрация: 01.09.2003
Столкнулись с той же проблемой. Решение было такое:

1. Создать в БД средствами Axapta табличку (Fields_varchar_30) с полями TABLE_NAME, FIELD_NAME, в которую записать все имена полей таблиц, у которых изменится выравнивание и длина которых более 30 символов

2. По этой табличке в Query Analyzer прогнать скрипт:

DECLARE @TABLE_NAME sysname, @COLUMN_NAME sysname
DECLARE Cur CURSOR LOCAL FAST_FORWARD FOR
SELECT
TABLE_NAME, FIELD_NAME
FROM Fields_varchar_30
OPEN Cur
FETCH NEXT FROM Cur INTO @TABLE_NAME, @COLUMN_NAME
WHILE @@FETCH_STATUS = 0 BEGIN
EXEC('UPDATE ' + @TABLE_NAME + ' SET ' + @COLUMN_NAME + ' = ltrim('+@COLUMN_NAME+')')
FETCH NEXT FROM Cur INTO @TABLE_NAME, @COLUMN_NAME
END
CLOSE Cur
DEALLOCATE Cur

3. Далее синхронизация средствами Axapta проходит без проблем.


4. Одно НО !!!!:
При изменении выравнивания в расширенном типе данных в AOT в поле таблицы выравнивание остается прежним!. Синхронизация, Компиляция и бубен не помогают.
Кто сталкивался с этим - это криминально или нет???