Показать сообщение отдельно
Старый 26.04.2012, 08:23   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Есть способ обойтись без копирования данных и временных таблиц, но прийдётся немного извратиться. На форуме были сообщения о том, что можно создать в аксапте View c нужной структурой полей (название, тип, размер) и на уровне СУБД подменить текст этой вьюхи на любой другой с сохранением структуры View. Тогда аксапта не увидит подмены и будет работать с View как с родной, реально же данные будут собираться уже по новым правилам. Используя Linked Server можно затащить в такую вьюху данные из внежних БД.

Достоинства такого подхода. C получившейся вьюхой в аксапте можно будет работать используя любые стандартные механизмы, использовать в источниках данных, джойнить и т.д.

Недостаток тоже существенный. Вся эта подмена текста View на уровне СУБД живёт до первой операции синхронизации DictionaryData в аксапта. Т.е. при выполнение над такой View администратором аксапты штатной функции синхронизации текст View сбросится на исходный. Выход есть Запрет синхронизации объекта АОТ

P.S.: Ещё в голове возник альтернативный вариант решения задачи. Отказаться от аксаптовсткого Grid'а и сделать отображение через ActiveX/Web
За это сообщение автора поблагодарили: George Nordic (4).