Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,564 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : CTPRRP004
|
||||
OBJETIVO : Produccion Diaria
|
||||
PROGRAMADOR : Ing. Elvis García
|
||||
FECHA : Enero 28, 2026.
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "ctprgb000.4gl"
|
||||
|
||||
DEFINE
|
||||
abortar_reporte BOOLEAN,
|
||||
fecha_actual DATETIME YEAR TO FRACTION
|
||||
|
||||
DEFINE HANDLER om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
||||
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
||||
r_output STRING, -- output format option
|
||||
preview INTEGER -- TRUE/FALSE, to set preview option
|
||||
|
||||
DEFINE selec5 STRING
|
||||
DEFINE anos CHAR(4)
|
||||
DEFINE jdx INTEGER
|
||||
DEFINE fecha_inicio, fecha_corte, fecha1 DATE, reporte_tipo INT
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
|
||||
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||
SELECT a.* INTO p_compania.* FROM companias a
|
||||
|
||||
CALL ctprrp004()
|
||||
END MAIN
|
||||
|
||||
FUNCTION ctprrp004()
|
||||
|
||||
DEFINE prod_dia RECORD
|
||||
num_doc INT,
|
||||
fecha DATE,
|
||||
departamento VARCHAR(100),
|
||||
cod_prod LIKE cttb00008.cod_prod,
|
||||
cp_desc VARCHAR(100),
|
||||
medidas VARCHAR(75),
|
||||
cantidad DECIMAL(12, 2),
|
||||
costo_lab DECIMAL(12, 2),
|
||||
valor DECIMAL(12, 2)
|
||||
END RECORD
|
||||
|
||||
OPTIONS ERROR LINE 24, FORM LINE 8
|
||||
|
||||
OPEN FORM ctfmrp004 FROM "ctfmrp004"
|
||||
DISPLAY FORM ctfmrp004
|
||||
|
||||
CONSTRUCT criterio ON c.departamento, c.cod_prod FROM departamento, cod_prod
|
||||
|
||||
BEFORE CONSTRUCT
|
||||
CALL departamentos_produccion()
|
||||
END CONSTRUCT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
INPUT BY NAME fecha_inicio, fecha_corte, reporte_tipo ATTRIBUTES(WITHOUT DEFAULTS, UNBUFFERED)
|
||||
BEFORE INPUT
|
||||
LET fecha_inicio = CURRENT
|
||||
LET fecha_corte = CURRENT
|
||||
LET reporte_tipo = 1
|
||||
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET jdx = (fecha_corte - fecha_inicio) + 1
|
||||
LET anos = YEAR(fecha_inicio) USING "&&&&"
|
||||
|
||||
SELECT a.fecha_inicio
|
||||
INTO fecha1
|
||||
FROM prdtable a
|
||||
WHERE a.ano = anos AND a.mes = 1
|
||||
|
||||
IF reporte_tipo = 1 THEN
|
||||
LET selec5 =
|
||||
"SELECT DISTINCT c.num_doc, c.fecha, CONCAT('(',c.departamento,') ', f.nom_dpto) as departamento,c.cod_prod,Ltrim(e.descripcion) as semielaborado,
|
||||
CONCAT(ISNULL(c.lado1,0),'x',ISNULL(c.lado2,0),'x',ISNULL(c.lado3,0)) as Medida,ISNULL(sum(cantidad),0) as cantidad,
|
||||
CAST(ISNULL(a.costo_lab,0) as decimal(12,2)) as costo_lab, CAST(ISNULL((sum(cantidad) * a.costo_lab),0) as DECIMAL(12,2)) as VALOR
|
||||
FROM cttb00003 c inner join cttb00001 e on c.cod_prod = e.cod_prod LEFT OUTER JOIN cttb00034 a ON a.cod_prod = c.cod_prod,iptb00022 d, adtb00001 f
|
||||
WHERE e.cod_cia = d.cod_cia and c.cod_prod = a.cod_prod AND c.cod_prod is not null AND f.departamento = c.departamento AND
|
||||
c.status_t IS NULL AND c.fecha BETWEEN '",
|
||||
fecha_inicio USING 'yyyy-mm-dd',
|
||||
"'
|
||||
AND '",
|
||||
fecha_corte USING 'yyyy-mm-dd',
|
||||
"' AND ",
|
||||
criterio CLIPPED, --" a.fecha = ? and ",
|
||||
" GROUP BY c.departamento, f.nom_dpto, c.cod_prod, e.descripcion,
|
||||
c.lado1,c.lado2,c.lado3, a.costo_lab, c.num_doc, c.fecha
|
||||
ORDER BY departamento, c.cod_prod, c.num_doc, c.fecha "
|
||||
|
||||
ELSE
|
||||
LET selec5 =
|
||||
"WITH costo_actual AS (
|
||||
SELECT
|
||||
cod_prod,
|
||||
costo_lab,
|
||||
fecha,
|
||||
ROW_NUMBER() OVER (
|
||||
PARTITION BY cod_prod
|
||||
ORDER BY fecha DESC
|
||||
) AS rn
|
||||
FROM cttb00034
|
||||
)
|
||||
SELECT DISTINCT NULL,NULL,
|
||||
CONCAT('(',c.departamento,') ', f.nom_dpto) AS departamento,
|
||||
c.cod_prod,
|
||||
LTRIM(e.descripcion) AS semielaborado,
|
||||
CONCAT(ISNULL(c.lado1,0),'x',ISNULL(c.lado2,0),'x',ISNULL(c.lado3,0)) AS Medida,
|
||||
ISNULL(SUM(c.cantidad),0) AS cantidad,
|
||||
CAST(ISNULL(a.costo_lab,0) AS DECIMAL(12,2)) AS costo_lab,
|
||||
CAST(ISNULL(SUM(c.cantidad) * a.costo_lab,0) AS DECIMAL(12,2)) AS VALOR
|
||||
FROM cttb00003 c
|
||||
INNER JOIN cttb00001 e ON c.cod_prod = e.cod_prod
|
||||
LEFT JOIN costo_actual a
|
||||
ON a.cod_prod = c.cod_prod
|
||||
AND a.rn = 1
|
||||
, iptb00022 d
|
||||
, adtb00001 f
|
||||
WHERE
|
||||
e.cod_cia = d.cod_cia
|
||||
AND c.cod_prod IS NOT NULL
|
||||
AND c.status_t IS NULL
|
||||
AND c.fecha BETWEEN '",
|
||||
fecha_inicio USING 'yyyy-mm-dd',
|
||||
"'
|
||||
AND '",
|
||||
fecha_corte USING 'yyyy-mm-dd',
|
||||
"' AND ",
|
||||
criterio CLIPPED,"
|
||||
AND f.departamento = c.departamento
|
||||
GROUP BY
|
||||
c.departamento,
|
||||
f.nom_dpto,
|
||||
c.cod_prod,
|
||||
e.descripcion,
|
||||
c.lado1,
|
||||
c.lado2,
|
||||
c.lado3,
|
||||
a.costo_lab,
|
||||
c.num_doc,
|
||||
c.fecha;"
|
||||
END IF
|
||||
|
||||
DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>"
|
||||
AT 19, 14
|
||||
ATTRIBUTE(REVERSE, BOLD)
|
||||
|
||||
|
||||
LET r_filename = 'ctprrp004.4rp'
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN
|
||||
LET preview=1
|
||||
CALL selectoutput() RETURNING r_output
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
END IF
|
||||
|
||||
START REPORT reporte_detallado TO XML HANDLER HANDLER
|
||||
|
||||
LET fecha_actual = CURRENT YEAR TO FRACTION
|
||||
|
||||
DISPLAY selec5
|
||||
|
||||
PREPARE comando4 FROM selec5
|
||||
DECLARE busca4 CURSOR FOR comando4
|
||||
|
||||
FOREACH busca4 INTO prod_dia.*
|
||||
|
||||
IF reporte_tipo <> 1 THEN
|
||||
LET prod_dia.num_doc = 0
|
||||
LET prod_dia.fecha = CURRENT
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT reporte_detallado(
|
||||
prod_dia.*, fecha_inicio, fecha_corte, fecha_actual)
|
||||
END FOREACH
|
||||
|
||||
FINISH REPORT reporte_detallado
|
||||
|
||||
IF abortar_reporte THEN
|
||||
RETURN
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
REPORT reporte_detallado(x, fech_inicio, fech_corte, fecha_actual)
|
||||
|
||||
DEFINE
|
||||
x RECORD
|
||||
num_doc INT,
|
||||
fecha DATE,
|
||||
departamento VARCHAR(100),
|
||||
cod_prod LIKE cttb00008.cod_prod,
|
||||
cp_desc VARCHAR(100),
|
||||
medidas VARCHAR(75),
|
||||
cantidad DECIMAL(12, 2),
|
||||
costo_lab DECIMAL(12, 2),
|
||||
valor DECIMAL(12, 2)
|
||||
END RECORD,
|
||||
fech_inicio DATE,
|
||||
fech_corte DATE,
|
||||
fecha_actual DATETIME YEAR TO FRACTION
|
||||
|
||||
DEFINE
|
||||
cantidad_depto, costo_depto, valor_depto DECIMAL(12, 2),
|
||||
registros_depto INT
|
||||
DEFINE
|
||||
total_cantidad, total_costo, total_valor DECIMAL(12, 2),
|
||||
total_registros INT
|
||||
|
||||
FORMAT
|
||||
|
||||
FIRST PAGE HEADER
|
||||
PRINTX fech_inicio, fech_corte, fecha_actual
|
||||
|
||||
AFTER GROUP OF x.departamento
|
||||
LET cantidad_depto = GROUP SUM(x.cantidad)
|
||||
LET costo_depto = GROUP SUM(x.costo_lab)
|
||||
LET valor_depto = GROUP SUM(x.valor)
|
||||
LET registros_depto = GROUP COUNT(*)
|
||||
|
||||
PRINTX cantidad_depto, costo_depto, valor_depto, registros_depto
|
||||
|
||||
ON EVERY ROW
|
||||
PRINTX x.num_doc, x.fecha, x.departamento, x.cod_prod, x.cp_desc,
|
||||
x.medidas, x.cantidad, x.costo_lab, x.valor
|
||||
|
||||
ON LAST ROW
|
||||
LET total_cantidad = SUM(x.cantidad)
|
||||
LET total_costo = SUM(x.costo_lab)
|
||||
LET total_valor = SUM(x.valor)
|
||||
LET total_registros = COUNT(*)
|
||||
|
||||
PRINTX total_cantidad, total_costo, total_valor, total_registros
|
||||
|
||||
END REPORT
|
||||
|
||||
######## Preparando formato en la salida de informacion impresa ########
|
||||
|
||||
--REPORT reporte_4(x)
|
||||
--DEFINE x RECORD
|
||||
-- origen CHAR(30),
|
||||
-- departamento LIKE cttb00008.departamento,
|
||||
-- cod_prod LIKE cttb00008.cod_prod,
|
||||
-- valor_labor LIKE cttb00008.valor_labor,
|
||||
-- gasto_ind LIKE cttb00029.gasto_ind,
|
||||
-- fecha DATE,
|
||||
-- cantidad DECIMAL(12,2)
|
||||
--END RECORD
|
||||
--DEFINE dia DYNAMIC ARRAY OF SMALLINT
|
||||
--DEFINE fecha3,fecha4,fecha5 DATE
|
||||
--DEFINE i INTEGER
|
||||
--DEFINE cantidad1,labor,gasto,labor1,gasto1 DECIMAL(12,2)
|
||||
--
|
||||
--DEFINE unidad,descrp1,nomb,nombre CHAR(20)
|
||||
--DEFINE descr CHAR(20)
|
||||
--DEFINE total,total2,total3,total4,total5,total6,total7,total8,total9
|
||||
-- DECIMAL(13,8)
|
||||
--DEFINE fact_hombre,valor_labor,hora_hombre,valor_real,factor_conv
|
||||
-- DECIMAL(13,8)
|
||||
--DEFINE j,total1 INTEGER
|
||||
--DEFINE doce,comp_on,comp_off,normal,negrillas_on,negrillas_off CHAR(2)
|
||||
--
|
||||
--OUTPUT
|
||||
-- LEFT MARGIN 00
|
||||
-- ORDER BY x.origen,x.departamento,x.cod_prod,x.fecha
|
||||
--
|
||||
--FORMAT
|
||||
-- PAGE HEADER
|
||||
-- LET comp_on = ASCII 15
|
||||
-- LET comp_off = ASCII 18
|
||||
-- LET normal = ASCII 27,ASCII 80
|
||||
-- LET negrillas_on = ASCII 27, ASCII 69
|
||||
-- LET negrillas_off = ASCII 27, ASCII 70
|
||||
-- LET doce = ASCII 27, ASCII 77
|
||||
-- LET l = (127 - LENGTH(p_compania.nombre CLIPPED)) /2
|
||||
-- PRINT doce,comp_on,negrillas_on
|
||||
-- PRINT COLUMN 1,"ctprrp004",
|
||||
-- COLUMN l,p_compania.nombre CLIPPED,
|
||||
-- COLUMN 120, "Pag. ",pageno using "###"
|
||||
-- LET l = (127 - LENGTH("INVENTARIO DE PRODUCTOS EN PROCESO")) /2
|
||||
-- PRINT COLUMN l, "INVENTARIO DE PRODUCTOS EN PROCESO",
|
||||
-- COLUMN 120, today using "dd/mm/yyyy"
|
||||
-- LET l = (127 - LENGTH("Reporte de Produccion Diaria")) /2
|
||||
-- PRINT COLUMN l, "Reporte de Produccion Diaria",
|
||||
-- COLUMN 120, time
|
||||
-- PRINT COLUMN 51, "DEL ",fecha_inicio USING "dd/mm/yyyy", " Al ",
|
||||
-- fecha_corte USING "dd/mm/yyyy",comp_on
|
||||
-- SKIP 1 LINE
|
||||
--
|
||||
-- PRINT COLUMN 1,
|
||||
-- "----------------------------------------------------------------------------",
|
||||
-- "----------------------------------------------------------------------------",
|
||||
-- "--------------------------------------------------------------------"
|
||||
-- PRINT COLUMN 29,"|";
|
||||
-- LET i = 30
|
||||
-- FOR idx = 1 to jdx
|
||||
--
|
||||
-- PRINT COLUMN i, " |";
|
||||
-- LET i = i + 11
|
||||
-- END FOR
|
||||
-- PRINT COLUMN i, " Total |",
|
||||
-- COLUMN i+14, " Std |",
|
||||
-- COLUMN i+24, " |",
|
||||
-- COLUMN i+38, " Std |",
|
||||
-- COLUMN i+48, " |"
|
||||
-- PRINT COLUMN 29, "|";
|
||||
-- LET i = 30
|
||||
-- LET fecha1 = fecha_inicio
|
||||
-- FOR idx = 1 to jdx
|
||||
-- PRINT COLUMN i, " Dia(",DAY(fecha1) USING "&&",") |";
|
||||
-- LET i = i + 11
|
||||
-- LET fecha1 = fecha1 + 1
|
||||
-- END FOR
|
||||
-- PRINT COLUMN i, " Semana |",
|
||||
-- COLUMN i+14, " Labor |",
|
||||
-- COLUMN i+24, " Valor |",
|
||||
-- COLUMN i+38, " Gasto |",
|
||||
-- COLUMN i+48, " Valor |"
|
||||
--
|
||||
-- PRINT COLUMN 1,
|
||||
-- "----------------------------------------------------------------------------",
|
||||
-- "----------------------------------------------------------------------------",
|
||||
-- "--------------------------------------------------------------------"
|
||||
-- PRINT negrillas_off
|
||||
--BEFORE GROUP OF x.origen
|
||||
-- SKIP 1 LINE
|
||||
-- PRINT "ORIGEN: ",x.origen
|
||||
-- SKIP 1 LINE
|
||||
--BEFORE GROUP OF x.departamento
|
||||
-- PRINT COLUMN 29,"|";
|
||||
-- LET i = 30
|
||||
-- FOR idx = 1 to jdx
|
||||
-- PRINT COLUMN i, " |";
|
||||
-- LET i = i + 11
|
||||
-- END FOR
|
||||
-- PRINT COLUMN i, " |",
|
||||
-- COLUMN i+14, " |",
|
||||
-- COLUMN i+24, " |",
|
||||
-- COLUMN i+38, " |",
|
||||
-- COLUMN i+48, " |"
|
||||
--
|
||||
-- SELECT b.nom_dpto INTO nomb FROM adtb00001 b
|
||||
-- WHERE b.departamento = x.departamento
|
||||
--
|
||||
-- PRINT COLUMN 1, negrillas_on,x.departamento USING "&&&&"," ",
|
||||
-- nomb clipped,negrillas_off;
|
||||
--
|
||||
-- PRINT COLUMN 33, "|";
|
||||
-- LET i = 34
|
||||
-- FOR idx = 1 to jdx
|
||||
-- PRINT COLUMN i, " |";
|
||||
-- LET i = i + 11
|
||||
-- END FOR
|
||||
-- PRINT COLUMN i, " |",
|
||||
-- COLUMN i+14, " |",
|
||||
-- COLUMN i+24, " |",
|
||||
-- COLUMN i+38, " |",
|
||||
-- COLUMN i+48, " |"
|
||||
--
|
||||
-- IF total1 IS NULL THEN
|
||||
-- LET total1 = 0
|
||||
-- END IF
|
||||
--
|
||||
--BEFORE GROUP OF x.cod_prod
|
||||
-- LET idx = 1
|
||||
-- LET nombre = NULL
|
||||
-- SELECT a.descripcion INTO nombre FROM cttb00001 a
|
||||
-- WHERE a.cod_prod = x.cod_prod
|
||||
--
|
||||
-- PRINT COLUMN 2, x.cod_prod USING "&&&&"," ",
|
||||
-- nombre clipped,
|
||||
-- COLUMN 29,"|";
|
||||
--
|
||||
-- LET i = 30
|
||||
--ON EVERY ROW
|
||||
-- PRINT COLUMN i,x.cantidad USING "###,##&.&&","|";
|
||||
-- LET i = i + 11
|
||||
--
|
||||
--AFTER GROUP OF x.cod_prod
|
||||
-- PRINT COLUMN i, GROUP SUM(x.cantidad) USING "##,###,##&.&&","|",
|
||||
-- COLUMN i+14, x.valor_labor USING "##,##&.&&","|",
|
||||
-- COLUMN i+24, (GROUP SUM(x.cantidad))*x.valor_labor
|
||||
-- USING "##,###,##&.&&","|",
|
||||
-- COLUMN i+38, x.gasto_ind USING "##,##&.&&","|",
|
||||
-- COLUMN i+48, (GROUP SUM(x.cantidad))*x.gasto_ind
|
||||
-- USING "##,###,##&.&&","|"
|
||||
--
|
||||
-- IF labor IS NULL THEN
|
||||
-- LET labor = 0
|
||||
-- END IF
|
||||
-- IF gasto IS NULL THEN
|
||||
-- LET gasto = 0
|
||||
-- END IF
|
||||
-- LET labor = labor+((GROUP SUM(x.cantidad))* GROUP AVG(x.valor_labor))
|
||||
-- LET gasto = gasto+((GROUP SUM(x.cantidad))* GROUP AVG(x.gasto_ind))
|
||||
--AFTER GROUP OF x.origen
|
||||
-- PRINT COLUMN 10, x.origen,"---> ",
|
||||
-- COLUMN i, GROUP SUM(x.cantidad) USING "##,###,##&.&&","|",
|
||||
-- COLUMN i+14, x.valor_labor USING "##,##&.&&","|",
|
||||
-- COLUMN i+24, (GROUP SUM(x.cantidad))*x.valor_labor
|
||||
-- USING "##,###,##&.&&","|",
|
||||
-- COLUMN i+38, x.gasto_ind USING "##,##&.&&","|",
|
||||
-- COLUMN i+48, (GROUP SUM(x.cantidad))*x.gasto_ind
|
||||
-- USING "##,###,##&.&&","|"
|
||||
--
|
||||
--
|
||||
--ON LAST ROW
|
||||
--
|
||||
-- PRINT COLUMN 1,negrillas_on
|
||||
-- PRINT COLUMN 1,
|
||||
-- "----------------------------------------------------------------------------",
|
||||
-- "----------------------------------------------------------------------------",
|
||||
-- "--------------------------------------------------------------------"
|
||||
-- PRINT COLUMN 10,"Totales --->";
|
||||
-- LET j = 30
|
||||
-- FOR idx = 1 TO jdx
|
||||
-- PRINT COLUMN j, " "; #total_1[idx] USING " ";
|
||||
-- LET j = j + 11
|
||||
-- END FOR
|
||||
-- PRINT COLUMN j+2, " ",#SUM(x.cantidad) USING "#,###,###,##&.&&","|",
|
||||
-- COLUMN j+24, labor USING "##,###,##&.&&",
|
||||
-- COLUMN j+48, gasto USING "##,###,##&.&&"
|
||||
-- LET labor = 0
|
||||
-- LET gasto = 0
|
||||
--
|
||||
-- PRINT COLUMN 1,
|
||||
-- "============================================================================",
|
||||
-- "============================================================================",
|
||||
-- "===================================================================="
|
||||
-- FOR idx = 1 to jdx
|
||||
-- LET total_1[idx] = 0
|
||||
-- END FOR
|
||||
-- PRINT COLUMN 1,negrillas_off,normal,comp_off
|
||||
--END REPORT
|
||||
|
||||
--FUNCTION busca_semana()
|
||||
--
|
||||
-- OPEN WINDOW b_semana AT 10,10 WITH FORM "ctfmwd001"
|
||||
-- ATTRIBUTE(BORDER,FORM LINE FIRST + 1)
|
||||
--
|
||||
-- INPUT BY NAME ano,mes
|
||||
--
|
||||
-- AFTER FIELD ano
|
||||
-- IF ano IS NULL THEN
|
||||
-- LET numero_msg = 16
|
||||
-- CALL msg(numero_msg)
|
||||
-- NEXT FIELD ano
|
||||
-- END IF
|
||||
--
|
||||
-- AFTER FIELD mes
|
||||
-- IF mes IS NULL THEN
|
||||
-- LET numero_msg = 16
|
||||
-- CALL msg(numero_msg)
|
||||
-- NEXT FIELD mes
|
||||
-- END IF
|
||||
-- END INPUT
|
||||
--
|
||||
-- DECLARE buscar CURSOR FOR
|
||||
-- SELECT a.num_semana,a.semana_del,a.semana_al FROM prtb00002 a
|
||||
-- WHERE a.mes = mes AND a.ano = ano
|
||||
--
|
||||
-- LET idx = 1
|
||||
-- FOREACH buscar INTO datos_semana[idx].*
|
||||
-- LET idx = idx + 1
|
||||
-- END FOREACH
|
||||
--
|
||||
-- CALL SET_COUNT(idx - 1)
|
||||
--
|
||||
-- DISPLAY ARRAY datos_semana TO scr_seman.*
|
||||
-- LET curr = scr_line()
|
||||
-- CLOSE WINDOW b_semana
|
||||
-- RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
FUNCTION departamentos_produccion()
|
||||
DEFINE
|
||||
pdepartamento SMALLINT,
|
||||
pdescripcion CHAR(30),
|
||||
kdepto ui.ComboBox
|
||||
LET kdepto = ui.ComboBox.forName("formonly.departamento")
|
||||
CALL kdepto.clear()
|
||||
|
||||
DECLARE busca_dpto CURSOR FOR
|
||||
SELECT a.departamento, a.nom_dpto
|
||||
FROM adtb00001 a
|
||||
WHERE a.status_t IS NULL AND a.tipo_departamento = 'PRODUCCION'
|
||||
ORDER BY a.nom_dpto
|
||||
|
||||
FOREACH busca_dpto INTO pdepartamento, pdescripcion
|
||||
CALL kdepto.additem(pdepartamento, pdescripcion)
|
||||
END FOREACH
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION selectOutput()
|
||||
DEFINE
|
||||
r_output STRING, -- output format option
|
||||
r_action STRING, -- used to set preview option
|
||||
r_filename STRING, -- filename of Report Design document (the .4rp filename)
|
||||
preview INTEGER -- preview option TRUE/FALSE, to display report in Report Viewer
|
||||
|
||||
-- display form allowing user to select the .4rp filename and output options
|
||||
#CLOSE WINDOW SCREEN
|
||||
OPTIONS INPUT WRAP
|
||||
OPEN WINDOW f_configuration WITH FORM "Configuration"
|
||||
LET INT_FLAG=FALSE
|
||||
LET preview = FALSE
|
||||
INPUT BY NAME r_output
|
||||
ON ACTION CANCEL
|
||||
EXIT PROGRAM
|
||||
ON ACTION CLOSE
|
||||
EXIT PROGRAM
|
||||
END INPUT
|
||||
CLOSE WINDOW f_configuration
|
||||
CALL ui.interface.refresh()
|
||||
|
||||
-- set preview variable to match output option r_action
|
||||
IF r_action IS NOT NULL THEN
|
||||
IF r_action == "preview" THEN
|
||||
LET preview = TRUE
|
||||
END IF
|
||||
END IF
|
||||
|
||||
--return report name (filename of Report Design Document) and output option variables to be used to configure the report engine
|
||||
RETURN r_output
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION configureOutput(tipo_file)
|
||||
DEFINE tipo_file CHAR(3)
|
||||
IF NOT fgl_report_loadCurrentSettings(NULL) THEN
|
||||
RETURN NULL
|
||||
END IF
|
||||
# CALL fgl_report_selectLogicalPageMapping("multipage")
|
||||
# CALL fgl_report_configureMultipageOutput(2, 4, TRUE)
|
||||
CALL fgl_report_setPageMargins("0.5cm", "0.5cm", "0.5cm", "0.5cm")
|
||||
--CALL fgl_report_selectDevice("XLS")
|
||||
# CALL fgl_report_selectDevice(getPreviewDevice())
|
||||
# CALL fgl_report_configureCompatibilityOutput(1,'Franklin Gothic Heavy',false,'existencia',NULL,NULL)
|
||||
CALL fgl_report_selectDevice(tipo_file)
|
||||
CALL fgl_report_configurexlsxdevice(NULL, NULL, NULL, FALSE, FALSE, NULL, 1)
|
||||
CALL fgl_report_selectPreview(TRUE)
|
||||
RETURN fgl_report_commitCurrentSettings()
|
||||
|
||||
RETURN NULL
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user