Pages

Banner 468 x 60px

 

Sunday, January 3, 2021

Fixed Asset ITH-DEV-4-000672, Value model Commercial, has not been set up for depreciation.

0 comments

 Fixed Asset ITH-DEV-4-000672, Value model Commercial, has not been set up for depreciation.

Solution : Checklist Depreciation



Read more...

Saturday, August 24, 2019

Event Viewer for checking Restart Maching

0 comments
Hi bro, 

I want to share how to know your machine restart through Event Viewer (Windows Server 2014).

1. Right Click in System 
2. USER32 in Event Source
3. 1074 

Click OK


Read more...

Monday, July 1, 2019

Insert spesific date thourgh x++

0 comments
Insert spesific date thourgh x++ :

utcdatetime     activityend = DateTimeUtil::newDateTime(systemdateget() + 7, 0 * 60 * 60); 
activity.ActualEndDateTime = activityend; // DateTimeUtil::utcNow();


Read more...

Thursday, February 21, 2019

Get Workflow Information AX using SQL

0 comments

Hai guys, I want to share how get Workflow Information AX using SQL


USE AXReports

SELECT  A.SALESID,

                           A.CUSTACCOUNT,

                           (SELECT TOP 1 NAME FROM AXABU.DBO.DIRPARTYTABLE AS R WITH (NOLOCK) 

                                  WHERE R.RECID = (SELECT PARTY FROM AXABU.DBO.CUSTTABLE AS X WITH (NOLOCK)  WHERE X.ACCOUNTNUM = A.CUSTACCOUNT))

                           AS CUSTNAME,

                           B.ITEMID,

                           C.PRODUCTNAME,

                           A.SALESUNITID,

                           A.WORKERSALESRESPONSIBLE,

                           B.SALESQTY,

                           B.SALESPRICE,

                           B.REMAININVENTPHYSICAL,

                           A.DELIVERYDATE,

                           B.LINEAMOUNT,

                           A.INVENTLOCATIONID,

                           B.INVENTTRANSID,

                           (SELECT TOP 1 X.PAYMTERMID FROM [AXABU].[DBO].[CUSTTABLE] AS X WITH (NOLOCK)  WHERE X.ACCOUNTNUM = A.CUSTACCOUNT) AS TERMOFPAYMENT,

                           (SELECT SUM(QTY) FROM AXReports.dbo.CUSTPACKINGSLIPTRANS_ AS AA WITH (NOLOCK) WHERE AA.INVENTTRANSID = B.INVENTTRANSID) AS DELIVERED,

                           (SELECT SUM(QTY) FROM AXReports.dbo.CUSTINVOICETRANS_ AS BB WITH (NOLOCK) WHERE BB.INVENTTRANSID = B.INVENTTRANSID) AS INVOICED,

                           (CASE WHEN A.SALESTYPE = 3

                                         THEN (SELECT TOP 1 X.SALESID FROM AXReports.dbo.SALESLINE_ AS X WITH (NOLOCK) WHERE X.INVENTTRANSIDRETURN = B.INVENTTRANSID)

                                    WHEN A.SALESTYPE = 4

                                      THEN (SELECT TOP 1 X.SALESID FROM AXReports.dbo.SALESLINE_ AS X WITH (NOLOCK) WHERE X.INVENTTRANSID = B.INVENTTRANSIDRETURN)

                            END) AS RETURNORDER,

                           (CASE WHEN A.SALESTYPE = 3 THEN 'SALES ORDER'

                                    WHEN A.SALESTYPE = 4 THEN 'RETURN ORDER'

                           END) AS ORDERTYPE,

                           CAST(A.CREATEDDATETIME AS DATE) AS CREATEORDER,

                           (CASE  WHEN B.SALESSTATUS = 1 THEN 'OPEN ORDER'       

                                         WHEN B.SALESSTATUS = 2 THEN 'DELIVERED'

                                         WHEN B.SALESSTATUS = 3 THEN 'INVOICED'

                                         WHEN B.SALESSTATUS = 4 THEN 'CANCELED'

                           END) AS STA,

                           (CASE WHEN A.DOCUMENTSTATUS = 0 THEN 'NONE'

                                         WHEN A.DOCUMENTSTATUS = 3 THEN 'CONFIRMATION'

                                         WHEN A.DOCUMENTSTATUS = 4 THEN 'PICKING LIST'

                                         WHEN A.DOCUMENTSTATUS = 5 THEN 'PACKING SLIP'

                                         WHEN A.DOCUMENTSTATUS = 7 THEN 'INVOICE'

                            END) AS DOCUMENTSTATUS,

                           (SELECT TOP 1 XZ.FIRSTNAME  FROM AXABU.DBO.HCMWORKER AS XY WITH (NOLOCK)

                                  INNER JOIN AXABU.DBO.DIRPERSONNAME AS XZ

                                  ON XZ.PERSON = XY.PERSON

                                  WHERE XY.RECID = A.WORKERSALESRESPONSIBLE) AS NAME,



                                  (SELECT TOP 1 X.NAME FROM AXABU.DBO.DIRPARTYTABLE AS X WHERE X.RECID = (SELECT TOP 1 Y.PERSON FROM AXABU.DBO.HCMWORKER AS Y WITH (NOLOCK)

                           WHERE Y.RECID = (SELECT TOP 1 X.WORKERSALESRESPONSIBLE FROM AXReports.dbo.SALESTABLE_ AS X WITH (NOLOCK) WHERE X.SALESID = A.SALESID))) AS EMPLOYEE,





                           (SELECT TOP 1 BB.TAXGROUP FROM AXReports.dbo.CUSTINVOICETRANS_ AS BB WITH (NOLOCK)  WHERE BB.INVENTTRANSID = B.INVENTTRANSID) AS TAX,

                           (SELECT TOP 1 BB.INVOICEDATE FROM AXReports.dbo.CUSTINVOICETRANS_ AS BB WITH (NOLOCK)  WHERE BB.INVENTTRANSID = B.INVENTTRANSID) AS INVOICEDATE,

                           D.ITEMGROUPID,

                           (SELECT TOP 1 X.[DESCRIPTION] FROM AXABU.DBO.SMMBUSRELSEGMENTGROUP  AS X WITH (NOLOCK)

                                         INNER JOIN AXABU.DBO.CUSTTABLE AS Y

                                                ON Y.SEGMENTID = X.SEGMENTID

                                                AND Y.ACCOUNTNUM = A.CUSTACCOUNT) SEGMENT,                          

(SELECT TOP 1 BB.LINEAMOUNT FROM AXReports.dbo.CUSTINVOICETRANS_ AS BB WITH (NOLOCK)  WHERE BB.INVENTTRANSID = B.INVENTTRANSID) AS LINEINVOICE,

(SELECT TOP 1 (BB.LINEAMOUNT + BB.LINEAMOUNTTAX) FROM AXReports.dbo.CUSTINVOICETRANS_ AS BB WITH (NOLOCK) WHERE BB.INVENTTRANSID = B.INVENTTRANSID) AS LINEINVOICETAX,

A.MODIFIEDBY

              INTO #SALESTEMP

              FROM AXReports.dbo.SALESTABLE_ AS A

                     INNER JOIN AXReports.dbo.SALESLINE_ AS B WITH (NOLOCK)

                           ON B.SALESID = A.SALESID

                           AND B.SALESSTATUS IN (@STA)

                           AND B.DATAAREAID = A.DATAAREAID

                     INNER JOIN AXABU.DBO.ECORESPRODUCTTRANSLATIONS AS C WITH (NOLOCK)

                           ON C.DISPLAYPRODUCTNUMBER = B.ITEMID

                     INNER JOIN AXABU.DBO.INVENTITEMGROUPITEM AS D WITH (NOLOCK)

                           ON D.ITEMID = B.ITEMID

              WHERE CAST(A.CREATEDDATETIME AS DATE) >= @FROMDATE

              AND CAST(A.CREATEDDATETIME AS DATE) <= @TODATE

              AND A.INVENTLOCATIONID IN(@WAREHOUSE)



              SELECT * FROM #SALESTEMP WITH (NOLOCK) ;



Read more...

Thursday, April 19, 2018

Get workflow information using x++

0 comments
Hi Guys, I share how to Get Workflow Information AX using X++ :

Get workflow information using x++ :

Display str ApproveDate()
{
    WorkflowTrackingStatusTable     workflowTrackingStatus;
    WorkflowTrackingTable           workflowTrackingTable;
    WorkflowTrackingCommentTable    workflowTrackingCommentTable;
    UserInfo                        userInfo;
    Name                            _name;

    select firstFast RecId, User from workflowTrackingTable
    order by RecId desc
    join workflowTrackingCommentTable
    where workflowTrackingCommentTable.WorkflowTrackingTable == workflowTrackingTable.RecId
    join UserInfo
    where UserInfo.id == WorkflowTrackingTable.User
    exists join workflowTrackingStatus
    where workflowTrackingTable.WorkflowTrackingStatusTable == workflowTrackingStatus.RecId
    && workflowTrackingStatus.ContextRecId == _getPR.RecId
    && workflowTrackingStatus.ContextTableId == tableNum(PurchreqTable) //PurchTable
    && workflowTrackingTable.TrackingType == WorkflowTrackingType::Approval;
    if (workflowTrackingTable.RecId > 0)
    {
        return ": " + strFmt('Approve Date : %1 - Approve Name : %2',  datetime2str(workflowTrackingCommentTable.createdDateTime,123), userInfo.name);
    }
    else
    {
        return '';
    }
}

Ask me if you have a problem, please email to : adityomagnet@gmail.com
Read more...

Wednesday, April 18, 2018

Rename Product Name in EcoresProductTranslation AX 2012

0 comments
  1. Hai guys, I want to share how to Rename Product Name in EcoresProductTranslation Table AX 2012 :


If you have problem, please email to me : adityomagnet@gmail.com

Thanks in advance
Read more...

throw error in x++

0 comments

throw error in x++ :

public void closeOk()
{
    List                ordersToUpdate = new List(typeName2Type(extendedTypeStr(RecId)));
    FormRun             callerForm = element.args().caller();
    MultiSelectionHelper selection = MultiSelectionHelper::createFromCaller(element.args().caller());
    SalesTable          salesTable = selection.getFirst();
    CustTrans           custTrans;
    BankPaymCancel      bankPaymCancel;
    Args                args;
    MCRCustPaymTable    mcrCustPaymTable;
    UserId              User1, User2;
    ABUUserParameter    ABUUserParameter;
    User2 = curUserId();
    User1 = ABUUserParameter::findUser(User2).User;   
    //if(curUserId() != User1)
    if(curUserId() == User1) // test
    {
        if(salesTable.DocumentStatus == DocumentStatus::PackingSlip ||
           salesTable.DocumentStatus == DocumentStatus::PickingList ||
           salesTable.DocumentStatus == DocumentStatus::Invoice ||
           salesTable.DocumentStatus == DocumentStatus::Confirmation) // test
        {
            throw error("Order sudah di packing / picking / invoice, silahkan konfirmasi ke gudang untuk cancel order");
        }
    }
    //end

    while (salesTable)
    {
        ordersToUpdate.addEnd(salesTable.RecId);
        salesTable = selection.getNext();
    }

    SalesUpdateRemain::cancelRemainderOnManySalesOrders(ordersToUpdate.pack());

    salesTable = selection.getFirst();
    while (salesTable && RetailPricingEngine::isMCROrder(salesTable.SalesId))
    {
        mcrCustPaymTable = MCRCustPaymTable::findByRefRecIDRefTableID(salesTable.RecId, salesTable.TableId);

        if(mcrCustPaymTable && mcrCustPaymTable.CustPaymType == MCRCustPaymType::GiftCard)
        {
            while select forUpdate custTrans
                where custTrans.MCRPaymOrderID == salesTable.SalesId
                      && custTrans.CancelledPayment == NoYes::No
            {
                bankPaymCancel = BankPaymCancel::newBankPaymCancel(custTrans, true);

                args = new Args();
                args.caller(bankPaymCancel);
                args.record(custTrans);
                BankPaymCancel::serverRun(args);
            }
        }

        salesTable = selection.getNext();
    }

    if (callerForm)
    {
        callerForm.dataSource().research(true);
    }

    super();
}

Read more...

A financial dimension value is based on the record and has been used on a transaction. You cannot delete the record

  SOLUTION delete in table DimensionAttributeLevelValue base on Bank Account  :  and Delete the Bank Account FINISH