Árvore de páginas

Versões comparadas

Chave

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

Índice

Índice
maxLevel5outlinetrue10
indent8.1.1
absoluteUrltrue
exclude.*ndice
stylenone

Objetivo

...

Conceito

Deck of Cards
effectDuration0.5
historyfalse
idsamples
effectTypefade
deck

01.CONCEITO

id

Âncora

Configurações Iniciais
Card
labelPré-requisitos
conceito
conceito

A integração via APIs REST permite a comunicação eficiente e escalável entre diferentes sistemas ou aplicativos, utilizando métodos HTTP padrão como GET, POST, PUT e DELETE. Essas APIs seguem o padrão REST, facilitando o compartilhamento de dados e funcionalidades entre os sistemas.

Cada método HTTP tem um propósito específico:

  • GET: Utilizado para consultar dados no servidor sem modificar nada, como, por exemplo, uma consulta de cadastro.
  • POST: Utilizado para enviar dados ao servidor para serem processados ou armazenados, como, por exemplo, a inclusão de um cadastro.
  • PUT: Utilizado para atualizar dados no servidor, como, por exemplo, a alteração de um cadastro.
  • DELETE: Utilizado para remover dados do servidor, como, por exemplo, a exclusão de um cadastro.
Informações
titleObservação

Por padrão, para consultar um determinado dado do servidor através do método GET, é necessário informar a chave primária (PK) do registro do modelo, codificada em base64. Caso contrário, se a chave primária não for informada, os registros serão retornados conforme a paginação padrão.

Exemplo:

"

RCBNRyAwMSBJTkNMVVNBTyBWSUEgUE9TVCAwMDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA

RCBNRyAwMSBEIE1HIDAxIDAwMDAwMDAwMDAwMDAwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA=="- representa a chave primária do registro da tabela da rotina em base64

http://localhost:8085/rest/FwModel/TAFA053/

RCBNRyAwMSBJTkNMVVNBTyBWSUEgUE9TVCAwMDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA

RCBNRyAwMSBEIE1HIDAxIDAwMDAwMDAwMDAwMDAwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==

Para atualizar um determinado dado do servidor através do método PUT, é necessário informar a chave primária (PK) do registro do modelo, codificada em base64. Nesse caso, a chave primária é obrigatória para realizar a alteração; caso contrário, a operação será entendida como uma inclusão de novo registro.

Para excluir um determinado dado do servidor através do método DELETE, também é necessário informar a chave primária (PK) do registro do modelo, codificada em base64.

Para incluir dados no servidor através do método POST em outras filiais, é importante o uso do tenantId no header da requisição.

Estrutura de Envio

A estrutura do JSON de envio (body) não precisa ser informada na requisição para os métodos GET e DELETE; basta consumir a API.

No entanto, para os métodos POST e PUT, o JSON deve ser enviado no seguinte formato básico

02. API REST DISPONÍVEIS

Após configurar o REST do Protheus, é possível verificar todas as APIs REST disponíveis seguindo os passos abaixo:

  1. Acesse o endereço configurado do REST. No exemplo, foi configurado como: http://localhost:8080/rest.
  2. Procure pelo serviço FWMODEL.
  3. Clique em /rest/fwmodel.catalog.

Image Added

Image Added

Para consumir uma API REST disponível no módulo TAF (TOTVS Automação Fiscal), siga o formato abaixo:

Bloco de código
themeRDark
titleAPI's disponíveis no módulo SIGATAF
http://localhost:8080/rest/FwModel/TAFA053
http://localhost:8080/rest/FwModel/TAFA057
http://localhost:8080/rest/FwModel/TAFA448
http://localhost:8080/rest/FwModel/TAFA535

Onde:

  • http://localhost:8080/rest é o endereço configurado do REST.
  • /FwModel é um segmento fixo indicando o framework.
  • /TAFA053 é o nome da API disponível.

03.ESTRUTURA DE ENVIO

A estrutura do JSON de envio (body) não precisa ser informada na requisição para os métodos GET e DELETE; basta consumir a API.

No entanto, para os métodos POST e PUT, o JSON deve ser enviado no seguinte formato básico:

Âncora
abastsi
abastsi

{ "id": "TAFA057", "operation": 1, "models": [ { "id": "MODEL_C1L", "modeltype": "FIELDS", "fields": [ { "id": "C1L_FILIAL",

        {
            "
order
id": 
1
"MODEL_C1L",
            "
value
modeltype": "
D MG 01
FIELDS",
            
},
"fields": [
                {
                    "id": "C1L_
CODIGO
FILIAL",
                    "order": 
3
1,
                    "value": "
PRD12345
D MG 01"
                },
                {
                    "id": "C1L_
DESCRI
CODIGO",
                    "order": 
4
3,
                    "value": "
PRD-VIA-POST
PRD12345"
                },
                {
                    "id": "C1L_
UM
DESCRI",
                    "order": 
6
4,
                    "value": "
000084
PRD-VIA-POST"
                },
                {
                    "id": "C1L_
TIPITE
UM",
                    "order": 
8
6,
                    "value": "
000010
000084"
                },
                {
                    "id": "C1L_
CODGEN
TIPITE",
                    "order": 
12
8,
                    "value": "
000102
000010"
                },
                {
                    "id": "C1L_
CODSER
CODGEN",
                    "order": 
14
12,
                    "value": "
000045
000102"
                },
                {
                    "id": "C1L_
ORIMER
CODSER",
                    "order": 
21
14,
                    "value": "
000001
000045"
                },
                {
                    "id": "C1L_
ALQICM
ORIMER",
                    "order": 
23
21,
                    "value": "
18.00
000001"
                },
                {
                    "id": "C1L_
DTINCL
ALQICM",
                    "order": 
26
23,
                    "value": "
20221019
18.00"
                },
                {
                    "id": "C1L_
SRVMUN
DTINCL",
                    "order": 
29
26,
                    "value": "
1402
20221019"
                },
                {
                    "id": "C1L_
IDTSER
SRVMUN",
                    "order": 
48
29,
                    "value": "
000016
1402"
                },
               
],
 {
                    "
models
id": 
[
"C1L_IDTSER",
                
{
    "order": 48,
                    "
id
value": "
MODEL_C1M
000016"
,

                }
    
"modeltype": "GRID",
        ],
            "
optional
models": 
1,
[
                
"struct": [
{
                    
{
"id": "MODEL_C1M",
                    
"id
"modeltype": "
C1M_FILIAL
GRID",
                    "
order
optional": 1,
                    
},
"struct": [
                        {
                            "id": "C1M_
DTALT
FILIAL",
                            "order": 
2
1
                        },
                        {
                            "id": "C1M_
HRALT
DTALT",
                            "order": 
3
2
                        },
                        {
                            "id": "C1M_
NRCAMP
HRALT",
                            "order": 
4
3
                        },
                        {
                            "id": "C1M_
CTDANT
NRCAMP",
                            "order": 
6
4
                        },
                    
],
    {
                    
"items":
 
[
       "id": "C1M_CTDANT",
                
{
            "order": 6
               
"id":
 
1,
        }
                    
"deleted": 0
],
                    "items": [
       
"fields":
 
[
                {
                
{
            "id": 1,
                       
"id":
 
"C1M_FILIAL",
    
"value
"deleted": 
"D MG 01"
0,
                            
},
"fields": [
                                {
                                    "id": "C1M_
DTALT
FILIAL",
                                    "value": "
20240520
D MG 01"
                                },
                                {
                                    "id": "C1M_
HRALT
DTALT",
                                    "value": "
1313
20240520"
                                },
                                {
                                    "id": "C1M_
NRCAMP
HRALT",
                                    "value": "
000001
1313"
                                },
                                {
                                    "id": "C1M_
CTDANT
NRCAMP",
                                    "value": "
PRD12345
000001"
                                },
                            
]
    {
                    
}
                "id": 
]
"C1M_CTDANT",
                                    "value": "PRD12345"
                                }
            
]
            
}
    ]
}

Estrutura Hierárquica

id: é id da API
models:
                        }
                    ]
                }
            ]
        }
    ]
}
Bloco de código
themeRDark
titleJSON - Exemplo
{
    "id": "TAFA057",
    "operation": 1,
    "models": [
JSON - Exemplo

Estrutura Hierárquica

         
  • id: é id da API
  • models: são os modelos de negócios de cada API,
ou seja, modelo de dados do MVC, que é definido por:
  • que contém:
        • id: é o modelo de dados definido no MVC
               
        • modeltype: é tipo de modelo de dados, "FIELDS" ou "GRID"
               
        • fields: é um vetor com os campos do modelo,
      definido por
        • que contém:
                           
              • id: é nome do campo
                           
              • order: é a ordem do campo
                           
              • value: é o valor do campo
                   
            • models: é um vetor com os submodelos do modelo de dados do MVC,
          definido por
            • que contém:
                             
                  • id: é o submodelo de dados definido no MVC
                              modeltype: é
                  • modeltype: é tipo de modelo de dados, "FIELDS" ou "GRID"
                             
                  • struct: é um vetor definindo os campos do GRID,
              definido por
                  • que contém:
                                     
                  • id: é nome do campo
                                         
                        • order: é a ordem do campo
                                 
                      • items: é um vetor definindo os itens do GRID,
                  definido por
                      • que contém:
                                             
                            • id: é um sequêncial do vetor dos itens
                      ,
                                             
                            • fields: é um vetor com os campos e valores dos itens do GRID,
                      definido por:
                                                  id: é nome do campo
                                                  value: é o valor do campo Card
                      labelConfigurações Iniciais Para Utilização
                      Aviso

                      Para que a opção do "TSI - TAF SERVICE INTEGRATION" seja exibida no Wizard TAF, é necessário que exista pelo menos uma nota escriturada (Tabelas SF3 e SFT) cadastrada no sistema.

                      Execute a wizard, resultando em sucesso, será apresentada a tela com a mensagem conforme abaixo.

                      Image Removed

                      Tabelas afetadas criação S_T_A_M_P_

                      As tabelas do Protheus que sofrerão a criação do campo S_T_A_M_P_ são:

                      SB1, SFT, SF4, SB5, SA1, SA2, SA4, SAH, CT1, F2Q, CDN, SE1, SE2, CCF, SF1, SF2, SF3, CCE, SYD, CDH, SON, CKX, CDT e CDG.

                      Card
                      labelJob de Execução Automática
                      Job de Execução Automática

                      O job TSI responsável por executar o serviço de integração ERP x TAF, deve ser configurado em SIGACFG com a opção sempre ativo.

                      Desta maneira, ao incluir ou alterar um novo cadastro / movimentação no ERP, o JOB se encarregará de executar a integração automaticamente de forma transparente ao usuário.

                      Controle feito através da comparação dos campos do ERP-Protheus S_T_A_M_P_ Vs XXX_STAMP do TAF.

                      Exemplo de configuraçãoImage Removed

                      Card
                      idLog de Erro de Processamento
                      labelLog de Erro de Processamento
                      Log de Erro de Processamento

                      Está disponível através da rotina TAFA564, o log de processamentos realizados pelo TSI.

                      Através desta rotina é possível  visualizar o detalhamento das mensagens de integração que apontaram falhas no processamento e não foram integradas ao TAF. 

                      Módulo

                      Nome do Menu

                      Submenu

                      Nome da Rotina

                      Programa

                      Totvs Automação FiscalMiscelâneaIntegraçãoLog de Processamentos TSITAFA564

                      Consulte a aba "Erros de Integração" nesta documentação para maiores informações sobre as mensagens de erros e suas possíveis soluções.

                      Browse de log de erros

                      Image Removed

                      Detalhamento de erros

                      Image Removed

                      Card
                      labelErros de Integração

                      Erros de Integração

                      Deck of Cards
                      idERP
                      Card
                      labelERP-Protheus
                      Deck of Cards
                      idT007
                      Card
                      labelProdutos

                      Cadastro de Produtos

                      Ocorrência:  
                      Não foi encontrado o conteúdo 'UN' informado no sistema de origem, esse conteúdo corresponde ao campo 'Unidade de medida' ( C1L_UM ) do TAF.
                      Esta situação ocorre, quando a unidade de medida utilizada, não existe no TAF ou quando a unidade de medida utilizada é inválida. 

                      Solução: 
                      Verifique se a unidade de medida utilizada no cadastro de produtos esta correta e realize uma nova integração. 
                      Caso a unidade de medida informada no no ERP de origem esteja incorreta, basta realizar o ajuste.

                      Ocorrência:  
                      Não foi encontrado o conteúdo '0000000' informado no sistema de origem, esse conteúdo corresponde ao campo 'Identificador do Registro' ( C1L_IDCEST ) do TAF.
                      Esta situação ocorre, quando o código do CEST 0000000 utilizado, não existe no TAF.

                      Solução: 
                      Verifique se o código CEST utilizado no cadastro de produtos existe na tabela de autocontida (T71-Cod. Especificador ST - CEST ), caso não exista, realize a inclusão acessando
                      o seguinte caminho: Módulo TAF→ Consultas → Tabelas Dinâmicas → Filtre a tabela T71 → clique em Abrir Browse → Incluir

                      Ocorrência:  
                      Não foi encontrado o conteúdo '2879' informado no sistema de origem, esse conteúdo corresponde ao campo 'Cod. Id. Serviço' ( C1L_CODSER ) do TAF.
                      Esta situação ocorre, quando o código do serviço utilizado, não existe no TAF. 

                      Solução: 
                      Verifique se o TAF esta atualizado com o último pacote disponível no portal do cliente. Após a atualização, execute a Wizard de Configuração do TAF para atualização das autocontidas:
                      Módulo TAF → Atualizações → Configs. TAF → Wizard Config. TAF

                      Ocorrência:  
                      Não foi encontrado o conteúdo '84819000' informado no sistema de origem, esse conteúdo corresponde ao campo 'Cod. Id. NCM' ( C1L_CODNCM ) do TAF.
                      Esta situação ocorre, quando o código do serviço utilizado, não existe no TAF. 

                      Solução: 
                      Verifique se o TAF esta atualizado com o último pacote disponível no portal do cliente. Após a atualização, execute a Wizard de Configuração do TAF para atualização das autocontidas:
                      Módulo TAF → Atualizações → Configs. TAF → Wizard Config. TAF

                      Ocorrência:  
                      Não foi encontrado o conteúdo 'SP' informado no sistema de origem, esse conteúdo corresponde ao campo 'Cod. Id. NCM' ( C1L_CODNCM ) do TAF.
                      Esta situação ocorre, quando o código do serviço utilizado, não existe no TAF. 

                      Solução: 
                      Verifique se o TAF esta atualizado com o último pacote disponível no portal do cliente. Após a atualização, execute a Wizard de Configuração do TAF para atualização das autocontidas:
                      Módulo TAF → Atualizações → Configs. TAF → Wizard Config. TAF

                      Card
                      labelParticipantes

                      Cadastro de Participantes

                      Ocorrência: 
                      Não foi encontrado o conteúdo '10999' informado no sistema de origem, esse conteúdo corresponde ao campo 'Cod. Ident.Municipio' ( C1H_CODMUN ) do TAF.
                      Esta situação ocorre, quando o código de município utilizado, não existe no TAF. 

                      Solução: 
                      Ajuste o código de município informado no cadastro do participante, pois a junção do código da UF+Código de Município utilizado não existe. 
                      Verifique se o código de município utilizado no cadastro do participante existe na tabela de autocontida (C07-Municípios do IBGE), acessando o seguinte caminho: Módulo TAF→ Consultas → Tabelas Dinâmicas → Filtre a tabela C07→ clique em Abrir Browse → Visualizar 

                      Ocorrência: 

                      O campo 'Cod. Id. UF' não foi preenchido no sistema de origem, o preenchimento do campo ( C1H_UF ) é obrigatório no TAF.

                      Solução: 

                      No cadastro de participante (cliente/fornecedor) em seu sistema de origem, informe o campo correspondente a sigla do estado em que ele está localizado. A informação da UF do participante é uma informação obrigatória no TAF e portanto precisa ser preenchida.

                      Card
                      labelPlano de Contas

                      Plano de Contas

                      Ocorrência:  
                      Não foi encontrado o conteúdo '2101010000' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id. Conta Superior' ( C1O_CTASUP ) do TAF.
                      Esta situação ocorre, quando a conta superior não existe no TAF ou quando a conta superior esta bloqueada no sistema de origem. 

                      Solução: 
                      Realize o desbloqueio da conta superior no plano de contas utilizado no ERP de origem.
                      Obs.: Após a integração da conta, realize o bloqueio novamente (caso necessário).

                      Ocorrência:  
                      Não foi encontrado o conteúdo '1' informado no sistema de origem, esse conteúdo corresponde ao campo 'Cod Natureza Cta/Grp' ( C1O_CODNAT ) do TAF.
                      Esta situação ocorre, pois o grupo de natureza informado não existe na tabela autocontida C2R (Natureza Conta/Grupo Contab) do TAF.

                      Solução: 
                      Verifique se o TAF esta atualizado com o último pacote disponível no portal do cliente. Após a atualização, execute a Wizard de Configuração do TAF.
                      para atualização das autocontidas:
                      Módulo TAF → Atualizações → Configs. TAF → Wizard Config. TAF

                      Card
                      labelNota Fiscal

                      Nota Fiscal

                      Ocorrência:  

                      Não foi encontrado o conteúdo '9' informado no sistema de origem, esse conteúdo corresponde ao campo 'Cod. Identific. Origem' ( C30_ORIGEM ) do TAF.

                      O erro mencionado ocorre, pois o conteúdo informado é invalido para a origem do produto
                      Image Removed

                      Solução: 

                      Para solucionar essa ocorrência, revise a escrituração do documento fiscal realizando os seguintes passos:

                      1. Acesse a tabela SFT e valide se o conteúdo do campo FT_CLASFIS foi gravado com a origem + CST (090), pois é o primeiro digito do campo FT_CLASFIS que buscamos na integração.

                      Image Removed

                      Se o conteúdo do campo FT_CLASFIS não estiver correto, siga as instruções abaixo:

                      1. Acesse o cadastro de produtos;
                      2. Localize o produto e clique em alterar;
                      3. Informe um valor valido no campo Origem e clique em confirmar;

                      Após a alteração do produto o documento fiscal deverá ser ré escriturado. 

                      Ocorrência:
                      Não foi encontrado o conteúdo '0123' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id. Cód. Participante' ( C20_CODPAR ) do TAF.

                      Solução:  
                      Esta situação ocorre, pois o participante não existe na base de dados do TAF. 
                      Verifique na rotina de 'Log TSI'  se houve alguma inconsistência na integração do participante e realize a correção. 
                      Importante: para gravar o participante e extrair a gravação da nota, verificar os campos A1_ULTCOM e A2_ULTCOM pois deverão estar preenchidos.

                      Ocorrência:
                      Não foi encontrado o conteúdo '21010102' informado no sistema de origem, esse conteúdo corresponde ao campo 'Centro de Custo' ( C30_CCUSTO ) do TAF.
                      Esta situação ocorre, pois o centro de custo não existe na base de dados do TAF. 

                      Solução:  
                      Verifique na rotina de 'Log TSI'  se houve alguma inconsistência na integração do centro de custo e realize a correção. 

                      Ocorrência:
                      Não foi encontrado o conteúdo '01' informado no sistema de origem, esse conteúdo corresponde ao campo 'Cod. Identificacao Modelo' ( C20_CODMOD ) do TAF.
                      Esta situação ocorre, pois o código de identificação do modelo não existe na tabela C01 (Modelos dos Documentos Fiscais) do TAF. 

                      Solução: 
                      Verifique se o TAF esta atualizado com o último pacote disponível no portal do cliente. Após a atualização, execute a Wizard de Configuração do TAF
                      para atualização das autocontidas:
                      Módulo TAF → Atualizações → Configs. TAF → Wizard Config. TAF

                      Ocorrência:
                      Não foi encontrado o conteúdo 'ICM000035674' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id.Documento Arrecadação' ( C25_IDENTI ) do TAF.
                      Esta situação ocorre, pois a GNRE não existe no TAF. 

                      Solução: 
                      Verifique na rotina de 'Log TSI'  se houve alguma inconsistência na integração da GNRE e realize a correção. 

                      Ocorrência:
                      Não foi encontrado o conteúdo '01628' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id. Item' ( C30_CODITE ) do TAF.
                      Esta situação ocorre, pois o produto/item não existe na base de dados do TAF. 

                      Solução:  

                      Verifique na rotina de 'Log TSI'  se houve alguma inconsistência na integração do produto/item e realize a correção. 

                      Ocorrência:

                      Não foi encontrado o conteúdo '501' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id. Natureza Operação' ( C30_NATOPE ) do TAF.
                      Esta situação ocorre, pois o produto/item não existe na base de dados do TAF. 

                      Solução:  
                      Verifique na rotina de 'Log TSI'  se houve alguma inconsistência na integração do TES e realize a correção. 
                      INTEGRAÇÃO COM TMS

                      Ocorrência:

                      Não foi encontrado o conteúdo '99' informado no sistema de origem, esse conteúdo corresponde ao campo 'Cod Id UF Dest Transporte' (C39_UFDEST )

                      Solução:  
                      O campo 'Cod Id UF Dest Transporte' não foi preenchido no sistema de origem, o preenchimento do campo (C39_UFDEST) é obrigatório no TAF, caso utilize complemento de transporte (T015AI ).
                      Além do preenchimento dos campos DT6_CDORI, DT6_CDRES é necessário o preenchimento do campo DT6_CDRCAL, para gravar o C39_UFDEST.
                      Lembrando que DT6_CDRCAL deverá existir na tabela DUY, vinculado com a região (DUY_GRPVEN), o estado (DUY_EST) e o município (DUY_CODMIN).

                      Ocorrência:

                      Não foi encontrado o conteúdo '99999' informado no sistema de origem, esse conteúdo corresponde ao campo 'Código Município Destino' (C39_CMUNDE) do TAF.

                      Solução:  
                      O preenchimento do campo (C39_CMUNDE) é obrigatório no TAF, caso utilize complemento de transporte (T015AI ).
                      Além do preenchimento dos campos DT6_CDORI, DT6_CDRES é necessário o preenchimento do campo DT6_CDRCAL, para gravar o C39_UFDEST e posteriormente localizar o município.
                      Lembrando que DT6_CDRCAL deverá existir na tabela DUY, vinculado com a região (DUY_GRPVEN), o estado (DUY_EST) e o município (DUY_CODMIN).

                      Card
                      labelCadastro de Obras

                      Cadastro de Obras

                      Ocorrência:  
                      O conteúdo 'OBRA EMPREENDIMENTOS FUTUROS ESTADUAL MUNICIPAL' possui tamanho superior ao esperado pelo TAF. O conteúdo informado corresponde ao campo 'Descricao da Obra' ( T9C_DSCOBR ) do TAF, o tamanho esperado para este campo é de 30 caractere(s).
                      Esta situação ocorre, quando a descrição é maior que 30 caracteres. 

                      Solução: 
                      Cadastrar uma descrição com o tamanho até 30 caracteres.

                      Ocorrência:  
                      O conteúdo '1234564567896545452223' possui tamanho superior ao esperado pelo TAF. O conteúdo informado corresponde ao campo 'Número de Inscrição' ( T9C_NRINSC ) do TAF, o tamanho esperado para este campo é de 15 caractere(s).
                      Esta situação ocorre, quando o número de inscrição é maior que 15 caracteres. 

                      Solução: 
                      Cadastrar um número de inscrição com o tamanho até 15 caracteres.

                      Ocorrência:  
                      O conteúdo '5' informado no sistema de origem, não é uma opção válida para o preenchimento do campo 'Contrib CPRB' ( T9C_CPRB ) do TAF.
                      Esta situação ocorre, quando seleciona uma opção inválida para o campo 'Contrib CPRB'.

                      Solução: 
                      Informe uma opção válida para o campo 'Contrib CPRB' onde 0= Não e 1= Sim.

                      Ocorrência:  
                      O campo 'Tipo de Inscrição' não foi preenchido no sistema de origem, o preenchimento do campo ( T9C_TPINSC ) é obrigatório no TAF.
                      Esta situação ocorre, quando não é informado o campo ''Tipo de Inscrição'.

                      Solução: 
                      Informe uma opção válida para o campo ''Tipo de Inscrição' onde 1= CNPJ e 4= CNO.

                      Ocorrência:  
                      O campo 'Ind.Obra Pertenc Terceiro' não foi preenchido no sistema de origem, o preenchimento do campo ( T9C_INDTER ) é obrigatório no TAF.
                      Esta situação ocorre, quando não é informado o campo 'Ind.Obra Pertenc Terceiro'.

                      Solução: 
                      Informe uma opção válida para o campo 'Ind.Obra Pertenc Terceiro' onde 1= Sim e 2= Não.

                      Card
                      labelProcessos Referenciados

                      Processos Referenciados

                      Ocorrência:  

                      Falha ao carregar o conteúdo '10/2021' no campo 'Período Inicial Validade'. | O conteúdo '10/2021' possui tamanho superior ao esperado pelo TAF. O conteúdo informado corresponde ao campo 'Período Inicial Validade' ( C1G_DTINI ) do TAF, o tamanho esperado para este campo é de 6 caractere(s).

                      Falha ao carregar o conteúdo '10/10/2021' no campo 'Período Final Validade'. | O conteúdo '10/10/2021' possui tamanho superior ao esperado pelo TAF. O conteúdo informado corresponde ao campo 'Período Final Validade' ( C1G_DTFIN ) do TAF, o tamanho esperado para este campo é de 6 caractere(s).

                      Solução: 
                      Informe um período válido no formato MMAAAA.

                      Ocorrência:  

                      Falha ao carregar o conteúdo '5' no campo 'Tipo Processo ECF'. | O conteúdo '5' informado no sistema de origem, não é uma opção válida para o preenchimento do campo 'Tipo Processo ECF' ( C1G_TPPROC ) do TAF.

                      Solução: 
                      Informe uma opção válida para o campo 'Tp. Processo':

                      1- Judicial
                      2- Administrativo
                      3- Número do Benefício do INSS
                      4- FAP

                      Ocorrência:  

                      Falha ao carregar o conteúdo '5' no campo 'Indicador Origem Processo'. | O conteúdo '5' informado no sistema de origem, não é uma opção válida para o preenchimento do campo 'Indicador Origem Processo' ( C1G_INDPRO ) do TAF.

                      Solução: 
                      Informe uma opção válida para o campo 'Ind. Proc.':

                      0- SEFAZ
                      1- Justiça Federal
                      2- Justiça Estadual
                      3- SECEX
                      9- Outros

                      Ocorrência:  

                      Não foi encontrado o conteúdo 'PP' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id. da UF da Vara' ( C1G_UFVARA ) do TAF.

                      Solução: 

                      Informe uma UF válida da tabela C09-Unidades Federativas. 

                      Ocorrência:  

                      Não foi encontrado o conteúdo '11111' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id. Município Vara' ( C1G_CODMUN ) do TAF.

                      Solução: 

                      Informe um código de município válido da tabela C07-Municípios do IBGE. 

                      Ocorrência:  

                      O campo 'Indicador de Depósito' não foi preenchido no sistema de origem, o preenchimento do campo ( T5L_INDDEP ) é obrigatório no TAF.

                      Solução: 

                      Informe um código válido: 1-Sim; 2 -Não.

                      Ocorrência:  

                      Não foi encontrado o conteúdo '06' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id. Indicador Suspensão' ( T5L_INDDEC ) do TAF.

                      Solução: 

                      Informe um código de Indicativo de Suspensão válido da tabela C8S-Indicativo de Suspensão. 

                      Ocorrência:  

                      Falha ao carregar o conteúdo 'CODDUSP0000000AAAAAAAAAAA' no campo 'Código de Suspensão'. | O conteúdo '' possui tamanho superior ao esperado pelo TAF. O conteúdo informado corresponde ao campo 'Código de Suspensão' ( T5L_CODSUS ) do TAF, o tamanho esperado para este campo é de 14 caractere(s).

                      Solução: 

                      Informe um código de Suspensão válido até 14 caractere(s).

                      Ocorrência:  

                      Formato indevido para data no campo 'Data da Decisão'. 

                      Solução: 

                      Informe uma data válida no formato DD/MM/AAAA ou DD/MM/AA.

                      Card
                      labelApuração ICMS

                      Apuração ICMS

                      Ocorrência:

                      Não foi encontrado o conteúdo '00744' informado no sistema de origem, esse conteúdo corresponde ao campo 'Identificador do Subitem' ( C2T_IDSUBI ) do TAF. 

                      Solução:  

                      Verifique se o código de subitem utilizado na apuração de ICMS existe na tabela de autocontida (CHY-Código de Subitem), acessando o seguinte caminho: Módulo TAF→ Consultas → Tabelas Dinâmicas → Filtre a tabela CHY→ clique em Abrir Browse → Visualizar 

                      Ocorrência:

                      Não foi encontrado o conteúdo '00020' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id. Tipo do Motivo' ( C2T_IDTMOT ) do TAF.

                      Solução:  

                      Verifique se o código de subitem utilizado na apuração de ICMS existe na tabela de autocontida (T0V-Tipos de Motivos), acessando o seguinte caminho: Módulo TAF→ Consultas → Tabelas Dinâmicas → Filtre a tabela T0V→ clique em Abrir Browse → Visualizar 

                      Ocorrência:

                      Não foi encontrado o conteúdo 'SP020744 ' informado no sistema de origem, esse conteúdo corresponde ao campo 'Código do Ajuste' ( C2T_CODAJU ) do TAF.

                      Solução:  

                      Verifique se o código de subitem utilizado na apuração de ICMS existe na tabela de autocontida (C0J-Ajuste Doc Fiscal), acessando o seguinte caminho: Módulo TAF→ Consultas → Tabelas Dinâmicas → Filtre a tabela C0J→ clique em Abrir Browse → Visualizar 

                      Ocorrência:

                      O conteúdo '' possui tamanho superior ao esperado pelo TAF. O conteúdo informado corresponde ao campo 'Código da Autorização' ( T02_CODIGO ) do TAF, o tamanho esperado para este campo é de 12 caractere(s).

                      Solução:  

                      Verifique se o código utilizado na apuração possui o mesmo tamanho do campo informado em questão.

                      Card
                      labelApuração ICMS ST

                      Apuração ICMS ST

                      Aviso
                      • Atualmente o TAF TSI importa do módulo Livros Fiscais a apuração de ICMS-ST apenas para a obrigação acessória Nova GIA-SP, portanto, serão considerados somente os códigos de ajustes da apuração ICMS-ST para popular a tabela C3K do SIGATAF. Caso a apuração ICMS ST no livro fiscal não possua ajuste manual, não será gerado o layout T021AA e o T021 ficará com os valores zerados, essa situação ocorre para o TAF não extrair a todo momento a apuração ICMS-ST
                      • Se a integração da apuração do ICMS-ST estiver com valores zerados (C3J), pode ser devido ao preenchimento dos parâmetros MV_SUBTRIB e MV_ESTADO.
                      • Caso exista lançamento automático proveniente das notas, será considerado apenas o valor no C3J ( totalizador ), ou seja, o código de ajuste com 10 caracteres não será gerado no T021AA(C3J), apenas o valor composto no T021(C3K).

                      Ocorrência:

                      Apuração ICMS-ST sendo integrado ao TAF com valores zerados.

                      Solução:  

                      O TAF utiliza a leitura da apuração de ICMS-ST apenas para atender uma parte do layout da Nova GIA-SP, portanto, para a correta integração dos valores da apuração, é necessário que os parâmetros MV_SUBTRIB e MV_ESTADO estejam preenchidos corretamente. 

                      Ocorrência:

                      Não foi encontrado o conteúdo '00744' informado no sistema de origem, esse conteúdo corresponde ao campo 'Identificador do Subitem' ( C3K_IDSUBI ) do TAF. 

                      Solução:  

                      Verifique se o código de subitem utilizado na apuração de ICMS ST existe na tabela de autocontida (CHY-Código de Subitem), acessando o seguinte caminho: Módulo TAF→ Consultas → Tabelas Dinâmicas → Filtre a tabela CHY→ clique em Abrir Browse → Visualizar

                      Ocorrência:

                      Não foi encontrado o conteúdo '00020' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id. Tipo do Motivo' ( C3K_IDTMOT ) do TAF.

                      Solução:  

                      Verifique se o código de subitem utilizado na apuração de ICMS ST existe na tabela de autocontida (T0V-Tipos de Motivos), acessando o seguinte caminho: Módulo TAF→ Consultas → Tabelas Dinâmicas → Filtre a tabela T0V→ clique em Abrir Browse → Visualizar 

                      Ocorrência:

                      Não foi encontrado o conteúdo 'SP020744 ' informado no sistema de origem, esse conteúdo corresponde ao campo 'Código do Ajuste' (C3K_CODAJU ) do TAF.

                      Solução:  

                      O código de subitem utilizado na apuração de ICMS ST deve existir na tabela de autocontida (C1A-Ajuste da Apuração do ICMS), acessando o seguinte caminho: Módulo TAF→ Consultas → Tabelas Dinâmicas → Filtre a tabela C1A→ clique em Abrir Browse → Visualizar 

                      Card
                      labelCPRB
                      CPRB

                      Ocorrência:

                      Não foi encontrado o conteúdo '00000000000001' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id do Cadastro de CNO' ( V48_IDCNO ) do TAF.

                      Solução:  

                      Verifique se o código do cadastro de obras utilizado na apuração da CPRB existe no cadastro de obras do TAF (T9C- Cadastro de obras), acessando o seguinte caminho: Módulo TAF→ Atualizações → Fiscais → Obras (T9C)

                      Ocorrência:

                      Não foi encontrado o conteúdo '00000000000000000100' informado no sistema de origem, esse conteúdo corresponde ao campo 'Cod da Conta Contabil' ( C5M_CODCTA ) do TAF.

                      Não foi encontrado o conteúdo '00000000000000000100' informado no sistema de origem, esse conteúdo corresponde ao campo 'Id Cod Conta Contabil' ( V48_CODCTA ) do TAF.

                      Solução:  

                      Verifique se o código da conta contábil utilizada na apuração da CPRB existe no cadastro de Conta Contábil do TAF (C1O- Cadastro de conta contábil), acessando o seguinte caminho: Módulo TAF→ Atualizações → Contábeis→ Plano de Contas (C1O)

                      Ocorrência:

                      Não foi encontrado o conteúdo '10000025' informado no sistema de origem, esse conteúdo corresponde ao campo 'Código de Atividade' ( C5M_CODATI ) do TAF.

                      O campo 'Código de Atividade' não foi preenchido no sistema de origem, o preenchimento do campo ( C5M_CODATI ) é obrigatório no TAF.

                      Solução:  

                      Verifique se o código da atividade utilizada na apuração da CPRB existe no cadastro de Cód. de Atividade Receita Bruta do TAF (C5V- Cadastro da Tabela Código de Atividades, Produtos e Serviços Sujeitos a CPRB), acessando o seguinte caminho: Módulo TAF→ Consultas → Tabelas Dinâmicas → Filtre a tabela C5V→ clique em Abrir Browse → Visualizar 

                      Card
                      labelAnálise Técnica

                      Análise Técnica

                      Informações como a query que está sendo executada, ou até que ponto do algoritmo a integração está chegando, podem ser úteis no processo de implantação.

                      Como a execução do TSI é transparente, existe o uso da funcionalidade TAF Conout.

                      Se habilitada mensagens técnicas serão imprimidas no arquivo .../apppserver/CONSOLE.LOG 

                      Para habilitar funcionalidade: TAFCONOUT=1 ( inserir na gereneral )

                      TSILOG00001 Inicio 13:34:25 Programa de execução de JOB invocado via Schedule com sucesso.
                      Indica sucesso no início do programa TSI() configurado no cadastro de Schedule

                      TSILOG00002 cSource: D MG 01
                      Indica sucesso na montagem da empresa e qual é a empresa a ser processada.

                      TSILOG00003 Função executada:  HashUM()
                      Indica sucesso no carregamento das funções para execução de cada cadastros, podendo ser:
                      HashAddInf()  //T001AK - Informações Complementares 
                      HashPARTIC()  //T003 - participante cliente ou fornecedor 
                      HashUM()       //T005 - unidade de medida 
                      HashITEM()     //T007 - produto  
                      HashNature()  //T009 - natureza da operação/TES
                      HashCNO()     //T157 - Cadastro Nacional de Obras
                      HashNCM()     //Auto-Contida

                      TSILOG00004 GetNames ok

                      Indica sucesso na execução de consulta e geração do objeto JSON. O próximo passo é a persistência da entidade ao TAF.

                      TSILOG00005 Query de busca do cadastro participantes (Cliente / Fornecedor) [ Início query TSILOG00001 09:06:2020 [  Sintaxe da query  de busca de cliente e fornecedor ] [ Fim query TSILOG00001 09:07:2020  ]

                      TSILOG00006 Query de busca do cadastro de Unidade de Medida [ Início query TSILOG00002 09:08:2020   [  Sintaxe da query  de busca de unidade de medida ]  [ Fim query TSILOG00002 09:09:2020 ]

                      TSILOG00007 Update dos registros que sofrerão alteração fake [ Início update TSILOG00003 09:10:2020 ] [  Sintaxe da query  de update dos cadastros que sofrerão a alteração fake ]  [ Fim erro TSILOG00003 09:11:2020 ]

                      TSILOG00008 Erro de alteração fake [ Início erro TSILOG00004 09:12:2020 ] [ Detalhamento do erro de execução do update] [ Fim erro TSILOG00004 09:13:2020 ]

                      TSILOG00009 Query de busca do cadastro de Produto [ Início query TSILOG00005 09:14:2020 ]  [ Sintaxe da query de busca dos cadastro de Produto ]   [ Fim erro TSILOG00005  09:15:2020 ]

                      TSILOG000010 Query de busca do cadastro de Natureza da Operação [ Início query TSILOG00006 09:16:2020 ]  [ Sintaxe da query de busca do cadastro de Natureza da Operação ]   [ Fim query TSILOG00005  09:17:2020 ]

                      TSILOG000012 Query de busca do cadastro de NCM [ Início query TSILOG00012 09:16:2020 ]  [ Sintaxe da query de busca do cadastro de NCM ]   [ Fim query TSILOG00012  09:17:2020 ]

                      TSILOG000013 Função MVC executada:  HashC2S()

                      Indica sucesso no carregamento das funções para execução de modelos com pai e filho (neto) ,podendo ser:
                      HashC2S()   //Apuração icms
                      HashC3J()   //Apuração icms-st
                      hashC5M() //CPRB

                      TSILOG000014 Query de busca do cadastro de apurações de ICMS [ Início query TSILOG00014 09:25:2020 ]  [ Sintaxe da query de busca do cadastro de apurações de ICMS]   [ Fim query TSILOG00014  09:30:2020 ]

                      TSILOG000015 Query de busca do cadastro de apurações de ICMS ST[ Início query TSILOG00015 10:15:2020 ]  [ Sintaxe da query de busca do cadastro de apurações de ICMS ST]   [ Fim query TSILOG00015  10:19:2020 ]

                      TSILOG000016 Erro no formato de campos tipos Data [ TSILOG00016 Erro tipo Data 10:15:2020 ]  [ Erro na conversão da data recebida]   [ Date: 10/08/21  10:19:2020 ]

                      TSILOG000017 Inicio da gravação do MVC [ TSILOG00017 Inicio 11:10:2020 ]  [ Cadastro do model TAFA063]   [ Date: 10/08/21  11:10:2020 ]

                      TSILOG000018 Fim da gravação do MVC [ TSILOG00018 Fim 11:19:2020 ]  [ Cadastro do model TAFA063]   [ Date: 10/08/21  11:19:2020 ]

                      TSILOG000019 Query de busca do cadastro de apurações de CPRB[ Início query TSILOG000019 17:21:2020 ]  [ Sintaxe da query de busca do cadastro de apurações de CPRB]   [ Fim query TSILOG000019  17:27:2020 ]

                      TSILOG000020 Query de busca do cadastro de CNO - Obras [ Início query TSILOG00020 09:16:2020 ]  [ Sintaxe da query de busca do cadastro de CNO - Obras ]   [ Fim query TSILOG00020  09:17:2020 ]

                      TSILOG000021 Query de busca do MAX ID da tabela C0A_ID

                      TSILOG000022 Conteúdo dos parâmetros do bloco K ->> MV_BLKTPXX

                      TSILOG000023 Update dos registros na SFT que sofrerão alteração fake com base no log V5R alias C20 ( campo V5R_ERPKEY ) - TAFA600.

                      TSILOG000024 Participantes (Cliente/Fornecedores) 2000 de 5600.

                      TSILOG000025 Item (Cadastro de Produtos) 1000 de 5000

                      TSILOG000026 Erro ao excluir os registros da V5R [ Início erro TSILOG000026 ] ERRO SQL [ Fim erro TSILOG000026 ] 

                      TSILOG000027 A query de extração retornou 312 itens - T1|D MG 01 Date: 29/07/22 Time: 09:45:41

                      TSILOG000028 Processando lote de 78 NF(s) - T1|D MG 01 Date: 29/07/22 Time: 09:45:49

                      TSILOG000029 Foram adicionadas/alterados 78 notas ao TAF - T1|D MG 01 Date: 29/07/22 Time: 09:46:18

                      TSILOG000030 Fim - Taf Service Integration - T1|D MG 01 Date: 29/07/22 Time: 09:46:20

                      TSILOG000031 Não existe o alias V80 na sua base de dados. Favor atualize o TAF com o ultimo pacote disponível no portal do cliente.

                      TSILOG000032 Repositório desatualizado. Favor atualize o TAF com o ultimo pacote disponível no portal do cliente.

                      TSILOG000033 Update dos registros na SFT/SF3 que sofrerão alteração fake com base nos documentos divergentes da SFT(ERP)xC20(TAF) e limpeza da V5R correspondente[ Início update TSILOG000033 ]" ) - TAFA603.

                      TSILOG000034 Execução da query de extração das notas [ Início TSILOG000034 ]

                      TSILOG000035 Update dos registros na SF3 que sofrerão alteração fake com base no log V5R alias C20 ( campo V5R_ERPKEY ) - TAFA600.

                      Cardlabel

                      ...

                      Card
                      accessKeyPainel
                      idPainel
                      label(NOVO) Painel Gerenciador TSI

                      Painel Gerenciador TSI

                      Acesse o seguinte caminho: SIGATAF \ Atualizações \ Eventos Reinf \ Painel Reinf \ Monitor TSI

                      Image Removed

                      Status

                      1 - Serviço configurado, constará como habilitado se aplicado o pacote, criado os campos stamps no ERP/TAF e cadastrado o job no configurador ( XX1 ).
                      2 - Serviço Ativo, constará como habilitado se o schedule estiver configurado e iniciado no mesmo servidor da aplicação.

                      Filtros

                      1 - Filial ( carrega a filial "logada", porém também possui a opção de carregar 'Todas' );
                      2 - Do período e Até período, inicialmente não vem preenchido, então considera todos os registros para carregar a tabela e exportar o relatório,
                      caso sejam preenchidos e aplicado o filtro, aí sim serão considerados o intervalo dos períodos.
                      3 - Tipo, inicialmente são considerados todos, porém existe a opção para Cadastros, Movimentos e Apurações.

                      Colunas

                      Filial, layout, data, hora Integração, código do registro ( carregado apenas nos cadastros e apurações ), chave ( apenas para a nota ) e mensagem de erro (texto com a quebra dos problemas encontrados na integração).

                      Botões

                      Aplicar ( efetiva o filtro de acordo com os filtros informados ).
                      Carregar mais resultados ( consome a api para exibir mais 10 registros na tabela ).
                      Documentação ( realizar abertura do navegador para o link da documentação oficial ).
                      Exportar relatório ( efetua download da planilha ".xlsx" com os erros da integração de acordo com o filtro informado )

                      Exportar Relatório

                      Image Removed

                      Documentos Divergentes

                      Image Removed

                      A tela de Documentos divergentes tem como objetivo apresentar os documentos que estão do lado do ERP, porém não foram encontrados no TAF ou vice-versa. Caso a integração ainda não tenha sido processada, apresente algum erro ou caso o documento necessite de uma reintegração pois houve uma atualização do campo S_T_A_M_P_ do lado do ERP (Tabelas SFT/SF3), será apresentado nessa tela.

                      Fitros:

                      ...

                      Ultima integração:

                      A mensagem "O TSI irá integrar os documentos lançados a partir de AAAA-MM-DD HH:MM:SS para a filial XXXXX" serve para identificar quando foi feito a ultima integração e a partir de qual data do campo S_T_A_M_P_ será considerado na próxima execução. Ao clicar sobre a mensagem, é possível alterar a data da próxima integração. Somente é possível adiantar essa data, uma vez que o job está em execução e não é possível retroagir para buscar os movimentos anteriores durante a execução do mesmo.

                      Reintegração:

                      ...

                            • que contém:
                              • id: é nome do campo
                              • value: é o valor do campo


                      A estrutura do JSON de resposta para os métodos GET (por chave primária - pk), POST e PUT é basicamente a seguinte: 

                      Bloco de código
                      themeRDark
                      titleJSON - Exemplo de resposta do GET[pk]
                      {
                          "id": "TAFA057",
                          "pk": "RCBNRyAwMSBEIE1HIDAxIDAwMDAwMDAwMDAwMDAwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==",
                          "models": []
                      }

                      Onde a estrutua hierárquica é: : 

                      • id: é id da API
                      • pk: chave primária de cada registro para realizar uma consulta específica GET[id], consumir o método put e delete
                      • models: são os modelos de negócios de cada API, ou seja, modelo de dados do MVC (FIELDS, GRID)


                      A estrutura do JSON de resposta para o método GET, sem especificar uma chave primária (pk), será conforme abaixo:

                      Bloco de código
                      themeRDark
                      titleJSON - Exemplo de resposta do GET sem [pk]
                      {
                          "total": 142,
                          "count": 10,
                          "startindex": 1,
                          "resources": [{
                                  "id": "TAFA057",
                                  "pk": "RCBNRyAwMSBEIE1HIDAxIDAwMDAwMDAwMDAwMDAwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==",
                                  "models": []
                              }, {
                                  "id": "TAFA057",
                                  "pk": "RCBNRyAwMSBEIE1HIDAxIDEyMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA==",
                                  "models": []
                              }
                          ]
                      }

                      Onde a estrutua hierárquica é: 

                      • total: é o total de registros que existem no sistema
                      • count: é a quantidade de registros retornados na requisição
                      • startindex: é o contador inicial para realizar a paginação
                      • resources: são as informações dos modelos de dados da API, composto por:
                        • id: é id da API
                        • pk: chave primária de cada registro para realizar uma consulta específica, consumir o método PUT e DELETE
                        • models: são os modelos de negócios de cada API, ou seja, modelo de dados do MVC (FIELDS, GRID)

                      A estrutura do JSON de resposta para o método DELETE será da seguinte maneira:

                      Bloco de código
                      themeRDark
                      titleJSON - Exemplo de resposta do POST
                      true

                      A estrutura do JSON de resposta em caso de falha será da seguinte maneira:

                      Bloco de código
                      themeRDark
                      titleJSON - Exemplo de resposta falha no POST
                      {
                          "errorCode": 400,
                          "errorMessage": "\r\n --- Erro no Modelo ---\r\nId submodelo origem:[MODEL_C1L]\r\nId campo origem:[C1L_CODIGO]\r\nId submodelo erro: [MODEL_C1L]\r\nId campo erro: [C1L_CODIGO]\r\nId erro: 
                      	[TAFJAGRAVADO]\r\nMensagem de erro: [ Esta chave de registro formada pelos campos obrigatórios já foi informada em outro momento neste mesmo cadastro. 
                      	Para manter a integridade da informação não poderá haver duplicidade no cadastro, portanto não será permitido salvar este registro.]
                      	\r\nMensagem da solução: [Deverá ser alterada a chave de identificação única do registro composta pelos campos obrigatórios de forma a não coincidir com outros dados já gravados neste mesmo 
                      	cadastro.\r\n]\r\nValor atribuído: []\r\nValor anterior: [1234                                                        ]\r\n"
                      }
                      
                      {
                          "errorCode": 400,
                          "errorMessage": "\r\n --- Erro no Modelo ---\r\nId submodelo origem:[MODEL_C1L]\r\nId campo origem:[C1L_UM]\r\nId submodelo erro: [MODEL_C1L]\r\nId campo erro: 
                      	[C1L_UM]\r\nId erro: [C1L_UM    ]\r\nMensagem de erro: [ Deve representar a Unidade de medida utilizada na quantificação de estoques, conforme determina o fisco no Convênio 31/99, no 
                      	Guia Prático EFD Fiscal e Contribuições.                   
                      	\r\n\r\nA informação deste campo corresponde á um código de identificação conforme respectivo cadastro.]
                      	\r\nMensagem da solução: [\r\n]\r\nValor atribuído: []\r\nValor anterior: [xxx   ]\r\n"
                      }
                      Dica
                      titleDica

                      Ao realizar um POST, devem ser respeitados os campos de ID recebidos no método GET. Por exemplo, considere os seguintes campos:

                      C1H_UF: Enviar o código 000027 vinculado à tabela C09 (unidade federativa), e não SP.
                      C1H_CODMUN: Enviar o código 003293 vinculado à tabela C07 (Municípios do IBGE), e não AMERICO DE CAMPOS.
                      C1L_UM: Enviar o código presente na tabela de unidade de medida, e não UN.
                      Certifique-se de que os dados enviados no POST correspondam corretamente aos identificadores recebidos no GET, evitando o uso de valores literais inadequados.              

                      08. ASSUNTOS RELACIONADOS