Compare commits

..
3 Commits
Author SHA1 Message Date
Abel López affc09c3e8 Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS 2026-09-03 16:57:12 -04:00
Abel LópezandClaude Sonnet 5 ee27da0669 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>
2026-09-03 16:51:11 -04:00
Abel LópezandClaude Sonnet 5 b27b20d42d Agregar noprmt002 (Movimientos Fijos Emp.) al modulo NOMINA
- Registrar noprmt002 en mbsERP.4pw junto con noprgb000.4gl
  (FUNCIONES_NO), nofmmt002.per/nofmwd001.per (FORMULARIOS_NO) y
  adfmwd004.per (FORMULARIOS_AD, compartido con ADMINISTRACION)
- Copiar el diccionario de esquema smarmotech.sch a nodir/addir
  (faltaba, igual que en otros directorios ya corregidos)
- Corregir typo "database marmotech" -> "smarmotech" en nofmwd001.per

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-03 12:12:06 -04:00
12 changed files with 59126 additions and 2851 deletions
File diff suppressed because it is too large Load Diff
+3
View File
@@ -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
File diff suppressed because it is too large Load Diff
+21 -3
View File
@@ -466,8 +466,24 @@
</Application>
</Group>
<Group id="1302820616" label="NOMINA">
<Library binaryName="FORMULARIOS_NO" id="-335228674" label="FORMULARIOS_NO"/>
<Library binaryName="FUNCIONES_NO" id="-306412216" label="FUNCIONES_NO"/>
<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"/>
@@ -556,7 +572,9 @@
</Library>
</Group>
<Group id="46006545" label="RECURSOS HUMANOS">
<Library binaryName="FORMULARIOS_AD" id="1612573873" label="FORMULARIOS_AD"/>
<Library binaryName="FORMULARIOS_AD" id="1612573873" label="FORMULARIOS_AD">
<File filePath="addir/adfmwd004.per"/>
</Library>
<Library binaryName="FUNCIONES_AD" id="114070979" label="FUNCIONES_AD"/>
</Group>
<Group id="-802694369" label="REPORTE ENTRADA">
+6 -9
View File
@@ -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
+1 -1
View File
@@ -7,7 +7,7 @@
FECHA REALIZACION : Agosto 20, 1993
------------------------------------------------------------------------
}
DATABASE marmotech
DATABASE smarmotech
SCREEN SIZE 24 by 80
{
Busqueda de Movimientos
+24 -8
View File
@@ -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()
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff