on 10-22-2010 4:18 PM
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
Intenta con el campo clsDate, a ver si te sirve
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
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.