Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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.

...

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á:

    • O nome do campo ("Field").
    • O respectivo conteúdo do campo ("Content").


Dica
titleParâmetro MV_EAIFLDS

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.


Expandir
titleInclusão manual do parâmetro MV_EAIFLDS

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.

...

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.

Aviso
  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

Card
id1
labelEnvio
effectTypefade


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

Bloco de código
languageyml
themeMidnight
firstline1
titleJSON de envio (GET)
linenumberstrue
      "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):

Bloco de código
languageyml
themeMidnight
firstline1
titleJSON de envio (GET)
linenumberstrue
      "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
   	  },
	  ]