Files
DECOMARMOL/PROYECTO/cgdir/entrada.4gl
T
2026-09-22 20:38:51 -04:00

414 lines
14 KiB
Plaintext

globals "cgprgb000.4gl"
DEFINE idx INT,
HANDLER om.SaxDocumentHandler,
r_output,detalle_ent STRING
FUNCTION entrada(p_vetb021,p_cgtb341,P_CLAVE1,vetb60_2,itbis,neto,
descuento,fecha2,ventas,valor_bruto,entrada,tasa,afecta,r_output)
DEFINE p_vetb021 RECORD LIKE vetb00002.*
DEFINE p_cgtb341 RECORD LIKE cgtb00034.*,
p_clave1 CHAR(12),itbis,neto,descuento,valor_bruto,tasa decimal(12,2),
entrada,afecta char(15),
HANDLER om.SaxDocumentHandler,
r_output,detalle_ent STRING
DEFINE vetb60_2 RECORD
cuenta_no_ventas char(10),
cuenta_no_itbis char(10),
cuenta_no_descuento char(10),
cuenta_no_ingresos char(10),
cuenta_no_prima char(10)
END RECORD,
fecha2 DATE,ventas char(30)
# CALL seleccionarsalida() RETURNING r_output
CALL configureoutput(r_output) RETURNING handler
START REPORT entrada04 TO XML HANDLER handler
OUTPUT TO REPORT entrada04(p_vetb021.*,p_cgtb34.*,P_CLAVE,vetb60_2.*,
itbis,neto,descuento,fecha2,ventas,valor_bruto,entrada,tasa,afecta)
FINISH REPORT entrada04
END FUNCTION
REPORT entrada04(x,f,p_clave,d,itbis,neto,descuento,fecha2,ventas,valor_bruto,entrada,tasa,afecta)
DEFINE x RECORD LIKE vetb00002.*
DEFINE f RECORD LIKE cgtb00034.*
DEFINE d RECORD
cuenta_no_ventas char(10),
cuenta_no_itbis char(10),
cuenta_no_descuento char(10),
cuenta_no_ingresos char(10),
cuenta_no_prima char(10)
END record
DEFINE vendedor,imp,imp1 CHAR (1)
DEFINE descrip_venta CHAR(22)
DEFINE descrip1,afecta CHAR(30)
DEFINE doble_on,doble_off,negrillas_on,negrillas_off,comp_on,comp_off,
doce,normal CHAR(2)
DEFINE hora CHAR(5),
p_clave CHAR(12),itbis,neto,descuento,valor_bruto,tasa decimal(12,2),
fecha2 DATE,ventas,entrada,pventas char(30)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 0
BOTTOM MARGIN 2
PAGE LENGTH 100
#ORDER BY p_clave #x.sec_vend,b.cod_cia,v.cod_n
FORMAT
PAGE HEADER
{ LET doble_on = ASCII 14
LET doble_off = ASCII 20
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27, ASCII 77
LET normal = ASCII 27, ASCII 80}
LET hora = time
LET lj = (80 - LENGTH(p_compania.nombre CLIPPED))/2
PRINT comp_off
PRINT COLUMN 1, "edprrp004",
COLUMN lj,p_compania.nombre CLIPPED,
COLUMN 75, "Pag. ",pageno using "###"
LET l = (80 - LENGTH("Sistema de Entradas Al Diario")) / 2
PRINT COLUMN l, "Sistema de Entradas Al Diario",
COLUMN 75, today using "dd/mm/yyyy"
IF ventas = "1" THEN
LET pventas= "LOCALES"
DISPLAY pventas
ELSE
IF ventas = "2" THEN
LET pventas= "EXPORTACION"
END IF
IF ventas = "3" THEN
LET pventas= "LOCALES USD$"
END IF
END IF
LET l = (80 - LENGTH("Ventas")) / 2
PRINT COLUMN l, "Ventas ",pventas,
COLUMN 78, hora
PRINT COLUMN 34, "Al ",fecha2 USING "dd/mm/yyyy"
-- IF pageno > 1 THEN
PRINT COLUMN 1,ASCII 18,ASCII 27, ASCII 80
PRINT COLUMN 01,"Entrada de Diario No.",
doble_on,entrada,doble_off
PRINT COLUMN 1,"Observaciones: _____________________________________"
PRINT COLUMN 1," _____________________________________",
COLUMN 10,"TASA",tasa
PRINT COLUMN 1,
"--------------------------------------------------",
"----------------------------------------",
negrillas_on
PRINT COLUMN 2, "Cuenta ",
COLUMN 11, "Dpto",
COLUMN 18, "Concepto",
COLUMN 50, "Debe",
COLUMN 71, "Haber",negrillas_off
PRINT COLUMN 1,
"--------------------------------------------------",
"----------------------------------------"
ON LAST ROW
IF ventas!=1 THEN
SELECT a.descripcion INTO nombre_cta
FROM cgtb00001 a WHERE a.cuenta_no = d.cuenta_no_prima
IF STATUS = NOTFOUND THEN
LET nombre_cta = "NO EXISTE CTA"
END IF
LET debito1 = 0
LET debito1 = SUM(x.neto) using "(((,(((,##&.&&)"
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 <> 0 THEN
# LET debito = debito + debito1
PRINT COLUMN 2, d.cuenta_no_prima,
COLUMN 18, nombre_cta CLIPPED,
COLUMN 50, neto using "(((,(((,##&.&&)"
IF afecta = "S" THEN
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,d.cuenta_no_prima,null,null,null,
null,null,detalle,null,neto,0,null,
user,GETDATE(),null,null)
END IF
END IF
SELECT a.descripcion INTO nombre_cta
FROM cgtb00001 a WHERE a.cuenta_no = d.cuenta_no_ingresos
IF STATUS = NOTFOUND THEN
LET nombre_cta = "NO EXISTE CTA"
END IF
LET debito1 = 0
LET debito1 = (neto*tasa)-neto using "(((,(((,##&.&&)"
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 <> 0 THEN
# LET debito = debito + debito1
PRINT COLUMN 2, d.cuenta_no_ingresos,
COLUMN 18, nombre_cta CLIPPED,
COLUMN 50, debito1 using "(((,(((,##&.&&)"
IF afecta = "S" THEN
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,d.cuenta_no_ingresos,null,null,null,
null,null,detalle,null,debito1,0,null,
user,GETDATE(),null,null)
END IF
END IF
SELECT a.descripcion INTO nombre_cta
FROM cgtb00001 a WHERE a.cuenta_no = d.cuenta_no_descuento
IF STATUS = NOTFOUND THEN
LET nombre_cta = "NO EXISTE CTA"
END IF
LET debito1 = 0
LET debito1 = descuento*tasa using "(((,(((,##&.&&)"
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 <> 0 THEN
# LET debito = debito + debito1
PRINT COLUMN 2, d.cuenta_no_descuento,
COLUMN 18, nombre_cta CLIPPED,
COLUMN 50, debito1 using "(((,(((,##&.&&)"
IF afecta = "S" THEN
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,d.cuenta_no_descuento,null,null,null,
null,null,detalle,null,debito1,0,null,
user,GETDATE(),null,null)
END IF
END IF
LET nombre_cta = NULL
SELECT a.descripcion INTO nombre_cta
FROM cgtb00001 a WHERE a.cuenta_no = d.cuenta_no_itbis
IF STATUS = NOTFOUND THEN
LET nombre_cta = "NO EXISTE CTA"
END IF
LET credito1 = 0
LET credito1 = itbis*tasa using "(((,(((,##&.&&)"
IF credito1 IS NULL THEN
LET credito1 = 0
END IF
IF credito1 <> 0 THEN
# LET credito = credito + credito1
PRINT COLUMN 2, d.cuenta_no_itbis,
COLUMN 18, nombre_cta CLIPPED,
COLUMN 65, credito1 using "((#,###,##&.&&)"
IF afecta = "S" THEN
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,d.cuenta_no_itbis,null,null,
null,null,null,detalle,null,0,
credito1,null,user,GETDATE(),null,null)
END IF
END IF
LET nombre_cta = NULL
SELECT a.descripcion INTO nombre_cta
FROM cgtb00001 a WHERE a.cuenta_no = d.cuenta_no_ventas
IF STATUS = NOTFOUND THEN
LET nombre_cta = "NO EXISTE CTA"
END IF
LET credito1 = 0
LET credito1 = valor_bruto*tasa using "(((,(((,##&.&&)"
IF credito1 IS NULL THEN
LET credito1 = 0
END IF
IF credito1 <> 0 THEN
# LET credito = credito + credito1
PRINT COLUMN 2, d.cuenta_no_ventas,
COLUMN 18, nombre_cta CLIPPED,
COLUMN 65, credito1 using "((#,###,##&.&&)"
DISPLAY afecta
IF afecta = "S" THEN
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,d.cuenta_no_ventas,null,null,
null,null,null,detalle,null,0,
credito1,null,user,GETDATE(),null,null)
END IF
END IF
LET debito =(neto*tasa)+(descuento*tasa)
LET credito =(valor_bruto*tasa)+(itbis*tasa)
PRINT COLUMN 50,"--------------",
COLUMN 65,"--------------"
PRINT COLUMN 35,"Totales-->",
COLUMN 50,debito USING "###,###,##&.&&",
COLUMN 65,credito USING "###,###,##&.&&",negrillas_off
ELSE
#-----------------------------------------------------------------------------
SELECT a.descripcion INTO nombre_cta
FROM cgtb00001 a WHERE a.cuenta_no = d.cuenta_no_ingresos
IF STATUS = NOTFOUND THEN
LET nombre_cta = "NO EXISTE CTA"
END IF
LET debito1 = 0
LET debito1 = neto using "(((,(((,##&.&&)"
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 <> 0 THEN
# LET debito = debito + debito1
PRINT COLUMN 2, d.cuenta_no_ingresos,
COLUMN 18, nombre_cta CLIPPED,
COLUMN 50, debito1 using "(((,(((,##&.&&)"
IF afecta = "S" THEN
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,d.cuenta_no_ingresos,null,null,null,
null,null,detalle,null,debito1,0,null,
user,GETDATE(),null,null)
END IF
END IF
SELECT a.descripcion INTO nombre_cta
FROM cgtb00001 a WHERE a.cuenta_no = d.cuenta_no_descuento
IF STATUS = NOTFOUND THEN
LET nombre_cta = "NO EXISTE CTA"
END IF
LET debito1 = 0
LET debito1 = descuento using "(((,(((,##&.&&)"
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 IS NULL THEN
LET debito1 = 0
END IF
IF debito1 <> 0 THEN
#LET debito = debito + debito1
PRINT COLUMN 2, d.cuenta_no_descuento,
COLUMN 18, nombre_cta CLIPPED,
COLUMN 50, debito1 using "(((,(((,##&.&&)"
IF afecta = "S" THEN
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,d.cuenta_no_descuento,null,null,null,
null,null,detalle,null,debito1,0,null,
user,GETDATE(),null,null)
END IF
END IF
LET nombre_cta = NULL
SELECT a.descripcion INTO nombre_cta
FROM cgtb00001 a WHERE a.cuenta_no = d.cuenta_no_itbis
IF STATUS = NOTFOUND THEN
LET nombre_cta = "NO EXISTE CTA"
END IF
LET credito1 = 0
LET credito1 = itbis using "(((,(((,##&.&&)"
IF credito1 IS NULL THEN
LET credito1 = 0
END IF
IF credito1 <> 0 THEN
# LET credito = credito + credito1
PRINT COLUMN 2, d.cuenta_no_itbis,
COLUMN 18, nombre_cta CLIPPED,
COLUMN 65, credito1 using "((#,###,##&.&&)"
IF afecta = "S" THEN
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,d.cuenta_no_itbis,null,null,
null,null,null,detalle,null,0,
credito1,null,user,GETDATE(),null,null)
END IF
END IF
LET nombre_cta = NULL
SELECT a.descripcion INTO nombre_cta
FROM cgtb00001 a WHERE a.cuenta_no = d.cuenta_no_ventas
IF STATUS = NOTFOUND THEN
LET nombre_cta = "NO EXISTE CTA"
END IF
LET credito1 = 0
LET credito1 = valor_bruto using "(((,(((,##&.&&)"
IF credito1 IS NULL THEN
LET credito1 = 0
END IF
IF credito1 <> 0 THEN
# LET credito = credito + credito1
PRINT COLUMN 2, d.cuenta_no_ventas,
COLUMN 18, nombre_cta CLIPPED,
COLUMN 65, credito1 using "((#,###,##&.&&)"
IF afecta = "S" THEN
INSERT INTO cgtb00004 VALUES(fecha2,1,entrada,d.cuenta_no_ventas,null,null,
null,null,null,detalle,null,0,
credito1,null,user,GETDATE(),null,null)
END IF
END IF
LET debito =(neto*tasa)+(descuento*tasa)
LET credito =(valor_bruto*tasa)+(itbis*tasa)
PRINT COLUMN 50,"--------------",
COLUMN 65,"--------------"
PRINT COLUMN 35,"Totales-->",
COLUMN 50,debito USING "###,###,##&.&&",
COLUMN 65,credito USING "###,###,##&.&&",negrillas_off
END IF
SKIP 30 LINE
PRINT COLUMN 10,"--------------",
COLUMN 35,"--------------",
COLUMN 60,"--------------"
PRINT COLUMN 10,"PREPARADO POR",
COLUMN 35," REVISADO POR ",
COLUMN 60,"AUTORIZADO POR"
#LET material1 = 0
#LET mano_ob1 = 0
#LET gasto1 = 0
##LET material6 = 0
#LET total1 = 0
SKIP 2 LINE
PRINT COLUMN 1, detalle
PRINT COLUMN 1,comp_off,negrillas_off
SKIP 4 LINE
END REPORT