Ayuda con Multipartir Lista


([N1] manoftoday) #1

Hola, ante todo decirles que he visto algunos ejemplos en el foro y me he leído la documentación pero no logro terminar de entenderlo en el caso concreto que yo tengo. Me dijeron “usa el multipartir lista” pero no le he entendido. Explico la situación;

Tengo la tabla EXS_G (Existencias) que es del tipo histórica. Allí dentro tengo las existencias de los artículos, mi caso particular es que tengo de 1 articulo varias existencias en distintos almacenes y al mismo tiempo de distintas empresas, para que sea mas claro pego imagen;

Como ven tengo
empresa “Scott” - Alm Scott - 12 unidades;
Empresa “Bicimundo” - Alm Scott - 1 unidades;
Empresa “Bicimundo” - Alm Bicimundo - 15 unidades

Ahora lo que yo intento hacer es un proceso que centralice todas las EXS en Empresa Bicimundo y olvidarme del resto. En este caso tome lo que hay en el almacen Scott de la empresa Scott y lo sume al Almacén Scott de la empresa Bicimundo (la empresa principal) y posteriormente borrar ese registro. Es decir debería quedar así;

Empresa “Bicimundo” - Alm Scott - 13 unidades;
Empresa “Bicimundo” - Alm Bicimundo - 15 unidades

Entonces he desarrollado este proceso
Captura

Como ven uso el multipartir dos veces ya que entiendo que como 1 art puede tener exs en mas de 1 empresa y después lo multiparto por empresa para que vaya por cada una de las exs por empresa…

pero lo que no se es como hacer el Update dentro del multipartir… si se fijan puse un mensaje para ver que es lo que me traía y lo que trae es la lista de artículos que NO son mi “Empresa principal” (es decir no trae las exs de Bicimundo) por ende en ese mismo bloque de Recorrer lista lectura/escritura
no puedo poner “Modificar campo” porque me termina modificando el mismo campo desde el cual estoy tomando el dato…

me la he complicado lo se, pero es que no termino de entender el multipartir lista y si me sirve o no en este caso.
¿Me pueden dar una mano?


([N2] AyudaVelneo) #2

Hola:

Si te fijas cuando cargas la lista de existencias, la siguiente línea es “Filtrar lista” y lo que estas poniendo es: #EMP ! EMP_ID_SEL es decir que #EMP sea distinto de la Empresa que seleccionas.

Un saludo


([N3] pacosatu) #3

Hola manoftoday.

En principio el planteamiento está correcto, pero te falta como bien dices el “cómo acumular en las existencias de EMP_ID_SEL”.

  • Primero debes corregir un error habitual: el Multipartir lista no necesita el Ordenar lista previo, eso ya lo hace el comando de forma automática.

En el segundo multipartir (Multipartir lista (EMP)), dispones del dato individualizado de ART, EMP, ALM y EXS. Entonces no tienes más que ejecutar un Proceso PRO_AGREGAR_EXS con origen Ficha de existencias que busque la Ficha de ART, EMP_ID_SEL y ALM y añada las existencias EXS.
Cambia el Recorrer lista lectura/escritura por Recorrer lista solo lectura ya que la transacción se ejecutará solo en el Proceso PRO_AGREGAR_EXS.

Saludos
Paco Satué


([N1] manoftoday) #5

Muchas gracias por tus indicaciones paco, después de mucho ensayo y error lo pude sacar. Dejo los procesos comentados por si a alguien mas le sirve para ubicarse y que no este en lo mismo tantas horas como estuve yo;

MIGRAR_EXS.pdf (21,6 KB)

PRO_AGREGAR_EXS.pdf (18,9 KB)

Sldos.


([N3] pacosatu) #6

Hola manoftoday.

Me alegro que haya funcionado.

Aunque hay algunas cosas que podrías corregir:

  • No pongas PDF’s como adjuntos del código. Es un engorro descargar y abrir, sobre todo en móviles. Mejor copia y pega el código desde el PDF y que sean las mínimas líneas posibles.
  • Al proceso PRO_AGREGAR_EXS no hace falta que le pases todas las Variables locales. Con que añadas el registro de EXS con “Añadir ficha al objeto” es suficiente.
  • Ejecuta el proceso PRO_AGREGAR_EXS en 3º plano, es lo lógico.
  • Usa el comando “Modificar ficha seleccionada” en lugar de “Recorrer lista lectura/escritura”
  • El comando “Alta de ficha” va fuera de la rama “Crear nueva ficha en memoria”

Saludos
Paco Satué