[ExtensionOf(formStr(VendParameters))]
final class VendParameters_Extension
{
public SysLookupMultiSelectCtrl msCtrl;
public void init()
{
FormStringControl formStringControl;
formStringControl = this.design().controlName(formControlStr(VendParameters, VendParameters_multiselect) );
this.multiselectLookup(formStringControl);
}
public SysLookupMultiSelectCtrl parmMultiselect(SysLookupMultiSelectCtrl _msCtrl = msCtrl)
{
msCtrl = _msCtrl;
return msCtrl;
}
public void multiselectLookup(FormStringControl _multiselectControl)
{
Query query = new Query();
QueryBuildDataSource qbds;
query.allowCrossCompany(true);
qbds = query.addDataSource(tableNum(JournalName));
qbds.fields().addField(fieldNum(JournalName, Name));
qbds.orderMode(OrderMode::GroupBy);
qbds.addSortField(fieldNum(JournalName, Name));
msCtrl = SysLookupMultiSelectCtrl::constructWithQuery(this, _multiselectControl, query );
this.parmMultiselect(msCtrl);
}
}
public class VendParametersFormDSEventHandler
{
[FormDataFieldEventHandler( formDataFieldStr(VendParameters, VendParameters, VendParameters_multiselect),
FormDataFieldEventType::Modified )]
public static void VendParameters_multiselect_OnModified(FormDataObject sender, FormDataFieldEventArgs e)
{
FormRun formRun = sender.dataSource().formRun();
SysLookupMultiSelectCtrl msCtrl = formRun.parmMultiselect();
VendParameters vendParameters = formRun.dataSource(formDataSourceStr(VendParameters, VendParameters)).cursor();
vendParameters.multiselect = con2Str(msCtrl.getSelectedFieldValues(), ";");
}
}