Gestión de ambiente, empresa, filial y módulo
Define quién abre y cierra contexto Protheus.
Descripción general
RpcSetEnv elige empresa, filial, usuario, credencial, módulo y tablas en rutinas automáticas que necesitan contexto propio. Compruebe retorno lógico. Menú, Schedule preparado y servicios PrepareIn pueden poseer ambiente: no reinicialice ni cierre con RpcClearEnv. Desde 12.1.2510 se documenta excepción REST/SOAP con contexto preparado. LIB 20251117 admite token específico de totvs.framework.users.rpc.getAuthToken(), no tokens arbitrarios. El bloque solo prepara apertura, no ciclo completo. (Fuentes: refs. 1–1.)
Ejemplo comentado
#Include "Protheus.ch"
User Function Ed695()
// Credencial desde llamador autorizado; nunca registrar en log.
// Bloque no invocado: no cambia ambiente actual.
Local bAbrir := {|cEmpresa,cFilialDestino,cUsuario,cCredencial,cModulo| ;
RpcSetEnv(cEmpresa,cFilialDestino,cUsuario,cCredencial,cModulo)}
ConOut(ValType(bAbrir))
Return NilCrea bloque B sin autenticar, abrir ni cerrar ambiente. Integración debe comprobar .T. y limpiar solo contexto propio. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- No confunda restauración de área con cambio de empresa. Mantenga credenciales fuera del fuente/log; verifique derechos, módulo y propiedad.
- En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.