This can be do with Checkfailed in one line instead of two lines:
if (b_SerialTrans.RefType !=B_SerialRefType::ServiceObjectRelation)
return checkFailed("Record cannot be delete!..");
7 Şubat 2012 Salı
27 Aralık 2011 Salı
AXAPTA runbase dialog
void clicked()
{
Dialog dialog;
DialogField DEmplId;
DialogField DApp;
DialogField DAppDesc;
;
dialog = new Dialog("@SYS108667");
DApp = dialog.addField(typeId(B_Approval));
DAppDesc = dialog.addField(typeId(Description));
DEmplId = dialog.addField(typeId(EmplId));
DApp.value(B_RepairJournalPartsChangeLines.Approval);
DAppDesc.value(B_RepairJournalPartsChangeLines.ApprovalDescription);
DEmplId.value(SysCompanyUserInfo::find(CurUserId()).EmplId);
dialog.run(); // show
if (dialog.closedOK())
{
ttsbegin;
B_RepairJournalPartsChangeLines.Approval = DApp.value();
B_RepairJournalPartsChangeLines.ApprovalDescription = DAppDesc.value();
B_RepairJournalPartsChangeLines.ApproveEmplId = DEmplId.value();
element.redraw();
ttscommit;
}
}
AXAPTA post invent journal
journalTableData journalTabledata;
inventJournalTable inventJournalTable;
InventJournalCheckPost journalCheckPost;
;
inventJournalTable = inventJournalTable::find(Line.InventJournalId);
// Posting Journal
journalTableData = JournalTableData::newTable(inventJournalTable);
journalTableData.updateBlock(JournalBlockLevel::InUse,JournalBlockLevel::None);
if (infolog.num(Exception::Error))
return;
infolog.clear(0);
journalCheckPost =
InventjournalCheckPost::newJournalCheckPost(JournalCheckPostType::Post,InventJournalTable);
journalCheckPost.parmAutoBlock(true);
journalCheckPost.run();
if(journalTableData.hasErrors())inventJournalTable inventJournalTable;
InventJournalCheckPost journalCheckPost;
;
inventJournalTable = inventJournalTable::find(Line.InventJournalId);
// Posting Journal
journalTableData = JournalTableData::newTable(inventJournalTable);
journalTableData.updateBlock(JournalBlockLevel::InUse,JournalBlockLevel::None);
if (infolog.num(Exception::Error))
return;
infolog.clear(0);
journalCheckPost =
InventjournalCheckPost::newJournalCheckPost(JournalCheckPostType::Post,InventJournalTable);
journalCheckPost.parmAutoBlock(true);
journalCheckPost.run();
return;
22 Aralık 2011 Perşembe
AXAPTA invent journal
When we were working with forms we just select InventJournalName and default parameters come. At working with code we have to put our parameters (or that is the way just I can found):
InventJournalTrans inventJournalTrans;
InventJournalTable inventJournalTable;
InventJournalName inventJournalName;
InventDim toInventDim;
InventDim tempInventDimTo;
;
// Process Journal Header
inventJournalName = "MyJournalName"
inventJournalTable.initValue();
inventJournalTable.JournalId = NumberSeq::newGetNum(InventParameters::numRefInventJournalId()).num();
inventJournalTable.Description = InventJournalName.Description;
inventJournalTable.Reservation = ItemReservation::Automatic;
inventJournalTable.JournalType = inventJournalType::Transfer;
inventJournalTable.BlockUserGroupId = inventJournalName.BlockUserGroupId;
inventJournalTable.JournalNameId = inventJournalName.JournalNameId;
inventJournalTable.ApprUserGroup = inventJournalName.ApprUserGroup;
inventJournalTable.ApprFromSiteId = inventJournalName.ApprFromSiteId;
inventJournalTable.ApprFromLocationId = inventJournalName.ApprFromLocationId;
inventJournalTable.ApprFromWMSLocationId= inventJournalName.ApprFromWMSLocationId;
inventJournalTable.ApprFromBatchId = inventJournalName.ApprFromBatchId;
inventJournalTable.ApprToSiteId = inventJournalName.ApprToSiteId;
inventJournalTable.ApprToLocationId = inventJournalName.ApprToLocationId;
inventJournalTable.ApprToWMSLocationId = inventJournalName.ApprToWMSLocationId;
inventJournalTable.ApprToBatchId = inventJournalName.ApprToBatchId;
inventJournalTable.VoucherSeqId = inventJournalName.VoucherSeqId;
inventJournalTable.insert();
toInventDim.clear();
toInventDim.initValue();
toInventDim.wMSLocationId = inventJournalName.ApprtoWMSLocationId;
toInventDim.InventLocationId = inventJournalName.ApprtoLocationId;
toInventDim.InventSiteId = inventJournalName.ApprtoSiteId;
// Process journal lines
inventJournalTrans.initValue();
inventjournaltrans.initFromInventJournalTable(inventJournalTable);
inventJournalTrans.Voucher = NumberSeq::newGetNum(InventParameters::numRefInventJournalVoucherId()).num();
inventJournalTrans.ItemId = "MyItem001";
InventJournalTrans.initFromInventTable(Inventtable::find(InventJournalTrans.ItemId));
inventJournalTrans.TransDate = systemDateGet();
inventJournalTrans.Qty = -1;
inventJournalTrans.InventDimId = tempInventDimto.inventDimId;
// reservation check
if (!InventMoveMent::setAutoReserving(InventJournalTrans))
{
inventJournalTable.delete();
return;
}
inventJournalTrans.insert();
InventJournalTable inventJournalTable;
InventJournalName inventJournalName;
InventDim toInventDim;
InventDim tempInventDimTo;
;
// Process Journal Header
inventJournalName = "MyJournalName"
inventJournalTable.initValue();
inventJournalTable.JournalId = NumberSeq::newGetNum(InventParameters::numRefInventJournalId()).num();
inventJournalTable.Description = InventJournalName.Description;
inventJournalTable.Reservation = ItemReservation::Automatic;
inventJournalTable.JournalType = inventJournalType::Transfer;
inventJournalTable.BlockUserGroupId = inventJournalName.BlockUserGroupId;
inventJournalTable.JournalNameId = inventJournalName.JournalNameId;
inventJournalTable.ApprUserGroup = inventJournalName.ApprUserGroup;
inventJournalTable.ApprFromSiteId = inventJournalName.ApprFromSiteId;
inventJournalTable.ApprFromLocationId = inventJournalName.ApprFromLocationId;
inventJournalTable.ApprFromWMSLocationId= inventJournalName.ApprFromWMSLocationId;
inventJournalTable.ApprFromBatchId = inventJournalName.ApprFromBatchId;
inventJournalTable.ApprToSiteId = inventJournalName.ApprToSiteId;
inventJournalTable.ApprToLocationId = inventJournalName.ApprToLocationId;
inventJournalTable.ApprToWMSLocationId = inventJournalName.ApprToWMSLocationId;
inventJournalTable.ApprToBatchId = inventJournalName.ApprToBatchId;
inventJournalTable.VoucherSeqId = inventJournalName.VoucherSeqId;
inventJournalTable.insert();
toInventDim.clear();
toInventDim.initValue();
toInventDim.wMSLocationId = inventJournalName.ApprtoWMSLocationId;
toInventDim.InventLocationId = inventJournalName.ApprtoLocationId;
toInventDim.InventSiteId = inventJournalName.ApprtoSiteId;
// Process journal lines
inventJournalTrans.initValue();
inventjournaltrans.initFromInventJournalTable(inventJournalTable);
inventJournalTrans.Voucher = NumberSeq::newGetNum(InventParameters::numRefInventJournalVoucherId()).num();
inventJournalTrans.ItemId = "MyItem001";
InventJournalTrans.initFromInventTable(Inventtable::find(InventJournalTrans.ItemId));
inventJournalTrans.TransDate = systemDateGet();
inventJournalTrans.Qty = -1;
inventJournalTrans.InventDimId = tempInventDimto.inventDimId;
// reservation check
if (!InventMoveMent::setAutoReserving(InventJournalTrans))
{
inventJournalTable.delete();
return;
}
16 Aralık 2011 Cuma
AXAPTA Set empty date and datetime values
for Datetime values:
myDateTime=DateTimeUtil::minValue();
for Date values:
myDate =global::dateNull();
myDateTime=DateTimeUtil::minValue();
for Date values:
myDate =global::dateNull();
6 Aralık 2011 Salı
AXAPTA current datetime
SMARepairLine.DateTimeBegin = DateTimeUtil::getSystemDateTime();
5 Aralık 2011 Pazartesi
AXAPTA sales price, cost price
Sales price:
B_RepairJournalOrderLines.ProjCostPrice = InventTableModule::find(B_RepairJournalOrderLines.ItemId,ModuleInventPurchSales::Sales).price() ;
B_RepairJournalOrderLines.ProjSalesPrice = InventTable::find(B_RepairJournalOrderLines.ItemId).LastUserPrice;
Cost price:B_RepairJournalOrderLines.ProjCostPrice = InventTableModule::find(B_RepairJournalOrderLines.ItemId,ModuleInventPurchSales::Sales).price() ;
Kaydol:
Kayıtlar (Atom)