I have a simple screen Event with Datastructure Event → EventCapacity. Relation property IsParentChild = true.
In Event I have aggregate field Capacity_Total, that sums EventCapacity.Capacity field.
When I create Screen with ScreenPanel where only fields from Event entity are used, I can happily open the form from Menu, create new record, delete or copy.
But when I put Capacity_Total into the ScreenPanel, then I can open the form, but wehn trying to duplicate record or create new record (plus sign) I get an error in log file
2025-06-12 17:15:14,762 [21] ERROR Origam.Server.Controller.AbstractController - A child row has multiple parents.
System.Data.DataException: A child row has multiple parents.
at System.Data.DataRelation.GetParentRow(DataKey parentKey, DataKey childKey, DataRow childRow, DataRowVersion version)
at System.Data.DataRow.GetParentRow(DataRelation relation, DataRowVersion version)
at Origam.Server.SessionStore.IsChildRow(DataRow row, DataRow changedRow) in D:\a\1\s\backend\Origam.Server\Session Stores\SessionStore.cs:line 900
at Origam.Server.SessionStore.GetChangesRecursive(List`1 changes, String requestingGrid, DataRow row, Operation operation, DataRow changedRow, Boolean allDetails, Hashtable ignoreKeys, Boolean includeRowStates) in D:\a\1\s\backend\Origam.Server\Session Stores\SessionStore.cs:line 814
at Origam.Server.SessionStore.GetChangesRecursive(List`1 changes, String requestingGrid, DataRow row, Operation operation, DataRow changedRow, Boolean allDetails, Hashtable ignoreKeys, Boolean includeRowStates) in D:\a\1\s\backend\Origam.Server\Session Stores\SessionStore.cs:line 862
at Origam.Server.SessionStore.GetChangesByRow(String requestingGrid, DataRow row, Operation operation, Hashtable ignoreKeys, Boolean includeRowStates, Boolean hasErrors, Boolean hasChanges, Boolean fromTemplate) in D:\a\1\s\backend\Origam.Server\Session Stores\SessionStore.cs:line 727
at Origam.Server.SessionStore.GetChangesByRow(String requestingGrid, DataRow row, Operation operation, Boolean hasErrors, Boolean hasChanges, Boolean fromTemplate) in D:\a\1\s\backend\Origam.Server\Session Stores\SessionStore.cs:line 703
at Origam.Server.SessionStore.CreateObject(String entity, IDictionary`2 values, IDictionary`2 parameters, String requestingGrid) in D:\a\1\s\backend\Origam.Server\Session Stores\SessionStore.cs:line 1337
at Origam.Server.SaveableSessionStore.CreateObject(String entity, IDictionary`2 values, IDictionary`2 parameters, String requestingGrid) in D:\a\1\s\backend\Origam.Server\Session Stores\SaveableSessionStore.cs:line 165
at Origam.Server.ServerCoreUIService.CreateObject(CreateObjectInput input) in D:\a\1\s\backend\Origam.Server\ServerCoreUIService.cs:line 333
at Origam.Server.Controller.UIServiceController.<>c__DisplayClass20_0.<CreateObject>b__0() in D:\a\1\s\backend\Origam.Server\Controller\UIServiceController.cs:line 207
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(Func`1 func) in D:\a\1\s\backend\Origam.Server\Controller\AbstractController.cs:line 111
Any idea why this happens. The same is happening when placing TagInput into the ScreenPanel.
Realation property IsParentChild can be either true or false
, the behaviour does not change.