Dynamics NAV 2013 веб-приложение
-
22-12-2019 - |
Вопрос
Я хочу создать веб-приложение (sth подобно приборной панели), который будет интегрирован с NAV 2013. (Возьмите Format Data Nav, отображать его клиентам, а также можно обновить или вставлять данные).
in nav Я сделал все таблицы и страницы, которые спедили все условия и функции на полях.
Эти условия очень полезны, когда вы хотите вставить некоторые данные с страницы в NAV (например: после заполнения номера клиента, страница автоматически показывать проекты для этого клиента - что очень полезно)
Все работает нормально в навичке, когда вы работаете на страницах, но в моем приложении, где я использую WebServices для связи с NAV, у меня есть множество проблем, которые эти условия, указанные на таблицах.
Мой вопрос, лучше подготовить «пустые» таблицы в NAV и сделать полную логику в моем веб-приложении (ASP.NET) или работать на логике, которая указана в NAV?
На мой взгляд:
- .
- Таблицы не должны иметь никакой логики, кроме какой-то базовой логики о ключах, нумерация
- Все условия, предназначенные для помощи данных пользователя, должны быть сделаны отдельно (Отдельная логика в веб-приложении и отдельная логика на страницах на NAV)
Решение
Основываясь на комментариях, которые я бы сказал, пойти на самое простое решение:
- .
- Создать набор таблиц (позволяет называть их интеграционные таблицы), которые не будут логики на них и не будут связаны с навигационными объектами (например, задачи или проекты или любые таблицы у вас в вашей базе). Это будет столы только для общения.
- создать диспетчерский кодовой сундук, который будет нести большую часть логики преобразования связи и данных.
- Опубликовать Dispatcher Codeunit и страницы на основе интеграционных таблиц.
- Используйте опубликованные страницы для толкания сообщений на NAV и прочитать данные из NAV.
- После каждого нажатого сообщения о вызове Connain Dispatcher способ сделать все, что вы хотите (например, вставка и обновление записей в NAV)
- Используйте ODATA, страницы или функции Codeunit, возвращающие XML, чтобы прочитать все данные, которые вам нужно отображать в веб-формах. Мой совет не обновляет / вставляет NAV нативные таблицы напрямую (через страницы), только через интегральные таблицы и диспетчера. В этом случае будет легче управлять ошибками.
- Удалите старые или обработанные записи из таблиц интеграции периодически.
Это позволит вам сохранить большую часть бизнес-логики на стороне веб-приложения, но и Presuff возможность поместить некоторую общую логику (например, ограничения и и т. Д.) в NAV (через Dispatcher и Table Triggers), поскольку диспетчер всегда вернет вас Погода в результате операции, отправленное из веб-приложения, было успешно обработано или нет.
осознавать, могут быть подводные камни.