CONTEÚDO

  1. Visão Geral
  2. Regras e Definições
  3. Exemplo da seção AddFields

01. VISÃO GERAL

Para o processamento de campos sem tag, sejam eles customizados ou padrão, foi implementada uma melhoria na mensagem EAI CustomerVendor, Seller, Order e PriceListHeaderItem para integrar os campos ao JSON, sem a necessidade de customizar o Protheus.

02. REGRAS E DEFINIÇÕES

Processamento no Envio

No processo de envio, os campos customizados e padrão que não possuírem as tags, mas apresentarem conteúdo preenchido, serão adicionados a uma seção denominada "AddFields" no JSON.

Essa seção conterá:


Para habilitar o envio dos campos sem tag e/ou customizados nas mensagens EAI é necessário configurar o parâmetro MV_EAIFLDS.

O parâmetro MV_EAIFLDS (Tipo Caracter) contém 4 posições, considerando a seguinte estrutura:

Cada posição do parâmetro representa uma rotina para habilitar o envio dos campos customizados e padrão que não possuem tag, onde:

    • 0 - Desabilita o envio dos campos sem tag e customizados.
    • 1 - Habilita o envio dos campos sem tag e customizados.


1.1 Acesse o módulo Configurador > Cadastros > Parâmetros

1.2 Clique em Incluir.


1.3 Preencher os campos conforme as imagens abaixo,
      Nome de Var.: MV_EAIFLDS 
      Tipo: 1 - Caractere
      Cont. Por: 0000


      Descrição: Controle para envio de campos sem tag via mensagem
      Cont.Descriç:  EAI JSON. Posicoes: Clientes/Vendedores/Pedidos de
      Cont.Descriç:   Venda/Tabela de Precos                           

1.4 Clicar em Salvar.

Processamento no Recebimento

A leitura dos campos sem tag para o recebimento de mensagens EAI não requer a configuração do parâmetro MV_EAIFLDS.

Durante o recebimento, os dados presentes na seção "AddFields" seguirão a mesma estrutura definida no envio, contendo os atributos "Field" e "Content". Esses campos serão adicionados ao array correspondente aos campos já tagueados, permitindo o processamento contínuo da mensagem.

  1. Campos sem tag - mensagem de recebimento:
    • Os campos sem tag a serem gravados por exemplo, nas tabelas SA1, AI0, SA3, SC5, SC6, DA0 e DA1 são de responsabilidade do cliente, assim como o conteúdo a ser gravado nesses campos;
  2. Exclusões na seção "AddFields":
    • Os campos já contidos em tags não serão incluídos na seção "AddFields".

03. EXEMPLO DA SEÇÃO ADDFIELDS


Exemplo de JSON no envio (cadastro de cliente com campos adicionais):

      "AddFields":[
         {
            "Field":"A1_BCO1",
            "Content":"000"
         },
         {
            "Field":"A1_BCO2",
            "Content":"111"
         },
         {
            "Field":"A1_RISCO",
            "Content":"A"
         },
         {
            "Field":"AI0_RECPIX",
            "Content":"1"
         },
         {
            "Field":"AI0_EMAPIX",
            "Content":"[email protected]                                                                                  "
         }
      ]


Exemplo de JSON sobre como enviar as informações para cada tipo de campo (Caracter, Numérico, Data, Memo e Lógico):

      "AddFields":[       
	  {
        "Field": "C5_VEND2", 
        "Content": "000002"                  -> Campo character
      },
      {
        "Field": "C5_COMIS2",
        "Content": 9	 	                 -> Campo Numérico
      },
      {
        "Field": "C5_FECENT",
        "Content": "2025-07-31T00:00:00"     -> Campo Data
   	  },
      {
        "Field": "C5_TESTE",
        "Content": "Texto Campo Memo"        -> Campo Memo
   	  },
      {
        "Field": "C5_TESTE2",
        "Content": true                      -> Campo Lógico
   	  },
	  ]