Главная Программные продукты Microsoft Dynamics NAV Microsoft Dynamics NAV 3.70: Технологии - Пример использования свойства LinkedObject таблиц
Microsoft Dynamics NAV 3.70: Технологии - Пример использования свойства LinkedObject таблиц
Автор: Алексей Финогенов   
24.05.2007 09:39

Хотелось бы обратить внимание уважаемого читателя на возможность использования специфического свойства LinkedObject таблиц Microsoft Dynamics NAV (Navision) (актуально для SQL Option). LinkedObject позволяет при создании таблиц Microsoft Dynamics NAV (Navision) “прилинковать” их к какому-нибудь внешнему источнику данных.

Статья построена в виде примера с большим количеством screenshot-ов.

Примечание: полезную информацию о свойствах таблиц: LinkedObject, LinkedInTransaction можно подчерпнуть из on-line справки системы, а также из документа Application Designer’s Guide (w1w1adg.pdf) находящегося на Product CD.

В качестве исходный данных считаем, что у нас есть проинсталлированный Microsoft Dynamics NAV (Navision) версии 3.70 A (RU) /фирма - “CRONUS Россия ЗАО”/ и развернута SQL база с названием Navision370A.

“Линкуемся” к таблице из другой базы (sql сервер общий)

В качестве первого примера создадим таблицу Microsoft Dynamics NAV (Navision) “прилинкованную” к данным из базы данных pubs. И база Navision370A и база pubs является базами sql сервера local.

Для примера воспользуемся данными из таблицы authors.

В базе данных Navision370A создадим новый View (Просмотр).

В View (Просмотр) выберем из таблицы authors первые три поля.

Сохраним сформированный View (Просмотр) под именем “CRONUS Россия ЗАО$VIEW1”. Название просмотра должно быть оформлено в стандартном для таблиц Navision виде, т.е. с использованием названия фирмы.

Откроем получившийся View (Просмотр).

Следующим шагом перейдем к Microsoft Dynamics NAV (Navision). Создадим в системе новую таблицу. Поля этой таблицы дублируют первые три поля таблицы authors из базы pubs.

В свойствах таблицы LinkedObject = Yes, LinkedInTransaction = Yes.

Сохраним таблицу под названием VIEW1.

Откроем созданную таблицу Microsoft Dynamics NAV (Navision).

Откорректируем значение поля au_lname в первой строке.

Откроем таблицу pubs.authors через Enterprise Manager и убедимся что изменения данных поля au_lname проделанные через “прилинкованную” таблицу Microsoft Dynamics NAV (Navision) произведены.

В Enterprise Manager изменим значение поля au_lname таблицы pubs.authors и убедимся, что данные изменения нашли отражение в “прилинкованной” таблице Microsoft Dynamics NAV (Navision).

“Линкуемся” к данным из Excel-ского файла

Для второго примера создадим тестовый Excel-ский файл и “прилинкуемся” к этому файлу таблицей Microsoft Dynamics NAV (Navision).

Через Enterprise Manager создадим новый Linked Server.

Как видим, каждая из work sheet Excel-ского файла представлена в виде таблицы. Используя Linked Server можно писать обычные sql запросы. Такие как, например, на screenshot-е представленном ниже.

Через Query Analyzer создадим просмотр с названием “CRONUS Россия ЗАО$EXCEL1”.

Откроем сформированный просмотр.

Следующим шагом откроем Microsoft Navision. Создадим таблицу из трех полей подходящего типа и размерности.

В свойствах таблицы LinkedObject = Yes, LinkedInTransaction = No.

Сохраним таблицу под названием EXCEL1.

В Microsoft Dynamics NAV (Navision) откроем только что созданную таблицу и внесем исправления в поле Name1 первой строки.

Убедимся в том, что осуществленные через “прилинкованную” таблицу Microsoft Dynamics NAV (Navision) изменения нашли отражение в исходном Excel-ском файле.

Изменим теперь в свою очередь Excel-ский файл и убедимся в том, что изменения видны в “прилинкованной” таблице Microsoft Dynamics NAV (Navision).

Примечание: не забудьте сохранить и закрыть Excel-ский файл.

“Линкуемся” к таблице из другой базы (sql сервер другой)

В качестве третьего примера “прилинкуемся” к таблице authors из базы данных pubs, находящейся на другом sql сервере.

Создадим еще один Linked Server.

Назовем создаваемый Linked Server SQLSERVER1.

Обратите внимание на возможность выбора различных видов provider-ов данных.

На представленном выше screenshot-е указываем login к внешнему sql серверу.

Через Linked Server получаем ссылки на все таблицы внешнего источника.

Через Query Analyzer создадим View (Просмотр) с именем “CRONUS Россия ЗАО$SQLSERVER1”.

Следующим шагом вновь вернемся к Microsoft Dynamics NAV (Navision) и создадим новую таблицу из трех полей дублирующих первые три поля таблицы authors.

 

В свойствах таблицы LinkedObject = Yes, LinkedInTransaction = No. Сохраним таблицу под названием SQLSERVER1.

Далее проделаем коррекцию данных в “прилинкованной” таблице Microsoft Dynamics NAV (Navision) и убедимся, что изменения отражаются в исходной внешней таблице.

А теперь проделаем коррекцию данных во внешней таблице и убедимся, что изменения отражаются в “прилинкованной” таблице Microsoft Dynamics NAV (Navision).

Таким образом, мы убедились в возможности использования “прилинкованных” таблиц.

Использование для доступа к внешним данным именно “прилинкованных” таблиц Microsoft Dynamics NAV (Navision) позволяет оперировать данными в едином стиле и с единым спектров возможностей предоставляемых Microsoft Dynamics NAV (Navision) своим таблицам (построение отчетов, форм и т.п.).

Обновлено для 15.06.2007 04:31