我們有web服務集成和它所有的工作方式,但突然它創建時就開始拋出下面的錯誤RC型訂單。不明白到底發生了什麼問題。我們沒有更新任何內容,所以我認爲這是一些與數據相關的問題。創建SO通過基於屏幕的WebServices返回拋出錯誤[PXRowPersistingException:錯誤#4:「於RevisionId」不能爲空]
我試圖通過用戶界面相同的過程,它是不會放棄這個錯誤。請協助。您的幫助深表謝意。
PX.Data.PXRowPersistingException:錯誤#4: '於RevisionId' 不能是 空。
System.Web.Services.Protocols.SoapException:服務器無法 處理請求。 ---> PX.Data.PXRowPersistingException:錯誤#4: '於RevisionId' 不能爲空。在 PX.Data.PXDefaultAttribute.RowPersisting(PXCache發件人, PXRowPersistingEventArgs e)上 PX.Data.PXCache.OnRowPersisting(對象項,PXDBOperation操作) 在PX.Data.PXCache
1.PersistInserted(Object row) at PX.Objects.CS.SharedRecordAttribute.RowPersisting(PXCache sender, PXRowPersistingEventArgs e) at PX.Data.PXCache.OnRowPersisting(Object item, PXDBOperation operation) at PX.Data.PXCache
1.PersistInserted(對象行)在 PX.Data.PXCache1.Persist(PXDBOperation operation) at PX.Data.PXGraph.Persist(Type cacheType, PXDBOperation operation) at PX.Data.PXGraph.Persist() at PX.Objects.SO.SOShipmentEntry.Persist() at PX.Data.PXSave
1.d__2.MoveNext()在 PX.Data.PXAction1.<Press>d__31.MoveNext() at PX.Data.PXAction
1.d__31.MoveNext()在 PX.Api.SyImportProcessor.SyStep.a(對象A_0,PXFilterRow [] A_1, PXFilterRow [] A_2)at PX.Api.SyImportProcessor.ExportTableHelper.ExportTable()at PX.Api.ScreenUtils.Submit(String screenId,Command [] commands, SchemaMode schemaMode,PXGraph & grap小時,字符串& redirectContainerView, 字符串& redirectScreen,布爾移動,字典2 viewFilters)
1個 命令,SchemaMode schemaMode,布爾移動,PXGraph & forceGraph, 字符串& redirectContainerView,字符串& redirectScreen,字典
at PX.Api.Services.ScreenService.Submit(String id, IEnumerable2 viewFilters) at PX.Api.Services.ScreenService.Submit(String id, IEnumerable
1級的命令,SchemaMode schemaMode)在 PX .Api.Soap.Screen.ScreenGate.Submit(命令[]命令)---內部異常堆棧跟蹤的結尾---
編輯
此訂單類型啓用自動編號,代碼如下。 Acumatica版本6.00.1384
正如前面提到的,此代碼正常工作。突然間行爲改變了,我不知道是什麼原因。
apitest.Screen context = BuisnessLogicACU.context;
SO301000Content SOSchema;
try
{
SOSchema = context.SO301000GetSchema();
}
catch
{
BuisnessLogicACU.contextLogin();
SOSchema = context.SO301000GetSchema();
}
SOSchema.Actions.LSSOLineBinLotSerial.Commit = true;
SOSchema.Actions.CreateReceiptAction.Commit = true;
//HEADER INFO
AcumaticaInterface.apitest.Command[] commands = new AcumaticaInterface.apitest.Command[]
{
new Value
{
Value = returnInterfaceStatus.SalesOrderType,
LinkedCommand = SOSchema.OrderSummary.OrderType
},
SOSchema.Actions.Insert,
new Value
{
Value = "false",
LinkedCommand = SOSchema.OrderSummary.Hold
},
new Value
{
Value = OrderStatus == POSOrderstatus.Normal ? (ConfigValues.POSNormalCustomerID ?? CustomerID) : CustomerID,
LinkedCommand = SOSchema.OrderSummary.Customer
},
new Value
{
Value = BizDate.HasValue ? ((DateTime)BizDate).ToLongDateString() : "",
LinkedCommand = SOSchema.OrderSummary.Date
},
new Value
{
Value = BizDate.HasValue ? ((DateTime)BizDate.Value).ToLongDateString() : "",
LinkedCommand = SOSchema.OrderSummary.RequestedOn
},
new Value
{
Value = POSID,
LinkedCommand = SOSchema.OrderSummary.ExternalReference
},
new Value
{
Value = SIPosOrdrCreatedBy,
LinkedCommand = SOSchema.OrderSummary.POSOrdrBy
},
new Value
{
Value = CustomerTaxZone,
LinkedCommand = SOSchema.FinancialSettingsFinancialInformation.CustomerTaxZone
}
};
AcumaticaInterface.apitest.Command[] commandline = new AcumaticaInterface.apitest.Command[]
{
SOSchema.DocumentDetails.ServiceCommands.NewRow,
new Value
{
Value = line.InventoryID,
LinkedCommand = SOSchema.DocumentDetails.InventoryID
},
new Value
{
Value = SIOutletCode,
LinkedCommand = SOSchema.DocumentDetails.Warehouse
},
new Value
{
Value = line.Quantity.ToString(),
LinkedCommand = SOSchema.DocumentDetails.Quantity,
Commit = true
},
new Value
{
Value = line.UnitPrice.ToString(),
LinkedCommand = SOSchema.DocumentDetails.UnitPrice
},
new Value
{
Value = line.Uom,
LinkedCommand = SOSchema.DocumentDetails.UOM
},
new Value
{
Value = (line.DiscTotal ?? 0).ToString(),
LinkedCommand = SOSchema.DocumentDetails.DiscountAmount
},
new Value
{
Value = (line.LineTotal ?? 0).ToString(),
LinkedCommand = SOSchema.DocumentDetails.ExtPrice
},
new Value
{
Value = line.DiscType ?? "",
LinkedCommand = SOSchema.DocumentDetails.POSDiscType
},
new Value
{
Value = line.LineType ?? "",
LinkedCommand = SOSchema.DocumentDetails.POSLineType
},
new Value
{
Value = line.VoucherSerial ?? "",
LinkedCommand = SOSchema.DocumentDetails.POSVoucherSerial
},
new Value
{
Value = line.PromoID ?? "",
LinkedCommand = SOSchema.DocumentDetails.POSPromoID
},
new Value
{
Value = line.PromoType ?? "",
LinkedCommand = SOSchema.DocumentDetails.POSPromoType
},
new Value
{
Value = (line.PromoPct ?? 0).ToString(),
LinkedCommand = SOSchema.DocumentDetails.POSPromoPct
},
new Value
{
Value = line.PromoBaseItem ?? "",
LinkedCommand = SOSchema.DocumentDetails.POSPromoBaseItem
},
//new Value
//{
// Value = SalesPerson,
// LinkedCommand = SOSchema.DocumentDetails.SalespersonID
//},
new Value
{
Value = line.Remarks ?? "",
LinkedCommand = SOSchema.DocumentDetails.NoteText,
Commit = true
},
new Value
{
Value = POSID,
LinkedCommand = SOSchema.DocumentDetails.PackUoM,
Commit = true
}
};
commands = commands.Concat(commandline).ToArray();
AcumaticaInterface.apitest.Command[] save = new AcumaticaInterface.apitest.Command[] {
SOSchema.Actions.Save
};
commands = commands.Concat(save).ToArray();
AcumaticaInterface.apitest.Command[] returnResult= new AcumaticaInterface.apitest.Command[] {
SOSchema.OrderSummary.OrderType,
SOSchema.OrderSummary.OrderNbr,
SOSchema.OrderSummary.Status
};
commands = commands.Concat(returnResult).ToArray();
var SOrder = context.SO301000Submit(commands)[0];
您能否提供Acumatica版本以及您在Screen API調用中使用的命令? – samol518
你能否提供你的代碼?如果您可以創建最小代碼,可以重現您的問題 –
,請參閱最新的問題。 – Hybridzz