...
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 |
|---|
| title | Parâ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 |
|---|
| title | Inclusã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 |
|---|
- 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;
- 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 |
|---|
| id | 1 |
|---|
| label | Envio |
|---|
| effectType | fade |
|---|
|
Exemplo de JSON no envio (cadastro de cliente com campos adicionais): | Bloco de código |
|---|
| language | yml |
|---|
| theme | Midnight |
|---|
| firstline | 1 |
|---|
| title | JSON de envio (GET) |
|---|
| linenumbers | true |
|---|
| "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 |
|---|
| language | yml |
|---|
| theme | Midnight |
|---|
| firstline | 1 |
|---|
| title | JSON de envio (GET) |
|---|
| linenumbers | true |
|---|
| "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
},
] |
|