static void FIxedAssetImport(Args _args)
{
SysExcelApplication Application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorkSheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
Name Descriptions;
//Filename fileName;
AssetTable AssetTable;
Dialog dialog;
DialogField dialogField;
FilenameOpen filename;
int row =1 ;
str AssetCategory,AssetId,AssetSubCategory,SerialNum,Status,AcquisitionYear,AssetLife,DepriciableDays;
real NetBook,originalAssetCost,Yearly,AccumulatedDepriciation;
int i=0 ;
// COMVariantType type;
date DateOfIstallations,DateOfPurchase;
FileIOPermission permission;
#File
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 "";
}
//importing from excel
dialog = new Dialog("FixedAsset Import");
dialogField = dialog.addField(ExtendedTypeStr("FilenameOpen"),"Source file");
if (dialog.run())
{
filename = dialogField.value();
permission = new fileIOpermission(filename,"r");
permission.assert();
Application = SysExcelApplication::construct();
workbooks = Application.workbooks();
try
{
workbooks.open(fileName);
}
catch
{
throw error("File cannot be opened");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
do
{
i++;
row++;
AcquisitionYear = COMVariant2str(cells.item(row,2).value());
AssetId = cells.item(row,3).value().bStr();
AssetCategory = cells.item(row,4).value().bStr();
AssetSubCategory = cells.item(row,5).value().bStr();
Descriptions = cells.item(row,6).value().bStr();
SerialNum = cells.item(row,7).value().bStr();
DateOfIstallations = cells.item(row,8).value().date();
DateOfPurchase = cells.item(row,9).value().date();
originalAssetCost = cells.item(row,10).value().double();
AssetLife = COMVariant2str(cells.item(row,11).value());
Yearly = cells.item(row,12).value().double();
NetBook = cells.item(row,13).value().double();
Status = cells.item(row,14).value().bStr();
DepriciableDays = COMVariant2str(cells.item(row,16).value());
AccumulatedDepriciation= cells.item(row,17).value().double();
AssetTable.AcquisitionYear = AcquisitionYear ;
AssetTable.AssetId = AssetId ;
AssetTable.AssetCategory = AssetCategory ;
AssetTable.AssetSubCategory = AssetSubCategory ;
AssetTable.Name = Descriptions ;
AssetTable.SerialNum = SerialNum ;
AssetTable.DateOfInstallations = DateOfIstallations ;
AssetTable.DateOfPurchase = DateOfPurchase ;
AssetTable.OriginalAssetCost = originalAssetCost ;
AssetTable.AssetLife = AssetLife ;
AssetTable.YearlyDepriciation = Yearly ;
AssetTable.NetBookValueason = NetBook ;
AssetTable.Status = Status ;
AssetTable.DepriciableDays = DepriciableDays;
AssetTable.AccumulatedDepriciations = AccumulatedDepriciation;
AssetTable.insert();
//info(strFmt("DATAiMPORTED"));
type = cells.item(row+1,2).value().variantType();
}
while(type != COMVariantType::VT_EMPTY);
Application.quit();
//info(strFmt("%1",i));
}
}