[ExtensionOf(formstr(CustTable))]
public final class MTPCustTable_Form_Extension
{
public SysLookupMultiSelectCtrl msCtrl;
/// <summary>
/// Building the DocuType query
/// </summary>
/// returns the Docutype Query
public Query buildDocuTypeQuery()
{
Query docuTypeQry = new Query(queryStr(CustGroupSRS));
return docuTypeQry;
}
container getSelectedNotes(str _noteStr)
{
DocuType docuType;
container tmpValues, conIds, conName;
int idx;
if(_noteStr)
{
tmpValues = str2con(_noteStr, ';');
}
for(idx=1; idx<=conLen(tmpValues); idx++)
{
docuType = DocuType::find(conPeek(tmpValues, idx));
conIds += docuType.RecId;
conName += docuType.TypeId;
}
return [conIds, conName, conIds];
}
/// <summary>
/// Code for the multi-lookup on form init
/// </summary>
/// formrun
/// event args
[FormEventHandler(formStr(CustTable), FormEventType::Initialized)]
public void CustTable_OnInitialized(xFormRun sender, FormEventArgs e)
{
Query docuTypeQry = this.buildDocuTypeQuery();
FormStringControl DocuTypes = this.design().controlName('Integration_MTP_MTPIdentifier');
msCtrl = SysLookupMultiSelectCtrl::construct(this,
DocuTypes,
querystr(CustGroupSRS),
false,
[tableNum(CustGroup), fieldNum(CustGroup,CustGroup)]);
msCtrl.refreshQuery(docuTypeQry);
msCtrl.set(this.getSelectedNotes(''));
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
[FormDataFieldEventHandler(formDataFieldStr(CustTable, CustTable, MTP_Identifier), FormDataFieldEventType::Modified)]
public void MTPIdentifier_OnModified(FormDataObject sender, FormDataFieldEventArgs e)
{
FormRun formRun = sender.datasource().formRun();
CustTable custTable = formRun.dataSource(FormDataSourceStr(CustTable, CustTable)).cursor() as CustTable;
custTable.MTPIdentifier = con2Str(msCtrl.getSelectedFieldValues(), ';');
}
}
No comments:
Post a Comment