Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Diferenças entre Inicializador Padrão e Inicializados de Browse

O Inicializador Padrão (X3_RELACAO) define o valor inicial de um campo ao incluir um novo registro, preenchendo automaticamente o campo. Já o Inicializador de Browse (X3_INIBRW) exibe um conteúdo virtual em listagens (browse) sem gravar dados na tabela, mostrando informações em tempo real. Ambos são expressões AdvPL configuradas no dicionário de dados via SIGACFG, com finalidades distintas.

Dúvida 
Qual a diferença entre o Inicializador Padrão e o Inicializador de Browse no Protheus?

 

Ambiente 
Cross Segmento - TOTVS Backoffice (Linha Protheus) - ADVPL - Todas as versões

 

Solução 
Ambos os inicializadores são expressões AdvPL configuradas no Dicionário de Dados (SX3) via módulo Configurador (SIGACFG), porém atuam em momentos e com finalidades diferentes no sistema:

  • Inicializador Padrão (X3_RELACAO):

    • Objetivo: Definir o conteúdo inicial e sugerido para um campo no exato momento da inclusão de um novo registro. A expressão é avaliada ao abrir a tela ou ao adicionar uma nova linha em um grid.

    • Exemplo 1 (Utilizando IIF): Sugerir um valor baseado no conteúdo de um parâmetro do sistema.
      IIF(GetMV("MV_MEUPAR") == "S", "1", "2") (Se o parâmetro for "S", o campo já nasce preenchido com "1", caso contrário, "2".)

    • Exemplo 2 (Utilizando Posicione): Sugerir a descrição de uma condição de pagamento padrão gravada em outra tabela.
      Posicione("SE4", 1, xFilial("SE4") + "001", "E4_DESCRI") (Ao incluir o registro, o campo será preenchido automaticamente com a descrição da condição de pagamento de código "001".)

  • Inicializador de Browse (X3_INIBRW):

    • Objetivo: Definir o conteúdo de exibição de um campo (campo virtual) durante a montagem da tela de listagem inicial (Browse / FWmBrowse). Ele não grava dados fisicamente na tabela corrente, apenas exibe a informação em tempo real na listagem.

    • Exemplo 1 (Utilizando IIF): Exibir um texto amigável no grid de listagem baseado em um campo de status interno da tabela.
      IIF(SC5->C5_TIPO == "N", "Normal", "Outros") (Na tela de browse, ao invés de exibir apenas "N", o sistema exibirá a palavra "Normal" na coluna do campo.)

    • Exemplo 2 (Utilizando Posicione): Exibir o Nome do Cliente na listagem de Pedidos de Venda, sem precisar criar um campo físico de Nome no pedido.
      Posicione("SA1", 1, xFilial("SA1") + SC5->C5_CLIENTE + SC5->C5_LOJACLI, "A1_NOME") (Durante a renderização da tela de listagem, o sistema busca na tabela de Clientes (SA1) o nome correspondente ao código e loja gravados no Pedido (SC5), exibindo-o na coluna.)

       

Observação Importante: As expressões e funções AdvPL apresentadas acima são meramente ilustrativas. As lógicas, condições, tabelas e regras de negócio inseridas nos campos de inicializadores ficam inteiramente a critério do analista ou desenvolvedor responsável pela parametrização, devendo ser adequadas à realidade e necessidade de cada ambiente.

 

Passos 

Para inserir essas expressões no dicionário:

  1. Acesse o módulo Configurador (SIGACFG).

  2. Siga pelo menu em Base de Dados > Dicionário > Base de Dados.

  3. Pesquise a tabela correspondente e acesse a área de Campos.

  4. Edite o campo desejado e navegue até a aba Opções.

  5. No bloco de propriedades, preencha os campos Inicializador Padrão ou Iniciaizador de Browse com as funções ou expressões AdvPL desejadas ou instruções fixas como caracteres ou numéricos, de acordo com o tipo do campo e dado que queira apresentar.

  6. Salve a alteração e atualize o dicionário de dados (opção de atualização no SIGACFG) para a mudança ser aplicada.

 

Saiba Mais

Dicas de desenvolvimento e como utilizar as plataformas TOTVS
Linguagem AdvPL

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _