Показать сообщение отдельно
Старый 13.10.2009, 16:36   #1  
DTD is offline
DTD
Участник
 
183 / 18 (1) ++
Регистрация: 09.08.2005
DialogField по неизвестному типу данных
Нужно иметь возможность на форме выбирать значение поля по умолчанию, причем поле выбирается из списка доступных полей и его тип заранее не известен, хранится по FieldId.

Почему-то расчитывал что это сработает, конечно ошибался .. :

PHP код:
public void lookup()
{
    
Dialog dialog = new Dialog();
    
DictField df;
    
DialogField dialogfield;
    ;

    
df = new DictField(MyTable.DataTableIdMyTable.DataFieldid);

    
dialogfield dialog.addField(df.baseType(), df.name(), df.help());

    if (
dialog.run())
    {
        
MyTable.ValueStr strfmt('%1'dialogfield.value());
    }


Если поле, к примеру, происходит от smmBusRelAccount то на диалоге появляется обычный стринг (должен быть контрол с выпадающим списком smmBusRelAccount )

Если от TransDate то StringEdit с пустым лукапом (должен быть контрол с календариком)

Если от NoYesId то опять StringEdit с пустым лукапом (должен быть checkbox)

В принципе логично, все таки basetype запрашивал, но не у всех полей заполнено свойство EDT/Enum, есть ли какое-нибудь стандартное красивое решение подобной задачи ?
__________________
_databaseTransDelete ... bl@$ !