Столкнулись с той же проблемой. Решение было такое:
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 в поле таблицы выравнивание остается прежним!. Синхронизация, Компиляция и бубен не помогают.
Кто сталкивался с этим - это криминально или нет???
|