Showing posts with label Custom. Show all posts
Showing posts with label Custom. Show all posts

Saturday, April 24, 2021

Sysoperations frameworks Tips and tricks in AX

    protected ClassDescription defaultCaption()
    {
        return "@CashManagement:CashFlowTimeSeriesInitializeControllerCaption";
    }

    public ClassDescription caption()
    {
        return this.defaultCaption();
    }

    /// <summary>
    /// Indicates if the class must run in batch or not.
    /// </summary>
    /// <returns>
    /// Always returns false.
    /// </returns>
    /// <remarks>
    /// This method must be in this class because it is called from the <c>dialogRunbase</c> class.
    /// </remarks>
    public boolean mustGoBatch()
    {
        return false;
    }

    /// <summary>
    /// Determines whether the job can be executed in batch.
    /// </summary>
    /// <returns>
    /// false if the job cannot be executed in batch; otherwise, true.
    /// </returns>
    public boolean canGoBatch()
    {
        return false;
    }

    /// <summary>
    /// Sets whether to show the batch tab or not.
    /// </summary>
    /// <param name = "_showBatchTab">Flag to identify whether to show the batch tab or not.</param>
    /// <returns>False for batch tab to be invisible</returns>
    public boolean showBatchTab(boolean _showBatchTab = showBatchTab)
    {
        return false;
    }
	
	public boolean showBatchRecurrenceButton(boolean _showBatchRecurrenceButton = showBatchRecurrenceButton)
    {
        return false;
    }

Monday, April 12, 2021

Create default dimension using X++ in D365fo

        MapEnumerator           mapEnum;
        boolean                  validDim = true;
        List                    _contractList;
        Map                      dimMap = new Map(Types::String, Types::String);
        RecId                    defaultDimension;
        DimensionDefaultContract dimensionDefaultContract = DimensionDefaultContract::construct();

             
       
        
        dimMap.insert('Client', '003501_036');
        
        dimMap.insert('Purpose', '2016GBG');
        
        dimMap.insert('Division', 'CORP');
        
        dimMap.insert('Department', 'ADMIN');
        
        dimMap.insert('Location', 'LOSANGELES');
        
        dimMap.insert('SubDepartment', 'AP');
        
        dimMap.insert('Employee', '100077');
                   
        mapEnum = dimMap.getEnumerator();

        while(mapEnum.moveNext())
        {
            str     dimName, dimValue;
            boolean dimNameValid;

            dimName      = mapEnum.currentKey();
            dimValue     = mapEnum.currentValue();
            
            
            DimensionAttributeValueContract dimAttrValContract = DimensionAttributeValueContract::construct(dimName, dimValue);
            _contractList = dimensionDefaultContract.parmValues();
            _contractList.addEnd(dimAttrValContract);
          
        }

        if(dimensionDefaultContract && !dimensionDefaultContract.parmValues().empty())
        {
            DimensionNameValueListServiceProvider dimensionDefaultServiceProvider = DimensionNameValueListServiceProvider::newForDimensionNameValueListContract(dimensionDefaultContract);
            DimensionStorageResult                dimensionStorageResult          = dimensionDefaultServiceProvider.resolve();

            switch(dimensionStorageResult.parmStatus())
            {
                case DimensionStorageResultStatus::Valid:
                    defaultDimension = dimensionStorageResult.parmSavedRecId();
                    break;

                default:
                    error(strFmt("Validation Status: %1", dimensionStorageResult.parmStatus()));
                    break;
            }
        }

                        
        info(strFmt("Default Dimension %1",defaultDimension));

Table browser URL in D365FO

Critical Thinking icon icon by Icons8