Я хочу удалить одну из записей о местонахождении клиента. Я никогда ничего не удалял раньше и не вижу примеров этого в StackOverflow или в примерах, предоставленных Acumatica. Кажется, что выполнение Submit с ключевыми полями и командой Delete имело бы смысл, но это дает мне довольно расплывчатое сообщение «Ссылка на объект не установлена на экземпляр объекта». ошибка. Может ли кто-нибудь сказать мне, что я здесь делаю не так, или все вместе это неправильный подход? Код и полное сообщение об ошибке ниже.
Public Function DeleteLocation(ByVal customerID As String, ByVal locID As String) As Boolean
Dim address As CR303010Content = m_context.CR303010GetSchema()
m_context.CR303010Clear()
Dim customerVal As New Value() With {.LinkedCommand = address.LocationSummary.Customer, .Value = customerID}
Dim idVal As New Value() With {.LinkedCommand = address.LocationSummary.LocationID, .Value = locID}
' execute delete
Dim deleteCommands As Command() = {customerVal, idVal, address.Actions.Delete}
Dim deleteResult As CR303010Content() = m_context.CR303010Submit(deleteCommands)
Return True
End Function
Выдает это исключение:
System.Web.Services.Protocols.SoapException: Server was unable to process request. --->
System.NullReferenceException: Object reference not set to an instance of an object.
at PX.Objects.CR.LocationMaintBase`3.Location_RowDeleted(PXCache cache, PXRowDeletedEventArgs e)
at PX.Data.PXCache.OnRowDeleted(Object item, Boolean externalCall)
at PX.Data.PXCache`1.Delete(Object data, Boolean bypassinterceptor)
at PX.Data.PXCache`1.Delete(Object data, Boolean bypassinterceptor)
at PX.Data.PXCache`1.Delete(Object data)
at PX.Data.PXDelete`1.<Handler>d__0.MoveNext()
at PX.Data.PXAction`1.<Press>d__c.MoveNext()
at PX.Data.PXAction`1.<Press>d__c.MoveNext()
at PX.Api.SyImportProcessor.SyStep.CommitChanges(Object itemToBypass, PXFilterRow[] targetConditions)
at PX.Api.SyImportProcessor.ExportTableHelper.ExportTable()
at PX.Api.ScreenUtils.Submit(String screenId, Command[] commands, SchemaMode schemaMode, PXGraph graph)
at PX.Api.Services.ScreenService.Submit(String id, IEnumerable`1 commands, SchemaMode schemaMode)
at PX.Api.Soap.Screen.ScreenGate.Submit(Command[] commands)
--- End of inner exception stack trace ---