static void importVendor(Args _args)
{
CommaIO csvFile;
container readCon;
counter icount,inserted;
Dialog dialog;
DialogField dfFileName;
DirPartyRecId partyRecId,contactPartyRecid;
Name name,contactName;
VendTable vendtable;
FileName fileName;
str contactperson;
DirPartyPostalAddressView addressView;
DirPartyContactInfoView contactView;
ContactPerson contactpersonTable;
LogisticsElectronicAddressMethodType enumType;
DirParty dirParty;
LogisticsPostalAddress address;
LogisticsElectronicAddress logisticsElectronicAddress;
BinData binData;
str stringImage;
inserted =0;
#File
dialog = new Dialog("Pick the file");
dfFileName = dialog.addField(extendedTypeStr(FileNameOpen));
dialog.filenameLookupFilter(["All files", #AllFiles]);
if (dialog.run())
{
filename = dfFileName.value();
}
csvFile = new CommaIO(filename, 'r');
if (csvFile)
{
readCon = csvFile.read();
ttsbegin;
while (csvFile.status() == IO_Status::OK)
{
readCon = csvFile.read();
icount++;
if (readCon)
{
name = conPeek(readCon,2);
partyRecId = DirPartyTable::createNew( DirPartyType::Organization, name).RecId;
vendtable.clear();
vendtable.initValue();
vendtable.Party = partyRecId;
vendtable.AccountNum = conPeek(readCon,1);
vendtable.VendGroup = conPeek(readCon,5);
vendtable.Currency = conPeek(readCon,6);
//vendtable.Blocked =
vendtable.DlvMode = conPeek(readCon,8);
vendtable.PaymMode = conPeek(readCon,9);
ContactPerson = conPeek(readCon,12);
if(contactperson != '')
{
contactname = conPeek(readCon,12);
ContactPerson::findOrCreateNameParty(partyRecId,contactname);
}
vendtable.insert();
address.CountryRegionId = strLRTrim(conPeek(readCon,14));
//addressView.State = strLRTrim(conPeek(readCon,16));
address.ZipCode = strLRTrim(conPeek(readCon,15));
address.Street = strLRTrim(conPeek(readCon,19));
// address.county = strLRTrim(conPeek(readCon,17));
address.City = strLRTrim(conPeek(readCon,18));
addressView.LocationName = name;
addressView.IsPrimary = NoYes::Yes;
addressView.Party = partyRecId;
addressview.initFromPostalAddress(address);
DirParty = DirParty::constructFromPartyRecId(addressView.Party );
DirParty.createOrUpdatePostalAddress(addressView);
contactView.LocationName = "Delivery email";
contactView.Locator = strLRTrim(conPeek(readCon,10));
contactView.Type = LogisticsElectronicAddressMethodType::Email;
contactView.Party = partyRecId;
contactView.IsPrimary = NoYes::Yes;
dirParty.createOrUpdateContactInfo(contactView);
contactView.LocationName = "Delivery Cellular Phone";
contactView.Locator = strLRTrim(conPeek(readCon,11));
contactView.Type = LogisticsElectronicAddressMethodType::Phone;
contactView.Party = partyRecId;
contactView.IsPrimary = NoYes::Yes;
dirParty.createOrUpdateContactInfo(contactView);
contactView.LocationName = "Delivery Phone";
contactView.Locator = strLRTrim(conPeek(readCon,3));
contactView.Type = LogisticsElectronicAddressMethodType::Phone;
contactView.Party = partyRecId;
contactView.IsPrimary = NoYes::Yes;
dirParty.createOrUpdateContactInfo(contactView);
contactView.LocationName = "Delivery Fax";
contactView.Locator = strLRTrim(conPeek(readCon,4));
contactView.Type = LogisticsElectronicAddressMethodType::Fax;
contactView.Party = partyRecId;
contactView.IsPrimary = NoYes::Yes;
dirParty.createOrUpdateContactInfo(contactView);
inserted++;
}
}
ttsCommit;
}
info(strfmt("%1 records inserted out of %2",inserted,icount));
}
No comments:
Post a Comment