Вернуться   Андрей Панько. Заметки про Dynamics NAV > Dynamics NAV (Navision)
Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Dynamics NAV (Navision) Заметки про Dynamics NAV (ранее Navision) и аддон LS Retail

Ответ
 
Опции темы Поиск в этой теме
  #21  
Старый 16.10.2009, 16:56
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Веб службы и Infopath

Баловался с Infopath.

Попробовал с его помощью что-нибудь делать с веб-службами Dynamics NAV 2009.

В качестве подготовки опубликовал страницу 31 под именем ItemCardWS (это в классическом клиенте)

Далее открыл Infopath 2007.
В окне "Приступая к работе" выбрал пункт "Создать шаблон формы"
В окне "Создание шаблона формы" в разделе "Создать новый" указал значение "Шаблон формы", а в поле "На основе" выбрал значение "Веб служба".
(см. Рисунок 1)

В мастере подключения данных выбрал значение "Получение данных" (я не большой знаток Infopath, поэтому начал с простого).
На следующем шаге мастера подключения данных ввел путь к веб-службе: http://localhost:7047/DynamicsNAV/WS/CRONUS%20International%20Ltd/Page/ItemCardWS (приведен формат для NAV 2009 SP1, который отличается от формата NAV 2009).
Если Infopath найдет веб службу, то появится окно с перечнем доступных методов (помним о модели CRUD – Create, Read, Update, Delete). Я выбрал метод Read (как самый безопасный и простой).
На следующей закладке мастера нужно ввести имя для создаваемого запроса (я использовал имя ОсновнойЗапрос).

После завершения работы мастера будет открыта форма в режиме дизайнера.
В дизайнере две зоны:
Над кнопкой "Запрос" - зона полей запроса (я так понимаю – параметров)
Под кнопкой "Запрос" - зона полей данных (результатов выполнения)

Справа расположилась панель "Источник данных".
Из этой панели в зону полей запроса нужно перетащить поле No (myFields/queryFields/tns:Read/No)
А в зону полей данных нужно перетащить поле Description (myFields/dataFields/tns:Read_Result/ItemCardWS/Description). Другие поля тоже допустимы.
(см. Рисунок 2)

После того как шаблон формы готов, можно попробовать ее в деле (Файл/Предварительный просмотр/Форма)

В форме в поле No введите код товара (например, 1200) и щелкните кнопку "Выполнить запрос".
Согласитесь со всеми предупреждениями системы и в результате в поле Description появится описание товара (в моем случае BlackWheel)
(см. Рисунок 3)

Примерно так.


Собственно про Infopath уже на самом деле писали, только я читать поленился:
http://teachmenav.com/blogs/dave/arc...-infopath.aspx

https://blogs.msdn.com/freddyk/archi...-out-of-3.aspx
Миниатюры
Нажмите на изображение для увеличения
Название:  1_CreateTemplate.png
Просмотров: 1063
Размер:	25.8 Кбайт
ID:	124  Нажмите на изображение для увеличения
Название:  2_Constructor.png
Просмотров: 1105
Размер:	38.4 Кбайт
ID:	125  Нажмите на изображение для увеличения
Название:  3_Result.png
Просмотров: 1077
Размер:	18.4 Кбайт
ID:	126  


Последний раз редактировалось apanko, 17.10.2009 в 16:40.
Ответить с цитированием
  #22  
Старый 02.11.2009, 12:28
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Как известно для запуска NAV можно использовать специальную гиперссылку:
dynamicsnav:////runreport?report=50001 (запустит отчет 50001)
DynamicsNAV:////runpage?page=50002 (запустит страницу 50002)

А вот еще узнал новую ссылку:
DynamicsNAV://///navigate?node=Departments/Purchase/Planning/Items
(запустит ролеориентированный клиент и перейдет в меню Departments, далее в раздел Purchase/Planning/Items (откроет список товаров).


Раз уж зашла речь про ссылки, то для runreport и для runpage кроме идентификаторов объектов можно еще передавать фильтры.

Например для отчетов это выгдялит так:
DynamicsNAV:////runreport?Report=705&Filter=Item.%22Location Filter%22:RED&Filter=Item.%22No.%22:1000
Пример можно посмотреть здесь: http://blogs.msdn.com/nav-reporting/...reporting.aspx

Для страниц несколько сложнее - см. статью http://navision.mazzy.ru/lib/nav2009-reports/links/
Ответить с цитированием
  #23  
Старый 12.08.2010, 13:14
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Цитата:
Сообщение от apanko
ссылка на исходное сообщение

Если же запустить ролиориентированного клиента с параметром /?
Код:
"C:\Program Files\Microsoft Dynamics NAV\60\RoleTailored Client\Microsoft.Dynamics.Nav.Client.exe" /?
То окажется, что для клиента доступен целый набор полезных и не очень параметров (см. вложенную картинку).

Для NAV 2009 SP1 вышел патч, который добавляет еще два полезных параметра:
-Fullscreen
-ShowNavigationPage:0/1

Детали можно найти в блоге http://blogs.msdn.com/b/cabeln/archi...ed-client.aspx
Ответить с цитированием
  #24  
Старый 29.12.2011, 13:27
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,629
Classic vs RTC

Как известно C/AL кодпри компиляции преобразовывается в код на C#. Его даже можно посмотреть при желании.
И чтобы нам не говорили код этот работает по разному.
Простой пример:
Объявляем глобальную переменную типа Дата и пишем простойкод в триггере onRun (см прикрепленный рисунок).
Что произойдет при выполнении данного кода в Классическомклиенте?
Ничего. Так как данный код не исполняется, то ошибки небудет
А вот при попытке запустить данный программный модуль вролеориентированном клиенте будет получена плохочитаемая ошибка:
Цитата:

Compilation of
assembly 'C:\ProgramData\Microsoft\Microsoft Dynamics
NAV\60\Server\MicrosoftDynamicsNavServer\assembly\ Codeunit70000.dll'
failed. This can be caused by differences between binaries in your installation
or your database. Ensure that all installation components are consistent and up
to date. Error details: c:\ProgramData\Microsoft\Microsoft Dynamics
NAV\60\Server\MicrosoftDynamicsNavServer\source\Co deunit\Codeunit70000.cs(41,119)
: error CS1502: Наиболее
подходящий
перегруженный метод для"Microsoft.Dynamics.Nav.Runtime.ALSystemString. ALMaxStrLen(Microsoft.Dynamics.Nav.Runtime.NavStringValue)"
имеет несколько недопустимых
аргументов

c:\ProgramData\Microsoft\Microsoft Dynamics
NAV\60\Server\MicrosoftDynamicsNavServer\source\Co deunit\Codeunit70000.cs(41,146)
: error CS1503: Аргумент "1": преобразование типа из
"Microsoft.Dynamics.Nav.Runtime.NavDate" в
"Microsoft.Dynamics.Nav.Runtime.NavStringValue " невозможно





Жирным я выделил наиболее полезные моменты в данномсообщении.

Кстати если в классическом клиенте если убрать операторветвления IF то возникнет ошибка:
Цитата:

Содержимое '' параметра MAXSTRLEN с номером 1 недопустимо.



Миниатюры
Нажмите на изображение для увеличения
Название:  ClassicVsRTC.png
Просмотров: 796
Размер:	11.1 Кбайт
ID:	136  Нажмите на изображение для увеличения
Название:  Error.png
Просмотров: 795
Размер:	17.8 Кбайт
ID:	137  
Ответить с цитированием
Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 04:47.

Контакты: e-mail, телефон: +7(926)1805967 - Архив - Вверх

Microsoft Most Valuable Professional
vBulletin v3.5.4, Copyright ©2000-2018, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co
Права на все материалы, опубликованные на блогофоруме принадлежат Андрею Панько, если в самом материале не указано иное.
Рейтинг@Mail.ru Rambler's Top100