GKO FRETE - Importação de dados - Integração de Romaneio por webservice, não permite enviar o campo 'Data de embarque' preenchido, se o campo 'Data de embarque' da Nota Fiscal estiver vazio ou diferente do valor enviado
Incidente
No módulo de controle de integração de documentos, ao tentar integrar o romaneio de frete por webservice (P7885 - Inclusão/alteração de Montagem de Romaneio), é apresentada a mensagem: Existem campos na Nota Fiscal que não poderão ser alterados, pois possuem valores diferentes em Carga. Nota Fiscal = Vazio / Romaneio = XX/XX/XXXX.
Causa:
Esta mensagem é apresentada, pois quando é enviado um romaneio de frete que ainda não esta cadastrado no sistema, não é possível alterar os dados das notas fiscais enviadas no arquivo. Isso acontece porque o romaneio ainda não existe no sistema, para que o banco de dados realize o relacionamento de tabelas.
Solução:
A relação entre o processo de Romaneio e Notas Fiscais, é estruturada com uma hierarquia de pai (Romaneio) e filhos (Notas Fiscais). Quando enviamos um novo cadastro de romaneio ao sistema, temos a seguinte situação:
- Trata-se de um novo cadastro que a API está tentando criar;
- As notas enviadas na tabela de relacionamento "MROM_MNOTA" do arquivo XML, já existem no sistema;
Exemplo de arquivo XML:
Fluxo do processo:
- A API recebe os dados do Romaneio de Frete;
- O Romaneio de Frete é criado na base de dados de forma temporária, até que a transação do banco de dados seja confirmada, com a Data de Embarque enviada no arquivo. No exemplo da imagem anterior: 24/01/2025;
- Ao tentar associar com a Nota fiscal enviada no arquivo, o sistema realiza algumas validações para manter a integridade dos dados. Uma dessas validações verificadas é a Data de Embarque, que precisa ser idêntica, tanto a enviado no Romaneio (24/01/2025) quanto a da Nota fiscal que esta cadastrada;
- Se o Romaneio esta sendo enviado com a Data de Embarque preenchida, enquanto a NF não possui essa informação, o sistema gera a seguinte crítica:
"Existem campos na Nota Fiscal que não poderão ser alterados, pois possuem valores diferentes em Carga.
Nota Fiscal = Vazio / Carga = XX/XX/XXXX."
- Devido a essa inconsistência, a transação do banco de dados é desfeita, incluindo a criação da Carga.
Para que a operação seja realizada com sucesso, é necessário garantir que os dados estejam sincronizados entre o Romaneio enviado e a Nota fiscal. Por exemplo:
- Opção 1: Enviar o Romaneio sem a Data de Embarque preenchida, e as notas também estiverem sem a data de embarque;
- Opção 2: Garantir que a NF contenha a mesma Data de Embarque da Carga antes da associação;
Como a relação entre Romaneio e Nota fiscal segue uma estrutura de pai/filho, a partir do momento que o romaneio estiver cadastrado no sistema GKO Frete, é possível inserir a data de embarque manualmente, e será modificado automaticamente todas às Notas Fiscais associadas.
Esse mesmo processo ocorre quando é cadastrado um novo romaneio de frete manualmente. O sistema obriga que o cadastro ser salvo, e posterior a esta ação, é permitido associar as notas fiscais.
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema.