4.3 KiB
Estructura del proyecto MBSerp_new3 (Genero 6)
Cómo organizar grupos y librerías del proyecto GST limpio para la migración.
Reemplaza el .4pw viejo (MBSVG240), que tenía nombres de librería duplicados y rutas muertas.
⚠️ Regla de oro
Cada librería debe tener un binaryName ÚNICO. El proyecto viejo tenía 4 librerías llamadas
FORMULARIOS → colisión (GS-12528 / .42x conflicts) → no compilaba. Sufija siempre por módulo
(FORMULARIOS_VE, FORMULARIOS_CG, …).
Nivel 1 — Grupo COMUNES (lo compartido; se compila una vez)
| Librería (nombre único) | Contenido |
|---|---|
SCHEMA (o dabase) |
Esquema de BD: ../DATABASE/smarmotech.4db (+ los .4db que apliquen) |
FUNCIONES |
Funciones comunes: autentificacion.4gl, seg000.4gl, msg.4gl, mensajes.4gl (mbox_msg/mbox_yn), combos (ano/mes/din), bancos, proveedores, zonas, paises, localidades, etc. |
FUNCIONESREP |
Funciones/plantillas de reportes compartidas |
FUNCIONESEMAIL |
Envío de correo (enviacorreo, enviaencuesta…) |
STYLES |
Todos los .4st: mainmenu, mainmenu_A/B/C/D, formularios, mbsStyle |
FORMULARIOSCOM |
Forms compartidos: mainmenuform, inicial, cambia, MainDisp |
App MAINMENU |
otrodir/MainMenu.4gl — deps: SCHEMA, FUNCIONES, STYLES, FORMULARIOSCOM |
El
MBSerp_new3ya trae un CORE inicial (Database, FUNCIONES, STYLES, FORMULARIOS, MAINMENU). Solo hay que completarlo, renombrar con nombres únicos y agruparlo enCOMUNES.
Nivel 2 — Un GRUPO por módulo (solo los que tienen programas activos)
Cada grupo de módulo lleva:
FORMULARIOS_<xx>→ los forms del módulo (nombre único).- (opcional)
FUNCIONES_<xx>→ funciones propias del módulo, si tiene. - Applications → cada programa ejecutable del módulo = un App node con su
.4gl.- deps de cada App:
SCHEMA, FUNCIONES, STYLES, FORMULARIOS_<xx>(+FUNCIONESREPsi es reporte, +FUNCIONESEMAILsi manda correo).
- deps de cada App:
Los
.4glque son funciones/combos (no ejecutables) van en una LIBRERÍA, no como App.
Módulos a crear (por reparto) — verifica el dir real de cada uno
| Módulo | Carpeta (dir) | Librería de forms | Responsable |
|---|---|---|---|
| Contabilidad General | cgdir |
FORMULARIOS_CG |
Jhonny |
| Tesorería | tedir |
FORMULARIOS_TE |
Jhonny |
| Activos | acdir |
FORMULARIOS_AC |
Jhonny |
| Cheques | (confirmar) | FORMULARIOS_CH |
Jhonny |
| Informática | sedir/otrodir |
FORMULARIOS_INF |
Jhonny |
| Repuestos | irdir (PROYECTOS) |
FORMULARIOS_IR |
Jhonny |
| Cuentas por Pagar | cpdir |
FORMULARIOS_CP |
Abel |
| Compras | codir |
FORMULARIOS_CO |
Abel |
| Nómina | nodir |
FORMULARIOS_NO |
Abel |
| Admin. Personal | addir |
FORMULARIOS_AD |
Abel |
| Costos | ctdir |
FORMULARIOS_CT |
Jeilyn |
| Liquidación Mercancías | lqdir |
FORMULARIOS_LQ |
Jeilyn |
| Producción | prdir |
FORMULARIOS_PR |
Jeilyn |
| Materia Prima | indir (PROYECTOS) |
FORMULARIOS_IN |
Jeilyn |
| Productos Terminados | ipdir (PROYECTOS) |
FORMULARIOS_IP |
Jeilyn |
| Rep. Entradas Productos | (reportes inv.) | FORMULARIOS_REP_IP |
Jeilyn |
| Cuentas por Cobrar | ccdir |
FORMULARIOS_CC |
Luis Miguel |
| Ventas | vedir |
FORMULARIOS_VE |
Luis Miguel |
| Servicios | svdir |
FORMULARIOS_SV |
Luis Miguel |
(Ajusta los dir que difieran — tú los conoces mejor. El nombre de la librería es lo que debe ser único.)
Qué NO incluir (para mantenerlo limpio)
- WEBSERVICES y MOVIL401 → proyectos aparte (su propio
.4pwy deploy). No van aquí. - menup, dashboard, ENCUESTAS, DOCUMENTACION, PRESUPUESTOG, PUNTOVENTAS, GERENCIALES → solo si tienen programas en el menú activo; si no, fuera (se agregan luego si hacen falta).
Cómo poblar (incremental)
- Crea el esqueleto: grupo
COMUNES(completo) + los grupos de módulo con suFORMULARIOS_<xx>vacía. - Compila y corre MAINMENU (debe levantar el menú).
- Por cada programa migrado (por ticket): Add Application en su grupo, agrega el
.4gl+ su form, pon las dependencias, Build. Si el linker dice "function X not found", agrega el.4glque la define. git commit+git push.
Así el proyecto siempre compila y crece de forma ordenada, sin el caos del
.4pwviejo.