Reporte Crystal informe presupuesto

Hola buenos días compañeros del foro, necesito de su ayuda nuevamente, resulta que el área de contabilidad me pidió que le creara un reporte en crystal para estos datos mas personalizado, ya que el trae el sistema no les sirve, me podrían ayudar para saber de donde puedo sacar todos estos datos de sql server.
El conteo lo quieren semestral.
SAP B1 9.2 PL9

Saludos, hermano, qué tipo de reporte, balance de comprobación, balance general, o ganancias y perdidas o mayor de contabilidad, esto te lo da el jdt1 junto con el ojdt, la fecha la sacas del ojdt, desde hasta. No sé si quieres un balance de comprobación con saldo anterior, debe,haber, movimiento del mes y saldo actual. Dime gracias

2 Me gusta

Ya veo, quieres es un presupuesto, pero dime qué quieres que quieres ver o q te piden, yo he hecho todos estos reportes por crystal report. Ese de presupuesto no le he hecho, pero debe ser lo mismo yacq todo está en el jdt1 detalle, y el ojdt resumen pero más lo uso para controlar la fecha desde hasta. Ya q a veces la fecha del jdt1 no es la misma que la del ojdt. Si más no. Recuerdo se enlaza por el docentry

1 me gusta

Gracias por tu pronta respuesta @rubenantonio no tengo mucha experiencia en el área de contabilidad, por eso solo me mandaron el archivo y también no te se responder de que tipo de reporte es.
Seria igual a este reporte hecho en excel
verifica el link para mas detalle
Informe

3 mensajes han sido separados a un nuevo tema: De donde saco el saldo inicial

Saludos, hermano, lamentablemente SAP B1 no tiene una tabla donde aparezca el saldo inicial o anterior, bueno hasta el momento no la he visto, yo cuando coloco por crystal los Campos variable (desde hasta) para q el usuario lo introduzca ahí es cuándo creo otra variable y le digo al crystal que me sume el debe menos el haber y lo coloque en la variable la puedo llamar (Saldo anterior) si la fecha es menor a la que se selecciona en la variable (desde.) Y así sucesivamente, y su quieres el movimiento del mes creas otra q diga (movimiento del mes y ahí mentes lo q esté dentro del periodo seleccionado debt-credit y así vas

Ah ésto comité dije lo saco del jdt1,ojdt,. Maestro de cuentas,oact,

Gracias @rubenantonio voy a intentar crear el reporte, le cuento como me va!

Saludos,deje ver su te puedo enviar resumen de cuentas por mes año, ese lista todas las cuentas desde jdt1 resumida por mes y el año Sql, la envías a excel y desde ahí creas una tabla dinámica y puedes ver todo resumido desde el activo hasta los gastos y los impuestos la CTA 8. Le metes un where y puedes emitir las cuentas que quieras, le voy a agregar la parte de presupuesto, sería para la semana que viene

1 me gusta

Gracias por la info tratare de hacer el reporte con los datos que me diste de las tablas!

Saludos hermano, estuve viendo la parte de presupuesto de SAP B1, e hice el mismo reporté muestras por crystal report y por el SQL de Sap el lunes te lo mandó, bueno te mando el script y lo pegas, realmente son dos tablas. Obgt y la bgt1, puedes amarrar la bgt1 con la oact. Por crystal puedes pedir todos el Año o el o los meses q desees, pero no sé cómo enviarte el reporte de crystal, por está vía, o por crystal llamas a bgt1,obgt, oact y con algunas variantes de fecha, q realmente aparece es el año en la obgt, bueno avísame si todavía quieres el reporte…
…,… Pegar esto en elquery de SAP, y cambiar la palabra “Netrix” por la base de datos tuya. Y prueba

Donde dice 01-01-2019 anda line_id >=o le puedes quitar el cero y colocar = al mesa desees, dime cómo te puedo enviar el reporte en Crystal para q lo pegues y se vea fino

SELECT
BGT1.“BudgId”, BGT1.“Line_ID”, BGT1.“DebLTotal” AS ‘Presupuesto’, (bgt1.“DebRLTotal” - BGT1.“CrdRLTotal”) as ‘Real Gastado’,
(BGT1.“DebRLTotal”- BGT1.“CrdRLTotal” - BGT1.“DebLTotal”) as ‘Diferencia’,
—BGT1.“AcctCode”,
OBGT.“FinancYear”,
OACT.“AcctCode”, OACT.“AcctName”
–, OACT.“FatherNum”
FROM
{ oj (“netrix”.“dbo”.“BGT1” BGT1 INNER JOIN “netrix”.“dbo”.“OBGT” OBGT ON
BGT1.“BudgId” = OBGT.“AbsId” AND
BGT1.“AcctCode” = OBGT.“AcctCode”)
INNER JOIN “netrix”.“dbo”.“OACT” OACT ON
OBGT.“AcctCode” = OACT.“AcctCode”}
WHERE
BGT1.“Line_ID” >= 0 AND
BGT1.“Line_ID” <= 11
AND
OBGT.“FinancYear” >= ‘01-01-2019’ and line_id >=0
– OBGT.“FinancYear” < ?
ORDER BY
OACT.“FatherNum” ASC,
BGT1.“AcctCode” ASC,
BGT1.“BudgId” ASC

1 me gusta

Voy hacer uno que muestre la cuenta y los meses como si fuese Excel, igual q lo nuestra SAP. Cuándo le pones el reporte mensual. Te voy a enviar 3 reportes uno resumido por cuenta q nuestra todo el año por cuenta y otro q te muestra la cta. Resumida por mes el lunes veo como hago

1 me gusta

@rubenantonio Gracias mi estimado, de hecho ya le avance también, solo que si tengo una gran duda que es de donde saco unos datos, ya estuve buscando y no los pude encontrar, incluso busque en Internet un Store procedure que te busca un dato en toda la base de datos y ni así lo pude encontrar, yo supongo que esos datos son calculados mediante SAP pero quiero saber cual tabla es la que ocupa SAP.
tabla
Gracias por lo del reporte, puedes subirlo en la nube y compartir el link pero no completo como lo hacen los demás, le ponen en el https un h_ps:.

Te mostrare el procedimiento que realice efectivamente lo puedo mejorar cambiando la fecha a una variable y ya poder definir que fechas quiero, pero lo deje así mientras termino el reporte. Solo obtengo el real.

USE [SBOSIP_ASC2]
GO
/****** Object:  StoredProcedure [dbo].[SIP_PRES]    Script Date: 17/08/2019 08:48:10 a. m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[SIP_PRES] 
	
	
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    SELECT T0.[AcctName], T0.[Segment_0], T0.[Segment_1], T0.[AcctCode], SUM(T1.Credit) AS Presupuesto FROM OACT T0  INNER JOIN JDT1 T1 ON T0.[AcctCode] = T1.[Account] 
WHERE (T1.RefDate>='2019-01-01' and T1.RefDate<'2019-07-01') and (Segment_0='4100001000' and Segment_1='00')
 or (T1.RefDate>='2019-01-01' and T1.RefDate<'2019-07-01') and (Segment_0='4100002000' and Segment_1='00')
 or (T1.RefDate>='2019-01-01' and T1.RefDate<'2019-07-01') and (Segment_0='4100002000' and Segment_1='01')
 or (T1.RefDate>='2019-01-01' and T1.RefDate<'2019-07-01') and (Segment_0='4100003000' and Segment_1='00') 
 or (T1.RefDate>='2019-01-01' and T1.RefDate<'2019-07-01') and (Segment_0='4100003000' and Segment_1='01') 
 or (T1.RefDate>='2019-01-01' and T1.RefDate<'2019-07-01') and (Segment_0='4100004000' and Segment_1='00') 
 or (T1.RefDate>='2019-01-01' and T1.RefDate<'2019-07-01') and (Segment_0='4100006000' and Segment_1='00') 
 or (T1.RefDate>='2019-01-01' and T1.RefDate<'2019-07-01') and (Segment_0='4100007000' and Segment_1='00') 
 or (T1.RefDate>='2019-01-01' and T1.RefDate<'2019-07-01') and (Segment_0='4100007000' and Segment_1='01') GROUP BY T0.[AcctName],T0.Segment_0,T0.Segment_1,T0.[AcctCode] ORDER BY Segment_0,Segment_1

END

Saludos hermano, el reporte q hice por crystal te da igualito al de SAP, q me mostrarte, es más puedes pedir todo el Año que desees y el mes o todos meses de ese mismo año, es más puedes emitir todos los años si así lo deseas, no te preocupes ya está listo, yo me guíe por el que Sap, que solo va acomulado los gastos y lo compara con el presupuesto que le asignaste mensualmente a cada cuenta, no veo porque usas al jdt1 en este caso, ya que la información cae ahí en jdt1 porque es el mayor, pero a su vez ese mismo gasto cae en las tablas obgt encabezado y la bgt1 que es el detalle que son las tablas del presupuesto, y usas la oact para que le coloques el nombre de cada cuenta.
Ahí veo q usas cuentas fijás, pero si mañana crean otra cuenta de presupuesto la tendrías q Meterlas manual a ese programa, mejor cómo te dije, prueba con la obgt y la bgt1 y la oact, y reiras al final, de todas formas te lo voy a enviar para q veas la consulta, tu tienes conocimientos en Crystal?, El Crystal te sirve para todo, por medio de él puedes controlar todos los módulos de SAP cómo más rabia te dé. Saludos

1 me gusta

Gracias lo esperare con ganas el lunes saludos, e intentare también hacerlo desde las tablas que mencionas.
@rubenantonio Intente buscar la opción de netrix pero no pude encontrar en SAP :sweat:

Ademas lo que también encontré en el mundo de la web un convertidor de formatos PLD a rpt, pero es mas difícil manipular el que trae SAP.

No me funciona tu query no me da las mismas cantidades que las que me arroja el sistema!.

Hazlo friend, y verás q se q lo puedes hacer, por Crystal, 1ro. Llamas bgt1, ahí están la cuentas q van a presupuestó, llamas a obgt ahí están los años y el total de cada cuenta presupuestada, los 12 meses, del 0 al 11 donde 0 es enero y así,11 es diciembre, el la bgt1 verás el mismo campo de 0 a11, que serian los 12 meses. Amarras las cuentas de bgt1 con la oact y te da el nombre de la cuenta, creado acctcon no recuerdo el nombre, pero ahí se ve. Y la obgt con la bgt1 por el 1er.campo de ambos. Bueno friend metete. Y sea lo lograrás, saludos… pega este al query de SAP y donde dice Netrix colocas tu base de datos activa

SELECT
BGT1.“BudgId”, BGT1.“Line_ID”, BGT1.“DebLTotal” AS ‘Presupuesto’, (bgt1.“DebRLTotal” - BGT1.“CrdRLTotal”) as ‘Real Gastado’,
(BGT1.“DebRLTotal”- BGT1.“CrdRLTotal” - BGT1.“DebLTotal”) as ‘Diferencia’,
—BGT1.“AcctCode”,
OBGT.“FinancYear”,
OACT.“AcctCode”, OACT.“AcctName”
–, OACT.“FatherNum”
FROM
{ oj (“netrix”.“dbo”.“BGT1” BGT1 INNER JOIN “netrix”.“dbo”.“OBGT” OBGT ON
BGT1.“BudgId” = OBGT.“AbsId” AND
BGT1.“AcctCode” = OBGT.“AcctCode”)
INNER JOIN “netrix”.“dbo”.“OACT” OACT ON
OBGT.“AcctCode” = OACT.“AcctCode”}
WHERE
BGT1.“Line_ID” >= 0 AND
BGT1.“Line_ID” <= 11
AND
OBGT.“FinancYear” >= ‘01-01-2019’ and line_id >=0
– OBGT.“FinancYear” < ?
ORDER BY
OACT.“FatherNum” ASC,
BGT1.“AcctCode” ASC,
BGT1.“BudgId” ASC

…,…
O coloca este no lo he terminado le falta los nombre de las cuentas, voy saliendo ve si lo terminas…
Copia lo al query de SAP

SELECT T0.[Line_ID] as ‘Meses’, T0.[AcctCode], T0.[DebLTotal]as ‘Presupuesto’, (T0.[DebRLTotal] - T0.[CrdRLTotal]) AS ‘Real Gastado’, (T0.[DebRLTotal] - T0.[CrdRLTotal]- T0.[DebLTotal]) AS ‘Diferencia’,T1.[FinancYear] FROM [dbo].[BGT1] T0 INNER JOIN OBGT T1 ON T0.BudgId = T1.AbsId
WHERE T1.[FinancYear] >=[%0] AND T1.[FinancYear] <=[%1]
and T0.[Line_ID] >=[%2] and T0.[Line_ID] <=[%3]

1 me gusta