• Este debate tiene 3 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 1 año, 6 meses por Avatarago.
Viendo 4 entradas - de la 1 a la 4 (de un total de 4)

Respuestas del foro


  • Avatar
    ago
    Participante
    ago

    Hola a todos.

    No se si le habrá surgido a alguien pero a mi me ha surgido ya en varios clientes :

    Cuando registramos un Pedido de venta nos aparece para elegir Enviar, Facturar, Enviar y Facturar

    y esta última por defecto.

    Varios clientes me han pedido que la opción predeterminada fuera ENVIAR ya que en alguna

    ocasión han seleccionado la opción generando una factura que no deseaban.

    El cambio es fácil si queremos tocar la codeunit 81 y cambiar la opción 3 por un 1 pero,  ¿como hacerlo sin

    tocar la codeunit, utilizando subscripciones ?

    Yo no he encontrado una forma, no se si alguien lo ha conseguido.

    Otra opción es hacer la sugerencia a Microsoft para que esta pregunta venga seleccionada

    previamente por un parámetro.

     

    Gracias de antemano por vuestra ayuda.

    Un saludo

    #7047
    Avatar
    ago
    Participante
    ago

    ¡¡ He encontrado la forma !!

    Si alguien le interesa ……

    Gracias

    #7052
    Avatar
    Cristina Nicolàs
    Superadministrador
    Cristina Nicolàs

    Hola ago,

    Si puedes compartir la solución, te estaría muy agradecida.

    Este es un cambio que había hecho múltiples veces en el pasado a través de desarrollo tradicional en C/SIDE, tocando la codeunit 81, pero que todavía no he tenido que hacer a través de extensiones. Pero tarde o temprano seguro que me toca investigarlo!

    Un saludo,
    Cristina Nicolàs

    #7082
    Avatar
    ago
    Participante
    ago

    Hola

    Lo que he hecho es lo siguiente :

    Subscripción a la función OnBeforeConfirmSalesPost de Codeunit 81

    y meto este código  :

    HideDialog := NOT HideDialog;

    WITH SalesHeader DO BEGIN
    CASE «Document Type» OF
    «Document Type»::Order:
    BEGIN
    Selection := STRMENU(ShipInvoiceQst,1);
    Ship := Selection IN [1,3];
    Invoice := Selection IN [2,3];
    IF Selection = 0 THEN
    ERROR(‘Proceso cancelado’);

    END;

    «Document Type»::»Return Order»:
    BEGIN
    Selection := STRMENU(ReceiveInvoiceQst,1);
    IF Selection = 0 THEN
    ERROR(‘Proceso cancelado’);
    Receive := Selection IN [1,3];
    Invoice := Selection IN [2,3];
    END
    ELSE
    IF NOT CONFIRM(PostConfirmQst,FALSE,LOWERCASE(FORMAT(«Document Type»))) THEN
    ERROR(‘Proceso cancelado.’);
    END;
    «Print Posted Documents» := FALSE;
    END;

     

    Se trata de una copia de la función ConfirmPost de la codeunit 81 , cambiando el 3 por el 1.

    Incluso las variables utilizadas , incluidas las TEXT CONSTANTS son copiadas de la codeunit.

    Espero sea de utilidad.

    Un saludo

    #7119
Viendo 4 entradas - de la 1 a la 4 (de un total de 4)

Debe iniciar sesión para responder a este tema.