Dynamics AX: Como posso abrir um documento docuview ligado a uma requisição de compra a partir de uma ordem de compra?
-
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.
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.