Цитата:
Сообщение от S.Kuskov
Pustik, если не сложно проверьте, какое из условий у вас срабатывает в методе SysLookup::lookupRange()
X++: ....
if (sysDictField &&
_formStringControl.lookupButton() == FormLookupButton::Always)
{
_formStringControl.hasChanged(false);
if (!sysDictField.configurationKeyId() ||
isConfigurationkeyEnabled(sysDictField.configurationKeyId()))
{
if (SysLookup::typeHasFormHelp(sysDictField.typeId()))
{
_formStringControl.performTypeLookup(sysDictField.typeId(), sysDictField.arrayIndex());
}
else
{
if(SysLookup::getExtEnumId(sysDictField))
{
_formStringControl.performFormLookup(SysLookup::lookupEnum(sysDictField));
}
else
{
if (sysDictField.baseType() == Types::Date || sysDictField.baseType() == Types::UtcDateTime)
{
_formStringControl.performFormLookup(SysLookup::lookupDate(_formStringControl.owner()));
}
else
{
sysDictType = new SysDictType(fieldExt2Id(sysDictField.typeId()));
if (sysDictType &&
sysDictType.relationObject())
{
_formStringControl.performTypeLookup(sysDictField.typeId(), sysDictField.arrayIndex());
}
else
{
relationName = SysLookup::lookupTableRelation(cursor);
if (relationName)
{
// вот сюда попадаю
dictRelation = new DictRelation(sysDictField.tableid());
dictRelation.loadNameRelation(relationName);
SysLookup::lookupTable(dictRelation, _query, cursor, _formStringControl);
}
}
}
}
}
}
}....
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Последний раз редактировалось Pustik; 28.12.2012 в 13:31.
|