Это все замечательно, но как вытащить из AXAPTA реальные, физические имена полей таблицы?
Т.е. поле типа Dimension - это поле типа массив. Хорошо, по DictField я определяю, что это массив из 4 элементов. Но ведь я получу имена вроде:
Dimension[1]
Dimension[2]
Dimension[3]
Dimension[4]
Но физически, на MS SQL им соответсвуют поля
Dimension
Dimension2_
Dimension3_
Dimension4_
Еще одна неприятность заключается в том, что количество символов в именах таблиц на MS SQL сервере ограничено 30 символами. В AXAPTA - несколько больше. В этом случае в MS SQL имя таких таблиц искусственно обрезается до 26 символов+4 цифры.
Короче, я просто не представляю как решить в общем случае задачу однозначной идентификации имен полей и таблиц AXAPTA и физических имен на MS SQL.
Поэтому, лучше не мудрить и писать скрипты напрямую в MS SQL (хранимые процедуры) и вызывать их из Crystal Reportе (если это возможно).
Правда, не совсем понятно, почему нельзя то же самое сделать через Connection напрямую из AXAPTA. И не нужно "лишний" продукт покупать.
|