
[Extensionof(formstr(SalesTable))]
final class SalesLine_CAP_Extension
{
[FormControlEventHandler(formControlStr(SalesTable, SalesLine_ManufacturingPlant_CAP), FormControlEventType::Lookup)]
public static void SalesLine_ManufacturingPlant_CAP_OnLookup(FormControl sender, FormControlEventArgs e)
{
Args args;
FormRun formRun;
MultiSelectionHelper Msh;
InventSite inventSite;
FormDataSource salesLine_ds = sender.formRun().dataSource(formDataSourceStr(SalesTable, SalesLine));
SalesLine salesLine = salesLine_ds.cursor();
str store;
int i, conLength;
int64 recId;
SysLookupMultiSelectValues delimitedControlValues;
container controlValues;
container selectField;
FormStringControl d = sender.formRun().design().controlname(formControlStr(SalesTable, SalesLine_ManufacturingPlant_CAP));
FormDataSource inventSite_ds;
FormControlCancelableSuperEventArgs event = e as FormControlCancelableSuperEventArgs;
//Add the categorymultiselectlookupfilter as an argument for lookup
args = new args(formStr(InventSite));
//Add the current conrol (Grid Column) as lookup caller
args.caller(d);
formRun = classFactory.formRunClass(args);
//Initialize and perform lookup form
formRun.init();
d.performFormLookup(formRun);
inventSite_ds = formRun.dataSource();
delimitedControlValues = d.text();
if(delimitedControlValues)
{
controlValues = str2con(delimitedControlValues, ';', false);
conLength = conlen(controlValues);
for (i = 1; i <= conLength; i )
{
inventSite_ds.findRecord(InventSite::find(conpeek(controlValues, i)));
inventSite_ds.mark(true);
}
}
formRun.wait();
if(formRun.closedOk())
{
Msh = MultiSelectionHelper::construct();
Msh.parmDatasource(inventSite_ds);
for (InventSite = inventSite_ds.getFirst(true) ? inventSite_ds.getFirst(true) : inventSite_ds.cursor();inventSite;
InventSite = inventSite_ds.getNext())
{
store = InventSite.SiteId ";";
}
d.text(store);
SalesLine.ManufacturingPlant_CAP = d.valueStr();
SalesLine.write();
// SalesLine.reread();
// SalesLine.refresh();
}
event.CancelSuperCall();
}
}
Hi,
I have written a code for a Multiselect column(ManufacturingPlant_CAP) - In
data source (Sales Line).- In Form (Sales Table).
and I want to get the value from Table(InventSite) - Column(SiteID).
But I am getting form open Like as in the picture attached and also not able to select multiple fields.
Can Anyone Suggest.