Wednesday, August 30, 2023

How To Use Ax 2012 R3 Number Sequence

 

How To Use Ax 2012 R3 Number Sequence








Step 1

Create an EDT - String Type

So, I created an EDT named “WRE_AssetID” with label “wre_Asetid”

                                               "WRE_AssetTrackingId" with label " wre_AssetTracking"

Drag into Table(WRE_MyTable)àFields

Step 2

Write A class Number Sequence  


find the below Map




              1.








2.





                                 3.


   



    2.  Write A Job  



1









 2







3










4




NEXT  Step 3

OPEN Work Space  ctrl+w




1.Number Sequence Click 


Click On Number Sequence *123 




Click On Generate Button 



OPEN Work Space  change Human Resources 

                                                         

Click On Parameters 
1.Human resources shared Parameters 
Next Step     


* check the Setup shared Human Resources Sequence Numbers 
*  check Below it showing WRE_AsetId   &&    Wre_TrackingId



Next Check The OUT PUT The Table 


Like This Number Sequence Working



Thank@18










   


How to use Display Method in AX

 

How to use Display Method in AX 2012 && Dynamic 365 

Sometimes developer has requirement to show data on selecting some record. This can be achieved using display method. It saves memory space as we don't need to insert record in another tables to use data. Here I'm giving an simple example on how to use display method in axapta.

Example:

  • Crate two tables WRE_TableA and WRE_TableB
  • Create two fields in WRE_TableA  Id and Name.
  • Create a field in WRE_TableB Id.
  • Now create a relation as shown below.





  • Create a display method getNameMethod and write following code.


    Display Name getNameMethod()
{

    WRE_TestTableA   wRE_TestTableA;

    select Name From WRE_TestTableA
      where wRE_TestTableA.ID == this.Id;


   return WRE_TestTableA.Name;

}

  • Now create a Form to test display method
  • Add TableB in Data Source of form
  • Drag Id field to design and create new string field Name and change property.
  • Make DataSource as TableB and DataMethod as getNameMethod.






                                          
  • Insert some dummy records in Table




  • Now open form and select any record


  • Similarly, you can also try with some standard table.

 Thank you @18

Tuesday, August 29, 2023

Code for how to Create Sales Agreement Cashflow Report


Create Sales Agreement Cash flow Report ??

DP Class 


 public void processReport()

{

    AgreementHeader                     agreementHeader;

    SalesAgreementHeader                salesAgreementHeader;

    AgreementLine                       agreementLine;

    AgreementLineQuantityCommitment     agreementLineQuentatityCommitment;

    WRE_SalesAgreementTempTable         salesAgreementTempTable;


    real                                qty, checkQty, checkPeroid, noOfMonths;

    TransDate                           transDate;

    date                                Pd;


    Query                               query = new Query();

    QueryBuildDataSource                qbdsAgreementHeader,qbdsSalesAgreementHeader,qbdsAgreementLine,qbdsAgreementLineQuantityCommitment;

    QueryBuildRange                     qbrAgreementHeader,qbrSalesAgreementHeader,qbrAgreementLine,qbrAgreementLinrQuantityCommitent;

    QueryRun                            qRun;


    WRESalesAgreementContract           contract;

    contract    =this.parmDataContract();

    fromDate    = contract.parmFormDate();

    toDate     = contract.parmToDate();



    qbdsAgreementHeader      = query.addDataSource(tableNum(AgreementHeader));

    qbdsSalesAgreementHeader = qbdsAgreementHeader.addDataSource(tableNum(SalesAgreementHeader));

    qbdsSalesAgreementHeader.relations(true);


    qbdsAgreementLine = qbdsSalesAgreementHeader.addDataSource(tableNum(AgreementLine));

    qbdsAgreementLine.relations(true);


    qbdsAgreementLineQuantityCommitment = qbdsAgreementLine.addDataSource(tableNum(AgreementLineQuantityCommitment));

    qbdsAgreementLineQuantityCommitment.relations(true);


    qbrAgreementHeader = qbdsAgreementHeader.addRange(fieldNum(AgreementHeader,DefaultAgreementLineExpirationDate));

    qbrAgreementHeader.value(queryRange(fromDate, toDate));



    qRun = new QueryRun(query);

    while(qRun.next())

    {

        agreementHeader                     = qRun.get(tableNum(AgreementHeader));

        salesAgreementHeader                = qRun.get(tableNum(SalesAgreementHeader));

        agreementLine                       = qRun.get(tableNum(AgreementLine));

        agreementLineQuentatityCommitment   = qRun.get(tableNum(AgreementLineQuantityCommitment));



        qty = 0;

        checkQty = 0;

        qty = agreementLineQuentatityCommitment.CommitedQuantity;

        transDate = fromDate;

        noOfMonths = intvNo(toDate, fromDate, intvScale::YearMonth);

        checkQty =0;

        for(checkPeroid =0;checkPeroid<=noOfMonths;checkPeroid++)

        {



           // wRE_SalesAgreementTempTable.clear();


            wRE_SalesAgreementTempTable.ContractId       = salesAgreementHeader.SalesNumberSequence;

            wRE_SalesAgreementTempTable.CustomerAccount  = salesAgreementHeader.CustAccount;

            wRE_SalesAgreementTempTable.LineNumber       = agreementLine.LineNumber;

            wRE_SalesAgreementTempTable.FromDate         = agreementHeader.DefaultAgreementLineEffectiveDate;

            wRE_SalesAgreementTempTable.ToDate           = agreementHeader.DefaultAgreementLineExpirationDate;

            if(checkQty < qty &&   agreementHeader.DefaultAgreementLineEffectiveDate <= transDate)

                // &&agreementHeader.DefaultAgreementLineExpirationDate >= transDate)


            {

            wRE_SalesAgreementTempTable.ProjectionValue  = agreementLineQuentatityCommitment.PricePerUnit;

            checkQty++;


            }

            else

            {

            wRE_SalesAgreementTempTable.ProjectionValue  = 0;

            }

            wRE_SalesAgreementTempTable.Year             = int2str(year(transDate));

            wRE_SalesAgreementTempTable.MonthName        = mthName(mthOfYr(transDate));

            wRE_SalesAgreementTempTable.insert();



            transDate   =   nextMth(transDate);

         }




     }


}

How To Create A WorkFlow In D365F&O

  How To Create Work Flow In D-365 F&O ? What is workflow? A workflow in the dynamics 365 apps is a way that automate business processes...