tengo una situacion con mi proceso de ordenes de venta y facturacion.
realizo mi orden de venta por X articulo con una cantidad de 100 piezas y luego realizo mi fatura reserva copiandola de esa orden solo que nada mas quiero facturar 50 piezas.
IF @transaction_type IN ('A','U') AND @Object_type = '13'
BEGIN
IF (SELECT COUNT(BaseType) FROM INV1 Where DocEntry = @list_of_cols_val_tab_del AND BaseType <> 17) >= 1
BEGIN
set @error = -1
set @error_message = N'No es posible crear una Factura sin Orden de Venta'
END
END
Haz revisado que la orden de venta tenga habilitada la entrega parcial, entendemos que así es en la factura de reserva pero el documento que queda fraccionado es la orden de venta.
Tengo muchas preguntas pero primero aclárame si el pedido 327 tiene el check asignado, el que muestras es el 328 pero tu mensaje de error menciona el 327.
Ahora bien ¿Esto pasa con cualquier pedido?, es decir, si intentas facturar parcialmente otro pedido, ¿si te lo permite?
¿El usuario tiene autorización para realizar entregas parciales?
Te sugiero levantar una base de pruebas para que puedas aislar y detectar la causa del problema.
Bueno, te repito que esto es todo un tema, la verdad te sugiero levantar una base de datos de pruebas para que puedas aislar el problema.
Otra opción pudiera ser que los cheks se hayan tildado en el Socio de negocios, posterior a la captura de los pedidos y así pudieran surgir bastantes escenarios a verificar por lo cual mi recomendación de levantar una base de Test.
otra cosa extraña es que tengo la orden de venta 334 y tengo el probrema del arror al copiarla a la factura. pero hago una copia igual en la 336 con el mismo cliente, utiliso el mismo usuario, los mismo articulos y las mismas cantidades, todo es igual y esa si me deja copiar a una factura parcial y sin ningun error.
@Asanchez una pregunta…
La orden que te marca error: ¿Ya le revisaste el arbol de relaciones? no sea que estés intentando crearle una factura de reserva parcial y ya tenga otra, que sumado a esta superes la cantidad de artículos?
¿En qué momento asignaste al socio de negocios la opción a entregas parciales?
De verdad, podemos pasarnos varios días tratando de adivinar si no aíslas el problema, ya detectaste dos escenarios “idénticos” donde en uno si te permite y en otro no… ahora genera una consulta básica “Select * FROM ORDR T0 Inner Join RDR1 T1 On T0.DocEntry = T1.DocEntry Where T0.DocNum IN(334,336)” y haz algo sencillo: los resultados de la consulta pásalos a Excel y examina que valores te arroja diferentes, de esa manera tan sencilla puedes descubrir lo que está pasando. Cuando tengas identificados los campos nos comentas para poder deducir lo que está pasando.
Si ya tienes detectado que el error viene del Transaction… ¿Porqué no lo habías mencionado? recuerda que todos en este foro ayudamos “por puro gusto” como diríamos en mi tierra, creo que una buena consideración sería no hacernos invertir tiempo si ya tienes un avance en tu investigación.
Recuerda también que una forma de agradecer es dando “me gusta” a las aportaciones y aun más importante, como se menciona arriba, es cerrar las discusiones.
En mi empresa tenemos el siguiente código para una funcionalidad similar a la tuya:
IF ISNULL((Select T0.DocType FROM OINV T0 WHERE T0.DocEntry = @list_of_cols_val_tab_del and T0.DocSubType = '--'),'') = 'I' -- Articulo="I", Servicio="S"
BEGIN
SET @numeroDeLineasSinDocumentoBase = ISNULL((Select COUNT(ISNULL(T1.BaseType,-1)) From INV1 T1 Where T1.DocEntry = @list_of_cols_val_tab_del And ISNULL(T1.BaseType,-1) = -1),0)
IF @numeroDeLineasSinDocumentoBase > 0
BEGIN
SET @error = 555
SET @error_message = '¡ATENCION! NO debe crear Facturas/Notas de Cargo sin Documento BASE'
GOTO FINAL_DEL_PROCESO_TransactionNotification
END
END
Gracias por tomar en cuenta las indicaciones que se te han presentado.
lo retire por que al bloquear el codigo del inteleccion de todos modos me marca el error, por eso lo borre
corri tu codigo de consulta y el unico campo qu biene diferente es el de target type de la tabla RDR1 en la orden de venta 334 tiene un valor de -1 y en el 336 tiene un valor de 13