Import data from excel to form grid.
IMPORT EXCEL TO FORM GRID:-
static void InsertRecords(Args _args)
{
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
Name name;
FileName filename;
int row = 1;
int i = 0;
str Account;
str AccountType;
str OffsetAccountType;
LedgerJournalTrans ledgerJournalTrans;
Dialog dialog;
DialogField dialogField;
LedgerJournalACType ledgerJournalACType;
container ledgerDimention, offsetDim , dimCon ,con ,offsetAccount;
BankAccountTable bankAccountTable;
RecId ledgerDimensionId,ledgerDimension;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
dialog = new Dialog("FileOpen");
dialogfield = dialog.addField(extendedTypeStr(Filenameopen), "File Name");
dialog.run();
if (dialog.run())
{
filename = (dialogfield.value());
}
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();
do
{
ttsBegin;
row++;
ledgerJournalTrans.clear();
ledgerJournalTrans.JournalNum = "00472";
ledgerJournalTrans.TransDate = cells.item(row, 1).value().date();
ledgerJournalTrans.Voucher = cells.item(row, 2).value().bStr();
ledgerJournalTrans.AccountType = str2enum(ledgerJournalACType,cells.item(row,3).value().bStr());
ledgerJournalTrans.LedgerDimension = DimensionStorage::getDynamicAccount(cells.item(row,4).value().bStr(),LedgerJournalACType::Cust);
ledgerJournalTrans.OffsetAccountType = ledgerJournalACType::Vend;
ledgerJournalTrans.Txt = cells.item(row, 5).value().bStr();
ledgerJournalTrans.AmountCurDebit = cells.item(row, 6).value().double();
ledgerJournalTrans.AmountCurCredit = cells.item(row, 7).value().double();
ledgerJournalTrans.OffsetLedgerDimension = DimensionStorage::getDynamicAccount(cells.item(row,9).value().bStr(),LedgerJournalACType::Vend);
ledgerJournalTrans.CurrencyCode = "USD--EUD";
ledgerJournalTrans.insert();
ttsCommit;
i++;
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
application.quit();
info("Done");
info(strFmt("%1 records Uploaded sucessfully", i));
}
Comments
Post a Comment