2015-10-16 47 views
0

我試圖增加通過網絡服務「聯繫人」,但不斷收到錯誤如下:通過Web服務API添加「接觸」時,遇到了錯誤

Failed to convert parameter value from a String to a Int32. ---> System.FormatException: Input string was not in a correct format. 

如果我評論了這條線如下:

//cmds.Add(new Value { Value = "<NEW>", LinkedCommand = CR302000.ContactSummary.ContactID }); 

我再沒有錯誤,但沒有添加聯繫人。

的代碼如下:

  CR302000Content CR302000 = context.CR302000GetSchema(); 
      context.CR302000Clear(); 

      List<Command> cmds = new List<Command>();    

      //add header info 

      //cmds.Add(new Value { Value = "<NEW>", LinkedCommand = CR302000.ContactSummary.ContactID }); 
      cmds.Add(new Value { Value = contact.LastName, LinkedCommand = CR302000.DetailsSummary.LastName }); 

      cmds.Add(new Value { Value = "CA", LinkedCommand = CR302000.DetailsAddress.Country }); 


      cmds.Add(CR302000.Actions.Save); 

      CR302000Content[] CR302000content = context.CR302000Submit(cmds.ToArray()); 

任何人可以幫助我,讓我知道我做錯了什麼?

謝謝。

回答

0

我一定是錯過了一些東西的 - 現在我的代碼工作的某些原因。我仍然使用與我在此處發佈的涉及「聯繫ID」註釋和「Actions.Save」的代碼相同的代碼,但它以某種方式工作。不知道爲什麼,但現在我正在關閉這個問題。感謝無論如何都有迴應的人。

0

問題是你在屏幕上看到的實際上是顯示名稱而不是真正的聯繫人ID它是一個特殊的領域Acumatica在很多地方都這樣做,我只是解決它。

您應該嘗試在顯示名稱中使用該標記,並且可能會這樣做。 (我猜的標籤引用您的web服務的正確名稱上顯示名稱)

cmds.Add(new Value { Value = "<NEW>", LinkedCommand = CR302000.ContactSummary.DisplayName }); 

或者你可以拉分配最後的ContactID和增加這個數字(+1),並以此作爲你的CR302000.ContactSummary值。 ContactID也應保存記錄。

0

應該有命令(動作)插入,我想你可以使用

CR302000.Actions.Insert而不是使用關鍵

+0

我嘗試使用「插入」而不是「保存」,但沒有運氣。 – Gladiator

相關問題