public static boolean JournalUpload(str _filePath)
{
container accEntryPattern;
container offSetEntryPattern;
LedgerJournalACType LedgerJournalACType;
ledgerJournalName ledgerJournalName;
journalID JournalID;
axLedgerJournalTable axLedgerJournalTable;
axledgerJournalTrans axLedgerJournalTrans;
LedgerJournalType JournalType = ledgerJournalType::Daily;
SysExcelApplication application = SysExcelApplication::construct();
SysExcelWorkbooks workbooks = application.workbooks();
SysExcelWorkbook workbook;
SysExcelWorksheets workSheets;
SysExcelWorksheet workSheet;
SysExcelCells cells;
SysExcelCell cell;
int row;
str filename, numSeq;
boolean _return = true;
;
startLengthyOperation();
//filename = "C:\\GJCashBank30April2013.xlsx";
filename = _filePath;
try
{
if (workbooks.open(filename, false /*Update links*/, true /*Read only*/))
{
workbook = workbooks.item(1);
workSheets = workbook.worksheets();
workSheet = workSheets.itemFromNum(1); //worksheet keberapa dari excel di mulai dari angka 1
cells = workSheet.cells();
row = 5;
ttsBegin;
axLedgerJournalTable = new axLedgerJournalTable();
axLedgerJournalTable.parmJournalName("GenJrn");
axLedgerJournalTable.parmJournalType(JournalType);
axLedgerJournalTable.parmName("General Journal");
axLedgerJournalTable.save();
JournalID = axLedgerJournalTable.parmJournalNum();
while (cells.item(row,2).value().bStr() != "")
{
//Create Trans ...
axLedgerJournalTrans = new axLedgerJournalTrans();
axLedgerJournalTrans.parmJournalNum(JournalID);
//start from A
axLedgerJournalTrans.parmTransDate(cells.item(row,1).value().date());
axLedgerJournalTrans.parmAccountType( str2Enum(LedgerJournalACType, cells.item(row,2).value().bStr()));
if(cells.item(row,2).value().bStr() == "Ledger")
{
accEntryPattern =
[ cells.item(row, 3).value().bStr() + "-" + "Disp",
cells.item(row, 3).value().bStr(),
4,
"BusinessUnit",
cells.item(row,17).value().bStr(),
"Department",
cells.item(row,18).value().bStr(),
"ProductCode",
cells.item(row,19).value().bStr(),
"ProjectCode",
cells.item(row,20).value().bStr()
];
axLedgerJournalTrans.parmLedgerDimension(AxdDimensionUtil::getLedgerAccountId(accEntryPattern));
}
if(cells.item(row,5).value().double() != 0)
{
axLedgerJournalTrans.parmAmountCurDebit(cells.item(row,5).value().double());
}
if(cells.item(row,6).value().double() != 0)
{
axLedgerJournalTrans.parmAmountCurCredit(cells.item(row,6).value().double());
}
axLedgerJournalTrans.parmtxt(cells.item(row,7).value().bStr());
axLedgerJournalTrans.parmOffsetAccountType( str2Enum(LedgerJournalACType,cells.item(row,6).value().bStr()));
if(cells.item(row,8).value().bStr() == "Ledger")
{
offSetEntryPattern =
[ cells.item(row, 9).value().bStr() + "-" + "Disp",
cells.item(row, 9).value().bStr(),
4,
"BusinessUnit",
cells.item(row,17).value().bStr(),
"Department",
cells.item(row,18).value().bStr(),
"ProductCode",
cells.item(row,19).value().bStr(),
"ProjectCode",
cells.item(row,20).value().bStr()
];
axLedgerJournalTrans.parmOffsetLedgerDimension(AxdDimensionUtil::getLedgerAccountId(offSetEntryPattern));
}
//
axLedgerJournalTrans.parmCurrencyCode(cells.item(row,10).value().bStr());
axLedgerJournalTrans.parmExchRate(cells.item(row,11).value().double());
axLedgerJournalTrans.parmInvoice(cells.item(row,12).value().bStr());
axLedgerJournalTrans.parmPaymReference(cells.item(row,13).value().bStr());
axLedgerJournalTrans.parmBankTransType(cells.item(row,14).value().bStr());
axLedgerJournalTrans.parmDocumentNum(cells.item(row,15).value().bStr());
axLedgerJournalTrans.parmDocumentDate(cells.item(row,16).value().date());
//
axLedgerJournalTrans.save();
row++;
ttsCommit;
}
info('Imported Items');
}
}
catch(Exception::Error)
{
_return = false;
}
return _return;
}
Like this:
Like Loading...
Related