Skip to main content
Question

Project Invoice Onhold - Can't delete

  • 21 June 2024
  • 5 replies
  • 46 views

Good day,

The accountant add a second invoice on a project in error.  They realized the issue. Removed the line items and placed the invoice on hold.  Now it is stuck.  The trace shows that we are getting table errors on the database.  Any help would be appreciated.

Do I need Acumatica?

It is causing issue with management because it shows the Project 2x on dashboards and report.

Thank you

Evan

 

System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at PX.Data.ReferentialIntegrity.Merging.ReferenceMerger.MergeReferences(IEnumerable`1 mergingTypes, Func`2 getReferencesFor, Boolean childrenSubstitution)
   at PX.Data.ReferentialIntegrity.Merging.ReferenceMerger.MergeReferences(IReadOnlyDictionary`2 collectedReferences)
   at PX.Data.ReferentialIntegrity.Merging.TableMergedReferencesInspector.<>c__DisplayClass3_0.<.ctor>b__0(Task _)
   at System.Threading.Tasks.ContinuationResultTaskFromTask`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
System.AggregateException: One or more errors occurred. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at PX.Data.ReferentialIntegrity.Merging.ReferenceMerger.MergeReferences(IEnumerable`1 mergingTypes, Func`2 getReferencesFor, Boolean childrenSubstitution)
   at PX.Data.ReferentialIntegrity.Merging.ReferenceMerger.MergeReferences(IReadOnlyDictionary`2 collectedReferences)
   at PX.Data.ReferentialIntegrity.Merging.TableMergedReferencesInspector.<>c__DisplayClass3_0.<.ctor>b__0(Task _)
   at System.Threading.Tasks.ContinuationResultTaskFromTask`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at PX.Data.ReferentialIntegrity.Merging.TableMergedReferencesInspector.<>c.<.ctor>b__3_1(Task`1 mergeTask)
   at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
---> (Inner Exception #0) System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at PX.Data.ReferentialIntegrity.Merging.ReferenceMerger.MergeReferences(IEnumerable`1 mergingTypes, Func`2 getReferencesFor, Boolean childrenSubstitution)
   at PX.Data.ReferentialIntegrity.Merging.ReferenceMerger.MergeReferences(IReadOnlyDictionary`2 collectedReferences)
   at PX.Data.ReferentialIntegrity.Merging.TableMergedReferencesInspector.<>c__DisplayClass3_0.<.ctor>b__0(Task _)
   at System.Threading.Tasks.ContinuationResultTaskFromTask`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()<---

   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at PX.Data.ReferentialIntegrity.Merging.TableMergedReferencesInspector.GetIncomingReferencesApplicableTo(Type bqlTable)
   at PX.Data.ReferentialIntegrity.Attributes.Handlers.ParentDeletingHandler.GetReferencesToHandle(Type tableToHandle, IEnumerable`1 alreadyHandledDescendants)
   at PX.Data.ReferentialIntegrity.Attributes.Handlers.ParentDeletingHandler.HandleImpl()
   at PX.Data.ReferentialIntegrity.Attributes.PXReferentialIntegrityCheckAttribute.HandleChildrenRows(PXCache cache, Object parentRow, Boolean persisting)
   at PX.Data.PXCache.AttributeHandlersSquasher`1.<>c__DisplayClass2_0`1.<To>b__0(PXCache cache, TArgs args)
   at PX.Data.PXCache.OnRowDeleting(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.PXDelete`1.<Handler>d__3.MoveNext()
   at PX.Data.PXAction`1.<Press>d__38.MoveNext()
   at PX.Data.PXAction`1.<Press>d__38.MoveNext()
   at PX.Web.UI.PXBaseDataSource.tryExecutePendingCommand(String viewName, String] sortcolumns, Booleane] descendings, ObjectP] searches, Objectn] parameters, PXFilterRowc] filters, DataSourceSelectArguments arguments, Boolean& closeWindowRequired, Int32& adapterStartRow, Int32& adapterTotalRows)
   at PX.Web.UI.PXBaseDataSource.ExecuteSelect(String viewName, DataSourceSelectArguments arguments, PXDSSelectArguments pxarguments)

5 replies

Userlevel 7
Badge +19

Hi Evan, Do you have any customizations on this screen?

Userlevel 2
Badge

@Naveen Boga 

Thank you for the follow up.  We don’t have any customizations on the screen. 

Evan

Userlevel 7
Badge

Hi @grillevan were you able to find a solution? Thank you!

Userlevel 5
Badge

Maybe try add a line again, press save, and then delete, you never know it might work

Userlevel 7
Badge +8

@grillevan are you getting an errors when saving the invoice or only when trying to delete the invoice?

also, where the lines removed when the invoice was in a different status other than “on hold” 

Reply