on 02-26-2013 7:34 PM
Como Puedo crear un informe que detalle (nombre de empleado de ventas,cod cliente, nombre de empleado, numero de referencia, nro de doc,fecha de cont, fecha de venc,monto total, pago a cuenta, saldo) esto es de la tabla OINv y ORIN
yo saque esta consulta pero solo me muestra las facturas abiertas, y no me muestra las notas abiertas....
SELECT
T1.[SlpName],
T0.[CardCode],
T0.[CardName],
T0.[NumAtCard],
T0.[DocNum],
T0.[DocDate],
T0.[DocDueDate],
T0.[DocTotal],
T0.[PaidToDate] ,
(T0.[DocTotal] - T0.[PaidToDate]) Saldo
FROM OINV T0 INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode
WHERE T0.[DocStatus]='O'
favor ayuda estoy comenzando recien en esto.....
desde ya les agradezco
Buen dia, creo que este te servira, saludos !
SELECT T0.[DocNum], T0.[EDocNum], T0.[DocDate], T0.[CardCode], T0.[CardName], T0.[DocTotal] + ISNULL(T1.[WTAmnt],0) - T0.[VatSum] as 'Importe', T1.[WTAmnt], T0.[VatSum], T0.[DocTotal] as 'Total'
FROM OINV T0
LEFT JOIN INV5 T1 ON T0.[DocEntry] = T1.[AbsEntry]
WHERE T0.[DocStatus]='O'
UNION ALL
SELECT T0.[DocNum], T0.[EDocNum], T0.[DocDate], T0.[CardCode], T0.[CardName], T0.[DocTotal] + ISNULL(T1.[WTAmnt],0) - T0.[VatSum] as 'Importe', T1.[WTAmnt], T0.[VatSum], T0.[DocTotal] as 'Total'
FROM ORIN T0
LEFT JOIN RIN5 T1 ON T0.[DocEntry] = T1.[AbsEntry]
WHERE T0.[DocStatus]='O'
Ya solo agrega y quita los campos que necesitas
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola Alberto,
talves no me explique bien...
tu consulta no me vota el saldo ni el movimiento que realiza cada cliente....
Lo que trata de decir es como se muestra en la imagen...
De cada Empleado de ventas se detalla sus clientes y el movimento que estos realizan tanto en facturas y notas de credito..
Esto no se como lo hicieron, pero necesito la consulta para llevarlo al CRYSTAL.
espero tu ayuda
desde ya gracias
Edwin y porque no tomas esa misma pantalla y dibujas su layout en CR, en vez de PLD?
de todas formas, si quieres todos los movimientos, no deberias distinguir por DocStatus.
Tu consulta inicial esta bien. sólo debes agregar un UNION ALL para la tabla ORIN.
algo asi:
SELECT T1.[SlpName], T0.[CardCode], T0.[CardName], T0.[NumAtCard],
T0.[DocNum], T0.[DocDate], T0.[DocDueDate], T0.[DocTotal],
T0.[PaidToDate], (T0.[DocTotal] - T0.[PaidToDate]) Saldo
FROM OINV T0
INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode
WHERE 1=1
-- AND T0.[DocStatus]='O'
UNION ALL
SELECT T1.[SlpName], T0.[CardCode], T0.[CardName], T0.[NumAtCard],
T0.[DocNum], T0.[DocDate], T0.[DocDueDate], T0.[DocTotal],
T0.[PaidToDate], (T0.[DocTotal] - T0.[PaidToDate]) Saldo
FROM ORIN T0
INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode
WHERE 1=1
-- AND T0.[DocStatus]='O'
Hola Julio,
solo tengo una pequeña duda
como puedo distinguir la clase de documento (Factura o Nota ), para realizar la sumatoria:
EJemplo:
Tipo Saldo
RF 1245
RC 35
RF 256
------------------------
1466
RF: Facturas
RC: Notas
en la misma consulta
gracias de antemano..
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Edwin Intenta así:
SELECT T1.[SlpName], T0.[CardCode], T0.[CardName], T0.[NumAtCard],
T0.[DocNum], T0.[DocDate], T0.[DocDueDate], T0.[DocTotal],
T0.[PaidToDate], (T0.[DocTotal] - T0.[PaidToDate]) Saldo,'Factura'
FROM OINV T0
INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode
WHERE 1=1 and T0.docdate between [%1] and [%2]
AND T0.[DocStatus]='O'
UNION ALL
SELECT T1.[SlpName], T0.[CardCode], T0.[CardName], T0.[NumAtCard],
T0.[DocNum], T0.[DocDate], T0.[DocDueDate], T0.[DocTotal]*-1,
T0.[PaidToDate], ((T0.[DocTotal] - T0.[PaidToDate])*-1) Saldo,'NC'
FROM ORIN T0
INNER JOIN OSLP T1 ON T0.SlpCode = T1.SlpCode
WHERE 1=1 and T0.docdate Between [%1] and [%2]
AND T0.[DocStatus]='O'
Saludos.
Alessandro.
pues gracias Alessandro ,
no me habia dado de cuenta eres un genio...
User | Count |
---|---|
85 | |
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.