MaSXBManager

Classe pra criar/editar consultas padrao do Protheus (tabela SXB). Substitui edicao manual via Configurador.

Assinatura: MaSXBManager():New() -> oManager

Retorna: object

Consultas padrao (F3 / browse de campos) sao cadastradas na tabela SXB. MaSXBManager permite manipular essas consultas via codigo — util pra deploy automatizado e patches.

Sintaxe basica

Local oMgr := MaSXBManager():New()

// Criar nova consulta padrao
oMgr:CreateNew("CXBCLI", "01", "SA1", "Cliente Custom")
oMgr:AddDescricao("01", "CXBCLI", "P", "Cliente Custom")
oMgr:AddDescricao("02", "CXBCLI", "P", "Pesquise pelo codigo")
oMgr:AddRetornoCampo("CXBCLI", "A1_COD")
oMgr:Save()

Uso real: padronizar consulta entre clientes

Em projeto multi-cliente, voce quer que todos tenham a mesma consulta padrao customizada. Em vez de cada um cadastrar manual via Configurador, voce roda um U_DeployConsultas() que usa MaSXBManager pra criar tudo do mesmo jeito.

Editar consulta existente

Local oMgr := MaSXBManager():New()
If oMgr:Load("CXBCLI")
    oMgr:SetWhere("A1_MSBLQL = '2'")  // so clientes ativos
    oMgr:Save()
EndIf

Pegadinha

Mudancas na SXB precisam de logout/login dos usuarios pra serem visiveis (cache de dicionario). Considere RPCSendMessage pra notificar.

Exemplos

Criar consulta

oMgr := MaSXBManager():New()
oMgr:CreateNew("CXBCLI", "01", "SA1", "Cli Custom")
oMgr:Save()

Veja também