Alfasith AX

Alfasith AX
اللَّهُمَّ انْفَعْنِي بِمَا عَلَّمْتَنِي، وَعَلِّمْنِي مَا يَنْفَعُنِي، وَزِدْنِي عِلْمًا

Thursday, April 2, 2020

Seperate dimension value from financial dimension in D365 / AX 2012 R3


public static DimensionValue getDimensionValue(int64 _dimension,
                                                                                            DimensionValueName _dimAttribute)
{
     DimensionAttributeValueSetStorage     dimensionAttributeValueSetStorage;
     dimensionAttributeValueSetStorage  = DimensionAttributeValueSetStorage::find(_dimension);
   
     return dimensionAttributeValueSetStorage.getDisplayValueByDimensionAttribute( DimensionAttribute::findByName(_dimAttribute).RecId);
}

Thursday, February 13, 2020

HcmPositionHirarchy To whom position needs to report in upper ranking in AX 2012 / D365

Hi,

static void AlfPositionHirarchyUP(Args _args)
{
    HcmWorker                   HcmWorker;
    HcmPositionWorkerAssignment HcmPositionWorkerAssignment;
    HcmPositionHierarchy        HcmPositionHierarchy;
    HcmPositionRecId            positionRecId;
 
    positionRecId = HcmPosition::findByPosition(HcmWorker::findByPersonnelNumber('701027').primaryPositionId()).RecId;

while(positionRecId>0)
{
    select * from HcmPositionHierarchy
        where HcmPositionHierarchy.Position ==positionRecId;

    positionRecId=HcmPositionHierarchy.ParentPosition ;
    if(HcmPositionHierarchy.ParentPosition)
    {
        print HcmWorker::find(HcmPosition::getReportsToWorker(HcmPositionHierarchy.Position)).name();
    }
}
pause;
}

Regards,

HcmPositionHirarchy under a position in AX 2012 /D365

Hi,

static void AlfPositionHirarchyDown(Args _args)
{
    HcmWorker                   HcmWorker;
    HcmPositionWorkerAssignment HcmPositionWorkerAssignment;
    HcmPositionHierarchy        HcmPositionHierarchyMan,HcmPositionHierarchy;
    HcmPositionRecId            positionRecId;
 
    positionRecId = HcmPosition::findByPosition(HcmWorker::findByPersonnelNumber('701027').primaryPositionId()).RecId;

    while select HcmPositionHierarchy where HcmPositionHierarchy.ParentPosition == positionRecId
    {
        print HcmWorker::find(HcmPosition::getWorker(HcmPositionHierarchy.Position)).name();
    }
    pause;
}

Regards,

Monday, December 23, 2019

DateTime Handlings in AX 2012 / D365

static void AlfTimeAdd(Args _args)
{
    TransDateTime    d = DateTimeUtil::getSystemDateTime();
    TransDate       d3 = today();
    TransDateTime    d1,d2;
    ;
    print d;
    print d3;
    d1 = DateTimeUtil::addHours(d,4); // To add 4 hours from current time
 
    print d1;
    d2 = Datetimeutil::newDateTime(d3,7.5*60*60); // I need today 7.30 Am
    print d2;
 
    print DateTimeUtil::addHours(d,4);
    print DateTimeUtil::addDays(d,4);
    print DateTimeUtil::addMinutes(d,4);
    print DateTimeUtil::addMonths(d,4);
    print DateTimeUtil::addYears(d,4);
     
    pause;
}

static void AlfaTime(Args _args)
{
    str t = "25 12 2019 10:06:00 AM";
    str t1 = "25/12/2019 10:06:00 AM";
    str t2 = "25-12-2019 10:06:00 AM";
    str t3 = "25-Dec-2019 10:06:00 AM";
    ;
    print str2datetime(t,123);
    print str2datetime(t1,123);
    print str2datetime(t2,123);
    print str2datetime(t3,123);
    print  str2datetime("2 25 1985 11:04:59 pm" ,213 );
    pause;

}

Saturday, December 21, 2019

X++ Code to handle workflow event hander for current record

Hi

public void changeRequested(WorkflowElementEventArgs  _workflowElementEventArgs)
{
    ttsbegin;

    DpayWorkerReqTable::findRecId(_workflowElementEventArgs.parmWorkflowContext().parmRecId(), true));
    DpayWorkerReqTable.Status = DpayWorkflowStatus::NotSubmitted;
    DpayWorkerReqTable.update();
    ttscommit;
}

Wednesday, October 23, 2019

ERROR : Update is not allowed without specifying ValidTimeStateUpdateMode in AX 2012 / D365

Hi,

Add tableName.validTimeStateUpdateMode(ValidTimeStateUpdate::Correction);
 
inside the tts.

static void Job511(Args _args)
{
    EmplContract     emplContract;
    utcdatetime minDateTime = DateTimeUtil::minValue() , maxDateTime = DateTimeUtil::maxValue();
    ttsBegin;
    While select forUpdate
        * from emplContract
            where emplContract.AnnualLeave == ""
    {
        emplContract.validTimeStateUpdateMode(ValidTimeStateUpdate::Correction);
        emplContract.AnnualLeave = "اجازة السنوية";
        emplContract.update();
    }
    ttsCommit;
}

Regards

Get a table ID in SQL / table browser - D365

Hi select ID from SysTableIdView where  SysTableIdView .Name = 'CustTable' <URL>/?cmp=<CompanyID>&mi=sysTableBrowser...