I tried to open Screen from main menu in ORIGAM. I got an error such as
2025-11-10 10:19:26,915 \[14\] ERROR Origam.Server.Controller.AbstractController - Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at Origam.Server.SessionStore.GetChangeInfo(String requestingGrid, DataRow row, Operation operation, Func3 rowStateProcessor) in D:\\a\\1\\s\\backend\\Origam.Server\\Session Stores\\SessionStore.cs:line 918 at Origam.Server.SessionStore.GetChangeInfo(String requestingGrid, DataRow row, Operation operation) in D:\\a\\1\\s\\backend\\Origam.Server\\Session Stores\\SessionStore.cs:line 913
at Origam.Server.FormSessionStore.GetRowData(String entity, Object id, Boolean ignoreDirtyState) in D:\\a\\1\\s\\backend\\Origam.Server\\Session Stores\\FormSessionStore.cs:line 314
at Origam.Server.ServerCoreUIService.GetRowData(MasterRecordInput input) in D:\\a\\1\\s\\backend\\Origam.Server\\ServerCoreUIService.cs:line 385
at Origam.Server.Controller.UIServiceController.<>c__DisplayClass17_0.<MasterRecord>b__0() in D:\\a\\1\\s\\backend\\Origam.Server\\Controller\\UIServiceController.cs:line 188
at Origam.Server.Controller.AbstractController.<>c__DisplayClass9_0.<RunWithErrorHandler>g__AsynFunc|0() in D:\\a\\1\\s\\backend\\Origam.Server\\Controller\\AbstractController.cs:line 93
at Origam.Server.Controller.AbstractController.RunWithErrorHandlerAsync(Func1 func) in D:\\a\\1\\s\\backend\\Origam.Server\\Controller\\AbstractController.cs:line 111
Finally I discovered that the problem is very specificaly caused by an Entity in DataStructurewith RelationType of value FilterParent. What happened?
When you define lazy loaded screen you use two DataStructures. One for loading data and one for working with data. E.g. DS1 and DS2. Lets assume that DS1 (DataStructure for lading data) is only one entity. In DS2 there is the full DataStructure model for the Screen. Result is this:
DS1
→ ParentEntity
DS2
→ ParentEntity → ChildEntity
→ ParentEntityFilter (no field, FilterParent - only for filtering)
When DS1 loads some data, it get stored in internal sessionStorage in ORIGAM. When DS2 does not load the same data, typically ParentEntityFilter is applied in a way, that no data is returned, you get above mentioned exeption in server log and in UI is onle very general message box displayed.
It would be very usefull to have better errror message in data server log, that leads directly to the problem that caused this.
