Symptoms
When viewing the SmartForms Debug logging and the Developer tools in IE for this form we see the following errors in a vast amount:
Developer Tools IE Error:
/error] Property of control could not be set: GetProperty. Error message: Unable to get property 'SFCAreaItem' of undefined or null reference (Helper: executeControlFunction) Unable to get property 'SFCAreaItem' of undefined or null referenceTypeError: Unable to get property 'SFCAreaItem' of undefined or null reference at getProperty (http:///SMARTFORMS URL]/Runtime/Bundles/Js/RT?v=IfuEr25ODjKqVi0o8cBgfoyPwj3DBETjfmQlMxvt-y41andamp_v=4.15060.15300.4:263:1074) at executeControlFunction (http://:SMARTFORMS URL]/Runtime/Bundles/Js/RT?v=IfuEr25ODjKqVi0o8cBgfoyPwj3DBETjfmQlMxvt-y41andamp_v=4.15060.15300.4:223:15034) at setTabIndexesToNone (http://pSMARTFORMS URL]/Runtime/Bundles/Js/RT?v=IfuEr25ODjKqVi0o8cBgfoyPwj3DBETjfmQlMxvt-y41andamp_v=4.15060.15300.4:223:1623) at SourceCode.Forms.Widget.PopupWindow._create (http://aSMARTFORMS URL]/Runtime/Bundles/Js/
Smartforms Logging Error:
Type='error' Category='Helper' Source='executeControlFunction' Message='Property of control could not be set: GetProperty. Error message: Unable to get property and_39SFCAreaItemand_39 of undefined or null reference'>Unable to get property 'SFCAreaItem' of undefined or null referenceTypeError: Unable to get property 'SFCAreaItem' of undefined or null reference at getProperty (http://tSMARTFORMS URL]/Runtime/Bundles/Js/RT?v=IfuEr25ODjKqVi0o8cBgfoyPwj3DBETjfmQlMxvt-y41andamp_v=4.15060.15300.4:263:1074) at executeControlFunction (http://tSMARTFORMS URL]/Runtime/Bundles/Js/RT?v=IfuEr25ODjKqVi0o8cBgfoyPwj3DBETjfmQlMxvt-y41andamp_v=4.15060.15300.4:223:15034) at setTabIndexesToNone (http://hSMARTFORMS URL]/Runtime/Bundles/Js/RT?v=IfuEr25ODjKqVi0o8cBgfoyPwj3DBETjfmQlMxvt-y41andamp_v=4.15060.15300.4:223:1623) at SourceCode.Forms.Widget.PopupWindow._create (http://>SMARTFORMS URL]/Runtime/Bundles/Js/RT?v=IfuEr25ODjKqVi0o8cBgfoyPwj3DBETjfmQlMxvt-y41andamp_v=4.15060.15300.4:66:4144) at Anonymous function (http://"SMARTFORMS URL]/Runtime/Bundles/Js/Common?v=xC8fxmWQ3-ll9LCi5TFSbe5PaKBWmVhPgemXh76FcdM1andamp_v=4.15060.15300.4:533:4985) at n.Widget.prototype._createWidget (http://rSMARTFORMS URL]/Runtime/Bundles/Js/Common?v=xC8fxmWQ3-ll9LCi5TFSbe5PaKBWmVhPgemXh76FcdM1andamp_v=4.15060.15300.4:533:4542) at t (http://eSMARTFORMS URL]/Runtime/Bundles/Js/Common?v=xC8fxmWQ3-ll9LCi5TFSbe5PaKBWmVhPgemXh76FcdM1andamp_v=4.15060.15300.4:533:4542) at Anonymous function (http://nSMARTFORMS URL]/Runtime/Bundles/Js/Common?v=xC8fxmWQ3-ll9LCi5TFSbe5PaKBWmVhPgemXh76FcdM1andamp_v=4.15060.15300.4:533:6295) at each (http://eSMARTFORMS URL]/Runtime/Bundles/Js/Common?v=xC8fxmWQ3-ll9LCi5TFSbe5PaKBWmVhPgemXh76FcdM1andamp_v=4.15060.15300.4:2:2870) at o.prototype.each (http://pSMARTFORMS URL]/Runtime/Bundles/Js/Common?v=xC8fxmWQ3-ll9LCi5TFSbe5PaKBWmVhPgemXh76FcdM1andamp_v=4.15060.15300.4:2:809)ControlNameDocBase Area Item73SetPropertySourceCode.Forms.Controls.AreaItem.setPropertyGetPropertySourceCode.Forms.Controls.AreaItem.getProperty
Diagnoses
It appears that these error messages are strongly related to showing a subform. When a subform is shown the method setTabIndexesToNone is being run on all of the controls of the main form that is now behind the subform. This method changes the control properties and will make it so a user that is working on the subform can not accidentally tab back to the main form. On large forms with multiple views and controls this method will have to change the properties on all of the underlying controls when a subform is shown to the user. This could be contributing to a decrease in performance and load times on the form. This is currently under investigation.
These errors will appear on any form and this was tested specifically in 4.6.11. The quickest way to view these errors is to have a message show to a user on button click. Enable Smartforms Debug logging ?_debug=1, and then click the button. After that view the log and we can see a few of these errors appear in the log.
Resolution
Errors are strongly related to a subform showing. This has been logged as bug to be fixed in a later version of K2. For now there are a few workarounds to eliminate these errors. They do require changing the design of the form and creating different forms instead of one condensed form.
Workaround:
Eliminate the use of any rules that show a subform or message to the user. Also eliminating any tabs being used and instead break down the form to not only increase performance but also eliminate the need for controls on all tabs to have their properties set when a subform is shown.