Создаю динамическую форму :
protected Object dialog(DialogRunbase dialog, boolean forceOnClient)
.....
dlgFactuDocId = dialog.addFieldValue(typeid(ZEU_FactuDocId), factureDocId); //Fld2_1
.....
dlgFactureExtIdNumSeq = dialog.addFieldValue(typeid(NumberSequenceGroupId), factureexternalId); //Fld5_1
dlgZEU_SourceFacture = dialog.addFieldValue(typeid(FactureExternalId_RU), ZEU_SourceFacture);
dlgZEU_CorrectionReason = dialog.addFieldValue(typeid(ZEU_CorrectionReason), ZEU_CorrectionReason);
dlgZEU_SourceFacture.visible(false);
dlgZEU_CorrectionReason.visible(false);
dialog.allowControlMethodOverload_RU(true);
.....
Создаю обработку на выбор LookUp :
protected boolean Fld2_1_modified()
{
boolean ret=True;
;
if (!(ZEU_FactureDoc::find(dlgFactuDocId.value()).DocType == ZEU_DocType::RK))
{
dlgZEU_SourceFacture.visible(true);
dlgZEU_CorrectionReason.visible(true);
}
else
{
dlgZEU_SourceFacture.visible(false);
dlgZEU_CorrectionReason.visible(false);
}
// for Repaint dialog
dialog2.dialogOnClient_RU().updateServer();
dialog2.updateClient(dialog2.dialogOnClient_RU());
return ret;
}
Суть в том, что при выборе LookUp Fld2_1 надо проверять выбранное значение
и соответственно делать видимыми/невидимыми два поля ввода.
Проблемы :
1. dlgFactuDocId.value() - пустое
2. Если включен блок // for Repaint dialog, то визуально эти два поля появляются
на форме, но при этом текст Fld2_1 становится пустым
3. Если не включен блок // for Repaint dialog, то визуально эти два поля НЕ появляются
на форме, и при этом текст Fld2_1 не пустой (хотя dlgFactuDocId.value() все равно пустой)
Что я не так делаю ?
|