Edit Method D365FO





Edit Method D365FO




In AX 2009, when reference control was not available, in the table if there is a relation created on the basis of any field i.e. there is a child table and it contains the record Id of the parent Table. When that child table binds to form, (to display and select the user-friendly information from the parent table, lookup controls were used). The record Id of the user-friendly value is saved on the table with the help of the edit methods.

Here is the example to use Edit Method.



edit int ageUpdate(boolean _set, int value)
    {
        SLD_DemoTable _demoTable;
        int  ret;

        // find the car records from the car table with update = true
        _demoTable = SLD_DemoTable::find(this.Name, _set);

        if (_set)
        {
            ttsbegin;

            _demoTable.Age = value;
            _demoTable.update();

            ttscommit;
        }
        else
        {
            ret = _demoTable.Age;
        }

        return ret;
    }

Long Processing Dialog D365FO



Long Processing Dialog  D365FO

There is a class in Dynamics 365FO Named SysOperationSandbox which is handle long running dialog for long running processes.. this class support Class and table level static method only..

Following are the Parameters 


  • Class / Table name 
  • Method Name
  • Container
  • Caption Message
  • Completion Message
  • Failure Message 

Form Code

 [Form]
public class SLD_DemoForm extends FormRun
{
    [Control("Button")]
    class FormButtonControl1
    {
        /// <summary>
        ///
        /// </summary>
        public void clicked()
        {
            container _container=["You can pass parameter to your method",1000];
            SysOperationSandbox::callStaticMethod(classNum(SLD_DemoInstance),
            staticMethodStr(SLD_DemoInstance,LongProcess),_container,
            'waiting caption should be here', 'Operation completed message should be here','Operation Cancelled should be here');
            super();
        }

    }

}



Class Code

class SLD_DemoInstance
{





    public static void LongProcess(container _container)
    {
        int contervalue= conPeek(_container,2);

        for (int i=1;i <= contervalue;i++)
        {
            /// Your logic should here
            ///
        }

    }

}






Environment hot fixes D365FO


Environment hot fixes D365FO



In my previous blogs, I have shown that how to get the list of the hotfixes applied to your environment.


Previous blog Link 


Today, I decided to create a simple page on D365FO which will show you the list of the hotfixes installed on your environment.

As we all know we can view installed hotfixes only from Visual studio and we couldn't verify the environment where Visual studio was not installed. Line UAT and production.


You can download the solution from here.

To import this project please follow this blog.


How solution work.

After successful import of the project Go to Systems Administration > Steup > Installed Hotfixes

Reference screenshot



Now click on initiate process. this process will take time.

Reference screenshot


Once the process is complete all hot fixes will be visible to you like below.

Reference screenshot




Export & Import Project



Export & Import Project D365FO 



Today, We will talk about the good feature of Visual studio for D365FO & AX-7 is the Export & import Project.

Using this feature we can export all elements which are part of the solution including Module and their sub-model.

Following are a few simple steps.

Export Section

Step-1 Open Visual Studio and create a new project.
Step-2 Add some elements in the project and right-click on the project you will find the export option on the Menu option.

Reference Screenshot




Step-3 Provide the path where you want to save the Export project which will be in the form of *.axpp.

Reference Screenshot




Step-4 Now click on save.. export will take 2 to 3 minutes, exporting time duration vary on a number of the elements. 

Reference Screenshot



Import Section


Step-5 Now login to the instance where you want to import the project.
Step-6 Open Visual studio and Navigate to Dynamics 365 and click on import project.

Reference Screenshot



Step-7 When you click on import project, A popup will appear. provide the path of the project you want to import.

Reference Screenshot


Step-8 once the project is imported, the Visual studio shows the complete elements which are part of the project.

Reference Screenshot



Step-9 Click on the Ok button, Activity will take time because it will create module and sub-model if not exists in your environment and perform compile. You need to perform Database sync manually.

Step-10 Now navigate to the File menu and open the project. (You will find the recently imported project on the default path of Visual studio)


Reference Screenshot



Step-11 Now verify your all elements and check the model if it did not exist before import. In my case module and sub-model were not exists.

Reference Screenshot




Reference Screenshot





















Custom font in SSRS Report



Install custom font in SSRS Report





In this blog, I will show you how to use custom fonts in Dynamics 365 for Finance and Operations reports, which Means fonts that are not part of your D365FO environment.

We can add the Custom font in AOS resources. D365FO server loads the font after your package deployment and treats those fonts as a systems-installed font.

Following are the simple step to use a custom font in the SSRS report in D365FO...


Step-1 Download any font you want to use in the SSRS report. in this tutorial for a demo, I am using the below Fonts.



  1. Romantisk Demo Regular
  2. Madpakke Demo Regular


Step-2 Create custom report like below  




Step-3 Now Add the resource file and add your downloaded font on the resource. each font required a separate resource file.

Here I am adding two resource files and assigning my font to them One by one.


Romantisk Demo Regular










Madpakke Demo Regular










The resource file looks like the below image.




Step-4 Now install the font on a development server. so it will available for you in Visual Studio for your development.






Step-5 Now add design in the report and add write any text then assign your custom font to your text. 




Step-6 Now perform build and deploy the report..

Step-7 Execute the report it will look like this.







Step-8 Now create the deployable package and deploy it on your D365FO Azure server :)

Please feel free to contact me if you are facing any issues during the implementation of this blog
 

Email In CC and BCC D365FO


Email In CC and BCC D365FO


As we all know the feature to send the email in CC and BCC is not yet available on UI, But the sysMailer class has the option to achieve the objective.

Here is the sample code:

class SLD_DemoInstance
{



    public void main(Args _args)
    {
      

        SysMailerMessageBuilder builder = new SysMailerMessageBuilder()
    .setFrom("shaikhsohailhussain@gmail.com")
    .addTo("to@example.com")
    .addCc("cc@example.com")
    .addBcc("bcc@example.com")
    .setSubject("Test")
    .setBody("Test email");
   
        SysMailerFactory::sendNonInteractive(builder.getMessage());

    }

}

Current language D365FO


Current language D365FO



static void main(Args _args)
{
info(companyinfo::languageId());

// user
    info(new xInfo().language());
    // system

    info(SystemParameters::getSystemLanguageId());

}

Virtual Fields Vs Computed Fields

  Virtual Field: A virtual field in D365FO is a field that doesn't have a direct representation in the database. It's a field that y...