Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : NOPRRP003
|
||||
OBJETIVO : Reporte de Herramientas por Empleado (adtb00057)
|
||||
DESARROLLADOR : Ing. Elvis Garcia
|
||||
-------------------------------------------------------------------------------
|
||||
Version .4rp: el reporte NO formatea columnas. Solo hace PRINTX; el diseno
|
||||
visual vive en noprrp003.4rp (Report Studio).
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS "noprgb000.4gl"
|
||||
|
||||
DEFINE inv DYNAMIC ARRAY OF RECORD
|
||||
num_emp INT,
|
||||
nombre_emp STRING,
|
||||
departamento SMALLINT,
|
||||
nom_dpto STRING,
|
||||
fecha DATE,
|
||||
codigo STRING,
|
||||
descripcion STRING,
|
||||
documento STRING,
|
||||
cantidad DECIMAL(18,5)
|
||||
END RECORD
|
||||
|
||||
DEFINE p_num_emp_desde, p_num_emp_hasta INT
|
||||
DEFINE p_departamento SMALLINT
|
||||
DEFINE p_nom_desde, p_nom_hasta STRING
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
CALL noprrp003()
|
||||
END MAIN
|
||||
|
||||
FUNCTION noprrp003()
|
||||
DEFINE handler om.SaxDocumentHandler
|
||||
DEFINE r_filename STRING
|
||||
DEFINE r_output STRING
|
||||
DEFINE preview INT
|
||||
DEFINE idx INT
|
||||
DEFINE query STRING
|
||||
DEFINE criterio STRING
|
||||
|
||||
OPEN FORM f FROM "nofmrp003"
|
||||
DISPLAY FORM f
|
||||
|
||||
CALL carga_deptos()
|
||||
CONSTRUCT criterio ON a.num_emp, e.departamento
|
||||
FROM num_emp, departamento
|
||||
|
||||
IF int_flag THEN
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET query =
|
||||
"SELECT a.num_emp, ",
|
||||
" RTRIM(e.nom1_emp)+' '+RTRIM(ISNULL(e.apell1_emp,'')), ",
|
||||
" e.departamento, ",
|
||||
" RTRIM(ISNULL(d.nom_dpto,'')), ",
|
||||
" a.fecha, a.codigo, ",
|
||||
" RTRIM(ISNULL(b.descrip_esp,'')), ",
|
||||
" a.documento, a.cantidad ",
|
||||
" FROM adtb00057 a ",
|
||||
" LEFT JOIN adtb00003 e ON e.num_emp = a.num_emp ",
|
||||
" LEFT JOIN adtb00001 d ON d.departamento = e.departamento ",
|
||||
" LEFT JOIN irtb00002 b ",
|
||||
" ON CAST(b.cod_n AS VARCHAR(10))+'-'+ ",
|
||||
" CAST(b.cod_grupo AS VARCHAR(10))+'-'+ ",
|
||||
" CAST(b.cod_tipo AS VARCHAR(10))+'-'+ ",
|
||||
" CAST(b.cod_sec AS VARCHAR(10)) = a.codigo ",
|
||||
" WHERE ", criterio CLIPPED, " AND e.status_t is null ",
|
||||
" ORDER BY e.departamento, a.num_emp, a.fecha "
|
||||
|
||||
PREPARE p_rep FROM query
|
||||
DECLARE cur_rep CURSOR FOR p_rep
|
||||
|
||||
CALL inv.clear()
|
||||
LET idx = 1
|
||||
FOREACH cur_rep INTO inv[idx].*
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
|
||||
IF idx > 1 THEN
|
||||
LET r_filename = "noprrp003.4rp"
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN
|
||||
LET preview = 1
|
||||
CALL selectoutput2() RETURNING r_output
|
||||
CALL fgl_report_selectDevice(r_output)
|
||||
CALL fgl_report_selectPreview(preview)
|
||||
LET handler = fgl_report_commitCurrentSettings()
|
||||
END IF
|
||||
|
||||
START REPORT rep_herr TO XML HANDLER handler
|
||||
FOR idx = 1 TO inv.getLength()
|
||||
OUTPUT TO REPORT rep_herr(inv[idx].*)
|
||||
END FOR
|
||||
FINISH REPORT rep_herr
|
||||
ELSE
|
||||
CALL fgl_winmessage("INFO","NO EXISTEN REGISTROS","INFO")
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION carga_deptos()
|
||||
DEFINE cb ui.ComboBox
|
||||
DEFINE cod SMALLINT
|
||||
DEFINE nom STRING
|
||||
LET cb = ui.ComboBox.forName("departamento")
|
||||
CALL cb.clear()
|
||||
CALL cb.addItem(NULL, "TODOS")
|
||||
DECLARE cur_dp CURSOR FOR
|
||||
SELECT departamento, nom_dpto FROM adtb00001
|
||||
WHERE status_t IS NULL ORDER BY nom_dpto
|
||||
FOREACH cur_dp INTO cod, nom
|
||||
CALL cb.addItem(cod, nom)
|
||||
END FOREACH
|
||||
END FUNCTION
|
||||
|
||||
REPORT rep_herr(x)
|
||||
DEFINE x RECORD
|
||||
num_emp INT,
|
||||
nombre_emp STRING,
|
||||
departamento SMALLINT,
|
||||
nom_dpto STRING,
|
||||
fecha DATE,
|
||||
codigo STRING,
|
||||
descripcion STRING,
|
||||
documento STRING,
|
||||
cantidad DECIMAL(18,5)
|
||||
END RECORD
|
||||
|
||||
ORDER EXTERNAL BY x.num_emp
|
||||
|
||||
FORMAT
|
||||
|
||||
BEFORE GROUP OF x.num_emp
|
||||
PRINTX x.num_emp, x.nombre_emp, x.departamento, x.nom_dpto
|
||||
|
||||
ON EVERY ROW
|
||||
PRINTX x.fecha, x.codigo, x.descripcion, x.documento, x.cantidad
|
||||
|
||||
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user