Как я могу захватить недавно созданный идентификатор счета (ключ) после вызова веб-службы GP в CreateSalesInvoice
В веб-сервисе для Dynamics GP есть вызов CreateSalesInvoice. Проблема, с которой я сталкиваюсь, заключается в том, что вызов возвращает void, поэтому я не получаю объект счета-фактуры после завершения вызова. Я вижу, что счет создан в базе данных и назначен Id (ключ).
Из моего приложения я передаю значения для создания счета-фактуры, а затем хочу получить идентификатор, чтобы затем обработать платеж через наш платежный шлюз. Я хочу, чтобы все это обрабатывалось в коде. Кажется неоправданным составлять список счетов по customerId после того, как пользователь только что создал счет, а затем попросить их выбрать вновь созданный счет и затем обработать платеж.
Есть ли способ получить идентификатор после вызова метода create?
1 ответ
Насколько мне известно, значение не возвращается через веб-сервис в GP (это действительно не очень хороший веб-сервис). Поскольку столбец SOPNUMBE является ключевым, лучше всего сгенерировать его в своем источнике, тогда вы знаете значение, когда передаете его в GP. Вам нужно будет поговорить с вашей командой GP или просмотреть настройки в GP, так как SOPNUMBE имеет ограничение в 15 CHAR. Они могут попросить вас настроить номер определенным образом, например, "INV000001".
В большинстве таблиц GP есть поле "ID", называемое "DEX_ROW_ID", которое совершенно бесполезно для 99% приложений, поскольку оно ни к чему не относится. Имейте в виду, что ценность здесь вам вообще не нужна. Вы хотите использовать SOPNUMBE и SOPTYPE.
Сайт Виктории Юдин чрезвычайно полезен для навигации по архаичной архитектуре ГП.