Añadir coprmt010, coprmt015, coprmt016, coprmt025 y coprcs005 (modulo COMPRAS)

- coprmt010 (Paises): corregir condicion invertida en "Escoger" que
  bloqueaba editar registros activos y solo permitia editar los ya
  eliminados (status_t != "E" -> = "E").
- coprmt016 (Terminos de Pago): usar el formulario .4fd (el .per no tenia
  el grid "Tabla" que el codigo espera); agregar columna "dias" faltante
  al INSERT (la tabla real tiene 9 columnas, el INSERT solo daba 8 valores
  sin lista de columnas explicita).
- coprmt025 (Requisicion Compras): agregar funciones faltantes
  (busca_departamento2 en depto.4gl, enviaemail en FUNCIONESEMAIL);
  sincronizar el RECORD "data" y la aridad de RETURNING de ApiMaintainC
  con el fix de api_test.4gl; reemplazar fgl_report_* (no disponible) por
  om.XmlWriter en las 3 rutas de impresion.
- coprmt015 y coprcs005: sin cambios de codigo, solo registro en el
  proyecto.
- mbsERP.4pw: registrar los 5 programas; investigar/configurar Java para
  coprmt025 (FGLJVMPATH/JAVA_HOME/CLASSPATH apuntando a un JRE Temurin
  8u504 local). Pendiente: el puente Java de esta instalacion de Genero
  sigue fallando ("Can not create java VM") incluso con el ejemplo oficial
  de FGL: parece un problema de la instalacion misma, no de version de
  Java. Se sugirio reparar via MsiExec /f {3B1E10F3-FBCC-4737-8BDF-284359029D70}
  (Four Js Genero BDL with Web Services 6.00.02), pendiente de ejecutar.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Abel López
2026-08-27 16:18:51 -04:00
co-authored by Claude Sonnet 5
parent 43d5a218e7
commit b05e858ac6
4 changed files with 63 additions and 15 deletions
+27 -10
View File
@@ -35,7 +35,10 @@ DEFINE xusername,xsmtphost,xsmtpport,xpassword STRING,
toEmail, orden_trabajo, answer_workorder, descrip_depto STRING, depto INT
DEFINE data RECORD
-- Debe coincidir exactamente (mismos campos, mismo orden) con el RECORD
-- "data" del parametro de ApiMaintainC() en otrodir/api_test.4gl: el
-- enlazador exige la misma aridad en todos los llamadores.
DEFINE data RECORD
area_sp VARCHAR(10),
ciu_sp VARCHAR(30),
cod_pais VARCHAR(3),
@@ -43,6 +46,7 @@ DEFINE data RECORD
cod_sp_sec SMALLINT,
cont_sp VARCHAR(30),
contactID INTEGER,
cuenta_no VARCHAR(10),
dir_sp VARCHAR(60),
email VARCHAR(60),
fax_sp VARCHAR(25),
@@ -50,14 +54,18 @@ DEFINE data RECORD
fech_mod DATETIME YEAR TO FRACTION,
id_maintainx INTEGER,
nom_sp VARCHAR(41),
rnc VARCHAR(11),
status_t VARCHAR(1),
tel_sp VARCHAR(25),
term_sp SMALLINT,
tipo_doc VARCHAR(10),
us_crea VARCHAR(50),
us_mod VARCHAR(50)
END RECORD
DEFINE container RECORD
DEFINE p_reportfile STRING
DEFINE container RECORD
tipo_inv STRING,
cod_n INT,
cod_grupo INT,
@@ -110,7 +118,8 @@ FUNCTION coprmt025()
END FUNCTION
FUNCTION copcad025()
DEFINE tiene_Dato CHAR(2), answer STRING
DEFINE tiene_Dato CHAR(2), answer STRING
DEFINE answer2 INTEGER
INITIALIZE depto TO NULL
# Captura los datos que va a contener el registro
@@ -312,7 +321,7 @@ FUNCTION copcad025()
INITIALIZE data.* TO NULL
CALL ApiMaintainC('CHECK', orden_trabajo, data.*, usuarios) RETURNING answer
CALL ApiMaintainC('CHECK', orden_trabajo, data.*, usuarios) RETURNING answer, answer2
IF answer = 0 OR answer IS NULL THEN
@@ -732,8 +741,8 @@ ON ACTION guardar ATTRIBUTE(TEXT="Salvar", IMAGE="save")
ELSE
CALL ApiMaintainC('PATCH_WORKORDER',answer_workorder, Data.*, usuarios)
RETURNING answer
CALL ApiMaintainC('PATCH_WORKORDER',answer_workorder, Data.*, usuarios)
RETURNING answer, answer2
IF answer != 1 THEN
DISPLAY "AQUI PATCH_WORKORDER"
@@ -777,8 +786,12 @@ ON ACTION guardar ATTRIBUTE(TEXT="Salvar", IMAGE="save")
COMMIT WORK
CALL seleccionarsalida() RETURNING salida
CALL configureoutput(salida) RETURNING HANDLER
-- 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 la vista previa/exportacion nativa.
LET p_reportfile = FGL_GETENV("FGLSPOOL"), "/coprmt025_req1.xml"
LET handler = om.XmlWriter.createFileWriter(p_reportfile)
START REPORT print_req TO XML HANDLER HANDLER
PREPARE query FROM
@@ -894,7 +907,9 @@ ON ACTION guardar ATTRIBUTE(TEXT="Salvar", IMAGE="save")
COMMIT WORK
CALL seleccionarsalida() RETURNING salida
CALL configureoutput(salida) RETURNING HANDLER
-- Ver nota sobre fgl_report_* mas arriba en este archivo.
LET p_reportfile = FGL_GETENV("FGLSPOOL"), "/coprmt025_req2.xml"
LET handler = om.XmlWriter.createFileWriter(p_reportfile)
START REPORT print_req TO XML HANDLER HANDLER
PREPARE query FROM
@@ -1177,7 +1192,9 @@ FUNCTION copcmf025()
IF salida IS NULL THEN
LET salida = 'PDF'
END IF
CALL configureoutput(salida) RETURNING HANDLER
-- Ver nota sobre fgl_report_* mas arriba en este archivo.
LET p_reportfile = FGL_GETENV("FGLSPOOL"), "/coprmt025_req3.xml"
LET handler = om.XmlWriter.createFileWriter(p_reportfile)
START REPORT print_req TO XML HANDLER HANDLER
PREPARE query FROM