Показать сообщение отдельно
Старый 01.11.2019, 09:59   #4  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Простите, привожу код:

Лукап:
X++:
public static void lookupSalesAgreementIdExecutant(FormControl     _callingControl,
                                                CustAccount     _custAccount,
                                                AgreementExecutant _executant)
{
    Query query;
    QueryBuildDataSource qbds;

    SysTableLookup          sysTableLookup = SysTableLookup::newParameters(tableNum(SalesAgreementHeader), _callingControl);

    sysTableLookup.addLookupfield(fieldNum(SalesAgreementHeader, DocumentTitle));
    sysTableLookup.addLookupMethod(tableMethodStr(AgreementHeader, AgreementDate_RU));
    sysTableLookup.addLookupMethod(tableMethodStr(SalesAgreementHeader, custNameAlias));
    
    sysTableLookup.addLookupfield(fieldNum(SalesAgreementHeader, CustAccount));
    sysTableLookup.addLookupfield(fieldNum(SalesAgreementHeader, Currency));
    sysTableLookup.addLookupfield(fieldNum(SalesAgreementHeader, AgreementClassification));
    sysTableLookup.addLookupfield(fieldNum(SalesAgreementHeader, SalesNumberSequence), true);


    query = AgreementHeader::partyAgreementsQuery(tableNum(SalesAgreementHeader),
        fieldNum(SalesAgreementHeader, CustAccount),
        _custAccount ? _custAccount : SysQuery::valueUnlimited(),
        systemDateGet(),
        false,
        0,
        _executant
        ); 

    qbds = query.dataSourceTable(tableNum(SalesAgreementHeader));

    qbds.addSortField(fieldNum(SalesAgreementHeader, DocumentTitle));

    qbds = query.dataSourceTable(tableNum(SalesAgreementHeader));
    qbds = qbds.addDataSource(tableNum(SalesAgreementHeaderExt_RU));
    qbds.relations(true);
    qbds.joinMode(JoinMode::ExistsJoin);

    sysTableLookup.parmQuery(query);
    sysTableLookup.parmUseLookupValue(false);
    sysTableLookup.performFormLookup();
}
Дисплейный метод:
X++:
//BP Deviation Documented
public display CustName custNameAlias()
{
    CustTable       custTable;
    DirPartyTable   partyTable;

    if (this.CustAccount)
    {
        select firstonly Party from custTable
                where custTable.AccountNum == this.CustAccount
            join NameAlias from partyTable
                where partyTable.RecId == custTable.Party;

    }

    return partyTable.NameAlias;
}