วันพฤหัสบดีที่ 30 พฤษภาคม พ.ศ. 2556
วันพฤหัสบดีที่ 7 มีนาคม พ.ศ. 2556
Passing_values_between_forms
Credit http://www.axaptapedia.com/index.php?title=Passing_values_between_forms
override fetch() in report
// Class Declaration
public class ReportRun extends ObjectRun
{
A AP;
}
// set current record
public void init()
{
super();
AP = element.args().record();
}
// change datasorce in fetch() method and ranged by field on current record
public boolean fetch()
{
QueryRun qr;
QueryBuildRange rangeJobNumber;
boolean ret;
A _A;
;
qr = new QueryRun(element);
rangeJobNumber =
element.query().dataSourceTable(tablenum(A)).addRange(fieldnum(A,A1));
rangeJobNumber.value(AP.A1);
rangeJobNumber.status(RangeStatus::Locked);
if(qr.prompt() && element.prompt())
{
// element.send(A_1,1);
while (qr.next())
{
_A= qr.get(TableNum(A));
element.send(_A);
}
}
ret = true;
return ret;
}
วันศุกร์ที่ 11 มกราคม พ.ศ. 2556
Finance.Setค่า
Currency -> กำหนดสกุลเงินหลักและสกุลเงินรองพร้อมทั้งอัตราแลกเปลี่ยน
-> สร้างบัญชีกำไรขาดทุนจากอัตราแลกเปลี่ยน
-> กำหนดค่า currency หลักที่ company information
Financial Period
Default Dimension ของบัญชีใน Chart of Account
Journal Name เช่น IV,JV,PV,RV
Account Type เช่น Profit&Lost(รับ-จ่าย),Cost(จ่าย),Revenue(รับ),Asset,Header
Total(ต้องกำหนดAccount ที่รวมใน Total ด้วย)
ส่วน System Account เช่น error Account,System Account
-> สร้างบัญชีกำไรขาดทุนจากอัตราแลกเปลี่ยน
-> กำหนดค่า currency หลักที่ company information
Financial Period
Default Dimension ของบัญชีใน Chart of Account
Journal Name เช่น IV,JV,PV,RV
Account Type เช่น Profit&Lost(รับ-จ่าย),Cost(จ่าย),Revenue(รับ),Asset,Header
Total(ต้องกำหนดAccount ที่รวมใน Total ด้วย)
ส่วน System Account เช่น error Account,System Account
วันอาทิตย์ที่ 23 ธันวาคม พ.ศ. 2555
SubQuery
PRINCIPLES
1.(SELECT...)
2.can use with SELECT,FROM,WHERE,HAVING
EX1
SELECT CustTable.CustID, CustTable.balance, (
SELECT SUM( CustTable.balance )
FROM CustTable ) *100
FROM `custtable`
EX2
SELECT * FROM CustTable WHERE CustTable.Balance >= ( SELECT avg(CustTable.Balance) FROM CustTable );
EX3 SELECT iCityID, sCityName FROM citymaster c where iCityID in(SELECT iStateID FROM statemaster s)
1.(SELECT...)
2.can use with SELECT,FROM,WHERE,HAVING
EX1
SELECT CustTable.CustID, CustTable.balance, (
SELECT SUM( CustTable.balance )
FROM CustTable
), CustTable.balance / ( FROM CustTable
SELECT SUM( CustTable.balance )
FROM CustTable ) *100
FROM `custtable`
EX2
SELECT * FROM CustTable WHERE CustTable.Balance >= ( SELECT avg(CustTable.Balance) FROM CustTable );
EX3 SELECT iCityID, sCityName FROM citymaster c where iCityID in(SELECT iStateID FROM statemaster s)
วันเสาร์ที่ 22 ธันวาคม พ.ศ. 2555
Over Dues and Over balance Customer
SELECT CustTable.CustName,CustTable.Balance ,Sum(SalesLine.LineAmt),Salestable.DuesDate
FROM CustTable,Salestable,SalesLine
WHERE CustTable.CustID = Salestable.CustID
And Salestable.SalesID = SalesLine.SalesID
And Salestable.DuesDate > now()
and CustTable.Balance > 1000
GROUP BY CustTable.CustName,CustTable.Balance,Salestable.DuesDate
Order By CustTable.Balance Desc
FROM CustTable,Salestable,SalesLine
WHERE CustTable.CustID = Salestable.CustID
And Salestable.SalesID = SalesLine.SalesID
And Salestable.DuesDate > now()
and CustTable.Balance > 1000
GROUP BY CustTable.CustName,CustTable.Balance,Salestable.DuesDate
Order By CustTable.Balance Desc
Max Balance Customer
SELECT CustTable.CustName,Max(CustTable.Balance)
FROM CustTable
Group by CustTable.CustID
Order by Max(CustTable.Balance) Desc
Limit 0,1
Top 10 Item
Select InventTable.ItemID,sum(SalesLine.LineAmt)
FROM SalesLine,SalesTable,InventTable
WHERE SalesTable.SalesID = SalesLine.SalesID
And InventTable.ItemID= SalesLine.ItemID
Group By InventTable.ItemID
Order By sum(SalesLine.LineAmt) DESC
Limit 0,10
Top 10 Customer
Select CustTable.CustName,sum(SalesLine.LineAmt)
FROM SalesLine,SalesTable,CustTable
WHERE SalesTable.SalesID = SalesLine.SalesID
And SalesTable.CustID = CustTable.CustID
Group By CustTable.CustName
Order By sum(SalesLine.LineAmt) DESC
Limit 0,10
วันอาทิตย์ที่ 25 พฤศจิกายน พ.ศ. 2555
update reflesh master
real SumHoldHFP(ProdJournalRoute _ProdJournalRoute)
{
real rSumQty;
SWAN_ProdJournalRoute_Hold _SWAN_ProdJournalRoute_Hold;
SWAN_Hold_Problem _SWAN_Hold_Problem;
;
select sum(Qty) from _SWAN_ProdJournalRoute_Hold
where _SWAN_ProdJournalRoute_Hold.JobId == _ProdJournalRoute.JobId
&& _SWAN_ProdJournalRoute_Hold.JournalId == _ProdJournalRoute.JournalId
&& _SWAN_ProdJournalRoute_Hold.Sequence == _ProdJournalRoute.Sequence
join _SWAN_Hold_Problem
where _SWAN_Hold_Problem.CodeHold == _SWAN_ProdJournalRoute_Hold.Code
&& _SWAN_Hold_Problem.IDHoldGroup == "HFP";
rSumQty = _SWAN_ProdJournalRoute_Hold.Qty;
/*
callerForm = element.args().caller();
callerForm.dataSource().refresh();
callerForm.dataSource().reread();
callerForm.dataSource().research();
*/
return rSumQty;
}
SWAN_ProdJournalRoute_Hold
public void refresh()
{
ProdJournalTable _ProJournalTable;
;
select _ProJournalTable
where _ProJournalTable.JournalId == ProdJournalRoute.JournalId;
if(_ProJournalTable.Posted == NoYes::No)
{
rSumHoldHFP = element.SumHoldHFP(ProdJournalRoute);
ProdJournalRoute.HoldFP = rSumHoldHFP;
rSumHoldMAT = element.SumHoldMAT(ProdJournalRoute);
ProdJournalRoute.HoldMat = rSumHoldMAT;
rSumHoldWIP = element.SumHoldWIP(ProdJournalRoute);
ProdJournalRoute.HoldProd = rSumHoldWIP;
}
super();
}
public void delete()
{
ProdJournalTable _ProJournalTable;
;
select _ProJournalTable
where _ProJournalTable.JournalId == ProdJournalRoute.JournalId;
if(_ProJournalTable.Posted == NoYes::No)
{
rSumHoldHFP = element.SumHoldHFP(ProdJournalRoute);
ProdJournalRoute.HoldFP = rSumHoldHFP;
rSumHoldMAT = element.SumHoldMAT(ProdJournalRoute);
ProdJournalRoute.HoldMat = rSumHoldMAT;
rSumHoldWIP = element.SumHoldWIP(ProdJournalRoute);
ProdJournalRoute.HoldProd = rSumHoldWIP;
}
super();
}
วันอังคารที่ 20 พฤศจิกายน พ.ศ. 2555
คืนค่า External Downtime,External Downtime,Production Time ในProdJournalRoute
Datasource :: SWAN_ProdJournalRoute_Downtime
public void delete()
{
ProdJournalTable _ProdJournalTable;
SWAN_DownTime_Problem _SWAN_DownTime_Problem;
ProdJournalRoute _ProdJournalRoute;
;
select _ProdJournalTable
where _ProdJournalTable.JournalId == ProdJournalRoute.JournalId;
if(_ProdJournalTable.Posted == NoYes::No)
{
element.Downtime();
}
// info(strfmt("%1",SWAN_ProdJournalRoute_Downtime.HoursUse));
select _SWAN_DownTime_Problem
where _SWAN_DownTime_Problem.Code == SWAN_ProdJournalRoute_Downtime.Code_Problem;
// info(strfmt("%1",_SWAN_DownTime_Problem.TimeStatus));
select _ProdJournalRoute
where _ProdJournalRoute.JournalId == SWAN_ProdJournalRoute_Downtime.JournalId
&& _ProdJournalRoute.JobId == SWAN_ProdJournalRoute_Downtime.JobId;
// && _ProdJournalRoute.Sequence == SWAN_ProdJournalRoute_Downtime.Sequence;
if(_SWAN_DownTime_Problem.TimeStatus == 1)
{
ProdJournalRoute.TimeInternal = ProdJournalRoute.TimeInternal - SWAN_ProdJournalRoute_Downtime.HoursUse;
ProdJournalRoute.update();
ProdJournalRoute.reread();
}
else if(_SWAN_DownTime_Problem.TimeStatus == 2)
{
ProdJournalRoute.TimeExternal = ProdJournalRoute.TimeExternal - SWAN_ProdJournalRoute_Downtime.HoursUse;
ProdJournalRoute.ProTime = ProdJournalRoute.ProTime + SWAN_ProdJournalRoute_Downtime.HoursUse;
ProdJournalRoute.update();
ProdJournalRoute.reread();
}
// info(strfmt("%1",_ProdJournalRoute.ProTime));
super();
}
วันศุกร์ที่ 9 พฤศจิกายน พ.ศ. 2555
Update inventTrans From InventJournalTrans(Transfer)
static void UpdateTransactionFromInventJournalTrans(Args _args)
{
InventTrans inventTrans;
InventJournalTrans injts;
InventJournalTable injt;
;
ttsbegin;
while select forupdate inventTrans
join injts
where injts.InventTransId == inventTrans.InventTransId
join injt
where injt.JournalId == injts.JournalId
//&& injt.JournalId == "IV12-32167"
&& injt.JournalNameId == "IRON-R12"
// && injt.JournalNameId == "IRON-W12"
{
print injts.InventTransId;
print inventTrans.InventTransId;
print injts.ItemId;
print inventTrans.ItemId;
print injts.VBS_2ndQty;
print inventTrans.VBS_2ndQty;
// pause;
inventTrans.VBS_2ndQty = injts.VBS_2ndQty;
inventTrans.update();
}
while select forupdate inventTrans
join injts
where injts.ToInventTransId == inventTrans.InventTransId
join injt
where injt.JournalId == injts.JournalId
// && injt.JournalId == "IV12-32167"
&& injt.JournalNameId == "IRON-R12"
// && injt.JournalNameId == "IRON-W12"
{
print injts.InventTransId;
print inventTrans.InventTransId;
print injts.ItemId;
print inventTrans.ItemId;
print -1*injts.VBS_2ndQty;
print inventTrans.VBS_2ndQty;
//pause;
inventTrans.VBS_2ndQty = -1*injts.VBS_2ndQty;
inventTrans.update();
}
ttscommit;
info("Finished");
}
วันพฤหัสบดีที่ 8 พฤศจิกายน พ.ศ. 2555
Job Update2ndQty
static void Update2ndQty(Args _args)
{
inventDim inventDim;
inventSum inventSum;
unitConvert unitConvert;
inventSum inventSum2;
;
while select inventDim
where inventDim.InventLocationId == "omcan"
// iron ,mfg1,2,5
// iron24
// paiboon
// ks
// apc
// omcan
// || inventDim.InventLocationId == "MFG1"
// && inventDim.inventSerialId == "GB152957"
{
print inventDim.InventLocationId;
print inventDim.inventDimId;
print inventDim.inventBatchId;
while select inventSum
where inventSum.ItemId Like "R*"
&& inventSum.InventDimId == inventDim.inventDimId
{
// ttsbegin;
select unitConvert
where unitConvert.FromUnit == "Sheet"
&& unitConvert.ToUnit == "Ton"
&& unitConvert.ItemId == inventSum.ItemId;
print inventSum.InventDimId;
print inventSum.ItemId;
print "on order :";
print inventSum.OnOrder;
print "PostedQty :";
print inventSum.PostedQty;
print "Received :";
print inventSum.Received;
print "Deducted :";
print inventSum.Deducted;
print "Registered :";
print inventSum.Registered;
print "Picked :";
print inventSum.Picked;
print "VBS_2ndOnOrder :";
print inventSum.VBS_2ndOnOrder;
print "New VBS_2ndOnOrder: ";
print inventSum.OnOrder * unitConvert.Factor;
print unitConvert.Factor;
print unitConvert.Factor * inventSum.OnOrder;
print unitConvert.Factor * inventSum.PostedQty;
print unitConvert.Factor * inventSum.Received;
print unitConvert.Factor * inventSum.Deducted;
print unitConvert.Factor * inventSum.Registered;
print unitConvert.Factor * inventSum.Picked;
print inventSum.Arrived;
print inventSum.VBS_2ndArrived;
print inventSum.Ordered;
print inventSum.VBS_2ndOrdered;
print inventSum.ReservOrdered;
print inventSum.VBS_2ndReservOrdered;
// pause;
ttsbegin;
while select forupdate inventSum2
where inventSum2.ItemId == inventSum.ItemId
&& inventSum2.InventDimId == inventDim.inventDimId
// && inventSum2.
{
//decround (1.2 , 0)
inventSum2.VBS_2ndArrived = decround ((inventSum.Arrived * unitConvert.Factor),0);
inventSum2.VBS_2ndOrdered = decround ((inventSum.Ordered * unitConvert.Factor),0);
inventSum2.VBS_2ndReservOrdered = decround ((inventSum.ReservOrdered * unitConvert.Factor),0);
inventSum2.VBS_2ndOnOrder = decround ((inventSum.OnOrder * unitConvert.Factor),0);
inventSum2.VBS_2ndPostedQty = decround ((unitConvert.Factor * inventSum.PostedQty),0);
inventSum2.VBS_2ndReceived = decround ((unitConvert.Factor * inventSum.Received),0);
inventSum2.VBS_2ndDeducted = decround ((unitConvert.Factor * inventSum.Deducted),0);
inventSum2.VBS_2ndRegistered = decround ((unitConvert.Factor * inventSum.Registered),0);
inventSum2.VBS_2ndPicked = decround ((unitConvert.Factor * inventSum.Picked),0);
inventSum2.update();
}
ttscommit;
// ttscommit;
}
// print "---";
// return this.VBS_2ndPostedQty + this.VBS_2ndReceived - this.VBS_2ndDeducted + this.VBS_2ndRegistered - this.VBS_2ndPicked;
}
info("Finish");
}
วันเสาร์ที่ 27 ตุลาคม พ.ศ. 2555
Group -> ( Sum && While Select +=Sum )
static void Q_Eff_Report_Excel(Args _args)
{
// SWAN_Machine_Capacity _SWAN_Machine_Capacity;
ProdJournalTable _ProdJournalTable;
ProdJournalRoute _ProdJournalRoute;
counter counter;
ProdJournalTable _ProdJournalTable2;
ProdJournalRoute _ProdJournalRoute2;
// sum(QtyGood)
ProdJournalTable _ProdJournalTable3;
ProdJournalRoute _ProdJournalRoute3;
// sum(Target)
ProdJournalTable _ProdJournalTable4;
ProdJournalRoute _ProdJournalRoute4;
// SWAN_Machine_Capacity _SWAN_Machine_Capacity2;
;
// while
// select * from _SWAN_Machine_Capacity
// order by _SWAN_Machine_Capacity.MachineNo
// group by _SWAN_Machine_Capacity.MachineNo
// where _SWAN_Machine_Capacity.MachineNo Like "C*"
// {
// print "<---------------";
// print _SWAN_Machine_Capacity.MachineNo;
// pause;
while select _ProdJournalTable
order by _ProdJournalTable.MachineNo, _ProdJournalTable.Team, _ProdJournalRoute.ActualCap asc //, _ProdJournalRoute.WrkCtrId
group by _ProdJournalTable.MachineNo, _ProdJournalTable.Team, _ProdJournalRoute.ActualCap//, _ProdJournalRoute.WrkCtrId
where _ProdJournalTable.MachineNo Like "C*"
join _ProdJournalRoute
where _ProdJournalRoute.JournalId == _ProdJournalTable.JournalId
&& _ProdJournalRoute.JobStatus == "Working"
// && _ProdJournalRoute.TransDate == mkDate(13,07,12)
// && _ProdJournalRoute.WrkCtrId == _ProdJournalTable.WrkCtrId
{
print _ProdJournalTable.MachineNo; // << Alert! Mandatory
print _ProdJournalTable.Team; // << Alert! Mandatory
print _ProdJournalRoute.ActualCap; // << Alert! Mandatory
// print _ProdJournalRoute.JobStatus;
// print _ProdJournalRoute.WrkCtrId;
counter++;
// print "--------------->";
print "---------";
pause;
while select _ProdJournalTable2
join _ProdJournalRoute2
where _ProdJournalRoute2.JournalId == _ProdJournalTable2.JournalId
&& _ProdJournalTable2.MachineNo == _ProdJournalTable.MachineNo
&& _ProdJournalTable2.Team == _ProdJournalTable.Team
&& _ProdJournalRoute2.ActualCap == _ProdJournalRoute.ActualCap
{
print " ---------";
print _ProdJournalTable2.MachineNo; // << Alert! Mandatory
print _ProdJournalTable2.Team; // << Alert! Mandatory
print _ProdJournalRoute2.ActualCap; // << Alert! Mandatory
print "QtyGood";
print _ProdJournalRoute2.QtyGood;
print "Target";
print _ProdJournalRoute2.Target;
}
select sum(QtyGood) from _ProdJournalRoute3
where _ProdJournalRoute3.ActualCap == _ProdJournalRoute.ActualCap
join _ProdJournalTable3
where _ProdJournalRoute3.JournalId == _ProdJournalTable3.JournalId
&& _ProdJournalTable3.MachineNo == _ProdJournalTable.MachineNo
&& _ProdJournalTable3.Team == _ProdJournalTable.Team;
print "SUM(QtyGood)";
print _ProdJournalRoute3.QtyGood;
select sum(Target) from _ProdJournalRoute4
where _ProdJournalRoute4.ActualCap == _ProdJournalRoute.ActualCap
join _ProdJournalTable4
where _ProdJournalRoute4.JournalId == _ProdJournalTable4.JournalId
&& _ProdJournalTable4.MachineNo == _ProdJournalTable.MachineNo
&& _ProdJournalTable4.Team == _ProdJournalTable.Team;
print "SUM(Target)";
print _ProdJournalRoute4.Target;
print SWAN_TimePlus::Plus(0.5,0.55);
print _ProdJournalRoute.JobStatus;
pause;
/*
_JobStatusId = _ProdJournalRoute.JobStatus;
rBuffsum = rSumWorkingTime; rSumWorkingTime = 0;
rSumWorkingTime += element.TimePlus(rBuffsum, _ProdJournalRoute.SWAN_HourUse);
rSumQtyGood += _ProdJournalRoute.QtyGood;
rSumTarget += _ProdJournalRoute.Target;
rSumHoldProcess += _ProdJournalRoute.HoldProd;
rSumHoldMaterial += _ProdJournalRoute.HoldMat;
rSumWaste += _ProdJournalRoute.QtyError;
rBuffsum = rSumInternalDowntime; rSumInternalDowntime = 0;
rSumInternalDowntime += element.TimePlus(rBuffsum, _ProdJournalRoute.TimeInternal);
rBuffsum = rSumExternalDowntime; rSumExternalDowntime = 0;
rSumExternalDowntime += element.TimePlus(rBuffsum, _ProdJournalRoute.TimeExternal);
*/
}
print counter;
pause;
// }
// << What!
// How .MachineNo relation with .WrkCtrId ?
// >>
}
วันศุกร์ที่ 12 ตุลาคม พ.ศ. 2555
Export to Excel
static void Q_Prod_Eff_All_DoubleDie_MFG3(Args _args)
{
// Retreive data
ProdJournalRoute _ProdJournalRoute;
ProdJournalTable _ProdJournalTable;
SWAN_Machine_Capacity _SWAN_Machine_Capacity;
ProdTable _ProdTable;
Date _fromDate;
Date _toDate;
// Export to Excel
SysExcelApplication xlsApplication;
SysExcelWorkBooks xlsWorkBookCollection;
SysExcelWorkBook xlsWorkBook;
SysExcelWorkSheets xlsWorkSheetCollection;
SysExcelWorkSheet xlsWorkSheet;
SysExcelRange xlsRange;
CustTable custTable;
int row = 1;
str fileName;
;
// Export to Excel
//Filename
fileName = "C:\\Test.xlsx";
//Initialize Excel instance
xlsApplication = SysExcelApplication::construct();
//Open Excel document
//xlsApplication.visible(true);
//Create Excel WorkBook and WorkSheet
xlsWorkBookCollection = xlsApplication.workbooks();
xlsWorkBook = xlsWorkBookCollection.add();
xlsWorkSheetCollection = xlsWorkBook.worksheets();
xlsWorkSheet = xlsWorkSheetCollection.itemFromNum(1);
//Excel columns captions
xlsWorkSheet.cells().item(row,1).value("Machine No.");
xlsWorkSheet.cells().item(row,2).value("ProdId");
xlsWorkSheet.cells().item(row,3).value("JournalId");
xlsWorkSheet.cells().item(row,4).value("Team");
xlsWorkSheet.cells().item(row,5).value("Trandate");
xlsWorkSheet.cells().item(row,6).value("ActualCap");
xlsWorkSheet.cells().item(row,7).value("Fullcap");
row++;
while
select * from _SWAN_Machine_Capacity
group by MachineNo
order by MachineNo
where _SWAN_Machine_Capacity.MachineNo Like "DD*"
{
print "----------------------------";
print _SWAN_Machine_Capacity.MachineNo;
print "----------------------------";
//strMachineNO = _SWAN_Machine_Capacity.MachineNo;
// Group by Team and Full,Acutualcap and ItemId and ProdId and JournalId
while
select * from _ProdJournalTable
where _ProdJournalTable.MachineNo == _SWAN_Machine_Capacity.MachineNo
join _ProdJournalRoute
where _ProdJournalRoute.ProdId == _ProdJournalTable.ProdId
&& _ProdJournalRoute.JournalId == _ProdJournalTable.JournalId
&& _ProdJournalRoute.TransDate == mkDate(10,08,12) // dialog feild
// _ProdJournalRoute.TransDate <= DateTo // dialog feild
{
// print _ProdJournalTable.MachineNo;
print _ProdJournalTable.ProdId;
print _ProdJournalTable.JournalId;
print _ProdJournalTable.MachineNo;
print _ProdJournalTable.Team;
print _ProdJournalRoute.FullCap;
print _ProdJournalRoute.ActualCap;
print _ProdJournalRoute.TransDate;
//Find ItemId
select _ProdTable
where _ProdTable.ProdId == _ProdJournalTable.ProdId;
print _ProdTable.ItemId;
print "++++++++++++++++++++++++++++++";
pause;
xlsWorkSheet.cells().item(row,1).value(_ProdJournalTable.MachineNo);
xlsWorkSheet.cells().item(row,2).value(_ProdJournalTable.ProdId);
xlsWorkSheet.cells().item(row,3).value(_ProdJournalTable.JournalId);
xlsWorkSheet.cells().item(row,4).value(_ProdJournalTable.Team);
xlsWorkSheet.cells().item(row,5).value(_ProdJournalRoute.TransDate);
xlsWorkSheet.cells().item(row,6).value(_ProdJournalRoute.ActualCap);
xlsWorkSheet.cells().item(row,7).value(_ProdJournalRoute.FullCap);
row++;
}
// break;
}
//Check whether the document already exists
if(WinApi::fileExists(fileName))
WinApi::deleteFile(fileName);
//Save Excel document
xlsWorkbook.saveAs(fileName);
//Open Excel document
xlsApplication.visible(true);
//Close Excel
//xlsApplication.quit();
//xlsApplication.finalize();
}
วันจันทร์ที่ 8 ตุลาคม พ.ศ. 2555
X++ : Dialog
static void Pan_AxDialog(Args _args)
{
Dialog d1;
DialogGroup dg1;
DialogField df1,df2;
;
d1 = new Dialog("Jet");
d1.addGroup("Group");
d1.addField(TypeID(CustAccount),"Account Number");
if(d1.run())
{
// print df1.value();
print " run";
}
else
{
print "not run";
}
pause;
}
วันจันทร์ที่ 1 ตุลาคม พ.ศ. 2555
วันอังคารที่ 11 กันยายน พ.ศ. 2555
ดึงราคาจากPO ก่อน Movement/Transfer จากรายงาน inventTranlist
display real PricePerUnit()
{
real realRet;
PurchIdBase ret;
InventTrans inventTrans_PONO;
PurchLine purchline;
;
while select inventTrans_PONO
where inventTrans_PONO.TransType == InventTransType::Purch
&& inventTrans_PONO.ItemId == InventTrans.ItemId
&& inventTrans_PONO.InventTransId <= InventTrans.InventTransId
{
ret = inventTrans_PONO.TransRefId;
}
if(inventTrans.TransType == InventTransType::Purch)
{
ret = "";
}
if(ret != "")
{
select purchline
where purchline.PurchId == ret
&& purchline.ItemId == InventTrans.ItemId;
realRet = purchline.PurchPrice;
}
else
{
realRet = 0;
}
return realRet;
}
วันอาทิตย์ที่ 2 กันยายน พ.ศ. 2555
Create JournalMovement
Boolean CreateJournalMovement()
{
InventJournalTable journalTable;
InventJournalTrans journalTrans;
JournalTableData journalTableData;
InventJournalId journalId;
InventJournalName journalName;
;
ttsbegin;
//journalName = InventJournalName::find([MyJournalName]);
journalName = InventJournalName::find("M-FG");
journalTable.clear();
journalTable.JournalNameId=journalName.JournalNameId;
//rint journalTable.JournalNameId;
//ause;
journalTableData = JournalTableData::newTable(journalTable);
journalTableData.initFromJournalName(journalTableData.JournalStatic().findJournalName(journalTable.journalNameId));
journalTable.JournalId = journalTableData.nextJournalId();
print journalTable.JournalId;
journalTable.Reservation = ItemReservation::Automatic;
journalTable.insert();
//=== Journal Trans ===//
journalTrans.clear();
journalTrans.JournalId = journalTable.JournalId;
journalTrans.JournalType = journalName.JournalType;
journalTrans.LedgerAccountIdOffset = journalName.LedgerAccountIdOffset;
print journalTrans.JournalId;
print journalTrans.JournalType;
print journalTrans.LedgerAccountIdOffset;
pause;
// BBCN0001
//journalTrans.ItemId = [MyItemId];
journalTrans.ItemId = "BBCN0001";
//journalTrans.initFromInventTable(InventTable::find([MyItemId]),False,False);
journalTrans.initFromInventTable(InventTable::find("BBCN0001"),False,False);
//ournalTrans.InventDimId = [MyInventDimId];
journalTrans.InventDimId = "DM-0000001";
journalTrans.TransDate = SystemDateGet();
//journalTrans.Qty = [MyQty];
journalTrans.Qty = 1000;
//journalTrans.PriceUnit = [MyPriceUnit];
journalTrans.PriceUnit = 1000;
//journalTrans.CostPrice = [MyCostPrice];
journalTrans.CostPrice = 999;
journalTrans.CostAmount = journalTrans.calcCostAmount();
print journalTrans.CostAmount;
pause;
journalTrans.insert();
ttscommit;
info("Create journal movement is done.");
return true;
}
Reference http://oromux.wordpress.com/2008/07/02/ax-create-journal-movement-via-x/
Thanks....
สมัครสมาชิก:
บทความ (Atom)