static void journalMismatch(Args _args)
{
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
System.DateTime ShlefDate;
FilenameOpen filename;
dialogField dialogFilename;
Dialog dialog;
SysLabelEdit SysLabelEdit;
LabelId varLabelId;
LabelType labelType;
LabelDescription labelDescription;
ItemIdInventoried itemid;
InventJournalTrans inventJourTrans;
DimensionAttributeValueCombination dimAttr;
GeneralJournalAccountEntry generalJour;
int asp;
boolean changeStatus;
real mainAccount,movementJour;
//Table Declarations Start
int row = 1;
// convert into str from excel cell value
str COMVariant2Str(COMVariant _cv, int _decimals = 0, int _characters = 0, int _separator1 = 0, int _separator2 = 0)
{
switch (_cv.variantType())
{
case (COMVariantType::VT_BSTR):
return _cv.bStr();
case (COMVariantType::VT_R4):
return num2str(_cv.float(),_characters,_decimals,_separator1,_separator2);
case (COMVariantType::VT_R8):
return num2str(_cv.double(),_characters,_decimals,_separator1,_separator2);
case (COMVariantType::VT_DECIMAL):
return num2str(_cv.decimal(),_characters,_decimals,_separator1,_separator2);
case (COMVariantType::VT_DATE):
return date2str(_cv.date(),123,2,1,2,1,4);
case (COMVariantType::VT_EMPTY):
return "";
default:
throw error(strfmt("@SYS26908", _cv.variantType()));
}
return "";
}
;
SysLabelEdit = new SysLabelEdit();
dialog = new Dialog("Excel Upoad");
dialogFilename = dialog.addField(extendedTypeStr(FilenameOpen));
dialog.filenameLookupFilter(["@SYS28576",#XLSX,"@SYS28576",#XLS]);
dialog.filenameLookupTitle("Upload from Excel");
dialog.caption("Excel Upload");
dialogFilename.value(filename);
if(!dialog.run())
return;
filename = dialogFilename.value();
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();
do
{
ttsBegin;
row++;
asp++;
itemid = COMVariant2Str(cells.item(row,2).value());
select inventJourTrans
where inventJourTrans.ItemId == itemid;
if(inventJourTrans) //if the inventjourTrans is present
{
mainAccount = inventJourTrans.CostAmount;
select dimAttr
where dimAttr.RecId == inventJourTrans.LedgerDimension;
if(dimAttr) //for the above if dimAttr is present
{
select generalJour
where generalJour.LedgerDimension == dimAttr.RecId;
if(generalJour)
{
movementJour = generalJour.AccountingCurrencyAmount;
if(mainAccount != movementJour)
{
info(strFmt("%1 %2 %3",inventJourTrans.RecId,mainAccount,movementJour));
}
}
}
}
ttsCommit;
}
while (type != COMVariantType::VT_EMPTY);
info(strFmt("%1",asp));
info(strFmt("labels updated"));
application.quit();
}