Dynamics AX: Como posso abrir um documento docuview ligado a uma requisição de compra a partir de uma ordem de compra?

StackOverflow https://stackoverflow.com/questions/801735

  •  03-07-2019
  •  | 
  •  

Pergunta

Edit: O objetivo é fazer com que citar documentos que foram anexados a compra requisições disponíveis para o pessoal que processa a Purchase ordens diretamente um de uma forma fácil, sem ter que voltar navegar para o documento de requisição si.

Eu gostaria de usar o método DocuRef::openDocHandling a partir de dentro a tela de Ordem de Compra sem duplicar o documento que estava ligado à requisição de compra. Eu gostaria de fazer isso a partir de um botão que vou acrescentar à tela Ordem de Compra; Eu sei o que o número da requisição é que está ligada à Ordem de Compra.

Muito obrigado antecipadamente.

Foi útil?

Solução

Na forma PurchTable adicionar um VendPurchOrderJour fonte de dados com o (ativo) requistion compra. Você não tem que exibir qualquer um dos campos da fonte de dados, de modo que você pode usar a propriedade OnlyFetchActive. Em seguida, crie o método de forma "docCursor", para dizer a forma DocuView qual registro é o ativo.

public Common docCursor()
{
    return reqDoc ? vendPurchOrderJour : purchTable;
}

Criar o botão com um método "clicado":

void clicked()
{
    reqDoc = true;
    if (!infolog.docu().isDocuViewSet())
        infolog.docu().note(element);
    else
        infolog.docu().setActive();
}

Limpar o "reqDoc" no método "ativa" de PurchTable.

Esta solução não permite documentos sobre linhas de compra, você pode ter que expandir a solução como esta (linha é um grupo de formulários):

public Common docCursor()
{
    return reqDoc ? vendPurchOrderJour : 
                    line.contains(element.selectedControl()) ? purchLine :
                    purchTable;
}

Outras dicas

Se você quer um botão para abrir a exibição do documento se não for aberto e ativado se aberta, em seguida, o seu método clicado deve ficar assim:

void clicked()
{
    if (!infolog.docu().isDocuViewSet())
        infolog.docu().note(element);
    else
        infolog.docu().setActive();
}

A sua pergunta é claro em seu objetivo. O que você quer? Por favor, expandir-se.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top