2013-11-27 33 views
0

我們正在開發一個CRM插件,每當訂單中的CRM中生成發票時,CRM插件都會觸發。當從訂單創建發票時,CRM插件呼叫檢索發票行的子集

典型的操作將轉到銷售訂單並單擊「創建發票」。

插件的最終遊戲是將發票集成到遠程系統以及標題和行。

插件在工作方式如下:

  1. 插件與CRM發票「創建」事件記錄。

  2. 插件通過發票頭的Post操作「異步」運行。

  3. 點擊「創建發票」後,界面操作;插件將新創建的發票GUID發送到服務,這通常是POST操作:

a。我們基本上調用一個接受這個請求並處理它的ASPX頁面。

b。處理包括以下步驟:

i。通過CRM服務檢索呼叫獲取發票標題。

ii。通過CRM服務獲取發票行檢索多個呼叫。

c。將發票提交到第三個遠程應用程序數據庫。 d)。我們通過包裝任何自定義狀態或錯誤消息來響應插件。

  1. 所有的過程在不到一分鐘內完成。

方案我們測試在我們這邊:

案例1:

含發票5-10線

步驟3(a)所示。直到3(d)。成功運行並將發票與所有行集成。

情況2:ISSUE

發票含有超過10(與15-40線測試)

步驟3b(ii)中。發票行檢索過程只檢索一些行而不是所有行

最初我們認爲,對於CRM SDK的當前已驗證用戶可能存在讀鎖,因爲登錄用戶也是相同的,當CRM創建時發票的行。

但是測試失敗了。

成功的場景測試:

我們分別通過不同的呼叫通過延遲通話幾秒鐘取回發票行。檢索的行數是成功的。但不知道服務器會延遲什麼。

爲了解決這個問題,我們需要您在這個問題上的投入,因爲我們可能在執行此插件請求調用時犯了一些錯誤。

感謝和問候。

回答

0

我知道這個問題已經有一年了,但我仍然在尋找解決方案,所以我認爲其他人可能也是如此。

我的經驗是,CRM需要保存(創建)標題記錄,然後才能將行關聯到它。由於您已將其註冊爲異步執行,因此執行之前會稍微延遲一段時間,以便在嘗試加載它們之前有時間保存一些行。

到目前爲止,我的最佳解決方案是在創建invoicelines消息時觸發插件,統計與該發票相關聯的所有行,並傳遞訂單中的行數或計數訂單上的行數,相同的計數,執行你的主體代碼。對於有很多行的訂單來說效率相當低。但它是a解決方案。