Чтобы решить первую проблему, попробуйте дописать свой код как показано ниже. Вторая проблема возможно исчезнет сама.
X++:
protected boolean Fld2_1_modified()
{
Object control = dialog.formRun().controlCallingMethod();
boolean ret = control.modified();
boolean vsblity;
;
if (ret)
{
vsblity = ZEU_FactureDoc::find(dlgFactuDocId.value()).DocType != ZEU_DocType::RK;
dlgZEU_SourceFacture.visible(vsblity);
dlgZEU_CorrectionReason.visible(vsblity);
// for Repaint dialog
dialog2.dialogOnClient_RU().updateServer();
dialog2.updateClient(dialog2.dialogOnClient_RU());
}
return ret;
}