Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNDAMENTOPublicado

Includes do Protheus

#Include "<arquivo>.ch"

Entenda o papel dos arquivos .ch e escolha a include adequada para cada contexto.

CompilaçãoConfiguraçãoSintaxe
01 · VISÃO GERAL

Visão geral

Arquivos de include reúnem definições, constantes e comandos que o compilador precisa conhecer ao processar um fonte AdvPL. A diretiva #Include incorpora essas definições durante a compilação; ela não carrega uma biblioteca executável em tempo de execução. A pasta de includes deve corresponder ao ambiente e estar corretamente configurada na ferramenta de compilação.

02 · SINTAXE

Sintaxe

#Include "<arquivo>.ch"
03 · EXEMPLO PRÁTICO

Base geral: TOTVS.ch

#Include "TOTVS.ch"

User Function ExInclude()
    Local cMensagem := "Include geral configurada"
    MsgInfo(cMensagem)
Return
Resultado esperado

Use TOTVS.ch como include geral em novos fontes. PROTHEUS.ch permanece presente em muitos exemplos e códigos existentes; RWMAKE.ch deve ser tratada como legado.

04 · EXEMPLO PRÁTICO

MVC: FWMVCDef.ch

#Include "TOTVS.ch"
#Include "FWMVCDef.ch"

User Function ExMVC()
    Local oModel := FWLoadModel("MATA020")

    oModel:SetOperation(MODEL_OPERATION_INSERT)
Return
Resultado esperado

FWMVCDef.ch fornece definições utilizadas pela arquitetura MVC, como as constantes de operação do modelo.

05 · EXEMPLO PRÁTICO

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())
Return
Resultado esperado

TopConn.ch é necessária para comandos específicos de acesso relacional, como TCQUERY. A documentação oficial recomenda NEW para evitar o fechamento involuntário da área atual.

06 · EXEMPLO PRÁTICO

Preparação de ambiente: TBICONN.ch

#Include "TOTVS.ch"
#Include "TBICONN.ch"

User Function ExAmbiente()
    PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" MODULO "FAT"

    ConOut("Ambiente preparado")

    RESET ENVIRONMENT
Return
Resultado esperado

TBICONN.ch aparece em rotinas sem interface que utilizam os comandos PREPARE ENVIRONMENT e RESET ENVIRONMENT. Os valores de empresa, filial, módulo e tabelas dependem do processo executado.

07 · EXEMPLO PRÁTICO

Serviços REST: RestFul.ch

#Include "TOTVS.ch"
#Include "RestFul.ch"

// As declarações WSRESTFUL, WSDATA e WSMETHOD
// dependem das definições fornecidas por RestFul.ch.
Resultado esperado

RestFul.ch é usada na declaração de serviços REST AdvPL baseados nos comandos e definições do framework REST.

BOAS PRÁTICAS
  • Use somente as includes necessárias ao recurso empregado pelo fonte.
  • Mantenha o pacote de includes alinhado ao release e à atualização do ambiente Protheus.
  • Segundo a orientação oficial da TOTVS, prefira TOTVS.ch como base geral; ela aponta para PROTHEUS.ch e pode receber definições futuras.
  • Documente includes específicas quando sua ausência não produzir um erro de compilação intuitivo.
ARMADILHAS COMUNS
  • RWMAKE.ch é uma include antiga e não é recomendada para novos desenvolvimentos; códigos legados ainda podem utilizá-la.
  • Uma pasta de includes ausente, desatualizada ou pertencente a outro release pode causar comandos desconhecidos, identificadores não encontrados ou diferenças entre ambientes.
  • Adicionar várias includes indiscriminadamente pode ocultar dependências reais e dificultar a manutenção.
  • Nem toda função exige uma include específica; consulte a documentação do comando ou recurso utilizado.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. ADV0100 — Qual include utilizar: RWMAKE.ch, PROTHEUS.ch ou TOTVS.ch. TDN.
  2. TOTVS. AdvPL — Comandos: configuração da pasta de includes. TDN.
  3. TOTVS. Comando TCQUERY e TopConn.ch. TDN.
  4. TOTVS. Manual AdvPL utilizando MVC, versão 4.0.
  5. TOTVS. Primeira API REST em AdvPL e RestFul.ch. TDN.
  6. TOTVS. #include — diretiva para inclusão de arquivos durante a compilação. TDN.
  7. TOTVS. AdvPL utilizando MVC. PDF fornecido ao projeto, 134 páginas, gerado em 1 jun. 2018; conteúdo relacionado revisado em 2 ago. 2026.
  8. TOTVS. Desenvolvendo queries no Protheus. TDN.
  9. MICROSIGA. Manual de Programação. Documento colaborativo, arquivo datado de 11 jul. 2001. Referência histórica.
Situação
Publicado
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR