Hi, thanks
this is regarding version Update15 (7.0.4841.35234)
I know that itemid has no function in the code it was only ment to show the code I tried but did not work. How do I get the characters the user write in the field (itemid) on the salesline?? I only tried that without success.
I attached the code below that was missing. And when debugging I can see that it inserts rows in my tmp table. If I use the drop down beside the itemid on the salesline my lookup appears and contains all items.
But when the user enters for instance 1 or any other caracter in the itemid field on the salesline in d365 it will enter the lookup but when the lookup shows it does not contain any lines. Even though I debugged and saw lines was inserted.
public static void ItemLookup(FormControl sender, FormControlEventArgs e)
{
inventDimParm inventDimParm;
InventDim inventDim;
STA002ItemLookupTmp STAItemLookupTmp;
inventItemIdLookupSimpleView inventItemIdLookupSimpleView;
Query query;
QueryRun queryRun;
QueryBuildDataSource inventItemIdLookupSimpleViewQbds;
InventOnhand inventOnHand;
InventItemSalesSetup inventItemSalesSetup;
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(STA002ItemLookupTmp), sender);
query = new Query();
inventItemIdLookupSimpleViewQbds = query.addDataSource(tableNum(inventItemIdLookupSimpleView));
inventItemIdLookupSimpleViewQbds.addSortField(fieldNum(inventItemIdLookupSimpleView, ItemId));
inventItemIdLookupSimpleViewQbds.firstFast(true);
queryRun = new QueryRun(query);
while (queryRun.next())
{
inventItemIdLookupSimpleView = queryRun.get(tableNum(inventItemIdLookupSimpleView));
STAItemLookupTmp.ItemId = inventItemIdLookupSimpleView.ItemId;
STAItemLookupTmp.NameAlias = inventItemIdLookupSimpleView.NameAlias;
STAItemLookupTmp.ProductName = inventItemIdLookupSimpleView.ProductName;
STAItemLookupTmp.ItemGroupId = inventItemIdLookupSimpleView.ItemGroupId;
STAItemLookupTmp.OD1 = inventItemIdLookupSimpleView.STAOD1;
STAItemLookupTmp.OD2 = inventItemIdLookupSimpleView.STAOD2;
STAItemLookupTmp.ID = inventItemIdLookupSimpleView.STAID;
STAItemLookupTmp.GT = inventItemIdLookupSimpleView.STAGT;
STAItemLookupTmp.Length = inventItemIdLookupSimpleView.STALength;
STAItemLookupTmp.Standard = inventItemIdLookupSimpleView.STAStandard;
STAItemLookupTmp.Condition = inventItemIdLookupSimpleView.STACondition;
STAItemLookupTmp.SteelGrade = inventItemIdLookupSimpleView.STASteelGrade;
STAItemLookupTmp.SurfaceCondition = inventItemIdLookupSimpleView.STASurfaceCondition;
inventdim = InventDim::findOrCreate(InventDim);
select firstonly inventItemSalesSetup where inventItemSalesSetup.itemid == STAItemLookupTmp.ItemId &&
inventItemSalesSetup.InventDimId == inventdim.inventDimId;
inventdim.clear();
inventDim.InventLocationId = inventItemSalesSetup.inventDimDefault().InventLocationId;
if(inventDim.InventLocationId)
{
inventDimParm.initFromInventDim(inventDim);
inventOnhand = InventOnhand::newParameters(STAItemLookupTmp.ItemId, inventDim, inventDimParm);
STAItemLookupTmp.AvailPhysical = inventOnhand.AvailPhysical();
}
else
{
STAItemLookupTmp.AvailPhysical = 0;
}
STAItemLookupTmp.insert();
}
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, ItemId), true);
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, OD1));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, OD2));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, ID));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, GT));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, Length));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, AvailPhysical));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, Standard));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, Condition));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, SteelGrade));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, SurfaceCondition));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, NameAlias));
sysTableLookup.addLookupField(fieldNum(STA002ItemLookupTmp, ProductName));
sysTableLookup.addLookupfield(fieldNum(STA002ItemLookupTmp, ItemGroupId));
sysTableLookup.parmTmpBuffer(STAItemLookupTmp);
sysTableLookup.performFormLookup();
}