Цитата:
блин я со своими правками в конец запутался...ситуация
Да там дела не так просты как кажуться, вам придеться писать свой lookup, для этого поля.
Ну вот что то похожее что вам нужно:
X++:
client static void lookupRContractCode(Object _lookupCtrl,
RContractPartnerType _rcontractPartnerType)
{
SysTableLookup sysTableLookup;
Query query = new Query();
QueryBuildDataSource queryBuildDataSource;
QueryBuildRange queryBuildRange;
;
sysTableLookup = SysTableLookup::newParameters(tableNum(RContractTypes), _lookupCtrl);
queryBuildDataSource = query.addDataSource(tableNum(RContractTypes));
queryBuildRange = queryBuildDataSource.addRange(fieldNum(RContractTypes, ContractPartnerType));
queryBuildRange.value(queryvalue(_rcontractPartnerType));
sysTableLookup.addLookupfield(fieldNum(RContractTypes, ContractCode));
sysTableLookup.addLookupfield(fieldNum(RContractTypes, ContractCodeName));
sysTableLookup.addLookupfield(fieldNum(RContractTypes, ContractPartnerType));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
X++:
client static void lookupRContractAccount(Object _lookupCtrl,
RContractPartnerType _rcontractPartnerType,
RContractCode _rcontractCode,
RContractPartnerCode _rcontractPartnerCode,
boolean _onlyActive = true)
{
SysTableLookup sysTableLookup;
Query query = new Query();
QueryBuildDataSource queryBuildDataSource;
QueryBuildRange queryBuildRange;
;
sysTableLookup = SysTableLookup::newParameters(tableNum(RContractTable), _lookupCtrl);
queryBuildDataSource = query.addDataSource(tableNum(RContractTable));
queryBuildRange = queryBuildDataSource.addRange(fieldNum(RContractTable, RContractPartnerType));
queryBuildRange.value(queryvalue(_rcontractPartnerType));
queryBuildRange = queryBuildDataSource.addRange(fieldNum(RContractTable, RContractCode));
queryBuildRange.value(queryvalue(_rcontractCode));
queryBuildRange = queryBuildDataSource.addRange(fieldNum(RContractTable, RContractPartnerCode));
queryBuildRange.value(queryvalue(_rcontractPartnerCode));
if (_onlyActive)
{
queryBuildRange = queryBuildDataSource.addRange(fieldNum(RContractTable, RContractStatus));
queryBuildRange.value(queryvalue(RContractStatus::Active));
}
sysTableLookup.addLookupfield(fieldNum(RContractTable, RContractAccount));
sysTableLookup.addLookupfield(fieldNum(RContractTable, RContractCode));
sysTableLookup.addLookupfield(fieldNum(RContractTable, RContractPartnerCode));
sysTableLookup.addLookupfield(fieldNum(RContractTable, ContractDate));
sysTableLookup.addLookupfield(fieldNum(RContractTable, RContractNumber));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}