on 04-30-2014 5:20 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
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
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.
User | Count |
---|---|
88 | |
7 | |
6 | |
4 | |
3 | |
3 | |
3 | |
3 | |
3 | |
2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.