Buenos días,
Necesitaría conocer las cuentas contables que no han tenido movimientos durante el ejercicio 2020 (por ejemplo), para poder dejarlas INACTIVAS.
¿Alguien me puede comentar como podría hacer esto?
GRACIAS!
Buenos días,
Necesitaría conocer las cuentas contables que no han tenido movimientos durante el ejercicio 2020 (por ejemplo), para poder dejarlas INACTIVAS.
¿Alguien me puede comentar como podría hacer esto?
GRACIAS!
Hola @IvanFor, una opción es crear un reporte uniendo las tablas OACT (Catálogo) y JDT1 (Asientos) agregas en el where la fecha de asiento, así obtienes todas las cuentas que han tenido contabilizaciones a partir de una fecha.
Algo así:
SELECT T0.[AcctCode], T0.[AcctName], sum(T1.[Debit]) FROM OACT T0 LEFT JOIN JDT1 T1 ON T0.[AcctCode] = T1.[Account] WHERE T1.[RefDate] >=[%0] GROUP BY T0.[AcctCode], T0.[AcctName]
Hola
la opción más sencilla es con una consulta SQL:
select acctcode, acctname from oact where acctcode not in (select account from jdt1 where year(duedate)=2020)
Un saludo
Gracias por su respuesta.
En este caso me aporta también los títulos, debería solo conocer las cuentas contables del grupo 6, sin movimiento. ¿Qué debo añadir a la consulta?
Gracias por su respuesta!
En este caso me aporta también los títulos, debería solo conocer las cuentas contables del grupo 6, sin movimiento. ¿Qué debo añadir a la consulta?
Hola
utiliza el campo groupmask.
Ejecuta la siguiente consulta:
select acctcode, acctname, groupmask from oact where levels = 1
En la consulta del post anterior añade la condición group = valor, que será el valor que necesites obtenido en la consulta de arriba.
Un saludo
Me da error la consulta
Lo que necesito es saber las cuentas del grupo 6 (gastos), que no han tenido movimientos contables durante un periodo determinada.
Disculpa por la insistencia, no dispongo de mucha experiencia en SQL.
GRACIAS!
Hola
prueba esta:
select acctcode, acctname from oact where groupmask= 4 and acctcode not in (select account from jdt1 where year(duedate) = 2020) and postable = ‘Y’
En mi base de datos devuelve gastos e ingresos. Si en tu caso no aparecen, cambia el 4 por otro valor (entre 1 y 10) hasta que aparezcan las cuentas correctas.
Un saludo
Me continua dando error
Tengo esta consulta:
SELECT T0.[AcctCode], T0.[AcctName], T1.[RefDate] FROM OACT T0 INNER JOIN JDT1 T1 ON T0.[AcctCode] = T1.[Account] WHERE GROUPMASK=4 AND T1.[RefDate] >=’[%0]’ AND T1.[RefDate]<=’[%1]’
Me aporta las cuentas 6 durante el periodo que selecciono, hasta aqui todo bien…
Ahora me falta decirle a la consulta que me diga las cuentas que no han tenido movimiento contable durante el periodo que seleccione y listo…
MUCHAS GRACIAS!!!
Hola
select acctcode, acctname from oact where acctcode not in
(SELECT T0.[AcctCode], T0.[AcctName], T1.[RefDate] FROM OACT T0 INNER JOIN JDT1 T1 ON T0.[AcctCode] = T1.[Account] WHERE GROUPMASK=4 AND T1.[RefDate] >=’[%0]’ AND T1.[RefDate]<=’[%1]’)
Un saludo
No hay manera… Me da error… ¿Me la puedes copiar como seria toda la consulta continua?
Gracias de nuevo
Hola
esta es la consulta completa:
select acctcode, acctname from oact where acctcode not in
(SELECT T0.[AcctCode], T0.[AcctName], T1.[RefDate] FROM OACT T0 INNER JOIN JDT1 T1 ON T0.[AcctCode] = T1.[Account] WHERE GROUPMASK=4 AND T1.[RefDate] >=’[%0]’ AND T1.[RefDate]<=’[%1]’)
La he copiado y pegado directamente, y me da error…
Sorry
select acctcode, acctname from oact where acctcode not in
(SELECT T0.[AcctCode] FROM OACT T0 INNER JOIN JDT1 T1 ON T0.[AcctCode] = T1.[Account] WHERE GROUPMASK=4 AND T1.[RefDate] >=’[%0]’ AND T1.[RefDate]<=’[%1]’)
No hay manera… jajaja! Me continua dando error… ¿Puede ser por el tema de paréntesis o comillas?
Hola
el generador de consultas de SBO no es una maravilla, y a veces al traducir la consulta se atraganta. Prueba a cambiar los valores que pides por pantalla por las fechas que introduces: quita los corchetes y escribe la fecha de inicio y de fin.
Un saludo
He probado de esta manera:
SELECT T0.[AcctCode], T0.[AcctName], T1.[RefDate] FROM OACT T0 INNER JOIN JDT1 T1 ON T0.[AcctCode] = T1.[Account] WHERE GROUPMASK = 4 AND T1.[RefDate] >=[%0] AND T1.[RefDate]<=[%1]
SELECT T0.[AcctCode], T0.[AcctName] FROM OACT WHERE T0.[AcctCode] NOT IN
No me deja…
Sigo sin lograr que funcione
Hola
si copias y pegas esta consulta:
select acctcode, acctname from oact where acctcode not in
(SELECT T0.[AcctCode] FROM OACT T0 INNER JOIN JDT1 T1 ON T0.[AcctCode] = T1.[Account] WHERE GROUPMASK=4 AND T1.[RefDate] >=’2020/01/01’ AND T1.[RefDate]<=’2020/12/01’)
¿Sale algún error?