Lentitud al procesar transferencias con LOTES

Cursos de Navision 100% online Foros Foro Dynamics NAV y Business Central Lentitud al procesar transferencias con LOTES

Este debate contiene 3 respuestas, tiene 3 mensajes y lo actualizó  santi.galan hace 9 meses, 3 semanas.

Viendo 4 publicaciones - del 1 al 4 (de un total de 4)
  • Autor
    Publicaciones
  • #6565

    santi.galan
    Participante

    Hola a tod@s

    Tengo un problema de lentitud al hacer transferencias entre almacenes de productos los cuales tienen alrededor de 900 líneas de lotes asociadas a él. El tiempo del que estamos hablando es de 6′ y 30» para hacer una transferencia de un producto con los 900 Lotes.
    A nivel de SQL y Servidor está testeado, ajustado y dado mil vueltas por parte del Partner. ¿Alguien sabe si es un problema de Microsoft inherente a los lotes o es algo que se pueda mejorar de alguna forma?
    Cualquier opinión me ayudará.

    El entorno es:
    Servidor suficientemente dimensionado
    VMWARE
    Windows Server 2016 Standard
    SQL Standard Edition 2016
    NAV 2018 on premise

    Muchas gracias

    Santi

    • Este debate fue modificado hace 9 meses, 4 semanas por  santi.galan.
    #6577

    Cristina Nicolàs
    Jefe de claves

    Hola Santi,

    He estado haciendo varias pruebas y veo que efectivamente, en una Cronus sin ninguna modificación, registrar pedidos de transferencia de una única línea, pero con 900 lotes por detrás, con además múltiples liquidaciones y demás, a mi también ha llegado a tardarme 6 minutos y pico.

    En una transferencia, por cada lote distinto por lo menos se generan 4 movimientos de producto. Con 900 lotes por lo menos se acaban generando 3600 movimientos de producto.

    Y si tienes un método de valoración de existencias distinto de Medio, y la salida hacia el almacén de tránsito no toma el stock de un único movimiento de entrada sino de múltiples, puede que se lleguen a generar incluso más movimientos.
    Yo con el ejemplo que he hecho, por esta tema de las liquidaciones y la valoración de los movimientos, se me han llegado a generar 7200 movimientos de producto. Casi 8 por cada Nº lote distinto.

    He hecho la ejecución del registro del pedido de transferencia con el Code Coverage activo y he visto que durante el proceso de registro, NAV llega a ejecutar ciertas líneas de código hasta 86400 veces.
    Por ejemplo, hace 86400 veces un GLSetup.GET. 12 veces por cada movimiento de producto.

    Aunque he hecho una pequeña modificación para bajar las veces que se hace este GET (he bajado de 86400 a 7200, una vez por cada movimiento de producto), y aún así no ha reducido tiempos.

    Pero todo este tema no es un problema de lotes. Si en lugar de una línea de pedido de transferencia con 900 lotes tuvieras 900 líneas de pedidos de transferencia distintas, creo que te pasaría exactamente lo mismo.

    Al final el tema está en que en mi caso se generan 7200 movimientos de producto, con sus 7200 movimientos de valor, con sus 7200 liquidaciones, etc. Y si registrara costes en la contabilidad automáticamente también tendría que hacer sus 7200 movimientos contables, y si utilizara almacén avanzado también tendría que hacer sus 7200 movimientos de almacén, etc.

    En definitiva, que al final se registran y se actualizan muchas cosas, de ahí el tiempo que tarda en registrar.
    Quizá se podría intentar mejorar alguno de los procesos de registro, no lo sé, pero no estoy segura de que se puedan rebajar demasiado esos tiempos.

    Espero que esta información pueda servir de algo.

    Un saludo,
    Cristina Nicolàs

    ¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.

    Consulta fechas en
    DynamicsScaleUp.com

    #6579

    Laura Nicolàs
    Jefe de claves

    Por lo que comenta Cristina, creo que aunque consigas bajar tiempos, no serán lo suficientemente bajos como para que un usuario tenga que esperar a que acaba.

    Así que ahí va otra propuesta: ¿y un registro en background?

    En ventas y compras está implementado en la Cronus. En las transferencias creo que no está implementado, pero se podría seguir la misma lógica e implementarlo.

    Así el usuario le da a registrar, el sistema pone el registro en cola, y acto seguido el usuario puede seguir trabajando en otras transferencias.

    Salut!
    Laura Nicolàs

    ¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.

    Consulta fechas en
    DynamicsScaleUp.com

    #6580

    santi.galan
    Participante

    Muchas gracias a las dos. Es lo que me temía. EL sistema de colas lo tenía cómo plan B. La verdad es que vuestras explicaciones han sido muy claras y concisas. EL partner me ha mareado hasta la saciedad ampliando el servidor, etc…
    Además hay un hándicap con las transferencias y es que si en medio de la transferencia da un error por falta de algún parámetro (dimensiones, etc…) la mercancía se queda en el almacén de tránsito y no hay manera de sacarlo de allí (Con el standard está claro, con alguna modificación que pueda hacer sí. ;-))
    Este hándicap se ve aumentado si lo haces por colas ya que la cola se lanzaría en horario nocturno (Que es cuando viaja la mercancía) y por la mañana si no está en el almacén de destino no se podría fabricar con ella).

    En fin eso es otra historia, muchas gracias por las aclaraciones.

    Un abrazo,

    Santi

Viendo 4 publicaciones - del 1 al 4 (de un total de 4)

Debes estar registrado para responder a este debate.

Members Currently Active: 0
No users are currently active
Keymaster | Moderator | Participant | Spectator | Blocked
Additional Forum Statistics
Threads: 876, Posts: 2.825, Members: 897
Welcome to our newest member, soportenav@escato.com
Most users ever online was 15 on 5 April, 2019 9:31 am