public class ImportOpeningStock extends RunBase
{
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
int row;
InventJournalTrans InventJournalTrans,_ValueJournalTrans,_ValueJournalTranslocal,_ValueJournalnum,_ValueJournalupdate;
InventDim InventDim;
InventTransOrigin InventTransOrigin;
InventJournalTransTaxExtensionIN InventJournalTransTaxExtensionIN;
TaxInformation_IN TaxInformationIN;
inventJournalTable inventJournalTable;
Filename filename,Jounralid;
DialogField dialogFilename,dialogJounalid;
counter icount,inserted;
Amount amount;
int cutoffdays,prevcutoffdays;
currencycode currencycode;
str AccountNum,date1;
args args;
container productDimensions;
#define.CurrentVersion(2)
#localmacro.CurrentList
filename,
insertIncorrectRecords,
#endmacro
#localmacro.ListVersion1
filename,
insertIncorrectRecords
#endmacro
#File
}
public Object dialog()
{
DialogRunbase dialog = super();
;
dialogFilename = dialog.addField(extendedTypeStr(FilenameOpen));
dialogFilename.value(filename);
dialog.filenameLookupFilter(["All files", #AllFiles]);
return dialog;
}
public boolean getFromDialog()
{
filename = dialogFilename.value();
return true;
}
void OpeningStockloc(JounalID _JounalID)
{
itemid itemId ;
InventSiteId Site;
InventLocationId Warehouse;
InventDim _InventDim;
RecId i,Countvalue;
Qty mslQTY,CostPrice;
InventJournalNameId inventJournalName;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
row = 1;
do
{
row++;
itemId = cells.item(row, 1).value().bStr();
Site = cells.item(row, 3).value().bStr();
Warehouse = cells.item(row, 4).value().bStr();
mslQTY = cells.item(row, 7).value().double();
//CostPrice = cells.item(row, 6).value().double();
ttsBegin;
if(mslQTY)
{
select InventDim where InventDim.InventSiteId == Site && InventDim.InventLocationId == Warehouse;
InventDim.InventSiteId = Site;
InventDim.InventLocationId = Warehouse;
_InventDim = InventDim::findOrCreate(InventDim);
select forupdate _ValueJournalnum where _ValueJournalnum.JournalId == _JounalID
&& _ValueJournalnum.InventDimId == _InventDim.inventDimId
&& _ValueJournalnum.ItemId == itemId;
if(!_ValueJournalnum.RecId)
{
inventJournalTrans.clear();
inventJournalTable = InventJournalTable::find(_JounalID);
inventJournalTrans.initFromInventJournalTable(inventJournalTable);
inventJournalTrans.TransDate = systemDateGet();
inventJournalTrans.ItemId = itemId;
inventJournalTrans.initFromInventTable(InventTable::find(itemId));
inventJournalTrans.Qty = mslQTY;
inventDim.InventSiteId = Site;
inventDim.InventLocationId = Warehouse;
inventJournalTrans.InventDimId = _InventDim.inventDimId;
inventJournalTrans.insert();
}
else
{
select forupdate _ValueJournalupdate where _ValueJournalupdate.JournalId == _JounalID
&& _ValueJournalupdate.InventDimId == _InventDim.inventDimId
&& _ValueJournalupdate.ItemId == itemId;
{
_ValueJournalupdate.Qty = mslQTY;
_ValueJournalupdate.doupdate();
}
}
ttsCommit;
}
type = cells.item(row+1, 1).value().variantType();
}while (type != COMVariantType::VT_EMPTY);
ttsBegin;
select count(RecId) from _ValueJournalTranslocal where _ValueJournalTranslocal.JournalId ==_JounalID;
Countvalue = _ValueJournalTranslocal.RecId;
select forUpdate InventJournalTable where InventJournalTable.JournalId == _JounalID;
InventJournalTable.NumOfLines = Countvalue;
InventJournalTable.doUpdate();
ttsCommit;
application.quit();
}
// Here goes a description of the class
static ClassDescription description()
{
return "Upload Opening stock from template";
}
static void main(Args args)
{
ImportOpeningStock _ImportOpeningStock;
JournalForm journalForm;
InventJournalTable journalTable;
JounalID _JounalID;
;
journalForm = JournalForm::fromArgs(args);
journalTable = journalForm.journalTableData().journalTable();
_JounalID =journalTable.JournalId;
_ImportOpeningStock = new ImportOpeningStock();
if(_ImportOpeningStock.prompt())
{
_ImportOpeningStock.OpeningStockloc(_JounalID);
}
}
Open other form with one form and get data form other form
{
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
int row;
InventJournalTrans InventJournalTrans,_ValueJournalTrans,_ValueJournalTranslocal,_ValueJournalnum,_ValueJournalupdate;
InventDim InventDim;
InventTransOrigin InventTransOrigin;
InventJournalTransTaxExtensionIN InventJournalTransTaxExtensionIN;
TaxInformation_IN TaxInformationIN;
inventJournalTable inventJournalTable;
Filename filename,Jounralid;
DialogField dialogFilename,dialogJounalid;
counter icount,inserted;
Amount amount;
int cutoffdays,prevcutoffdays;
currencycode currencycode;
str AccountNum,date1;
args args;
container productDimensions;
#define.CurrentVersion(2)
#localmacro.CurrentList
filename,
insertIncorrectRecords,
#endmacro
#localmacro.ListVersion1
filename,
insertIncorrectRecords
#endmacro
#File
}
public Object dialog()
{
DialogRunbase dialog = super();
;
dialogFilename = dialog.addField(extendedTypeStr(FilenameOpen));
dialogFilename.value(filename);
dialog.filenameLookupFilter(["All files", #AllFiles]);
return dialog;
}
public boolean getFromDialog()
{
filename = dialogFilename.value();
return true;
}
void OpeningStockloc(JounalID _JounalID)
{
itemid itemId ;
InventSiteId Site;
InventLocationId Warehouse;
InventDim _InventDim;
RecId i,Countvalue;
Qty mslQTY,CostPrice;
InventJournalNameId inventJournalName;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
row = 1;
do
{
row++;
itemId = cells.item(row, 1).value().bStr();
Site = cells.item(row, 3).value().bStr();
Warehouse = cells.item(row, 4).value().bStr();
mslQTY = cells.item(row, 7).value().double();
//CostPrice = cells.item(row, 6).value().double();
ttsBegin;
if(mslQTY)
{
select InventDim where InventDim.InventSiteId == Site && InventDim.InventLocationId == Warehouse;
InventDim.InventSiteId = Site;
InventDim.InventLocationId = Warehouse;
_InventDim = InventDim::findOrCreate(InventDim);
select forupdate _ValueJournalnum where _ValueJournalnum.JournalId == _JounalID
&& _ValueJournalnum.InventDimId == _InventDim.inventDimId
&& _ValueJournalnum.ItemId == itemId;
if(!_ValueJournalnum.RecId)
{
inventJournalTrans.clear();
inventJournalTable = InventJournalTable::find(_JounalID);
inventJournalTrans.initFromInventJournalTable(inventJournalTable);
inventJournalTrans.TransDate = systemDateGet();
inventJournalTrans.ItemId = itemId;
inventJournalTrans.initFromInventTable(InventTable::find(itemId));
inventJournalTrans.Qty = mslQTY;
inventDim.InventSiteId = Site;
inventDim.InventLocationId = Warehouse;
inventJournalTrans.InventDimId = _InventDim.inventDimId;
inventJournalTrans.insert();
}
else
{
select forupdate _ValueJournalupdate where _ValueJournalupdate.JournalId == _JounalID
&& _ValueJournalupdate.InventDimId == _InventDim.inventDimId
&& _ValueJournalupdate.ItemId == itemId;
{
_ValueJournalupdate.Qty = mslQTY;
_ValueJournalupdate.doupdate();
}
}
ttsCommit;
}
type = cells.item(row+1, 1).value().variantType();
}while (type != COMVariantType::VT_EMPTY);
ttsBegin;
select count(RecId) from _ValueJournalTranslocal where _ValueJournalTranslocal.JournalId ==_JounalID;
Countvalue = _ValueJournalTranslocal.RecId;
select forUpdate InventJournalTable where InventJournalTable.JournalId == _JounalID;
InventJournalTable.NumOfLines = Countvalue;
InventJournalTable.doUpdate();
ttsCommit;
application.quit();
}
// Here goes a description of the class
static ClassDescription description()
{
return "Upload Opening stock from template";
}
static void main(Args args)
{
ImportOpeningStock _ImportOpeningStock;
JournalForm journalForm;
InventJournalTable journalTable;
JounalID _JounalID;
;
journalForm = JournalForm::fromArgs(args);
journalTable = journalForm.journalTableData().journalTable();
_JounalID =journalTable.JournalId;
_ImportOpeningStock = new ImportOpeningStock();
if(_ImportOpeningStock.prompt())
{
_ImportOpeningStock.OpeningStockloc(_JounalID);
}
}
Open other form with one form and get data form other form
Form init method:
public void
init()
{
CustTable custTable;
HcmWorker hcmworker;
Args args = new
Args();
;
if (element.args().dataset() == tableNum (CustTable) &&
element.args().record())
{
custTable = element.args().record();
custId = custTable.AccountNum;
}
if (element.args().dataset() == tableNum (HcmWorker) &&
element.args().record())
{
hcmworker = element.args().record();
HcmWorkerRecId = hcmworker.RecId;
}
super();
}
DATASOURCE EXECUTE
QUERY
public void
executeQuery()
{
if(HcmWorkerRecId)
{
this.query().dataSourceNo(1).addRange(fieldNum(CustomerSalesType,adcHcmWorkerRecId)).value(SysQuery::value(HcmWorkerRecId));
}
else if(custId)
{
this.query().dataSourceNo(1).addRange(fieldNum(CustomerSalesType,ADCCustomerAccountNum)).value(SysQuery::value(custId));
}
super();
}
No comments:
Post a Comment