Web дизайнер

Проблемы и способы устранения

💥 - проблема изучается и ищется вариант решения
✅ - решение найдено и зафиксировано
📛 - на текущий момент решение отсутствует

Проблемы и способы устранения

✅ ViewItem не отображается корректно и не сохраняется объект

При миграции с 3х на 4х элементы в серверных модулях унаследованные от ViewItem перестают корректно отображаться в Веб дизайнере:

image-1617867873353.png

Кроме того, при попытке сохранения формы возникает ошибка:

ERROR 2021-04-07 10:24:02,630 [85] System.NullReferenceException: Object reference not set to an instance of an object.
at EleWise.ELMA.Metadata.Designer.UI.Functions.EntityMetadataUtils.<>c__DisplayClass44_1.<UpdateForms>b__5(FormViewItemData f) in SaveEntityMetadata.cs:line 945
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
at EleWise.ELMA.Metadata.Designer.UI.Functions.EntityMetadataUtils.UpdateForms(EntityMetadata metadata, EntityMetadataDesignerDTO dto) in SaveEntityMetadata.cs:line 944
at EleWise.ELMA.Metadata.Designer.UI.Functions.EntityMetadataUtils.Map(IMetadataItem target, EntityMetadataDesignerDTO source, ICollection`1 validationErrors) in SaveEntityMetadata.cs:line 122
at EleWise.ELMA.Metadata.Designer.UI.Functions.SaveEntityMetadataExecutor.Execute(EntityMetadataDesignerDTO arg) in SaveEntityMetadata.cs:line 67
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object.
at EleWise.ELMA.Metadata.Designer.UI.Functions.EntityMetadataUtils.<>c__DisplayClass44_1.<UpdateForms>b__5(FormViewItemData f) in SaveEntityMetadata.cs:line 945
at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source, Func`2 predicate)
at EleWise.ELMA.Metadata.Designer.UI.Functions.EntityMetadataUtils.UpdateForms(EntityMetadata metadata, EntityMetadataDesignerDTO dto) in SaveEntityMetadata.cs:line 944
at EleWise.ELMA.Metadata.Designer.UI.Functions.EntityMetadataUtils.Map(IMetadataItem target, EntityMetadataDesignerDTO source, ICollection`1 validationErrors) in SaveEntityMetadata.cs:line 122
at EleWise.ELMA.Metadata.Designer.UI.Functions.SaveEntityMetadataExecutor.Execute(EntityMetadataDesignerDTO arg) in SaveEntityMetadata.cs:line 67
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at EleWise.ELMA.Model.Scripts.Entities.EntityScriptingService.<>c__DisplayClass18_0.<InvokeWithDiagnostics>b__2()
at EleWise.ELMA.Model.Scripts.ScriptExecutionService.ScriptExecution(Action action, String errorTitle)

Исправлено в 4.0.18

Глоссарий

E3 - ELMA версии 3
E4 - ELMA версии 4
КИ - конструктор интерфейсов
КФ - конструктор форм
ВД - Веб дизайнер
2Р - второй рантайм КИ (первый был в E3 и оставлен для обратной совместимости в Е4 после миграции)
EX - ELMA X - дополнительный продукт для Е4, позволяющий вынести в обработку "тяжелые" сервисы системы, тем самым разгрузить основное ядро.