Wednesday, 28 September 2016
Thursday, 22 September 2016
Import Hour Journal using X++ code in Ax 2012
public void importHourJournal(ProjJournalId _journal )
{
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
Name name;
FileName filename;
ProjJournalTable projJournalTable;
ProjJournalTrans projJourTrans;
ProjTransDate transDate;
ProjId projId;
HcmPersonnelNumberId personnelNumber;
CategoryId categoryId;
TransTxt description;
Qty hours;
ProjLinePropertyId linePropertyId;
ProjJournalTransData journalTransData;
ProjTable projTable;
ProjInvoiceTable projInvoiceTable;
NumberSeq numberSeq;
ProjQtyEmpl qty;
JournalNumOfLines numOfLines;
Dialog dialog;
DialogField dialogFilename;
int row;
File
;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
dialog = new Dialog("Excel Upoad");
dialogFilename = dialog.addField(extendedTypeStr(FilenameOpen));
//dialog.filenameLookupFilter(["@SYS28576",XLSX,"@SYS28576",XLS]);
dialog.filenameLookupTitle("Upload from Excel");
dialog.caption("Hour journal lines upload");
dialogFilename.value(filename);
if(dialog.run())
{
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();
row = 1;
do
{
row++;
transDate = any2date(cells.item(row, 1).value().date()); //toString());
projId = cells.item(row, 2).value().bStr();
description = cells.item(row, 5).value().bStr();
categoryId = cells.item(row, 3).value().bStr();
personnelNumber = cells.item(row, 4).value().bStr();
hours = cells.item(row, 6).value().double();
linePropertyId = cells.item(row, 7).value().bstr();
ttsBegin;
projJourTrans.clear();
projJournalTable = ProjJournalTable::find(_journalId);
projJourTrans.JournalId = projJournalTable.JournalId;
projTable = ProjTable::find(projId);
projInvoiceTable = projTable.projInvoice();
projJourTrans.TransDate = transDate;
projJourTrans.ProjTransDate = transDate;
projJourTrans.ProjId = projTable.ProjId;
projJourTrans.Qty = hours;
projJourTrans.CategoryId = categoryId;
projJourTrans.LinePropertyId = linePropertyId;
projJourTrans.Worker = HcmWorker::findByPersonnelNumber(personnelNumber).RecId;
projJourTrans.Txt = description;
if(projInvoiceTable.CurrencyId)
projJourTrans.CurrencyId = projInvoiceTable.CurrencyId;
else
projJourTrans.CurrencyId = CompanyInfo::standardCurrency();
projJourTrans.DefaultDimension = projTable.DefaultDimension;
projJourTrans.TaxGroupId = ProjParameters::taxGroupInvoice(projTable.ProjId);
if(projJourTrans.Worker)
{
projJourTrans.setHourPrices();
projJourTrans.setPeriodDate();
}
numberSeq = NumberSeq::newGetVoucherFromId(projJournalTable.VoucherNumberSequenceTable, false);
projJourTrans.Voucher = numberSeq.voucher();
projJourTrans.insert();
ttsCommit;
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
application.quit();
}
}
{
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
Name name;
FileName filename;
ProjJournalTable projJournalTable;
ProjJournalTrans projJourTrans;
ProjTransDate transDate;
ProjId projId;
HcmPersonnelNumberId personnelNumber;
CategoryId categoryId;
TransTxt description;
Qty hours;
ProjLinePropertyId linePropertyId;
ProjJournalTransData journalTransData;
ProjTable projTable;
ProjInvoiceTable projInvoiceTable;
NumberSeq numberSeq;
ProjQtyEmpl qty;
JournalNumOfLines numOfLines;
Dialog dialog;
DialogField dialogFilename;
int row;
File
;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
dialog = new Dialog("Excel Upoad");
dialogFilename = dialog.addField(extendedTypeStr(FilenameOpen));
//dialog.filenameLookupFilter(["@SYS28576",XLSX,"@SYS28576",XLS]);
dialog.filenameLookupTitle("Upload from Excel");
dialog.caption("Hour journal lines upload");
dialogFilename.value(filename);
if(dialog.run())
{
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();
row = 1;
do
{
row++;
transDate = any2date(cells.item(row, 1).value().date()); //toString());
projId = cells.item(row, 2).value().bStr();
description = cells.item(row, 5).value().bStr();
categoryId = cells.item(row, 3).value().bStr();
personnelNumber = cells.item(row, 4).value().bStr();
hours = cells.item(row, 6).value().double();
linePropertyId = cells.item(row, 7).value().bstr();
ttsBegin;
projJourTrans.clear();
projJournalTable = ProjJournalTable::find(_journalId);
projJourTrans.JournalId = projJournalTable.JournalId;
projTable = ProjTable::find(projId);
projInvoiceTable = projTable.projInvoice();
projJourTrans.TransDate = transDate;
projJourTrans.ProjTransDate = transDate;
projJourTrans.ProjId = projTable.ProjId;
projJourTrans.Qty = hours;
projJourTrans.CategoryId = categoryId;
projJourTrans.LinePropertyId = linePropertyId;
projJourTrans.Worker = HcmWorker::findByPersonnelNumber(personnelNumber).RecId;
projJourTrans.Txt = description;
if(projInvoiceTable.CurrencyId)
projJourTrans.CurrencyId = projInvoiceTable.CurrencyId;
else
projJourTrans.CurrencyId = CompanyInfo::standardCurrency();
projJourTrans.DefaultDimension = projTable.DefaultDimension;
projJourTrans.TaxGroupId = ProjParameters::taxGroupInvoice(projTable.ProjId);
if(projJourTrans.Worker)
{
projJourTrans.setHourPrices();
projJourTrans.setPeriodDate();
}
numberSeq = NumberSeq::newGetVoucherFromId(projJournalTable.VoucherNumberSequenceTable, false);
projJourTrans.Voucher = numberSeq.voucher();
projJourTrans.insert();
ttsCommit;
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
application.quit();
}
}
Monday, 19 September 2016
Refresh Datasource in class ax 2012
public void closeOk()
{
#Task
FormRun formRun;
super();
// Get an instance of the calling form.
formRun = element.args().caller();
// If the caller is a form, refresh that form.
if(formRun)
{
formRun.task(#taskF5);
}
}
Another way
Class
{
FormDataSource formDataSource;
NoYes finalizeStatus;
if (_args == null
|| _args.record().RecId == 0
|| _args.parmEnumType() == 0
|| _args.parmEnumType() != enumNum(FinalizeStatusOCP))
{
throw error(Error::wrongUseOfFunction(funcName()));
}
formDataSource = _args.record().dataSource();
finalizeStatus = _args.parmEnum();
formDataSource.research(true);
}
Sunday, 28 August 2016
How to filter Segmented Entry based on Account Type in Ax 2012
filter Segmented Entry based on Account Type
- Create a form
- Override form Init and write below code
- Take data source as LedgerJournalTrans
public class FormRun extends ObjectRun
{
DimensionDynamicAccountController dimAccountController;
}
public void init()
{
super();
dimAccountController = DimensionDynamicAccountController::construct(ledgerJournalTrans_ds,
fieldStr(LedgerJournalTrans, LedgerDimension),
fieldStr(LedgerJournalTrans, AccountType));
}
3.Under design override two controls i.e ComboBox and Segmented Entry control
4.Under Segmented Entry control override below methods and set below code & properties
public void jumpRef()
{
dimAccountController.jumpRef();
}
public void loadAutoCompleteData(LoadAutoCompleteDataEventArgs _e)
{
super(_e);
dimAccountController.loadAutoCompleteData(_e);
}
public void loadSegments()
{
super();
dimAccountController.parmControl(this);
dimAccountController.loadSegments();
}
public void lookup()
{
switch (LedgerJournalTrans.AccountType)
{
case LedgerJournalACType::Bank:
BankAccountTable::lookupBankAccount(this);
break;
case LedgerJournalACType::Cust:
CustTable::lookupCustomer(this);
break;
case LedgerJournalACType::FixedAssets:
AssetTable::lookupAccountNum(this);
break;
case LedgerJournalACType::Ledger:
super();
break;
case LedgerJournalACType::Vend:
VendTable::lookupVendor(this);
break;
default:
super();
break;
}
}
public Common resolveReference()
{
Common ret;
ret = dimAccountController.resolveReference();
return ret;
}
public void segmentValueChanged(SegmentValueChangedEventArgs _e)
{
super(_e);
dimAccountController.segmentValueChanged(_e);
}
public boolean validate()
{
boolean isValid;
isValid = super();
isValid = dimAccountController.validate() && isValid;
return isValid;
}
Thursday, 25 August 2016
filtering lookups in a dialog in SSRS Reports Ax 2012
filtering lookups in a dialog.
You have to override the corresponding lookup method in the UI builder (using registerOverrideMethod()) and filter the query of the lookup.
This is how you can register a lookup override for a data contract field:
public void postBuild()
{
DialogField df;
super();
df = this.bindInfo().getDialogField(
this.dataContractObject(),
methodStr(MyContract, parmMyValue));
df.registerOverrideMethod(
methodStr(FormStringControl, lookup),
methodStr(MyUiBuilder, lookupMyValue), // Your lookup method
this);
}
You have to override the corresponding lookup method in the UI builder (using registerOverrideMethod()) and filter the query of the lookup.
This is how you can register a lookup override for a data contract field:
public void postBuild()
{
DialogField df;
super();
df = this.bindInfo().getDialogField(
this.dataContractObject(),
methodStr(MyContract, parmMyValue));
df.registerOverrideMethod(
methodStr(FormStringControl, lookup),
methodStr(MyUiBuilder, lookupMyValue), // Your lookup method
this);
}
Monday, 22 August 2016
How to get Company information and tax information using X++ code in Ax 2012
static void CompanyInformation(Args _args)
{
CompanyInfo Company;
;
Company = CompanyInfo::find();
info(strFmt("Company Name : %1", Company.Name));
info(strFmt("Company Phone : %1", Company.phone()));
info(strFmt("Company Phone : %1", Company.telefax()));
info(strFmt("Company Address : %1", Company.postalAddress().Address));
}
How to get Company full name using x++ code
str countryName;
countryName= logisticsAddressCountryRegion::name(countryRegionId);
Company Tax details using X++ code
IEC
display TaxRegistrationNumber_IN tax_IEC()
{
TaxInformation_IN taxInformation_IN;
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(LogisticsPostalAddress::findRecId(this.PrimaryAddressLocation).Location);
return TaxRegistrationNumbers_IN::find(taxInformation_IN.IECRegistrationNumberTable).RegistrationNumber;
}
Service Tax (STC)
display TaxRegistrationNumber_IN tax_STC()
{
TaxInformation_IN taxInformation_IN;
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(LogisticsPostalAddress::findRecId(this.PrimaryAddressLocation).Location);
return TaxRegistrationNumbers_IN::find(taxInformation_IN.STCRegistrationNumberTable).RegistrationNumber;
}
Vendor STC number
public str vendorSTC(AccountNum _accountNum)
{
VendTable vendTable;
DirPartyTable dirPartyTable;
LogisticsLocation logisticsLocation;
TaxInformation_IN taxInformation_IN;
select vendTable where vendTable.AccountNum == _accountNum
join dirPartyTable
where dirPartyTable.RecId == vendTable.Party
join logisticsLocation
where logisticsLocation.RecId == dirPartyTable.PrimaryAddressLocation;
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(logisticsLocation.RecId);
return TaxRegistrationNumbers_IN::find(taxInformation_IN.STCRegistrationNumberTable).RegistrationNumber;
}
Tax Identification number (TIN)
display TaxRegistrationNumber_IN tax_TIN()
{
TaxInformation_IN taxInformation_IN;
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(LogisticsPostalAddress::findRecId(this.PrimaryAddressLocation).Location);
return TaxRegistrationNumbers_IN::find(taxInformation_IN.TIN).RegistrationNumber;
}
Tax Account number(TAN) or PAN
display TaxRegistrationNumber_IN tax_TAN()
{
TaxInformation_IN taxInformation_IN;
utcDateTime fromDate, toDate;
TaxRegistrationNumbers_IN TaxRegistrationNumbers_IN;
fromDate = DateTimeUtil::getSystemDateTime();
toDate = DateTimeUtil::maxValue();
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(LogisticsPostalAddress::findByLocationAndValidDateTime_IN(this.PrimaryAddressLocation, fromDate, toDate).Location);
select firstFast TaxRegistrationNumbers_IN
where TaxRegistrationNumbers_IN.RecId == taxInformation_IN.TAN
&& TaxRegistrationNumbers_IN.TaxType == TaxType_IN::None;
return TaxRegistrationNumbers_IN.RegistrationNumber;
}
For multiple Phone numbers and fax Details
static void Companywithmultiplephonenumber(Args _args)
{
DirPartyContactInfoView contactInfoView;
CompanyInfo companyinfo;
companyinfo = CompanyInfo::find();
info(strfmt("%1",companyinfo.Name));
while select contactInfoView
where
contactInfoView.Type == LogisticsElectronicAddressMethodType::Phone
|| contactInfoView.Type == LogisticsElectronicAddressMethodType::Fax
&& contactInfoView.Party == companyinfo.RecId
{
if(contactInfoView.Type == LogisticsElectronicAddressMethodType::Phone)
{
info(strFmt("Description - %1 Phone - %2",contactInfoView.LocationName,contactInfoView.Locator));
}
else
{
info(strFmt("Description - %1 Fax - %2",contactInfoView.LocationName,contactInfoView.Locator));
}
}
}
static void CompanyInfo(Args _args)
{
DirPartyContactInfoView contactInfoView,contactInfoPhone,contactInfoFax;
Name LocationName,Phone,Fax;
description255 contactAddress;
CompanyInfo companyInfo = CompanyInfo::find();
container CompanyLogo = FormLetter::companyLogo();
Name PrintedBy = xUserInfo::find(false,curUserId()).name;
while select contactInfoView group by LocationName
where contactInfoView.Party == companyinfo.RecId
{
LocationName = contactInfoView.LocationName;
select contactInfoPhone where contactInfoPhone.Party == companyinfo.RecId
&& contactInfoPhone.Type == LogisticsElectronicAddressMethodType::Phone
&& contactInfoPhone.LocationName == LocationName;
if(contactInfoPhone)
{
Phone = contactInfoPhone.Locator;
}
select contactInfoFax where contactInfoFax.Party == companyinfo.RecId
&& contactInfoFax.Type == LogisticsElectronicAddressMethodType::Fax
&& contactInfoFax.LocationName == LocationName;
if(contactInfoFax)
{
Fax = contactInfoFax.Locator;
}
contactAddress += LocationName + " Tel: " + Phone + " Fax: " + Fax + " " +'\n';
}
info(strFmt("ContactAddress = %1 , ExcutedBy = %2",contactAddress,PrintedBy));
}
{
CompanyInfo Company;
;
Company = CompanyInfo::find();
info(strFmt("Company Name : %1", Company.Name));
info(strFmt("Company Phone : %1", Company.phone()));
info(strFmt("Company Phone : %1", Company.telefax()));
info(strFmt("Company Address : %1", Company.postalAddress().Address));
}
How to get Company full name using x++ code
str countryName;
countryName= logisticsAddressCountryRegion::name(countryRegionId);
Company Tax details using X++ code
IEC
display TaxRegistrationNumber_IN tax_IEC()
{
TaxInformation_IN taxInformation_IN;
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(LogisticsPostalAddress::findRecId(this.PrimaryAddressLocation).Location);
return TaxRegistrationNumbers_IN::find(taxInformation_IN.IECRegistrationNumberTable).RegistrationNumber;
}
Service Tax (STC)
display TaxRegistrationNumber_IN tax_STC()
{
TaxInformation_IN taxInformation_IN;
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(LogisticsPostalAddress::findRecId(this.PrimaryAddressLocation).Location);
return TaxRegistrationNumbers_IN::find(taxInformation_IN.STCRegistrationNumberTable).RegistrationNumber;
}
Vendor STC number
public str vendorSTC(AccountNum _accountNum)
{
VendTable vendTable;
DirPartyTable dirPartyTable;
LogisticsLocation logisticsLocation;
TaxInformation_IN taxInformation_IN;
select vendTable where vendTable.AccountNum == _accountNum
join dirPartyTable
where dirPartyTable.RecId == vendTable.Party
join logisticsLocation
where logisticsLocation.RecId == dirPartyTable.PrimaryAddressLocation;
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(logisticsLocation.RecId);
return TaxRegistrationNumbers_IN::find(taxInformation_IN.STCRegistrationNumberTable).RegistrationNumber;
}
Tax Identification number (TIN)
display TaxRegistrationNumber_IN tax_TIN()
{
TaxInformation_IN taxInformation_IN;
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(LogisticsPostalAddress::findRecId(this.PrimaryAddressLocation).Location);
return TaxRegistrationNumbers_IN::find(taxInformation_IN.TIN).RegistrationNumber;
}
Tax Account number(TAN) or PAN
display TaxRegistrationNumber_IN tax_TAN()
{
TaxInformation_IN taxInformation_IN;
utcDateTime fromDate, toDate;
TaxRegistrationNumbers_IN TaxRegistrationNumbers_IN;
fromDate = DateTimeUtil::getSystemDateTime();
toDate = DateTimeUtil::maxValue();
taxInformation_IN = TaxInformation_IN::findDefaultbyLocation(LogisticsPostalAddress::findByLocationAndValidDateTime_IN(this.PrimaryAddressLocation, fromDate, toDate).Location);
select firstFast TaxRegistrationNumbers_IN
where TaxRegistrationNumbers_IN.RecId == taxInformation_IN.TAN
&& TaxRegistrationNumbers_IN.TaxType == TaxType_IN::None;
return TaxRegistrationNumbers_IN.RegistrationNumber;
}
// Company GSTINNumber
select companyInfo where companyInfo.DataArea == curext()
join dirpartytable where dirpartytable.PartyNumber == companyInfo.PartyNumber
join dirPartyLocation where dirPartyLocation.Party == dirpartytable.RecId
join logisticsLocation where logisticsLocation.RecId == dirPartyLocation.Location
join taxInformation_IN where taxInformation_IN.RegistrationLocation == logisticsLocation.RecId
&& taxInformation_IN.IsPrimary == NoYes::Yes;
tmp.comapanyGSTINNumber = TaxRegistrationNumbers_IN::find(taxInformation_IN.GSTIN).RegistrationNumber;
//Vendor GSTINNumber
select vendtable1 where vendtable1.AccountNum==vendtable.AccountNum
join dirPartyLocation where dirPartyLocation.Party == vendtable1.Party
join logisticsLocation where logisticsLocation.RecId == dirPartyLocation.Location
join taxInformation_IN where taxInformation_IN.RegistrationLocation == logisticsLocation.RecId
&& taxInformation_IN.IsPrimary == NoYes::Yes;
tmp.vendorGSTINNumber = TaxRegistrationNumbers_IN::find(taxInformation_IN.GSTIN).RegistrationNumber;
// CGST , SGST & IGST numbers with rates.
select firstOnly HSNCode, SAC from taxDocumentRowTransaction_IN
join RecId, DiscountAmount from taxDocumentRowTransaction
where taxDocumentRowTransaction.RecId == taxDocumentRowTransaction_IN.TaxDocumentRowTransactionRecId
&& taxDocumentRowTransaction.TransactionHeaderTableId == vendInvoiceinfotable.TableId
&& taxDocumentRowTransaction.TransactionHeaderRecId == vendInvoiceinfotable.RecId
&& taxDocumentRowTransaction.TransactionLineTableId == vendInvoiceinfoline.TableId
&& taxDocumentRowTransaction.TransactionLineRecId == vendInvoiceinfoline.RecId;
if(taxDocumentRowTransaction.RecId)
{
while select taxDocumentComponentTransaction
select companyInfo where companyInfo.DataArea == curext()
join dirpartytable where dirpartytable.PartyNumber == companyInfo.PartyNumber
join dirPartyLocation where dirPartyLocation.Party == dirpartytable.RecId
join logisticsLocation where logisticsLocation.RecId == dirPartyLocation.Location
join taxInformation_IN where taxInformation_IN.RegistrationLocation == logisticsLocation.RecId
&& taxInformation_IN.IsPrimary == NoYes::Yes;
tmp.comapanyGSTINNumber = TaxRegistrationNumbers_IN::find(taxInformation_IN.GSTIN).RegistrationNumber;
//Vendor GSTINNumber
select vendtable1 where vendtable1.AccountNum==vendtable.AccountNum
join dirPartyLocation where dirPartyLocation.Party == vendtable1.Party
join logisticsLocation where logisticsLocation.RecId == dirPartyLocation.Location
join taxInformation_IN where taxInformation_IN.RegistrationLocation == logisticsLocation.RecId
&& taxInformation_IN.IsPrimary == NoYes::Yes;
tmp.vendorGSTINNumber = TaxRegistrationNumbers_IN::find(taxInformation_IN.GSTIN).RegistrationNumber;
// CGST , SGST & IGST numbers with rates.
select firstOnly HSNCode, SAC from taxDocumentRowTransaction_IN
join RecId, DiscountAmount from taxDocumentRowTransaction
where taxDocumentRowTransaction.RecId == taxDocumentRowTransaction_IN.TaxDocumentRowTransactionRecId
&& taxDocumentRowTransaction.TransactionHeaderTableId == vendInvoiceinfotable.TableId
&& taxDocumentRowTransaction.TransactionHeaderRecId == vendInvoiceinfotable.RecId
&& taxDocumentRowTransaction.TransactionLineTableId == vendInvoiceinfoline.TableId
&& taxDocumentRowTransaction.TransactionLineRecId == vendInvoiceinfoline.RecId;
if(taxDocumentRowTransaction.RecId)
{
while select taxDocumentComponentTransaction
where taxDocumentComponentTransaction.TaxDocumentRowTransactionRecId == taxDocumentRowTransaction.RecId
{
if(taxDocumentComponentTransaction.TaxCode =="CGST")
{
tmp.CGST_TaxRate = taxDocumentComponentTransaction.TaxRate*100;
tmp.CGST = taxDocumentComponentTransaction.TaxAmountCur;
}
if(taxDocumentComponentTransaction.TaxCode == "SGST")
{
tmp.SGST_Taxrate = taxDocumentComponentTransaction.TaxRate*100;
tmp.SGST = taxDocumentComponentTransaction.TaxAmountCur;
}
if(taxDocumentComponentTransaction.TaxCode == "IGST")
{
tmp.IGST_Taxrate = taxDocumentComponentTransaction.TaxRate*100;
tmp.IGST = taxDocumentComponentTransaction.TaxAmountCur;
}
}
}
{
if(taxDocumentComponentTransaction.TaxCode =="CGST")
{
tmp.CGST_TaxRate = taxDocumentComponentTransaction.TaxRate*100;
tmp.CGST = taxDocumentComponentTransaction.TaxAmountCur;
}
if(taxDocumentComponentTransaction.TaxCode == "SGST")
{
tmp.SGST_Taxrate = taxDocumentComponentTransaction.TaxRate*100;
tmp.SGST = taxDocumentComponentTransaction.TaxAmountCur;
}
if(taxDocumentComponentTransaction.TaxCode == "IGST")
{
tmp.IGST_Taxrate = taxDocumentComponentTransaction.TaxRate*100;
tmp.IGST = taxDocumentComponentTransaction.TaxAmountCur;
}
}
}
For multiple Phone numbers and fax Details
static void Companywithmultiplephonenumber(Args _args)
{
DirPartyContactInfoView contactInfoView;
CompanyInfo companyinfo;
companyinfo = CompanyInfo::find();
info(strfmt("%1",companyinfo.Name));
while select contactInfoView
where
contactInfoView.Type == LogisticsElectronicAddressMethodType::Phone
|| contactInfoView.Type == LogisticsElectronicAddressMethodType::Fax
&& contactInfoView.Party == companyinfo.RecId
{
if(contactInfoView.Type == LogisticsElectronicAddressMethodType::Phone)
{
info(strFmt("Description - %1 Phone - %2",contactInfoView.LocationName,contactInfoView.Locator));
}
else
{
info(strFmt("Description - %1 Fax - %2",contactInfoView.LocationName,contactInfoView.Locator));
}
}
}
static void CompanyInfo(Args _args)
{
DirPartyContactInfoView contactInfoView,contactInfoPhone,contactInfoFax;
Name LocationName,Phone,Fax;
description255 contactAddress;
CompanyInfo companyInfo = CompanyInfo::find();
container CompanyLogo = FormLetter::companyLogo();
Name PrintedBy = xUserInfo::find(false,curUserId()).name;
while select contactInfoView group by LocationName
where contactInfoView.Party == companyinfo.RecId
{
LocationName = contactInfoView.LocationName;
select contactInfoPhone where contactInfoPhone.Party == companyinfo.RecId
&& contactInfoPhone.Type == LogisticsElectronicAddressMethodType::Phone
&& contactInfoPhone.LocationName == LocationName;
if(contactInfoPhone)
{
Phone = contactInfoPhone.Locator;
}
select contactInfoFax where contactInfoFax.Party == companyinfo.RecId
&& contactInfoFax.Type == LogisticsElectronicAddressMethodType::Fax
&& contactInfoFax.LocationName == LocationName;
if(contactInfoFax)
{
Fax = contactInfoFax.Locator;
}
contactAddress += LocationName + " Tel: " + Phone + " Fax: " + Fax + " " +'\n';
}
info(strFmt("ContactAddress = %1 , ExcutedBy = %2",contactAddress,PrintedBy));
}
Tuesday, 9 August 2016
Subscribe to:
Posts (Atom)





