Показать сообщение отдельно
Старый 04.12.2013, 19:52   #3  
Alex Pavluk is offline
Alex Pavluk
Участник
 
6 / 10 (1) +
Регистрация: 15.11.2013
Создаю динамическую форму :

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() все равно пустой)

Что я не так делаю ?