Создание заказов в Microsoft Dynamics NAV через веб-службы или API

Мне поручено создать API, который позволил бы сторонним клиентам отправлять заказы в наш Microsoft Dynamics NAV 5.0 SP1.

Я хочу иметь возможность создавать SalesOrder в Dynamics NAV не с клиентом, а через API, чтобы я мог разрешить отдельный процесс для автоматического ввода заказов.

Приветствуется любая помощь, которая ведет меня в правильном направлении.


person Paul Smith    schedule 13.10.2010    source источник


Ответы (2)


Ну, это зависит от того, насколько сложно вы хотите это сделать. Вам нужно подтверждение создания заказа на продажу в «реальном времени»? Если это так, вам необходимо использовать веб-службу и убедиться, что существует сетевой путь, откуда клиенты будут создавать заказы (общедоступный Интернет, экстрасеть) к вашей веб-службе NAV - вероятно, с использованием туннеля VPN и т. Д. В качестве альтернативы, Если вы можете жить с пакетным типом процесса, вы можете предложить своим клиентам создавать SO через веб-форму и т. д., а затем регулярно импортировать эти заказы в NAV с помощью Dataports или XMLPorts.

Например, у вас может быть онлайн-форма, в которой ваш клиент может создать Заказ, которая помещает Заказ в промежуточную таблицу в SQL или даже в файл XML или CSV. Затем вы можете регулярно запускать процесс, который импортирует эти заказы в NAV и создает соответствующие SalesOrders.

Предположительно, вам также нужен способ предоставить вашу базу данных товаров интерфейсу заказа, чтобы клиенты могли выбирать, какие товары заказывать (и, следовательно, создавать линии продаж).

Какой сценарий вас интересует?

person Rob Burke    schedule 13.10.2010
comment
Спасибо за ответ, Роб, меня интересуют только заказы в реальном времени. Подтверждением будет фактический SalesOrderNumber от Navision. Таким образом, обработка на основе партии не соответствует требованиям. Я надеялся, что есть встроенный API для Navision, где я могу вызвать такой метод, как CreateOrder, и он будет запускать код внутри Navision, как если бы я использовал клиент. Примечание: база данных предметов уже доступна через нашу базу данных SQL. - person Paul Smith; 14.10.2010

Веб-службы - это то, что нужно; у нас есть несколько приложений, к которым предъявляются аналогичные требования. Я бы рекомендовал создать интерфейс (ASP, чтобы использовать веб-службу из NAV) и заставить его таким образом взаимодействовать с NAV.

Не рекомендуется редактировать базу данных напрямую, так как это приведет к блокировке и может привести к взаимоблокировкам, если не соблюдать осторожность. Также NAV может быть довольно чувствительным, когда дело касается базы данных, поэтому лучше не писать в нее напрямую, если это возможно :)

Я бы рекомендовал создать кодовый модуль, который обрабатывает заказ на продажу, в котором вы можете создавать свои функции CreateOrder, а затем предоставлять их через веб-службы. Даже если вы не планируете использовать веб-интерфейс, NAV использует протокол SOAP - существует множество библиотек, позволяющих подключаться и взаимодействовать с веб-службами с других языков, например, Java. =.

person Jake Edwards    schedule 14.06.2012