Olá Pessoal,
Tudo bem?

Pessoal estou compartilhando com vocês o processo para realizar o lançamento de lista de separação, inicar roteiro de lista de separação e atualizar todas as linhas do roteiro por código X++ para o Microsoft Dynamics AX 2012 caso precisem.

public boolean init()
{
    boolean ret = true;
 
    ret = this.validate();
 
    if (ret)
    {
        //Post PickingList
        this.pickingList();
        //Start Router from Picking list
        wmsPickingRouteID = this.wmsPickingRouteStart();
        //Update all from Router
        this.pickAllLines(wmsPickingRouteID);
    }
 
    return ret;
}
/// <summary>
/// Realiza o lançamento da lista de separação
/// </summary>
public void pickingList()
{
    InventTransferParmTable     localInventTransferParmTable;
    InventTransferMultiPick     localInventTransferMultiPick = InventTransferMultiPick::construct();
    ;
 
    localInventTransferParmTable.TransferId      =   inventTransferId; //Provide transferId
    localInventTransferParmTable.EditLines       =   NoYes::Yes;
    localInventTransferParmTable.AutoReceiveQty  =   NoYes::Yes;
    localInventTransferParmTable.TransDate       =   systemDateGet();
    localInventTransferParmTable.UpdateType      =   InventTransferUpdateType::PickingList;
    localInventTransferParmTable.PickUpdateQty   =   InventTransferPickUpdateQty::All ;
    localInventTransferMultiPick.runUpdate(localInventTransferParmTable);
}
/// <summary>
/// Iniciar roteiro de separação
/// </summary>
/// <returns>
/// Retorna o nr. do roteiro
/// </returns>
public WMSPickingRouteID wmsPickingRouteStart()
{
    WMSPickingRoute         localWMSPickingRoute;
    WMSPickingRouteStart    localWMSPickingRouteStart;
 
    //Buscar roteiro vinculado ao registro da lista de separação
    select firstOnly PickingRouteID, expeditionStatus
        from localWMSPickingRoute
        where localWMSPickingRoute.transType == InventTransType::TransferOrderShip
            && localWMSPickingRoute.transRefId ==  inventTransferId;
 
    if (localWMSPickingRoute.PickingRouteID)
    {
        //Verificar se esta com o status ativado
        if (localWMSPickingRoute.expeditionStatus == WMSExpeditionStatus::Activated)
        {
            localWMSPickingRouteStart = new  WMSPickingRouteStart();
            localWMSPickingRouteStart.parmWMSPickingRouteId(localWMSPickingRoute.PickingRouteID);
            localWMSPickingRouteStart.parmWorker(DirPersonUser::findUserWorkerReference());
            localWMSPickingRouteStart.run();
        }        
    }
 
    return localWMSPickingRoute.PickingRouteID;
}
/// <summary>
/// Atualizar todas as linhas do roteiro da lista de separação
/// </summary>
/// <param name="_pickingRouteID">
/// Nº do roteiro a ser atualizado
/// </param>
public void pickAllLines(WMSPickingRouteID _pickingRouteID)
{
    List            list = new List(Types::String);
    WMSPickingRoute localWMSPickingRoute;
 
    //verificar se o roteiro foi informado
    if (!_pickingRouteID)
    {
        //Buscar pelo nº da ordem de transferência
        select firstOnly PickingRouteID, expeditionStatus
            from localWMSPickingRoute
                where localWMSPickingRoute.transType == InventTransType::TransferOrderShip
                    && localWMSPickingRoute.transRefId ==  inventTransferId;
    }
    else
    {
        //Buscar pelo nº do roteiro
        select firstOnly PickingRouteID, expeditionStatus
            from localWMSPickingRoute
                where localWMSPickingRoute.PickingRouteID == _pickingRouteID;
    }
 
    //Verificar se o roteiro esta com o status iniciado
    if (localWMSPickingRoute && localWMSPickingRoute.expeditionStatus == WMSExpeditionStatus::Started)
    {
        list.addEnd(localWMSPickingRoute.PickingRouteID);
        WMSPickingRoute::finishMulti(list.pack()); 
        wmsDeliverPickedItems::checkDeliverPickedItems(localWMSPickingRoute.PickingRouteID,list.pack());
    }
}

Abraços,
Juliano Bachesque





KB2986833 Allocation Terms duplicating values.

Hello,
Today we faced a new problem, the problem occurs when you need to do an Allocation Term and get duplicated values in general ledger. This occurs because you need the KB2986833, that corrects a bug in Table -> LedgerAllocations, when the system tries to make the right selection criteria.

Like this:
001

And then, you got this:
002

The KB can be found here: http://hotfixv4.microsoft.com/Microsoft%20Dynamics%20AX%202012%20R3/nosp/KB2986833/6.3.164.2732/free/477794_intl_i386_zip.exe.

The kb is included within CU8, this is for who are using just R3 without CU8.

[]s
Pichler





Data Import Framework

Olá Pessoal,
Tudo bem?

Navegando no Linkedin e pesquisando sobre o Data Import framework eu achei o perfil do Shafeaa’ AlLabadi, que publicou uma série de vídeos com informações que serão muito úteis a todos nós.

São elas:

Import Projects using Data Import framework AX 2012 R3
Import Financial Dimension using DIF | AX
Import Vendors Using AX 2012 DIF
Import Workers using Data Import framework AX 2012 R3
Import Assets using Data Import framework | AX 2012 R3
Import Vendor Groups using Data Import framework | AX 2012 R3
Import Main Accounts using Data Import framework | AX 2012 R3
Import Vendors using Data Import framework | AX 2012 R3
Import Customers using Data Import framework | AX 2012 R3
Import Financial Dimension using Data Import framework | AX 2012 R3
Troubleshoot issue with a Data Import/Export Framework installation
Install Dynamics AX 2012 R3 Step by Step (Step 5)(Install DIXF)

E mais:

Configure and use one-time supplier functionality in Dynamics AX
How To Print a Single Voucher in AX 2012
Cash discount handling for over payments (Dynamics AX 2012)
Deep inside Dynamics AX2012 Payment Settlement scenarios(2nd Scenario)
Deep inside Dynamics AX2012 Payment Settlement scenarios(1st Scenario)
Troubleshooting insufficient permission to Preview Dynamics AX Reports
Export Sales Order Data to MS Word template with Dynamics AX 2012
Troubleshoot”Failed to logon MicrosoftDynamics”During Report Rendering
Troubleshoot Dynamics AX Report Labels do not Display
Troubleshooting “The network path was not found”AX Reports Deployment
Deploy Dynamics AX 2012 Reports Manually
Install Dynamics AX 2012 R3 Step by Step (Step 4)
Install Dynamics AX 2012 R3 Step by Step (Step 3)
Install Dynamics AX 2012 R3 Step by Step (Step 2)
Install Dynamics AX 2012 R3 Step by Step (step 1)

Os vídeos podem ser acessados aqui: https://www.linkedin.com/today/author/78308173?trk=prof-sm e não é necessário ser registrado.

[]s
Ricardo Pichler





CobreBem – Registrando a DLL no servidor

Prezados,
Esses dias tive que voltar a mexer com a famosa dll do cobrebem, que diga-se de passagem faz muito bem o seu trabalho, no entanto o que antes era um diferencial enorme, agora já não existe mais, que é o suporte que eles prestavam.

Hoje a DLL vem em um pacote com um instalador, mas o problema é que este instalador instala apenas para o usuário atual, usando o Regsvr32, o que te obriga a instalar uma vez para cada usuário e torna a tarefa bem chata.

Dando uma estudada, lembrei como faziamos para registrar as DLLs no passado, de modo que ficam registradas no servidor e com isso ficam visíveis a todos, vamos lá:

1. Baixe a DLL do site e coloque-a na pasta C:\CobreBemX (ou alguma outra de sua preferência).
2. No Windows, abra o Component Services.
3. Caminho: Console Root -> Component Services -> Computers -> My Computer, e clique com o botão direito em “COM + Applications”, escolha New -> Application.
4. Next -> Create an empty application
5. Coloque o nome CBX e escolha a opção Library Application, Next, Finish.
6. Com isso, um novo item será criado na arvore abaixo do item “COM + Applications” chamado CBX.
7. Clique com o botão direito em CBX, vá até a guia Security
8. Certifique-se que a opção “Enforce access checks for this application” está marcada e também altere o Security Level para a primeira opção “Perform access checks only…..”.
9. Clique em Apply e em seguida em OK.
10. Expanda o item CBX e clique com o direito em Componentes -> New -> Component.
11. Next.
12. Install new component(s)
13. Aponte para a DLL que colocou em C:\CobreBemX
14. Next e Finsh.

Pronto, agora a DLL está registrada em um escopo global e não precisa mais ser registrar usuário por usuário.

Abraços,
Pichler





[AX2012] Cumulative Update 9 for Microsoft Dynamics AX 2012 R3

New features: https://technet.microsoft.com/EN-US/library/mt156976.aspx.

For detailed information on Microsoft Dynamics Ax 2012 R3 CU9 release, please refer to the release notes official KB document KB3063879.

Full Announcement: http://blogs.technet.com/b/dynamicsaxse/archive/2015/06/10/announcing-cumulative-update-9-for-microsoft-dynamics-ax-2012-r3.aspx

[]s
Pichler





Tags / Categorias

RSS



Arquivo

Dynamics Community