cancel
Showing results for 
Search instead for 
Did you mean: 

consulta asientos de diarios y factura de proveedores

angeles804
Active Contributor
0 Kudos
1,153

estoy tratando de hacer un query que me de todas las descripciones de las facruras de proveedores y empate con su asiento de diario.

El problema que tengo es que si hago una consulta a la tabla OJDT me lanza una cantidad diferente con las condiciones del que el formato de código sea mayo a 600000000 y menos a 700000000, entonces cuando meto las facturas de compra no me da lo mismo, si alguien me puede


SELECT T0.[TransId], 
CASE 
     WHEN T0.Transtype=18 THEN 'FP'
     END AS 'Operacion',T0.[RefDate]as 'Fecha Poliza', t0.number as '# Poliza', 
T0.[BaseRef] as '# Docto SAP',T4.[AcctName] AS 'Cuenta',
T4.[FormatCode] as '# Cuenta', T3.[lineTotal],case when t0.transtype=18 then 0 end,T2.[Comments],
T3.[LineVat],T3.[Dscription] 
FROM [dbo].[OJDT]  T0 
INNER JOIN [dbo].[OPCH]  T2 ON T0.TransId = T2.TransId 
INNER JOIN PCH1 T3 ON T2.DocEntry = T3.DocEntry 
INNER JOIN OACT T4 ON T3.AcctCode = T4.AcctCode 
WHERE t0.refdate>='[%0]' and t0.refdate<='[%1]' and (t4.formatcode>'599999999' 
AND T4.FORMATCODE<'700000000') and t0.transtype=18
union all
SELECT T0.[TransId],
case 
     when t0.transtype=13 then 'FC' 
     WHEN t0.transtype=14 THEN 'NC clientes'
     WHEN T0.TRANSTYPE=18 THEN 'FP'
     WHEN T0.TRANSTYPE=19 THEN 'NC Prov'
     WHEN T0.TRANSTYPE=24 THEN 'PR'
     WHEN t0.transtype=25 THEN 'Dep.' 	
     when t0.transtype=30 THEN 'AS'
     WHEN t0.transtype=321 THEN 'GC ID'   
     When t0.transtype=46 THEN 'PE' 
     WHEN t0.transtype=59 THEN 'EM'	
     when t0.transtype=60 THEN 'SM'
     END AS 'Operacion'
  , T0.[RefDate] as 'Fecha Poliza',t0.number as '# Poliza', t0.baseref as '# Docto SAP', 
T2.[AcctName] AS 'Cuenta', T2.[FormatCode] as '# Cuenta', 
T1.[Debit], T1.[Credit],  T1.[LineMemo],T1.[TotalVat] ,t1.ref3line
FROM [dbo].[OJDT]  T0 
INNER JOIN [dbo].[JDT1]  T1 ON T0.TransId = T1.TransId 
INNER JOIN [dbo].[OACT]  T2 ON T1.Account = T2.AcctCode  
WHERE t0.refdate>='[%0]' and t0.refdate<='[%1]' and (t2.formatcode>'599999999' 
AND T2.FORMATCODE<'700000000') and t0.transtype<>18


Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Yo le agregaria la tabla de facturas con un LEFT OUTER JOIN y con ello, me apareceria el mismo numero de resultados, y donde no haya coincidencia entre la tabla de Polizas y la tabla de facturas, queire decir que ese documento se contabilizo en otra cuenta y habria que revisar.

slds.

angeles804
Active Contributor
0 Kudos

ya se por que me esta dando el resultado, el resultado me lo da por que no filtro las notas de debito de proveedores, pero ahora mi pregunta sería como saber cual es una nota de debito, segun yo el campo CEECflag es la que me la daría, si ustedes saben cual es por favor ayudenme, el tipo de documento es igual el número 18.

oks. gracias.

angeles804
Active Contributor
0 Kudos

no. pero si me estan saliendo es por que se van a sumar. les posteo el query con el que estoy comparando la cantidad en debito.


SELECT T0.[TransId],
case 
     when t0.transtype=13 then 'FC' 
     WHEN t0.transtype=14 THEN 'NC clientes'
     WHEN T0.TRANSTYPE=18 THEN 'FP'
     WHEN T0.TRANSTYPE=19 THEN 'NC Prov'
     WHEN T0.TRANSTYPE=24 THEN 'PR'
     WHEN t0.transtype=25 THEN 'Dep.' 	
     when t0.transtype=30 THEN 'AS'
     WHEN t0.transtype=321 THEN 'GC ID'   
     When t0.transtype=46 THEN 'PE' 
     WHEN t0.transtype=59 THEN 'EM'	
     when t0.transtype=60 THEN 'SM'
     END AS 'Operacion'
  , T0.[RefDate] as 'Fecha Poliza',t0.number as '# Poliza', t0.baseref as '# Docto SAP', T2.[AcctName] AS 'Cuenta', T2.[FormatCode] as '# Cuenta', 
T1.[Debit], T1.[Credit],  T1.[LineMemo],T1.[TotalVat] ,t1.ref3line
FROM [dbo].[OJDT]  T0 
INNER JOIN [dbo].[JDT1]  T1 ON T0.TransId = T1.TransId 
INNER JOIN [dbo].[OACT]  T2 ON T1.Account = T2.AcctCode  
WHERE t0.refdate>='[%0]' and t0.refdate<='[%1]' and (t2.formatcode>'599999999' AND T2.FORMATCODE<'700000000') and t0.transtype=18


felipe_loyolarodriguez
Active Contributor
0 Kudos

Mary, puedes diferenciar ambos documentos por el campo OPCH.Series, veras que el codigo de una factura y el de una nota de debito es diferente.

Saludos

FLR

angeles804
Active Contributor
0 Kudos

sabes? ya me di cuenta, pero eso no me afecta en gran manera ya que las notas de debito deben sumarse a la factura, entonces por ahi no esta mi problema. segun el contador se me estan duplicando cuentas. pero es lo que yo no entiendo de donde. puse el último query contra el que comparo mi query con factura de proveedores.

Ojala y me puedan ayudar. es que en ojdt jalo todos los transtype =18 eso quiere decir que me traigo notas de debito y facturas de proveedores por ende en el query que hago a ojdt me debería dar lo mismo que de la jalo de opch.

felipe_loyolarodriguez
Active Contributor
0 Kudos

Hola Mary

Corri tu query y no me presento problemas con el rango de cuentas


SELECT T0.[TransId], 
CASE 
     WHEN T0.Transtype=18 THEN 'FP'
     END AS 'Operacion',T0.[RefDate]as 'Fecha Poliza', t0.number as '# Poliza', 
T0.[BaseRef] as '# Docto SAP',T4.[AcctName] AS 'Cuenta',
T4.[FormatCode] as '# Cuenta', T3.[lineTotal],case when t0.transtype=18 then 0 end,T2.[Comments],
T3.[Dscription] 
FROM [dbo].[OJDT]  T0 
INNER JOIN [dbo].[OPCH]  T2 ON T0.TransId = T2.TransId 
INNER JOIN PCH1 T3 ON T2.DocEntry = T3.DocEntry 
INNER JOIN OACT T4 ON T3.AcctCode = T4.AcctCode 
WHERE t0.refdate>='[%0]' and t0.refdate<='[%1]' and t4.FormatCode >= '400000000000000'
AND T4.FORMATCODE <= '599999999999999' and t0.transtype=18
union all
SELECT T0.[TransId],
case 
     when t0.transtype=13 then 'FC' 
     WHEN t0.transtype=14 THEN 'NC clientes'
     WHEN T0.TRANSTYPE=18 THEN 'FP'
     WHEN T0.TRANSTYPE=19 THEN 'NC Prov'
     WHEN T0.TRANSTYPE=24 THEN 'PR'
     WHEN t0.transtype=25 THEN 'Dep.' 	
     when t0.transtype=30 THEN 'AS'
     WHEN t0.transtype=321 THEN 'GC ID'   
     When t0.transtype=46 THEN 'PE' 
     WHEN t0.transtype=59 THEN 'EM'	
     when t0.transtype=60 THEN 'SM'
     END AS 'Operacion'
  , T0.[RefDate] as 'Fecha Poliza',t0.number as '# Poliza', t0.baseref as '# Docto SAP', 
T2.[AcctName] AS 'Cuenta', T2.[FormatCode] as '# Cuenta', 
T1.[Debit], T1.[Credit],  T1.[LineMemo],t1.ref3line
FROM [dbo].[OJDT]  T0 
INNER JOIN [dbo].[JDT1]  T1 ON T0.TransId = T1.TransId 
INNER JOIN [dbo].[OACT]  T2 ON T1.Account = T2.AcctCode  
WHERE t0.refdate>='[%0]' and t0.refdate<='[%1]' and (t2.FormatCode >= '400000000000000'
AND T2.FORMATCODE <= '599999999999999') and t0.transtype<>18

El campo T1.[TotalVat] lo tuve que eliminar del query.

Saludos

FLR