Показать сообщение отдельно
Старый 10.01.2007, 12:11   #7  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от Jab Straight Посмотреть сообщение
Пользователи постоянно присылают нам MS SQL базы со своими полями, которые добавлены случайным образом в середину существующих таблиц. Акзапта всегда добавляет поля в середину или существует какой-то трюк, позволяющий добавлять поля в конец?
Помоему Аксапата всегда выстраивает поля по значению Id, по убыванию. Таким образом при создании поля, оно добавляется в начало списка, а после перезапуска Аксапты выстраивается по Id поля (может есть другой способ но у меня работает только после перезапуска), т.е. помещятся по порядку создания т.к. даже если поле удалить новое Id будет продолжать максимальное значение в этой таблице.

Нарушение этой последовательности происходит при удалении и импорте таблицы заново. Если таблица переписывается то Id не меняется.

Тут есть еще такая загвоздка что если импорт экспорт идет без указания Id, то при экспорте поля записываются в XPO в той последовательности в которой они отображаются на текущий момент в Аксапте, а при импорте Id поля принимается по порядку начиная с 50001. Т.е. если Вы создадите новое поле в табличке, экспортируете ее, удалите и заново импортируете то Id будут заданы сизнова.

Таким образом можно выставить последовательность полей как это требуется и пересоздать табличку через импорт-удаление-экспорт.
Очевидно что бы не было проблем с положением полей нужно делать экспорт и импорт с Id.
В Сиквеле поля хранятся в такой же последовательности как и в Аксапте (т.е. по возрастанию Id поля)