Satınalma siparişleri toplu aktarma
Siparişlerin başlıklarını toplu aktarmak için aşağıdaki kodu kullanabilirsiniz.
void MAA_Excel_PurchTable() // DRT_PasswordTable
{
#Excel
#AviFiles
Dialog dialog = new Dialog("Veri Aktarma");
DialogField dialogPath;
FilenameFilter filter = ['Excel files 2010','*.xlsx','Excel files 2003', '*.xls' ];
FilenameOpen filePath;
SysExcelApplication application;
SysExcelWorkBooks workBooks;
SysExcelWorkBook workBook;
SysExcelWorkSheets workSheets;
SysExcelWorkSheet workSheet;
SysExcelCells cells;
SysOperationProgress progress;
Int NoofSheet,i,lastRow,sn;
PurchTable PurchTable;
SysExcelRange range;
void findLastRow(SysExcelWorkSheet _workSheet)
{
#define.Star('*')
#define.Space(' ')
;
range = _workSheet.cells().range(#ExcelTotalRange);
try
{
range = range.find(#Star, null, #xlFormulas, #xlWhole, #xlByRows, #xlPrevious);
}
catch (Exception::Error)
{
error("@SYS59926");
}
if (range)
{
lastRow = range.row();
}
else
{
lastRow = 0;
}
}
;
dialog.filenameLookupFilter(filter);
dialogPath = dialog.addField(typeid(FilenameOpen));
if (dialog.run())
{
if(dialog.closedOk())
{
filePath = dialogPath.value();
application = SysExcelApplication::construct();
application.visible(false);
workBooks = application.workbooks();
workBooks.open(filePath,0,true);
workSheets = workBooks.item(1).worksheets();
noOfSheet = worksheets.count();
progress = new SysOperationProgress();
progress.setCaption("Vendor Importing");
progress.setTotal(lastRow);
progress.setAnimation(#AviTransfer);
setprefix("Vendor Import");
try
{
For( i = 1; i <= noOfSheet; i++)
{
workSheet = workSheets.itemFromNum(i);
if(workSheet)
{
findLastRow(workSheet);
for(sn = 2;sn <= lastrow;sn++)
{
ttsbegin;
cells = workSheet.cells();
cells = workSheet.cells();
PurchTable.PurchId = cells.item(sn,1).value().bStr();
PurchTable.OrderAccount = cells.item(sn,2).value().bStr();
PurchTable.InvoiceAccount = cells.item(sn,4).value().bStr();
PurchTable.CurrencyCode = cells.item(sn,5).value().bStr();
PurchTable.PaymMode = cells.item(sn,10).value().bStr();
PurchTable.FixedDueDate = cells.item(sn,9).value().date();
PurchTable.PostingProfile = "320";
PurchTable.PurchPlacer = "2524";
PurchTable.PurchName = VendTable::find(PurchTable.OrderAccount).Name;
PurchTable.VendGroup = VendTable::find(PurchTable.OrderAccount).VendGroup;
PurchTable.InventSiteId = VendTable::find(PurchTable.OrderAccount).InventSiteId;
PurchTable.InventLocationId = VendTable::find(PurchTable.OrderAccount).InventLocation;
PurchTable.PurchaseType = PurchaseType::Purch;
PurchTable.DlvCountryRegionId = VendTable::find(PurchTable.OrderAccount).CountryRegionId;
PurchTable.TaxGroup = VendTable::find(PurchTable.OrderAccount).TaxGroup;
PurchTable.DeliveryAddress = VendTable::find(PurchTable.OrderAccount).Address;
PurchTable.Email = VendTable::find(PurchTable.OrderAccount).Email;
PurchTable.LanguageId = VendTable::find(PurchTable.OrderAccount).LanguageId;
PurchTable.DlvState = VendTable::find(PurchTable.OrderAccount).State;
PurchTable.VATNum = VendTable::find(PurchTable.OrderAccount).VATNum;
PurchTable.insert();
info("Aktarma tamamlandı");
ttscommit;
}
}
}
}
catch
{
ttsabort;
application.quit();
}
}
}
}
Kullandığım exel şablonunu inceleyebilirsiniz.
Excel Şablonu
Satırların aktarımı için bu yazıyı
inceleybilirsiniz.
Hiç yorum yok:
Yorum Gönder