Dynamics AX: Comment ouvrir un document docuview joint à une demande d'achat à partir d'un bon de commande?

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

  •  03-07-2019
  •  | 
  •  

Question

Modifier: l'objectif est de mettre à la disposition des membres du personnel traitant les commandes Demandes les documents associés à l'achat . directement et facilement sans avoir à revenir au document de demande d'achat lui-même.

J'aimerais utiliser la méthode DocuRef :: openDocHandling à partir de l'écran de commande, sans dupliquer le document lié à la demande d'achat. J'aimerais faire ceci à partir d'un bouton que je vais ajouter à l'écran de commande d'achat; Je connais le numéro de demande associé au bon de commande.

Merci d'avance.

Était-ce utile?

La solution

Dans la forme PurchTable, ajoutez une source de données VendPurchOrderJour avec la requête d’achat (active). Vous n'êtes pas obligé d'afficher les champs de la source de données, vous pouvez donc utiliser la propriété OnlyFetchActive. Créez ensuite la méthode de formulaire "docCursor", pour indiquer au formulaire DocuView quel enregistrement est celui qui est actif.

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

Créez le bouton avec un " cliqué sur " méthode:

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

Effacez le " reqDoc " dans le " actif " méthode de PurchTable.

Cette solution n'autorisant pas les documents sur les lignes d'achat, vous devrez peut-être développer la solution de la manière suivante (la ligne est un groupe de formulaires):

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

Autres conseils

Si vous souhaitez qu'un bouton ouvre la vue du document s'il n'est pas ouvert et s'il est ouvert s'il est ouvert, la méthode sur laquelle vous avez cliqué devrait ressembler à ceci:

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

Votre question n’est pas claire quant à votre objectif. Qu'est-ce que tu veux? Veuillez développer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top