cancel
Showing results for 
Search instead for 
Did you mean: 

Duda en Query

felipe_loyolarodriguez
Active Contributor
0 Kudos

Buenas tardes foro,

Genere una query en base a la necesidad de analizar las cuentas contables que mueve la bodega, especialmente el tema de las Entradas de Mercaderias OP.

SELECT T0.CardCode 'Codigo Proveedor', T0.CardName 'Nombre Proveedor', T0.DocDate 'Fecha',

'Estado O/Ingreso' = Case

WHEN T0.DocStatus = 'C' THEN 'Cerrada'

WHEN T0.DocStatus = 'O' THEN 'Abierta'

else

'Otros'

end,

T0.DocNum 'Nº O/Ingreso', T0.DocTotal 'Total Orden', T0.PaidToDate 'Contabilizado', (T0.DocTotal - T0.PaidToDate) 'Pendiente por Contabilizar'

FROM OPDN T0

WHERE T0.DocDate BETWEEN '20100101' AND '20100930' AND T0.DocStatus = 'O'

ORDER BY 5

Les explico un poco la forma de trabajo que tiene la bodega,

Cuando se requiere alguna compra, se genera la respectiva OC para ello, cuando la factura llega a la bodega, el encargado, toma la orden de compra y lleva a la entrada de mercaderias OP, la cual genera un asiento en la contabilidad cargando la cuenta "existencias" contra una cuenta de "documentos por recibir", posteriormente la factura la ingresamos como "SN" contra "documentos por recibir", y ahi se elimina la cuenta puente y tanto la OC como la OP quedan cerradas.

La query de mas arriba, arroja las OP que esten abiertas, por lo tanto la factura estaria pendiente por contabilizar, exeptuando en casos especiales que ya identifique.

Lo que quiero saber, es si existe una forma de saber la fecha de cierre de la OP, y asi reflejar en la query que esta abierta a determinada fecha y fue cerrada en una posterior al cierre de mes para identificar el saldo de la cuenta "documentos por recibir"

Espero haber sido lo mas claro, de antemano gracias

Atte.

Felipe Loyola

Edited by: Floyola on Oct 22, 2010 5:18 PM

Accepted Solutions (1)

Accepted Solutions (1)

former_member188440
Active Contributor
0 Kudos

Intenta con el campo clsDate, a ver si te sirve

Answers (1)

Answers (1)

Former Member
0 Kudos

Hola Felipe,

Yo dejaria la consulta de esta forma.

SELECT T0.CardCode 'Codigo Proveedor', T0.CardName 'Nombre Proveedor', T0.DocDate 'Fecha'
	, 'Estado O/Ingreso' = Case
		WHEN T0.DocStatus = 'C' THEN 'Cerrada'
		WHEN T0.DocStatus = 'O' THEN 'Abierta'
	else
		'Otros'
	end
	, (SELECT MIN(P0.CreateDate) FROM OPCH P0 INNER JOIN PCH1 P1 ON P0.DocEntry=P1.DocEntry WHERE P1.BaseType='20' AND P1.BaseEntry=T0.DocEntry) 'Fecha de cierre'
	, T0.DocEntry,T0.DocNum 'Nº O/Ingreso', T0.DocTotal 'Total Orden', T0.PaidToDate 'Contabilizado', (T0.DocTotal - T0.PaidToDate) 'Pendiente por Contabilizar'
FROM OPDN T0
	LEFT OUTER JOIN PCH1 P1 ON T0.DocEntry=P1.BaseEntry
WHERE T0.DocDate BETWEEN '20100101' AND '20100930' 
	AND T0.DocStatus = 'O'
ORDER BY 5

Lo que hago aqui es ir a buscar la primera fecha de creación factura para esa Entrada de mercancias. Esto es correcto dependiendo de si existen entradas que puedan ser cerradas con 2 o mas facturas, pues en ese caso creo que lo más correcto seria tomarla ultima fecha.

También esta la posibilidad que te encuentres con entradas en estado cerrado, que no tengan fecha de cierre (NULL), esto quiere decir que la entrada no fue cerrada via factura, sino por otra instancia, podria ser una cancelación o una devolución por ejemplo.

espero te sirva.

slds.

felipe_loyolarodriguez
Active Contributor
0 Kudos

Gracias por responder,

Rulius corri tu query, y me arrojo datos parecidos, sin embargo me repetia algunas entradas varias veces.

de todas formas se dejara la query que hice en un principio como un metodo de controlar lo que nos llega de la bodega, gracias por su ayuda

Atte.

FLR

Former Member
0 Kudos

Ahh, bueno es que hice la consulta a la rapida, pero que bueno que ya tienes la solución.

slds.