static void InventJournalFromInventOnHand(Args _args) { Query q; QueryBuildDataSource qbdsInventSum; QueryBuildDataSource qbdsInventDim; QueryRun queryRun; InventSum inventSum; InventDim inventDim, tmpInventDim, toInventDim; InventJournalTable inventJournalTable; InventJournalTrans inventJournalTrans; InventLocationId fromInventLocationId = "MRS_HASAR", toInventLocationId = "MRS_SATIS"; ; ttsbegin; InventJournalTable.clear(); InventJournalTable.initValue(); InventJournalTable.initFromInventJournalName("YourTransferJournalName"); InventJournalTable.insert(); q = new Query(); qbdsInventSum = q.addDataSource(tablenum(InventSum)); // RANGES //qbdsInventSum.addRange(fieldNum(InventSum, ItemID)).value(queryValue("TIM0288")); // GROUP BY qbdsInventSum.addGroupByField(fieldNum(InventSum, ItemID)); // SUM qbdsInventSum.addSelectionField(fieldNum(InventSum, PhysicalInvent), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, PostedQty), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, Received), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, Deducted), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, Registered), SelectionField::Sum); qbdsInventSum.addSelectionField(fieldNum(InventSum, Picked), SelectionField::Sum); // INVENTDIM qbdsInventDim = qbdsInventSum.addDataSource(tablenum(InventDim)); qbdsInventDim.relations(true); // RANGES qbdsInventDim.addRange(fieldNum(InventDim, InventLocationId)).value(queryValue(fromInventLocationId)); // GROUP BY qbdsInventDim.addGroupByField(fieldNum(InventDim, configId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventSizeId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventColorId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventSiteId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventLocationId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, InventBatchId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, inventSerialId)); qbdsInventDim.addGroupByField(fieldNum(InventDim, wMSLocationId)); queryRun = new QueryRun(q); while (queryRun.next()) { inventSum = queryRun.get(tablenum(InventSum)); inventDim = queryRun.get(tablenum(inventDim)); if ( inventSum.physicalInvent() > 0 ) { info(strfmt("%1 %2 %3", inventSum.ItemId, inventSum.physicalInvent(), tmpInventDim.InventBatchId)); inventJournalTrans.clear(); inventJournalTrans.initFromInventJournalTable(inventJournalTable); inventJournalTrans.ItemId = inventSum.ItemId; inventJournalTrans.Qty = inventSum.physicalInvent(); inventJournalTrans.TransDate = today(); tmpInventDim.clear(); tmpInventDim.configId = inventDim.configId; tmpInventDim.InventColorId = inventDim.InventColorId; tmpInventDim.InventSizeId = inventDim.InventSizeId; tmpInventDim.InventSiteId = inventDim.InventSiteId; tmpInventDim.InventLocationId = inventDim.InventLocationId; tmpInventDim.wMSLocationId = inventDim.wMSLocationId; tmpInventDim.InventBatchId = inventDim.InventBatchId; tmpInventDim.inventSerialId = inventDim.inventSerialId; tmpInventDim = InventDim::findOrCreate(tmpInventDim); inventJournalTrans.InventDimId = tmpInventDim.InventDimId; toinventdim = tmpInventDim; toinventdim.InventLocationId = toInventLocationId; toinventdim = inventdim::findOrCreate(toinventdim); inventJournalTrans.ToInventDimId = toinventdim.inventDimId; if(inventJournalTrans.InventDimId != inventJournalTrans.ToInventDimId) inventJournalTrans.insert(); else throw error ("inventdim tutarsız"); } } ttscommit; }
Ay: Ekim 2017
Kayıt zaten var hatası
“Cannot create a record in (table). The record already exists.”
tableid yi bulmak için, yada AOT tan table properties
static void GetTableIdFromNameJob(Args _args)
{
info(strFmt(“%1″, tableName2id(”
“))); }
sql mgt studio ‘yu açalım
select max(recid) from
Edit table SYSTEMSEQUENCES
SELECT ID, NEXTVAL, MINVAL, MAXVAL, CYCLE, NAME, TABID, DATAAREAID, RECVERSION, RECID FROM SYSTEMSEQUENCES WHERE (TABID = 1462)
NEXTVAL değerini arttırıp AOS u restart edelim. (the changes will not take affect until you restart the AOS)
Kaynak : https://community.dynamics.com/