Printer configuration on D365 – FinOps

In this blog we will discuss about how to configure on premises printer to the Microsoft dynamics 365 FinOps. This feature enables you to connect your printer with finOps and perform printing task.

In my case I connect Zebra printer with FinOps to perform some label printing task (How to design and print label using Zebra printer will cover in other blog in the series).

Let’s begin..!!

At first step you must install “Document Routing Agent” on your system. We will get setup from FinOps.

Navigate to Organization Administration -> Setup -> Network Printer -> Download document routing agent installer (Application Action Pane)

This will automatically download “Document Routing Agent” setup.

Open wizard and install routing agent.

After installation gets complete. Open routing agent and click on settings. Then provide

FinOps Url: https://xxxxxxx-xxx-xx.cloudax.dynamics.com

Azure AD Tenant: This is AD domain name like: [organizationDomainName].com. Contact your IT team to provide AD tenant.

After settings, sign in with your FinOps account.

Click to printer. It will bring all the printer install on the system. So, select the printers from list and click on register

After registration of printer gets complete, go to FinOps and

Navigate to Organization Administration -> Setup -> Network Printer

You will find printer that was selected from routing agent. Now select your printer and change value of “Active” column to “Yes”. This will enable the printer on FinOps.

I hope this blog would be helpful.

Do share your feedback with me
Mhq_hassan@hotmail.com

Generate invent batch Id programmatically in d365/x++

Following code can be used to create invent batch id for production order.

static InventBatchId generateActiveInventBatch(
        ProdTable     _prodTable)
    {
        InventBatchId  inventBatchId;
        InventBatch    inventBatch;
        NoYes          isBatchActive;
        InventNumGroup inventNumGroup;

        FieldId checkInventBatch = fieldNum(InventDim, InventBatchId);

        try
        {
            isBatchActive   = ecoResTrackingDimensionGroupFldSetup::findByDimensionGroupFieldId(InventTable::find(_prodTable.ItemId).trackingDimensionGroup(), checkInventBatch).IsActive;

            if (isBatchActive)
            {
                inventNumGroup = InventNumGroup::find(InventTable::find(_prodTable.ItemId).BatchNumGroupId);

                inventbatchId  = inventNumGroup.buildNumberParameters(DateTimeUtil::date(_prodTable.CreatedDateTime), _prodTable.ProdId, _prodTable.InventTransId, extendedTypeNum(InventBatchId));

                inventBatch    = InventBatch::findOrCreate(inventbatchId, _prodTable.ItemId);
            }
        }
        catch (Exception::Error)
        {
            inventBatchId = "";
        }

        return inventBatchId;
    }
Design a site like this with WordPress.com
Get started