Вопрос

Я хочу создать веб-приложение (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), поскольку диспетчер всегда вернет вас Погода в результате операции, отправленное из веб-приложения, было успешно обработано или нет.

осознавать, могут быть подводные камни.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top