Wednesday, 30 August 2017

How to get Company information and tax information using X++ code in Ax 2012

 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;
}

// 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

            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;
             }
       }
   }



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));
}

4 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Winding up a company is the process of liquidating a company. When a company is wound up, it ceases to do business as usual and its sole purpose is to sell off stock, discharge creditors, and distribute any remaining assets to its partners or shareholders.

    ReplyDelete

  3. The name of an organization represents its identity. People also develop a sense of personality through their names. Choosing a name for your corporation is now a priority. In order to establish a business, the Ministry of Corporate Affairs (MCA) regulates the process. In the event that your application does not meet MCA's standards, it may be denied. MCA CIN Search

    ReplyDelete
  4. Make your brand unforgettable from the start. Our Name Search service helps you find a company name that shines.our brand's first impression starts with a name. Use our Company Name Search service to find one that resonates and captivates.

    ReplyDelete

Labels

#veryusefulcode (1) AIF (8) AOT Maps (1) Args (1) Ax 2009 Reports (2) AX 2012 navigation (1) Ax 2012 Interview Questions (1) AX 7 (2) AX Architecture (1) Ax Backup (1) AX Workflow (2) AX2012 (1) AX2012 R2 (1) Ax2012R3 (1) AX2012R3 Dynamics Connector Step by Step Installation and Configuration (1) AX2012R3 EP Step by Step Installation and Configuration EP R3 (1) AX2012R3 HelpServer Step by Step Installation and Configuration (1) AX2012R3 Rapid Start Connector Step by Step Installation and Configuration (1) AX2012R3 Report Server and Analysis Server Step by Step Installation and Configuration (1) AX7 (1) Best practices (1) Blocking user to enter (1) Collection Classes (1) Container (1) D365FO (3) Data Migration Frame Work ax 2012R3 (1) Deleting duplicate Record from Table – Ax2012 (1) Delivery due date notification workflow in Ax 2012 (1) Development Steps EP (1) Dimensions (1) DIXF (1) DMF in Ax 2012 R3 (1) Dynamics Ax 2012 Interview Questions (1) DYNAMICS AX 2012 INTERVIEW QUESTIONS PART 2 (1) DYNAMICS AX 7 (1) EDT relation Migration Tool (1) EP AX 2012 (1) Ep Lookup (1) Error (1) Event Handler (1) F5 (1) File Handling (4) Filter on AX2012 Listpage (1) filtering (2) financial dimensions in AX 2012 (3) form (1) images (1) Installation and Configration (4) Installation and Configuration (11) Installation of Management Reporter 2012 for AX 2012 (1) Interaction class in ax 2012 (1) Interview Question (1) Interview Questions For Ax 2012 (1) Invent DIm (1) Jobs (2) license (1) List page and form menuitem enable code (1) Methods (1) microsoft Dynamics AX 365FO (1) Number Sequence Generation – AX 2012 (5) Number Sequence2012 (1) OLTP-OLAP (1) Passing Args (1) Passing form caller and menu item caller in ax 2012 (1) Passing Multiple Records Args (1) Posting in Ax 2012 (1) POSTING PURCHASE ORDER (1) Query (1) Query Filter Form (2) Query Ranges in X++ (1) Question and Answer (1) Report (1) Reports Controller class (1) RLS in ax 2009 (1) SALES ORDER IMPORT/EXPORT FRAMEWORK BY DMF (1) Security (1) security roles (1) Security Sysqueryrangeutil (1) Sharepoint 2016 (1) SQL SERVER (1) SSRS (2) SSRS Reports Controller class (2) Table collections & Virtual company (1) Time (1) TIPS AND TRICKS (1) Web service AIF (3) Web Services on IIS (AIF) Step by Step Installation and Configuration (1) workflow ax2012 (1) Workflow installation (1) Workflow Method (3) X++ (1)