2017-08-14 13 views
0

画面ベースのAPIを使用していますが、文書上にPO Receipt(Return)を作成するとエラーが発生しました "フィールドベンダー参照値<>を処理中にエラーが発生しました"

Webサービス呼び出しが何らかの形でドキュメントを2回作成しようとしていて、2回目にこのエラーが発生することに気付きました。

以下はコードですが、何が間違っているのかわかりません。私は、ヘッダデータを提出した後

  PO302000Content ReturnSchema;  
     ReturnSchema = context.PO302000GetSchema(); 

     context.PO302000Submit(new Command[] { ReturnSchema.Actions.Insert }); 
     //HEADER 
      AcumaticaInterface.apitest.Command[] Document = new AcumaticaInterface.apitest.Command[] 
        { 
         new Value 
         { 
          Value = interfaceStatus.Doc1Type, 
          LinkedCommand = ReturnSchema.DocumentSummary.Type 
         }, 
         ReturnSchema.Actions.Insert, 
         new Value 
         { 
          Value = BPCode, 
          LinkedCommand = ReturnSchema.DocumentSummary.Vendor, 
          Commit = true 
         }, 
         new Value 
         { 
          Value = BPRefNbr , 
          LinkedCommand = ReturnSchema.DocumentSummary.VendorRef 
         }, 
         new Value 
         { 
          Value = PostDate.HasValue ? ((DateTime)PostDate.Value).ToLongDateString() : "", 
          LinkedCommand = ReturnSchema.DocumentSummary.Date 
         },    
         new Value 
         { 
          Value = Comments, 
          LinkedCommand = ReturnSchema.DocumentSummary.NoteText 
         }, 
         new Value 
         { 
          Value = "TEST VALUE", 
          LinkedCommand = ReturnSchema.DocumentSummary.VendorRef 
         } 
        }; 
     context.PO302000Submit(Document); 

    //LINE 
     AcumaticaInterface.apitest.Command[] Docline = new AcumaticaInterface.apitest.Command[] 
            { 
            ReturnSchema.DocumentDetails.ServiceCommands.NewRow, 
            new Value 
            { 
             Value = line.ItemID, 
             LinkedCommand = ReturnSchema.DocumentDetails.InventoryID 
            }, 

            new Value 
            { 
             Value = OutletCode, 
             LinkedCommand = ReturnSchema.DocumentDetails.Warehouse 
            }, 
            new Value 
            { 
             Value = line.Uom, 
             LinkedCommand = ReturnSchema.DocumentDetails.UOM ,        
            }, 
            new Value 
            { 
             Value = line.Qty.ToString(), 
             LinkedCommand = ReturnSchema.DocumentDetails.ReceiptQty , 
             Commit = true 
            },              
             new Value 
            { 
             Value = line.Price.ToString(), 
             LinkedCommand = ReturnSchema.DocumentDetails.UnitCost, 
             Commit = true 
            }, 
             new Value 
            { 
             Value = line.DiscPct.ToString(), 
             LinkedCommand = ReturnSchema.DocumentDetails.DiscountPercent, 
             Commit = true 
            }, 
            new Value 
            { 
             Value = line.LineRemarks, 
             LinkedCommand = ReturnSchema.DocumentDetails.NoteText ,  
             Commit = true 
            } 
            }; 
         Document = Document.Concat(Docline).ToArray(); 

     //save 
        AcumaticaInterface.apitest.Command[] save = new AcumaticaInterface.apitest.Command[] { 
           ReturnSchema.Actions.Save, 
     ReturnSchema.DocumentSummary.Type, 
         ReturnSchema.DocumentSummary.ReceiptNbr 
          }; 
Document = Document.Concat(save).ToArray(); 
     //EXCEPTION HERE 
     var ReturnDoc = context.PO302000Submit(Document)[0]; 

答えて

0

が解決

を見つけ、私はコマンドをクリア。しかし、それは前に働いていたことは奇妙です。

context.PO302000Submit(Document); 
Document = new Command[] { }; 
関連する問題