On Purchase requisition list page, i am getting an error as
"An item with the same key has already been added"
If i am checking on Event viewer, I can see error as
--------------------------------------------------------------------
An unexpected error has occurred.
An item with the same key has already been added.
System.ArgumentException
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Collections.ObjectModel.KeyedCollection`2.AddKey(TKey key, TItem item)
at System.Collections.ObjectModel.KeyedCollection`2.InsertItem(Int32 index, TItem item)
at Microsoft.Dynamics.AX.Framework.Services.Client.TableMetadata.InitializeDefaultLookupFields(TableMetadata table)
at Microsoft.Dynamics.AX.Framework.Services.Client.TableMetadata.PostCreateInitialization(TableMetadata table)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.<>c__DisplayClassc.<GetItemInternal>b__b()
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.CacheBase.CacheRead(ICacheReadArgs cacheReadArgs, Action tryReadAction, Action readThroughAction)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.GetItem(TMainKey key)
at Microsoft.Dynamics.AX.Framework.Services.Client.TableMetadata.PostCreateInitialization(TableMetadata table)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.<>c__DisplayClassc.<GetItemInternal>b__b()
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.CacheBase.CacheRead(ICacheReadArgs cacheReadArgs, Action tryReadAction, Action readThroughAction)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.GetItem(TMainKey key)
at Microsoft.Dynamics.AX.Framework.Services.Client.TableMetadata.PostCreateInitialization(TableMetadata table)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.<>c__DisplayClassc.<GetItemInternal>b__b()
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.CacheBase.CacheRead(ICacheReadArgs cacheReadArgs, Action tryReadAction, Action readThroughAction)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.GetItem(TMainKey key)
at Microsoft.Dynamics.AX.Framework.Services.Client.TableMetadata.PostCreateInitialization(TableMetadata table)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.<>c__DisplayClassc.<GetItemInternal>b__b()
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.CacheBase.CacheRead(ICacheReadArgs cacheReadArgs, Action tryReadAction, Action readThroughAction)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.GetItem(TMainKey key)
at Microsoft.Dynamics.AX.Framework.Services.Client.TableMetadata.PostCreateInitialization(TableMetadata table)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.<>c__DisplayClassc.<GetItemInternal>b__b()
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.CacheBase.CacheRead(ICacheReadArgs cacheReadArgs, Action tryReadAction, Action readThroughAction)
at Microsoft.Dynamics.AX.Framework.Services.Metadata.Caching.TripleKeyedItemCache`4.GetItem(TMainKey key)
at Microsoft.Dynamics.AX.Framework.Services.Client.QueryDataSourceMetadataExtensions.SFKeyExpansionHelper(QueryDataSourceMetadata dataSource, SurrogateForeignKeyReplacementFieldSet replacementFieldSet, ILookup`2 displayedFieldsByDataSourceName, Stack`1 visitedTables, SurrogateForeignKeyRelplacementStatus status)
at Microsoft.Dynamics.AX.Framework.Services.Client.QueryDataSourceMetadataExtensions.ExpandSurrogateForeignKeys(QueryDataSourceMetadata dataSource, SurrogateForeignKeyReplacementFieldSet replacementFieldSet, ILookup`2 displayedFieldsByDataSourceName, Stack`1 visitedTables, SurrogateForeignKeyRelplacementStatus status)
at Microsoft.Dynamics.AX.Framework.Services.Client.QueryDataSourceMetadataExtensions.ExpandSurrogateForeignKeys(QueryDataSourceMetadata dataSource, SurrogateForeignKeyReplacementFieldSet replacementFieldSet, ILookup`2 displayedFieldsByDataSourceName, Stack`1 visitedTables, SurrogateForeignKeyRelplacementStatus status)
at Microsoft.Dynamics.AX.Framework.Services.Client.QueryMetadataExtensions.ExpandSurrogateForeignKeys(QueryMetadata queryMetadata, SurrogateForeignKeyReplacementFieldSet replacementFieldSet, IEnumerable`1 displayedFields)
at Microsoft.Dynamics.AX.Framework.Services.Client.Forms.UIHelpers.CreateQueryForDisplay(QueryMetadata queryMetadata, IEnumerable`1 displayedFields)
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxListPageContentArea.get_ListPageDisplayQuery()
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxListPageContentArea.InitializeListPageContentArea()
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxListPageContentArea.OnLoad(EventArgs e)
--------------------------------------------------------------------
And if i am refreshing the EP page, i get unhandled exception and event viewer shows an error as
---------------------------------------------------------------------
An unhandled error has occurred. To view details about this error, enable debugging in the web.config file or view the Windows event logs.
Object reference not set to an instance of an object.
Microsoft.Dynamics.Framework.Metadata.AX
at Microsoft.Dynamics.AX.Framework.Services.Client.QueryMetadataExtensions.<CreateDisplayQuery>b__23(QueryDataSourceMetadata d)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Lookup`2.Create[TSource](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at Microsoft.Dynamics.AX.Framework.Services.Client.QueryMetadataExtensions.CreateDisplayQuery(QueryMetadata queryMetadata, IEnumerable`1 displayedFields, Boolean trimViews)
at Microsoft.Dynamics.AX.Framework.Services.Client.Forms.UIHelpers.CreateQueryForDisplay(QueryMetadata queryMetadata, IEnumerable`1 displayedFields)
at Microsoft.Dynamics.AX.Framework.Services.Client.InfoPartMetadata.GetDisplayDataAccessObjectMetadata()
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxDataAccessObjectDataSource.EnsureDataAccessObject()
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxDataAccessObjectDataSource.get_DataAccessObject()
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxInfoPart.InitializeDataSourcePaging()
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxInfoPart.CreateChildControls()
at System.Web.UI.Control.EnsureChildControls()
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxPreviewPaneBuilder.Build()
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxPartContentArea.CreateChildControls()
at System.Web.UI.Control.EnsureChildControls()
at Microsoft.Dynamics.Framework.Portal.UI.WebControls.AxPartContentArea.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
------------------------------------------------------------------
Same issue is there on Purchase order List page.
This error is occurring in multiple environments including Production server.
Error goes away on development system EP page, if i refresh cache(AOD,data.dictionary) from EP default page and then i open purchase landing page, it throws an 1st error of key already exist and then if refreshing it works for both purchase order and purchase requisition.
But if i am landing to purchase requisition page after refresh, it throws an 1st error and 2nd error afterwards on reload.
Error again appears if IIS is reset or on next day.
I did full compile,full CIL and sync but no luck.
*This post is locked for comments
I have the same question (0)