Tuesday, June 8, 2021

How to execute Date Time range in X++ query

Here is the example for datetime range in Query. We are trying to achive as on date data here based on AOT and an additional range of From Date. This will help to understand the query base. 

 Query     query = new query(querystr(#AOTQueryName)); // Getting Query From AOT , 
 QueryBuildDataSource qbds = query.dataSourceTable(tablenum(#TableName)); // Adding More DB
 queryBuildRange            qbr = qbds.addRange(fieldNum(#TableName,#FieldValidFrom)); // Add Range 

qbr.value(strFmt('(%1.%2 <= DateTimeUtil::date("%3"))',tableStr(HcmEmployment),fieldStr(HcmEmployment, ValidFrom),asonDate)); // Passing Value 

Sunday, March 7, 2021

Database Sync error in D365-F&O with ISV Solution

Recently I faced an issue where the Data Base synchronization for D365 F&O was throwing the error where as all the Build was successful even after move all the code from another environment. 

Here I would to mention one important thing which I was completely ignoring  was "We were using ISV solution from another party ".


Error - 


Although it was a long error log but from it you could find the below main part which will try to expose error detail. 

An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch


Solution - 

As I mentioned we were using ISV solution so it was the only reason for this Sync Failed. I had to follow the below process to make a successful Sync.

1- Go to the Local directory location "K:\AosService\PackagesLocalDirectory"

2- Got to the package folder in directory ""K:\AosService\PackagesLocalDirectory\###Package (ISV Package)"

3- Find the DLL file here .

4- Right click and open "Properties" 

5- here you will find one Unlock check box. we need to check this box and run the Sync for DB again. 



Hope this will Work for you.... :) 

 




 


Saturday, February 20, 2021

Admin provisioning tool can't stop DynamicsAXBatch service

 Admin User Provisioning Tool Error:

  1. If the Admin User Provisioning Tool gives error that can’t stop DynamicsAxBatch.
  2. Go to the Services,
  3. Find out the service with the name: Microsoft Dynamics 365 Unified Operations: Batch Management Service
  4. Stop it.
  5. Now register with the provisioning tool
  6. If you are unable to stop the DynamicsAxBatch Service. Then do the following steps in it:
  • Click the Start menu
  • Click Run or in the search bar type services.msc
  • Press Enter
  • Look for the service and check the Properties and identify its service name. Service name would be DynamicsAxBatch
  • Once found, open a command prompt. Type: sc queryex [servicename].
  • Press Enter
  • Identify the PID
  • In the same command prompt type: taskkill /f /pid [pid number]
  • Press Enter

For reference, see the following picture:

Image

Now start the service and and register yourself in the Admin Provisioning Tool.

Monday, January 4, 2021

D365 F&O call ACTIVE Method through extension

As we can't modify any standard method in D365 F&O , so we need to pass all of it's component in Code Of Command (COC). Below is the syntex for  "Active" Methos in vend Table form where we are enabling a field based on #Checkbox selection. Hope it'll help ... At least me in Future 😆 



[ExtensionOf(formdatasourcestr(VendTable, VendTable))] // Extension of Standard Obejct

final class VendTable_Extension

{

  

    public int Active()

    {

        int             ret;

        VendTable       vendTable           =  element.Vendtable; // Direct Table buffet for value 

        FormDataSource  vendTable_ds        = element.vendtable_ds; // Data Source Buffer


        ret = next Active(); // Calling standard Active Logic


    // adding Addition logic to check 

        vendTable_ds.object(fieldNum(VendTable, #FieldName)).enabled(VendTable.#CheckBox == NoYes::Yes);


        return ret;

        vendTable_ds.research(true); // This is useful to stop record refresh in Active 


    }


}

Conversion of Disposition code, code was not specified - Error in D365 F&O for inter company purchase order return

 We crated the return order for inter company purchase order  and created a Item Arrival Journal through Arrival Overview in corresponding c...