Añadir modulo COMPRAS (coprmt001, coprmt009, coprmt016)

- coprmt001 (Suplidores): agregar campos faltantes (tipo_doc,rnc,cuenta_no)
  al RECORD interno de ApiMaintainC() en api_test.4gl, y unificar la
  aridad de RETURNING en las 3 llamadas (POST/PATCH/DELETE) - el
  enlazador exige el mismo numero de valores de retorno en todo el modulo.
- coprmt009 (Ordenes de Compra): reemplazar fgl_report_loadCurrentSettings/
  selectDevice/selectPreview/commitCurrentSettings (no disponibles en este
  FGL) por om.XmlWriter.createFileWriter en coprorden.4gl; agregar
  verificacion defensiva en lugarentrega.4gl (ui.combobox.forname puede
  devolver NULL si el formulario actual no tiene el combo "bodega"); quitar
  "ordenes.bodega" de los INPUT BY NAME (campo oculto, no se puede enlazar).
  Pendiente: probar el flujo completo de creacion de orden (se corto por
  una caida de conexion transitoria durante la prueba).
- coprmt016 (Terminos de Pago): CRUD simple, sin cambios de codigo.
- mbsERP.4pw: crear modulo COMPRAS (estaba vacio) con librerias
  FUNCIONES_CO y FORMULARIOS_CO, y registrar los 3 programas.
- otrodir/smarmotech.sch: diccionario de esquema completo (antes faltaba
  en este directorio, causaba fallos de link en api_test.4gl).
- .gitignore: excluir logs de STARTLOG() (bin/*.TXT) y archivos .err de
  compilacion.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Abel López
2026-08-25 16:58:59 -04:00
co-authored by Claude Sonnet 5
parent 347e8139fc
commit acacf34eea
8 changed files with 8963 additions and 33 deletions
+11 -2
View File
@@ -136,7 +136,12 @@ FUNCTION copcad009()
LABEL atras:
INPUT BY NAME ordenes.*, cod_mon, salida WITHOUT DEFAULTS
-- ordenes.bodega no se incluye: es un combo oculto (tabIndex=-1) en
-- cofmmt009 y "ordenes.*" fallaba con "Field (bodega) not found in form".
INPUT BY NAME ordenes.num_oc, ordenes.tipo, ordenes.fech_oc, ordenes.num_pr,
ordenes.cod_sp, ordenes.cod_sp_sec, ordenes.term_sp, ordenes.via,
ordenes.enviada, ordenes.fech_enviada, ordenes.pago, ordenes.fech_pago,
ordenes.cierre, ordenes.cod_pt, cod_mon, salida WITHOUT DEFAULTS
BEFORE INPUT
LET salida = "SVG"
LET ordenes.fech_oc = TODAY
@@ -1436,7 +1441,11 @@ FUNCTION copcmf009()
CONTINUE MENU
END IF
INPUT BY NAME ordenes.*, salida, cod_mon
-- ordenes.bodega excluido (ver nota en copcad009()).
INPUT BY NAME ordenes.num_oc, ordenes.tipo, ordenes.fech_oc, ordenes.num_pr,
ordenes.cod_sp, ordenes.cod_sp_sec, ordenes.term_sp, ordenes.via,
ordenes.enviada, ordenes.fech_enviada, ordenes.pago, ordenes.fech_pago,
ordenes.cierre, ordenes.cod_pt, salida, cod_mon
WITHOUT DEFAULTS
ATTRIBUTE(YELLOW)
BEFORE INPUT