cancel
Showing results for 
Search instead for 
Did you mean: 

Bloqueo Pedido

0 Kudos

Buen dia, alguien me podria ayudar con la sintaxis de un bloqueo  a un pedido , el caso es el siguiente: en la empresa los pedidos los hacen por medio de una aplicacion android y los vendedores ingresan en el mismo pedido las devoluciones con un numero negativo, se dio el caso que un cliente esta devolviendo 5 manzanas pero esta devolviendo 5 pantalones, es decir el en su historial de compra jamas a comprado pantalones, el bloqueo que se deseo plantear es que no se pueda facturar el pedido si el cliente esta devolviendo algo que jamas a comprado.

De antemano muchas gracias si alguien me puede brindar su ayuda.

saludos cordiales

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

ya desarrolle este query pero no me deja crear la factura aunque el cliente halla comprado algo del mismo producto ateriormente, si alguien me pudiera ayudar al terminar el desarrollo, muy agradecido.

if @transaction_type in ('A') and @object_type = '13'

begin

if (

        select count(distinct itemcode)

          from rdr1 t1

         where docEntry = @list_of_cols_val_tab_del

           and not exists (

        select 1

          from inv1

         where itemcode  = t1.itemcode

           and docEntry = t1.docEntry)

    )>0

    begin  

      set @error = 1

      set @error_message = 'Error!!! Hay productos con Devolucion con codigo distinto a la compra del cliente!'      

    end

End

former_member413321
Contributor
0 Kudos

Hola,

En este caso, tu relacion debe ser por baseEntry y no por DocEntry.

Esto en la linea que indica "and docEntry = T1.DocEntry) "

Esta debe ser "And Docentry = T1.BaseEntry)"

0 Kudos

Gracias por tu respuesta Alejandro, pero sigue sin funcionar 

former_member413321
Contributor
0 Kudos

Debe tener relación con la factura de compra y la devolucion. O la devolucion se puede hacer sobre cualquier factura que el cliente haya comprado?

0 Kudos

La devolucion se puede hacer sobre cualquier factura que ya exista en el sistema. por lo menos cuatro meses atras

former_member413321
Contributor
0 Kudos

Si te entendi bien como es tu proceso, seria asi.

if @transaction_type in ('A') and @object_type = '13'

--No permite devolver productos no comprados

begin

if (

        select count(distinct ItemCode)

          from OINV T3 INNER JOIN INV1 T4 On T3.DocEntry = T4.DocEntry

         where T3.docEntry = @list_of_cols_val_tab_del

           and not exists (

        select 1  

          from ORDR T0 INNER JOIN RDR1 t1 On T0.DocEntry = T1.DocEntry

         where T4.ItemCode  = T1.ItemCode

           and T0.CardCode  = T3.CardCode)

    )>0

    begin 

      set @error = 1

      set @error_message = 'Error!!! Hay productos con Devolucion con codigo distinto a la compra del cliente!'  

       end

End

0 Kudos

Ya probe el Query y deja pasar los pedidos sin ningun problema, Gracias por la intencion de ayudarme , seguire intentandolo

former_member413321
Contributor
0 Kudos

Hola Armando,

     Me gustaría ayudarte, si puedes mostrarme pantallas de donde es que colocas los negativos por favor.

   Asi podre yo hacer las pruebas iguales a las tuyas.

0 Kudos

En un pedido de cliente el vendedor pone la cantidad negativa  que es una devolucion, lo que se trata hacer es que no esten devolviendo items que ni siquiera a comprado el cliente, esto se quiere implementar porque ya ocurrieron casos.

Gracias por tu interes en ayudar.

saludos cordiales

former_member413321
Contributor
0 Kudos

De esta manera lo bloqueo en el pedido.

Donde en la opcion de pedido no me va a permitir una linea con cantidad negativa que no haya una factura donde se haya comprado

if @transaction_type in ('A') and @object_type = '17'

begin

if (

        select count(distinct ItemCode)

          from ORDR T0 INNER JOIN RDR1 t1 On T0.DocEntry = T1.DocEntry and T1.Quantity < 0

         where T0.docEntry = @list_of_cols_val_tab_del

           and not exists (

        select 1  

          from OINV T3 INNER JOIN INV1 T4 On T3.DocEntry = T4.DocEntry

         where T4.ItemCode  = T1.ItemCode

           and T0.CardCode  = T3.CardCode)

    )>0

    begin 

      set @error = 1

      set @error_message = 'Error!!! Hay productos con Devolucion con codigo distinto a la compra del cliente!'     

    end

End

Espero con esto te pueda ayudar. El query busca en las lineas del Orden de Venta o Pedido si hay una linea negativa, y estas las busca contra la factura.

0 Kudos

muchas gracias Alejandro voy a probar, solo una pregunta porque object type 17,  aqui lo que queremos es evitar es facturacion de los pedidos para monitorear esos casos, gracias nuevamente reconocere tu ayuda cuando pruebe el query

0 Kudos

Alejandro no me bloquea nada el query ya probe otro que hice y me bloquea la creacion de la factura de cualquier pedido de cliente, si no fuera mucha molestia tratar de ayudarme nuevamente tal vez se te ocurre algo más te lo agradeceria, te voy a plantear nuevamente el escenario.

Yo tengo todos los pedidos que traen devoluciones con negativo, ok, yo quiero que lleguen todos los pedidos a la ordr no hay ningun problema con eso, lo que se desea evitar es que algun cliente me este devolviendo algun producto que ni siquiera a comprado, evitar que el pedido no se pueda facturar por tener devolucion de un articulo jamas comprado en la empresa.

Gracias nuevamente por tu ayuda, yo seguire intentando con mis respectivas pruebas.

saludos cordiales

former_member413321
Contributor
0 Kudos

Hola,

      Este query lo baso sobre la factura de venta. Y la idea es verificar que el articulo en negativo exista en alguna otra factura de venta.

if @transaction_type in ('A') and @object_type = '13'

begin

if (

        select count(distinct ItemCode)

          from OINV T3 INNER JOIN INV1 T4 On T3.DocEntry = T4.DocEntry and T4.Quantity < 0

         where T3.DocEntry = @list_of_cols_val_tab_del

           and not exists (

        select 1 

          from OINV T0 INNER JOIN INV1 t1 On T0.DocEntry = T1.DocEntry

         where T4.ItemCode  = T1.ItemCode

           and T3.CardCode  = T0.CardCode

           and T3.DocEntry  <>T0.DocEntry

           and T1.Quantity  > 0)

    )>0

    begin

      set @error = 1

      set @error_message = 'Error!!! Hay productos con Devolución con código distinto a la compra del cliente!'    

    end

End

Espero te funcione como lo necesitas. Si no con gusto volvemos a intentar.

Disculpa el atraso en la respuesta. Ayer era Feriado en el pais.

0 Kudos

Gracias Alejandro!!! por aportar, infinitas gracias

Caso cerrado!

Answers (0)