Agregar noprmt003 (Maestra de Empleados) al modulo NOMINA
- Registrar noprmt003 en mbsERP.4pw (FUNCIONES_NO: noprfu000.4gl, nocarnet.4gl; FORMULARIOS_NO: nofmmt003.4fd); reutiliza otrodir/departamentos.4gl ya presente en FUNCIONES - Actualizar el diccionario de esquema smarmotech.sch: faltaban las columnas telefonoCorporativo/numeroOficina/extension de adtb00003 (existen en la BD real pero no estaban en el diccionario, .42d se regenera solo al recompilar); propagado a todos los directorios - Desactivar el CONNECT TO "marmotech" AS "IFMX" (Informix ya no existe, todo migro a SQL Server) y el INSERT duplicado hacia esa conexion en el alta de empleados; sin esto el programa se colgaba al iniciar - Quitar CONVERT(...,103) de fechas en el SELECT/FETCH de empleados: se convertian a texto dd/mm/yyyy y luego se reasignaban a variables DATE, causando "-1205 Invalid month in date" con dias > 12 - Agregar BEFORE CONSTRUCT/END CONSTRUCT para poblar el combo de Departamento en la busqueda (faltaba, quedaba vacio) - Corregir foto de empleado que no se limpiaba al navegar Siguiente/Anterior hacia un empleado sin foto - nocarnet.4gl: sustituir fgl_report_* (API no disponible) por om.XmlWriter.createFileWriter() hacia FGLSPOOL Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
b27b20d42d
commit
ee27da0669
@@ -199,6 +199,9 @@ adtb00003^sexo^0^10^67^
|
||||
adtb00003^email_corporativo^201^100^68^
|
||||
adtb00003^enviar_encuesta^0^10^69^
|
||||
adtb00003^enviar_volante^0^10^70^
|
||||
adtb00003^telefonoCorporativo^0^15^71^
|
||||
adtb00003^numeroOficina^0^15^72^
|
||||
adtb00003^extension^0^5^73^
|
||||
adtb00004^cod_puesto^1^2^1^
|
||||
adtb00004^nom_puesto^0^180^2^
|
||||
adtb00004^otra_descripcion^0^180^3^
|
||||
|
||||
@@ -199,6 +199,9 @@ adtb00003^sexo^0^10^67^
|
||||
adtb00003^email_corporativo^201^100^68^
|
||||
adtb00003^enviar_encuesta^0^10^69^
|
||||
adtb00003^enviar_volante^0^10^70^
|
||||
adtb00003^telefonoCorporativo^0^15^71^
|
||||
adtb00003^numeroOficina^0^15^72^
|
||||
adtb00003^extension^0^5^73^
|
||||
adtb00004^cod_puesto^1^2^1^
|
||||
adtb00004^nom_puesto^0^180^2^
|
||||
adtb00004^otra_descripcion^0^180^3^
|
||||
|
||||
+3192
-994
File diff suppressed because it is too large
Load Diff
+8320
-835
File diff suppressed because it is too large
Load Diff
@@ -469,14 +469,21 @@
|
||||
<Library binaryName="FORMULARIOS_NO" id="-335228674" label="FORMULARIOS_NO">
|
||||
<File filePath="nodir/nofmmt002.per"/>
|
||||
<File filePath="nodir/nofmwd001.per"/>
|
||||
<File filePath="nodir/nofmmt003.4fd"/>
|
||||
</Library>
|
||||
<Library binaryName="FUNCIONES_NO" id="-306412216" label="FUNCIONES_NO">
|
||||
<File filePath="nodir/noprgb000.4gl"/>
|
||||
<File filePath="nodir/noprfu000.4gl"/>
|
||||
<File filePath="nodir/nocarnet.4gl"/>
|
||||
</Library>
|
||||
<Application binaryName="noprmt002" dependencies="-1026233879,-764824792,-306412216,-335228674,1612573873" id="-700000043" label="noprmt002">
|
||||
<Configuration commandLineArguments="alopez Lopez2023" id="-700000044" label="Configuration"/>
|
||||
<File filePath="nodir/noprmt002.4gl"/>
|
||||
</Application>
|
||||
<Application binaryName="noprmt003" dependencies="-1026233879,-764824792,-306412216,-335228674" environment="dir:FGLSPOOL=$(ProjectDir)/spool" id="-700000045" label="noprmt003">
|
||||
<Configuration commandLineArguments="alopez Lopez2023" id="-700000046" label="Configuration"/>
|
||||
<File filePath="nodir/noprmt003.4gl"/>
|
||||
</Application>
|
||||
</Group>
|
||||
<Group id="1667448785" label="PRODUCTOS TERMINADOS">
|
||||
<Library binaryName="FORMULARIOS_IP" id="-1826025351" label="FORMULARIOS_IP"/>
|
||||
|
||||
@@ -43,17 +43,14 @@ FUNCTION cardnet(xnumemp)
|
||||
xpais ,provincia
|
||||
|
||||
|
||||
LET r_filename = 'noprrp044.4rp'
|
||||
LET tmpfile = '.\\TMP\\tmpfoto.jpg'
|
||||
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
||||
LET preview=1
|
||||
LET r_output = 'SVG'
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
CALL fgl_report_selectPreview(preview) -- changing default
|
||||
CALL fgl_report_setPrinterSides("two-sided-short-edge")
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
END IF
|
||||
-- La API de configuracion de reportes (fgl_report_*) no esta
|
||||
-- disponible en este FGL; se escribe el XML directo a un
|
||||
-- archivo en FGLSPOOL en lugar de usar la plantilla .4rp
|
||||
-- (noprrp044.4rp) con vista previa del carnet.
|
||||
LET r_filename = FGL_GETENV("FGLSPOOL"), "/nocarnet_reporte.xml"
|
||||
LET handler = om.XmlWriter.createFileWriter(r_filename)
|
||||
|
||||
IF handler IS NOT NULL THEN -- report engine was configured ok
|
||||
START REPORT reporte TO XML HANDLER handler
|
||||
|
||||
@@ -35,7 +35,9 @@ MAIN
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT TO "marmotech" AS "IFMX" USER usuarios USING clave
|
||||
-- La conexion a Informix (marmotech/IFMX) ya no existe; el sistema
|
||||
-- fue migrado completo a SQL Server (smarmotech/MSSQL). Dejarla
|
||||
-- activa colgaba el programa al inicio intentando conectar.
|
||||
CONNECT to "smarmotech" AS "MSSQL" USER usuarios USING clave
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
CALL noprmt003()
|
||||
@@ -89,6 +91,9 @@ FUNCTION adpcmf022()
|
||||
IF operacion = "M" THEN
|
||||
CONSTRUCT criterio ON a.num_emp,a.departamento,a.nom1_emp,a.apell1_emp,a.nom2_emp,a.apell2_emp,a.cedula,a.alias
|
||||
FROM num_emp,departamento,nom1_emp,apell1_emp,nom2_emp,apell2_emp,cedula,alias
|
||||
BEFORE CONSTRUCT
|
||||
CALL departamentos()
|
||||
END CONSTRUCT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
@@ -100,18 +105,18 @@ FUNCTION adpcmf022()
|
||||
"SELECT a.num_emp,a.departamento,a.nivel_emp,
|
||||
a.cod_puesto,a.nom1_emp,a.nom2_emp,
|
||||
a.apell1_emp,a.apell2_emp,a.tipo_empleado,
|
||||
convert(char(10),a.fecha_termino_c,103),a.calle,a.casa_num,a.barrio,
|
||||
a.fecha_termino_c,a.calle,a.casa_num,a.barrio,
|
||||
a.urbanizacion,a.credito,a.telefono,a.telefonoCorporativo,a.numeroOficina,a.extension,
|
||||
convert(char(10),a.fech_nac,103),a.cod_nac,
|
||||
a.fech_nac,a.cod_nac,
|
||||
a.estado_civil,a.tipo_sangre,a.cedula,a.serie,
|
||||
a.licencia,a.sueldo_ac,a.nomina, CONVERT(char(10),a.fech_efec,103),
|
||||
CONVERT(CHAR(10),a.fecha_salida,103),a.paga_seg,a.cod_seg1,a.cod_seg2,",
|
||||
a.licencia,a.sueldo_ac,a.nomina, a.fech_efec,
|
||||
a.fecha_salida,a.paga_seg,a.cod_seg1,a.cod_seg2,",
|
||||
"a.cod_seg3,a.tipocuenta,a.cuenta_no,a.status_t,a.us_crea,
|
||||
a.fech_crea,a.us_mod,a.fech_mod,a.foto_empleado,a.sucid,",
|
||||
"a.monto_seg_med,a.monto_seg_int,a.monto_care,",
|
||||
"CONVERT(CHAR(10),a.fecha_ultimo_aumento,103),a.moneda,a.codbancodestino,",
|
||||
"a.fecha_ultimo_aumento,a.moneda,a.codbancodestino,",
|
||||
"a.digiverbancodestino,a.tipo_sueldo,a.email,a.email_corporativo, a.instalador,a.cuenta_aux,a.cuenta_out,
|
||||
CONVERT(CHAR(10),ISNULL(a.fecha_suspension,'01/01/2007'),103),
|
||||
a.fecha_suspension,
|
||||
a.codigo_retiro_bco,a.retiro_comercial,a.estado_legal,a.genera_file_bco,a.observacion,
|
||||
a.tipo_documento,a.gerentemarcas,a.enviar_encuesta,a.enviar_volante
|
||||
FROM adtb00003 a ",
|
||||
@@ -538,6 +543,12 @@ FUNCTION selecta1()
|
||||
|
||||
CALL emplea.foto_empleado.writeFile(filepath)
|
||||
DISPLAY filepath TO fotos
|
||||
ELSE
|
||||
-- Limpia la foto del empleado anterior cuando el actual no
|
||||
-- tiene una; sin esto, Siguiente/Anterior dejaban la imagen
|
||||
-- vieja en pantalla.
|
||||
LET filepath = NULL
|
||||
DISPLAY filepath TO fotos
|
||||
END IF
|
||||
|
||||
CALL carga_herramientas()
|
||||
@@ -1065,6 +1076,10 @@ FUNCTION acepta()
|
||||
usuarios,
|
||||
emplea.licencia, emplea.cod_seg3
|
||||
}
|
||||
-- Informix (IFMX) ya no existe; el sistema fue migrado completo
|
||||
-- a SQL Server. Este INSERT duplicado hacia la vieja base queda
|
||||
-- deshabilitado (ver nota en MAIN).
|
||||
{
|
||||
SET CONNECTION "IFMX"
|
||||
INSERT INTO adtb00003
|
||||
(num_emp,departamento,cod_puesto,nivel_emp,nom1_emp,
|
||||
@@ -1084,6 +1099,7 @@ FUNCTION acepta()
|
||||
emplea.tipo_sangre,emplea.sueldo_ac,
|
||||
emplea.nomina,emplea.paga_seg,emplea.cuenta_no,usuarios,GETDATE(),
|
||||
emplea.licencia,emplea.cod_seg3)
|
||||
}
|
||||
|
||||
LET numero_msg = 1
|
||||
CALL msg(numero_msg)
|
||||
@@ -1167,7 +1183,7 @@ FUNCTION carga_herramientas()
|
||||
LET i = i + 1
|
||||
END FOREACH
|
||||
IF i > 1 THEN
|
||||
CALL herramientas.deleteElement(i) -- quita el slot vacío final
|
||||
CALL herramientas.deleteElement(i) -- quita el slot vac�o final
|
||||
END IF
|
||||
|
||||
CALL muestra_herramientas()
|
||||
|
||||
@@ -199,6 +199,9 @@ adtb00003^sexo^0^10^67^
|
||||
adtb00003^email_corporativo^201^100^68^
|
||||
adtb00003^enviar_encuesta^0^10^69^
|
||||
adtb00003^enviar_volante^0^10^70^
|
||||
adtb00003^telefonoCorporativo^0^15^71^
|
||||
adtb00003^numeroOficina^0^15^72^
|
||||
adtb00003^extension^0^5^73^
|
||||
adtb00004^cod_puesto^1^2^1^
|
||||
adtb00004^nom_puesto^0^180^2^
|
||||
adtb00004^otra_descripcion^0^180^3^
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+11090
File diff suppressed because it is too large
Load Diff
+3192
-994
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user