cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda con error en query

Former Member
0 Kudos

Buenas tardes, estoy tratando de armar un informe de margenes de venta, el nativo funciona bien pero me pidieron traer mas datos. El problema que tengo es que consultando en la OINV e INV1 arroja bien la info, pero al hacer la union con Las NC me arroja un error que dice."DIvide By zero error encounted"

Les pego el codigo que estoy trabajando, haber si me ayudan con el error.

SELECT T0.docentry, T0.Folionum,T0.cardcode, t0.cardname, T1.ItemCode'ItemCode', T1.Dscription'ItemName',T1.ocrcode'Area', T1.ocrcode2'Act.Principal',t1.ocrcode3'Vendedor', T1.Quantity'Quantity',(T1.LineTotal / T1.QUantity) AS 'Precio Unitario',T1.[LineTotal] 'Total Venta', (T1.Quantity*T1.GrossBuyPr) 'Total Costo', ((T1.Quantity*(T1.LineTotal /T1.Quantity))-(T1.Quantity*T1.GrossBuyPr))'Ganancia'

FROM OINV T0

INNER JOIN INV1 T1 ON T1.DocEntry=T0.DocEntry

WHERE T0.DocDate >= '[%0]' AND T0.DocDate <= '[%1]'

UNION ALL

SELECT T0.docentry, T0.Folionum,T0.cardcode, t0.cardname, T1.ItemCode'ItemCode', T1.Dscription'ItemName',T1.ocrcode'Area', T1.ocrcode2'Act.Principal',t1.ocrcode3'Vendedor', T1.Quantity'Quantity',(T1.LineTotal / T1.QUantity) AS 'Precio Unitario',T1.[LineTotal] 'Total Venta', (T1.Quantity*T1.GrossBuyPr) 'Total Costo', ((T1.Quantity*(T1.LineTotal /T1.Quantity))-(T1.Quantity*T1.GrossBuyPr))'Ganancia'

FROM ORIN T0

INNER JOIN RIN1 T1 ON T1.DocEntry=T0.DocEntry

WHERE T0.DocDate >= '[%0]' AND T0.DocDate <= '[%1]'

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Debe ser por las NC tipo servicio (ORIN.DocType = 'S'). Necesitas mldoficar algo tu query para que cuando sea el caso cambiar Quantity a 1, ya que cuando es tipo Servicio Quantity es igual a 0 (cero).

Con un CASE-Then-Else lo solucionas.

Echa un vistazo a T1.Quantity y podrás ver esto q te comento.

Te recomiendo aplicar lo mismo al query de Facturas.

Saludos,

JC.

Former Member
0 Kudos

Gracias a todos, efectivamente era que no restringía en el where el tipo de documento. La facturación por servicio, pedí bloquearla al menos para el caso de las ventas, en compras no me autorizaron. Ya modifique el codigo y funciona bien.

PD: Para no crear un post aparte, a alguien le da diferencias el informe de analisis de ventas? a mi al arrojarlo por cliente y vendedor me da lo mismo, pero por articulo es distinto, me di cuenta que en los dos primeros casos, no me reconoce las facturas exentas, pero por articulo si lo muestra.

gerardo_mendez
Active Contributor
0 Kudos

Gracias Luis.

De hecho es recomendable abrir un nuevo post y cerrar este (Marcado respuesta correcta y en caso de existir, respuestas de ayuda). Así para futuras referencias será mucho más fácil encontrar soluciones específicas.

(¿Porque se debe de cerrar una discusion?)

Former Member
0 Kudos

OK. Voy a crear un nuevo para lo segundo que les pregunté y gracias de nuevo.

Answers (2)

Answers (2)

gerardo_mendez
Active Contributor
0 Kudos

Hola Luis.

Seguramente alguna de tus notas de crédito es por servicio y no por artículo a lo que como debes recordar, los documento de tipo servicio su cantidad (Quantity) es igual a 0.

Puedes utilizar un Case para que exceptué los documentos de servicio al realizar la operación (T1.Quantity*(T1.LineTotal /T1.Quantity).

Quedo al pendiente, saludos.

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

creo que el problema radica en que estás incluyendo las facturas de servicio, que tienen un valor 0 en la cantidad.

En el inner join de cada consulta añade and T0.DocType = 'I'.

Si quieres considerar las facturas de servicio deberás generar otra consulta.

Un saludo

Agustín Marcos Cividanes