Dynamics AX: ¿Cómo puedo abrir un documento docuview adjunto a una solicitud de compra de una orden de compra?

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

  •  03-07-2019
  •  | 
  •  

Pregunta

Editar: El objetivo es hacer que los documentos de cotización que se adjuntaron a las Requisiciones estén disponibles para el personal que procesa los Pedidos directamente y de manera fácil sin tener que volver al documento de solicitud en sí.

Me gustaría utilizar el método DocuRef :: openDocHandling desde la pantalla de la orden de compra sin duplicar el documento que estaba vinculado a la solicitud de compra. Me gustaría hacer esto desde un botón que agregaré a la pantalla de orden de compra; Sí sé cuál es el número de solicitud que está vinculado a la orden de compra.

Muchas gracias de antemano.

¿Fue útil?

Solución

En el formulario PurchTable, agregue una fuente de datos VendPurchOrderJour con la solicitud de compra (activa). No tiene que mostrar ninguno de los campos del origen de datos, por lo que puede usar la propiedad OnlyFetchActive. Luego cree el método de formulario " docCursor " ;, para indicarle al formulario de DocuView qué registro es el activo.

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

Cree el botón haciendo clic en " método:

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

Borre el " reqDoc " en el " activo " método de PurchTable.

Esta solución no permite documentos en líneas de compra, puede que tenga que expandir la solución de esta manera (la línea es un grupo de formularios):

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

Otros consejos

Si desea un botón para abrir la vista del documento si no está abierto y activarlo si está abierto, entonces su método cliqueado debería verse así:

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

Su pregunta no está clara sobre su objetivo. ¿Qué deseas? Por favor, expanda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top