Archivos include de Protheus
#Include "<arquivo>.ch"Comprende la función de los archivos .ch y elige el include adecuado para cada contexto.
Descripción general
Los archivos include reúnen definiciones, constantes y comandos que el compilador necesita conocer al procesar código fuente AdvPL. La directiva #Include incorpora estas definiciones durante la compilación; no carga una biblioteca ejecutable en tiempo de ejecución. La carpeta de includes debe corresponder al entorno y estar correctamente configurada en la herramienta de compilación.
Sintaxis
#Include "<arquivo>.ch"Base general: TOTVS.ch
#Include "TOTVS.ch"
User Function ExInclude()
Local cMensagem := "Include general configurada"
MsgInfo(cMensagem)
ReturnUtiliza TOTVS.ch como include general en nuevos archivos fuente. PROTHEUS.ch sigue presente en muchos ejemplos y códigos existentes; RWMAKE.ch debe tratarse como heredado.
MVC: FWMVCDef.ch
#Include "TOTVS.ch"
#Include "FWMVCDef.ch"
User Function ExMVC()
Local oModel := FWLoadModel("MATA020")
oModel:SetOperation(MODEL_OPERATION_INSERT)
ReturnFWMVCDef.ch proporciona definiciones utilizadas por la arquitectura MVC, como las constantes de operación del modelo.
Consultas SQL: TopConn.ch
#Include "TOTVS.ch"
#Include "TopConn.ch"
User Function ExQuery()
Local cQuery := "SELECT A1_COD FROM " + RetSqlName("SA1")
TCQUERY (cQuery) ALIAS QRY NEW
QRY->(DbCloseArea())
ReturnTopConn.ch es necesario para comandos específicos de acceso relacional, como TCQUERY. La documentación oficial recomienda NEW para evitar cerrar involuntariamente el área de trabajo actual.
Preparación del entorno: TBICONN.ch
#Include "TOTVS.ch"
#Include "TBICONN.ch"
User Function ExAmbiente()
PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" MODULO "FAT"
ConOut("Entorno preparado")
RESET ENVIRONMENT
ReturnTBICONN.ch aparece en rutinas sin interfaz que utilizan PREPARE ENVIRONMENT y RESET ENVIRONMENT. Los valores de empresa, sucursal, módulo y tablas dependen del proceso ejecutado.
Servicios REST: RestFul.ch
#Include "TOTVS.ch"
#Include "RestFul.ch"
// Las declaraciones WSRESTFUL, WSDATA y WSMETHOD
// dependen de las definiciones proporcionadas por RestFul.ch.RestFul.ch se utiliza para declarar servicios REST AdvPL basados en los comandos y definiciones del framework REST.
- Utiliza solamente los includes necesarios para el recurso empleado en el código fuente.
- Mantén el paquete de includes alineado con la versión y actualización del entorno Protheus.
- Según la orientación oficial de TOTVS, prefiere TOTVS.ch como base general; apunta a PROTHEUS.ch y puede recibir definiciones futuras.
- Documenta los includes específicos cuando su ausencia no produzca un error de compilación intuitivo.
- RWMAKE.ch es un include antiguo y no se recomienda para nuevos desarrollos; el código heredado todavía puede utilizarlo.
- Una carpeta de includes ausente, desactualizada o de otra versión puede provocar comandos desconocidos, identificadores no encontrados o diferencias entre entornos.
- Agregar muchos includes indiscriminadamente puede ocultar las dependencias reales y dificultar el mantenimiento.
- No todas las funciones requieren un include específico; consulta la documentación del comando o recurso utilizado.
