26.04.2012, 00:35 | #1 |
Участник
|
Axapta 2009 (AX 2012)
Доброе время суток!
Посоветуйте варианты отображения в форме (в Grid'e) данных из внешних СУБД. т.е. требуется не "заливать" данные в таблицы Axapta, а просто отобразить их в форме. Какие есть варианты? |
|
26.04.2012, 01:05 | #2 |
Участник
|
Расскажите сперва об исходной постановке задачи. Не верю, что это "просто отображать данные из внешних СУБД на формах АХ".
|
|
26.04.2012, 06:40 | #3 |
Сам.AX
|
Alek_sk вы не сказали какая у вас СУБД, и из какое хотите брать данные, но если у вас SQL Server то посмотрите вариант со Связанные серверы - Linked Server, который позволяет вполне комфортно получать данные из многих сторонних СУБД, это конечно не ответ на вопрос как отобразить.
А отобразить можно и через временную таблицу в источнике данных формы (если конечно ничего не путаю, проверить не на чем), если будет чересчур тормозну-то, можно пробовать варианты с заполнением постоянных таблиц. В общем действительно уточнили бы где в вас возникли проблемы. Цитата:
К примеру: Данные со SCADA или MES которые пока не интегрированны с DAX, особо упёртый технолог или КИП-вец, захочет смотреть показания датчиков, графиков из любимой Axapta. Потому что ему неудобно или просто лень, да и не барское вовсе это дело елозить между приложениями, а между формочками самое-то. Или тот же СКУД (Система контроля и управления доступом), с грозным руководителем СБ, который между утверждением/вбитием документов в DAX, захочет взглянуть на показание вертушек проходной, что бы узнать на территории ли сейчас некто Иванов, а руководитель этот по должностным инструкциям может держать в голове пароль только от одной из систем Отнеситесь к эти примерам с должной иронией, думаю могут быть и другие более реалистичные варианты, но даже эти хотелки могут быть вполне продавлены руководителями смежных подразделений.
__________________
"Считать метафору доказательством, поток праздных слов источником истины, а себя оракулом - это заблуждение, свойственное всем нам." Поль Валери Последний раз редактировалось driller; 26.04.2012 в 06:46. |
|
26.04.2012, 08:23 | #4 |
Участник
|
Есть способ обойтись без копирования данных и временных таблиц, но прийдётся немного извратиться. На форуме были сообщения о том, что можно создать в аксапте View c нужной структурой полей (название, тип, размер) и на уровне СУБД подменить текст этой вьюхи на любой другой с сохранением структуры View. Тогда аксапта не увидит подмены и будет работать с View как с родной, реально же данные будут собираться уже по новым правилам. Используя Linked Server можно затащить в такую вьюху данные из внежних БД.
Достоинства такого подхода. C получившейся вьюхой в аксапте можно будет работать используя любые стандартные механизмы, использовать в источниках данных, джойнить и т.д. Недостаток тоже существенный. Вся эта подмена текста View на уровне СУБД живёт до первой операции синхронизации DictionaryData в аксапта. Т.е. при выполнение над такой View администратором аксапты штатной функции синхронизации текст View сбросится на исходный. Выход есть Запрет синхронизации объекта АОТ P.S.: Ещё в голове возник альтернативный вариант решения задачи. Отказаться от аксаптовсткого Grid'а и сделать отображение через ActiveX/Web |
|
|
За это сообщение автора поблагодарили: George Nordic (4). |
26.04.2012, 09:41 | #5 |
Участник
|
Работали именно по описанной S.Kuskov схеме.
формы в АХ работали с данными из другой БД, но на том же сиквеле. В синхронизации была сделана проверка на список таких таблиц и их игнорирование. То есть, схема подмены реальной таблицы (не обязательно делать саму Вью именно в АХ, это может быть именно таблица) на самой СУБД рабочий. АХ этим очень хорошо дурится, а уже СУБД решает вопрос, как эту таблицу заменить вьюхой и из чего ее набрать. |
|
|
За это сообщение автора поблагодарили: George Nordic (2). |
26.04.2012, 13:48 | #6 |
Участник
|
Спасибо за советы.
Задача связана именно с отображением данных, пойду изучать Linked Server. |
|
26.04.2012, 14:12 | #7 |
Программатор
|
|
|
26.04.2012, 15:56 | #8 |
Участник
|
Тоже столкнулись с подобной проблемой недавно, сделали тоже обманом аксапты через вьюхи, но не запрещали синхронизацию, а на таблицу sysConfig тригер добавил after update на пересоздание вьюх, которые аксапта под себя переделывает. Работает нормально.
|
|
|
|