-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathInventoryPick_D365fo
46 lines (38 loc) · 1.76 KB
/
InventoryPick_D365fo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
static void JobPick(Args _args)
{
Query inventTransQuery;
QueryRun qr;
QueryBuildDataSource qbds;
InventTrans inventTrans;
InventDim inventDim;
InventTransOrigin inventTransOrigin;
TmpInventTransWMS tmpInventTransWMS;
InventTransWMS_Pick inventTransWMS_Pick;
SalesLine salesLine = SalesLine::findInventTransId('014417');
inventTransQuery = new Query();
qbds = inventTransQuery.addDataSource(tableNum(InventTrans));
qbds.addRange(fieldNum(InventTrans, StatusIssue)).value(queryValue(StatusIssue::ReservPhysical));
qbds = qbds.addDataSource(tableNum(InventTransOrigin));
qbds.relations(true);
qbds.joinMode(JoinMode::InnerJoin);
qbds.addRange(fieldNum(InventTransOrigin, InventTransId)).value(salesLine.InventTransId);
qr = new QueryRun(inventTransQuery);
while (qr.next())
{
inventTrans = qr.get(tableNum(InventTrans));
inventTransOrigin = qr.get(tableNum(InventTransOrigin));
// Set inventory dimensions for picking
inventDim = inventDim::find(inventTrans.InventDimId);
inventDim.wmslocationId = "06A01R3S1B";
inventDim.LicensePlateId = "LP_61_A0001";
inventDim = inventDim::findOrCreate(inventDim);
tmpInventTransWMS.clear();
inventTransWMS_Pick = InventTransWMS_Pick::newStandard(tmpInventTransWMS, inventTransQuery);
tmpInventTransWMS.initFromInventTrans(InventTrans);
tmpInventTransWMS.initFromInventTransOrigin(inventTransOrigin);
tmpInventTransWMS.initFromInventDim(inventDim);
tmpInventTransWMS.InventQty = -inventTrans.Qty;
inventTransWMS_Pick.writeTmpInventTransWMS(tmpInventTransWMS);
inventTransWMS_Pick.updateInvent();
}
}