Ваш совет наверно был бы рациональней , но проблему решили с помощью кода представленного ниже в дочернем классе
public Object dialog()
{
Object ret;
DialogRunbase dialogloc;
formCheckBoxControl dl;
FormControl recurseGet(Object _parent, name _ctrlname, int _depth = 1)
{
int i;
str name;
str caption;
str dashes;
FormControl result;
FormControl bcontrol;
;
if (SysTest::hasMethod(_parent, identifierStr(name)))
{
if (_ctrlname == _parent.name())
{
bcontrol=_parent;
return bcontrol;
}
}
// Escape condition!
if (_parent.controlCount() == 0)
return null;
// Recursive statement
for (i=1; i<=_parent.controlCount(); i++)
{
result = recurseGet(_parent.controlNum(i),_ctrlname, _depth+1);
if (result!=null) return result;
}
return null;
}
;
ret = super();
dialogloc = ret;
dl = recurseGet( dialogloc.dialogForm().form().design(),"myControl");
dl.label('Дата послед. прихода на табельный номер');
return ret;
}
|