• Este debate tiene 2 respuestas, 3 mensajes y ha sido actualizado por última vez el hace 2 años por AvatarCristina Nicolàs.
Viendo 3 entradas - de la 1 a la 3 (de un total de 3)

Respuestas del foro


  • Avatar
    pedperpat
    Participante
    pedperpat

    Buenas tardes,

    Estoy tratando de hacer un proceso que automático que a cada día vaya actualizando el coste estándard de todos los productos de los que dispongo.

    Para ello he visto el código que hay en el botón «Cálculo de coste estándard» y lo que he hecho ha sido replicarlo quitando la ventana que pregunta por los niveles y por defecto hacerlo para el nivel superior.

    Por ahora funciona pero sólo si especifico 1 único producto, haciendo el bucle de todos los productos no llega a calcular el coste estándard de ninguno.

    ¿A qué puede deberse eso?

    Me he creado una codeunit que será la que se pondrá en cola de proyectos para lanzarse cada día a una cierta hora.

    El código siguiente lo uso en el onrun de la codeunit que me he creado nueva:

    Item.RESET;
    IF Item.FINDSET THEN BEGIN
    REPEAT
    IF Item.»Assembly BOM» THEN
    cduCalcCoste.CalcItem(Item.»No.»,TRUE); // cduCalcCoste es la codeunit 5812 pero modificada para que no pregunte por los niveles a calcular.
    UNTIL Item.NEXT = 0;
    END;

    #6015
    Avatar
    Laura Nicolàs
    Superadministrador
    Laura Nicolàs

    Hola pedperpat,

    No veo nada raro en el código que has puesto. Debería funcionar para todos los productos.

    Quizá puedas probar a hacerle un clear a la codeunit antes de cada ejecución, por si hubiera alguna variable global que se quedara instanciada y esto causara que la siguiente ejecución no funcionara.

    CLEAR(CalculateStandardCost);

    Si no es esto, entonces habrá que poner el debugger, y analizar el código para ver dónde esta fallando.

    Salut!
    Laura Nicolàs

    #6022
    Avatar
    Cristina Nicolàs
    Superadministrador
    Cristina Nicolàs

    Hola,

    También habría que ver que hace ese CalcItem(). Quizá lo que falta es hacer un MODIFY al acabar de hacer el cálculo.

    Un saludo,
    Cristina Nicolàs

    #6025
Viendo 3 entradas - de la 1 a la 3 (de un total de 3)

Debe iniciar sesión para responder a este tema.