Integracao Sigafran

Fonte: Touch ERP
Saltar para a navegação Saltar para a pesquisa

Integracao_Terceiros


O Touch Comp ERP(Mentor) possui integração nativa e direta com o sistema Sigafran(Sistema supervisório) da empresa Só Automação, responsável pela comunicação com máquinas e sensores em fábricas automatizadas. Este documento demonstra este processo de comunicação, os dados sincronizados, origens e exemplo de comunicação.

Basicamente, o Touch Comp ERP sincroniza as informações com base no manual disponibilizado pela própria Só Automação. O Link do layout utilizado está em:

http://touchcomp.ddns.me:81/programs/integracao_com_terceiros/so_automacao/Interface%20SIGAFRAN%205.0%20-%20SOAUTOMACAO%20-%20TXT.pdf

A comunicação se dará via webservices, onde cada endpoint retornará os dados conforme parâmetros informados. Os endpoints deverão ser configurados no lado do Sigafran com alguns dados dinâmicos.

HOST: Ip do servidor, onde está alocado o Touch Comp ERP. Exemplo: 192.168.0.1.

PORTA: Porta da aplicação no servidor, normalmente 8080.

VERSAO: Versão do layout de comunicação, informe 1.

DATA_ULT_SINC: Data da última sincronização, no formato DDMMYYYHHMMSS: DD: Dia, MM: Mês, YYYY: Ano, HH: Hora, MM: Minutos, SS: Segundos. Caso seja a primeira sincronização envie uma data bem antiga, como por exemplo 01/01/2000 00:00:00: 01012000000000, ou simplesmente informe 0.

Caso precise, utilize nosso aplicativo de testes:

https://touchcomp.mywikis.net/wiki/Integracao_Web_Services

Layout

Apesar da integração seguir o layout próprio do Sigafran, os dados foram encodificados em Base64. Isso por dois motivos:

1) Caso haja qualquer erro de processamento no servidor, será retornado com o status de ERRO e os detalhes do erro e não um erro de comunicação;

2) Como os usuários podem informar acentos por exemplo nas descrições, a encodificação evita erros de leitura do arquivo.

O retorno está no formato JSON:

{"versao":1,"mensagem":"Processado com sucesso.","detalhes":"","codStatus":0,"info":[]}

Observe que é retornado a versão, a mensagem, codStatus(quando retornado 1, sucesso. Qualquer outro status deve ser considerado como erro de processamento). Em detalhes, é retornado os detalhes da mensagem em si, codificados em Base64. Para ter acesso ao txt, basta decodificar este campo.

Para testes de decodificação, utilize alguma ferramenta online:

https://www.base64decode.org/

Em Java, você pode utilizar como referência:

https://www.baeldung.com/java-base64-encode-and-decode

Limitações

O Sigafran apenas recebe formulações a granel. Não deve ser enviado formulações que contenham outros insumos/embalagens, como sacaria, etiqueta, etc. Você pode limitar quais formulações são migradas, criando um 1602 Grupo Produtos Relatórios.

Após criado e definido quais formulações de quais produtos serão migrados, você deve realizar a configuração deste serviço em 1809 - Configuração Serviços de Terceiros, criando uma nova configuração para a Integração Sigafran, e informando o ID do grupo criado acima.

Caso não seja definido um grupo de produtos e a configuração, serão migrados todos os dados.

Formulações

Versão 1

Observação: se informado Grupo de Produtos, somente serão migradas formulações de produtos definidas neste grupo de produtos.

O primeiro item a ser integrado são as formulações de produtos. O endpoint será:

http://HOST:PORTA/mentor/rest/integracao/sigafran/getFormulacoes/VERSAO&DATA_ULT_SINC

As formulações são cadastradas no recurso 425 Formulação de Produtos. Nunca edite Formulações que são sincronizadas no Sigafran. Bloqueie no perfil de usuários esta opção. Ao ter esta necessidade, informe a data de vigência final, desative a formulação e crie uma nova.

CAMPO TIPO TAM OBSERVAÇÃO
Tipo de Registro INTEGER 1 * Primeira linha para cada fórmula (Tipo de Registro=0)
Código do item a ser gerado INTEGER 10 Identificador da formulacao
Código da versão da fórmula INTEGER 6 Revisão da Formulação
Descrição VARCHAR 50 Descrição da Formulação
Código PA INTEGER 10 Identificador do produto a ser gerado.
Tamanho da Fórmula INTEGER 5 Será informado 0.
Vigência Inicial DATETIME 19 Data Vigencia Inicial, data em que a formulação foi cadastrada.
Vigência Final DATETIME 19 Data Vigencia Final, data em que a formulação foi inativada.
ITENS
Tipo de Registro INTEGER 1 Demais linhas para cada fórmula contendo os itens (Tipo de Registro=1)
Código da Fórmula INTEGER 10 Identificador da formulacao
Ordem INTEGER 3 Indice dos item, tabela de itens
Código da matéria prima a dosar INTEGER 10 Identificador do Produto da materia prima
Quantidade em Percentual INTEGER 10 Informado 0
Quantidade em kg INTEGER 10 Quantidade do item


Produtos

Versão 1 Observação: somente são migrados produtos que existam, foram utilizados nas formulações.

O endpoint da integração de Produtos será:

http://HOST:PORTA/mentor/rest/integracao/sigafran/getProdutos/VERSAO&DATA_ULT_SINC

As formulações são cadastradas no recurso 65 Produtos e Serviços.

CAMPO TIPO TAM OBSERVAÇÃO
Código (MP/PA INTEGER 10 Identificador do Produto
Descrição (MP/PA) INTEGER 50 Nome do Produto
Abreviatura VARCHAR 6 Código Auxiliar do Produto, limitado a 6 caracteres. Caso o código seja maior será truncado
Unidade de Medida INTEGER 3 Sigla da Unidade Medida Vinculada ao Produto.
Densidade VARCHAR 4 Campo densidade do Produto.


Clientes

Versão 1

O endpoint da integração de Clientes será:

http://HOST:PORTA/mentor/rest/integracao/sigafran/getClientes/VERSAO&DATA_ULT_SINC

As formulações são cadastradas no recurso 76 Clientes.

CAMPO TIPO TAM OBSERVAÇÃO
Código INTEGER 10 Identificador do Cliente
Descrição VARCHAR 100 Nome do Cliente
CNPJ VARCHAR 14 CNPJ do Cliente, conforme cadastrado em Pessoa/Complemento
Telefone VARCHAR 11 Telefone do Cliente, conforme cadastrado em Pessoa/Complemento. Será informado o Telefone. Caso o campo esteja vazio, será informado seu celular.


Fornecedores

Versão 1

O endpoint da integração de Fornecedores será:

http://HOST:PORTA/mentor/rest/integracao/sigafran/getFornecedores/VERSAO&DATA_ULT_SINC

As formulações são cadastradas no recurso 77 Fornecedores.

CAMPO TIPO TAM OBSERVAÇÃO
Código INTEGER 10 Identificador do Fornecedor
Descrição VARCHAR 100 Nome do Fornecedor
CNPJ VARCHAR 14 CNPJ do Fornecedor, conforme cadastrado em Pessoa/Complemento
Inscrição Estadual VARCHAR 20 IE do Fornecedor, conforme cadastrado em Pessoa/Complemento
Endereço VARCHAR 100 Endereço do Fornecedor, conforme cadastrado em Pessoa/Endereço. É concatenado Endereço + Número + Complemento
CEP VARCHAR 8 Cep do Fornecedor, conforme cadastrado em Pessoa/Endereço
Telefone VARCHAR 11 Telefone do Fornecedor, conforme cadastrado em Pessoa/Complemento


Ordens de Produção

Versão 1

Observação: se informado Grupo de Produtos, somente serão migradas Ordens de Produção de produtos definidas no grupo de produtos.

O endpoint da integração das Ordens de Produção será:

http://HOST:PORTA/mentor/rest/integracao/sigafran/getOrdensProducao/VERSAO&DATA_ULT_SINC

As Ordens de Produção são cadastradas no recurso 431 Ordens de Produção.

O ERP suporta o cadastro de Ordens de Produção para N Subdivisões das Ordens. No caso das OS enviadas ao Sigafran, todas devem ser geradas com apenas uma SubOS. Caso seja informado mais de uma, poderá ocorrer erros na sincronização de retorno. Como podem haver outras produções que não estejam vinculadas diretamente ao Sigafran, este item não é bloqueado pelo ERP.

É enviado também o número de bateladas e a quantidade por batelada. A quantidade por batelada é informada no cadastro da Formulação e não na Ordem de Produção. Na OS é informado o número de bateladas onde o sistema calcula a quantidade em quilos.

Nunca edite OS que são sincronizadas no Sigafran. Bloqueie no perfil de usuários esta opção.

CAMPO TIPO TAM OBSERVAÇÃO
Tipo de Registro INTEGER 10 Código Fixo
Código Ordem de Produção INTEGER 10 Código da Ordem de Produção.
Código da Fórmula INTEGER 10 Identificador da Formulação
Código Aditivo INTEGER 10 Informado sempre "0"
Data Entrada VARCHAR 19 Data de Emissão da OS, no formato dd/MM/aaaa HH:MM:SS
Data Entrega VARCHAR 19 Data de Previsão de Produção da SUBOS, no formato dd/MM/aaaa HH:MM:SS
Quantidade Produto INTEGER 10 Quantidade do Produto por batelada, conforme informado no campo Quantidade por Produção no cadastro da Formulação.
Tipo Ordem Produção VARCHAR 1 Será informado sempre "A"
Descrição Ordem Produção VARCHAR 200 Descrição da SUBOS. Senão existir, descrição da OS. Senão existir será enviado "IMPORTACAO"
Prioridade INTEGER 10 Nr Ordem Cronograma Produção. Utilize o recurso 976 para defini-lo. Caso contrário a prioridade será sempre 1.
Total Quantidade de Bateladas INTEGER 10 Quantidade de Referência da SUBOS(Bateladas). Casas decimais são ignoradas.
Código da Granja INTEGER 10 Informado 0
Quantidade de Bateladas INTEGER 10 Quantidade de Referência da SUBOS(Bateladas). Casas decimais são ignoradas.
Número Ordem INTEGER 10 Identificador da SUBOS
Lote Animal VARCHAR 30 Lote de Fabricação informado na SUBOS, senão houver é informado 0

Recebimentos

http://HOST:PORTA/mentor/rest/integracao/sigafran/getRecebimentos/{versao}&{dataUltSinc}

Observação: se informado Grupo de Produtos, somente serão migradas recebimento de produtos definidas no grupo de produtos, e ainda de itens que existam em suas formulações produtos/insumos/matérias-primas .

Nesta integração, o SigaFran irá consultar o ERP onde será retornado todas as entradas de produtos, no caso as Notas Fiscais de Terceiros/Fornecedores, onde as condições abaixo estejam satisfeitas:

  • Os produtos informados nas notas fiscais, estejam incluídos nas formulações;
  • A nota fiscal esteja efetivamente Liberada em todos os aspectos: Fiscal, Financeiro, Estoque/Qualidade, etc;

Como o Sigafran não suporta atualizações, apenas inserções, os usuários deverão ter muita atenção no lançamento das notas fiscais, e somente liberar as mesmas, caso estejam realmente corretas. Por isso, para que as notas fiscais sejam disponibilizadas para serem integradas, é obrigatório a utilização do Módulo de Liberação de Notas Fiscais.

Se mesmo, assim for necessário alterar estas notas fiscais, ou até por motivo maior excluídas, o usuário deverá também dar manutenção no Sigafran, manualmente.

Abaixo, segue layout utilizado nesta integração. Vale salientar que o ideal seria a utilização de Tickets Balança, para fornecer as informações completas ao Sigafran. Caso não utilize Tickets Balança, observe que em alguns campos, as informações enviadas são meramente informativas.

As informações enviadas, são com base em cada Grade/Lote informada no item da nota fiscal.

CAMPO TIPO TAM OBSERVAÇÃO
Tipo de Registro INTEGER 10 Código Fixo
Ordem Recebimento INTEGER 10 Identificador da Grade da Nota Fiscal de Terceiros
Caminhão INTEGER 0 Enviado valor padrão, 0
Placa Caminhão VARCHAR 10 Enviado valor padrão, AAA-0000
Motorista VARCHAR 50 Enviado valor padrão SEM MOTORISTA INFORMADO
Data Registro VARCHAR 19 Data de Entrada da NF
Data Fabricação VARCHAR 19 Data de Fabricação do Lote do Lote de Fabricação
Data Validade VARCHAR 19 Data de Validade do Lote de Fabricação
Produto INTEGER 10 Identificador do Produto
Fornecedor INTEGER 10 Identificador da Fornecedor
Nota Fiscal INTEGER 10 Número da Nota Fiscal
Peso Nominal NF INTEGER 10 Quantidade da NF veze Fator Conversão
Peso Tara INTEGER 10 Enviado valor padrão 0000000000
Data Tara VARCHAR 19 Data de Entrada da NF
Descrição Balanceiro VARCHAR 50 Enviado valor padrão SEM BALANCEIRO
Lote VARCHAR 10 Lote de Fabricação
Tipo Produto Recebimento VARCHAR 50 Enviado valor padrão GRANEL
Número Bags INTEGER 10 Enviado valor padrão 0

Produções

http://HOST:PORTA/mentor/rest/integracao/sigafran/putProducoes/{versao}

Nesta integração, o Sigafran irá enviar as produções realizadas e ainda não sincronizadas. Neste ponto, tenha atenção que poderá ocorrer erros de validação no ERP, onde o Sigafran deverá exibir a mensagem ao operador, avisando das falhas e o mesmo deve reportar ao TI da empresa para as devidas correções.

Como exemplo de problema corriqueiro, é a falta de estoque de determinado produto, onde ao receber o apontamento, o sistema irá reportar erro ao Sigafran para que seja analisado o porquê da falta de estoque.

Basicamente, a cada produção recebida, o ERP irá gerar um registro de 428-Evento OS Linha Produção, com o comunicado de produção e a requisição, com os itens requisitados.


CAMPO TIPO TAM OBSERVAÇÃO
Tipo de Registro INTEGER 10 Código Fixo
Produção INTEGER 10 Código Sincronização no Evento OS concatenado com a Batelada
Batelada INTEGER 10 Ver Acima
Data Inicial Batelada VARCHAR 19 Data Inicial do Evento
Data Final Batelada VARCHAR 19 Data Final do Evento
Fórmula VARCHAR 19 Código da formula utilizada. Este campo não é utilizado, o sistema considera a formula enviada na OS
Produto VARCHAR 19 Código do Produto. Este campo não é utilizado, o sistema considera o produto enviado na OS
Silo Expedição VARCHAR 10 Código do Silo é utilizado para encontrar o Centro de Estocagem. Este código deve ser informado no recurso 805-Centro de Estocagem, no campo Código de Sincronização.
Controle INTEGER 10 Este campo, está o código da OS. O mesmo é utilizado pelo ERP para identificar a OS vinculada a produção. Observar que é enviado o Identificador da SUBOS.
Numero Lote Produto (PA) VARCHAR 50 Lote de fabricação do Produto Gerado. Será gerado um novo lote, senão existir com este código, vinculado ao produto em questão. Observe que os produtos produzidos deverão obrigatoriamente, serem controlados por lote não único. Confirmar este cadastro no recurso 65-Produtos e Serviços
Valor da Quebra Técnica INTEGER 10 Para realizar o comunicado de produção, o sistema considera como quantidade produzida, pela batelada, o campo "Quantidade de Referência" informado em 425-Formulação de Produtos. Considerando o valor deste campo, é diminuído o valor da quebra técnica informado, e quantidade do comunicado produção será esta: Quantidade Ref - Quebra Técnica = Quantidade Produzida.
Itens Requisitados
Ordem INTEGER 10 Ordem de dosagem, utilizado apenas para ordenar os itens da requisição.
Produto INTEGER 19 Identificador do item requisitado
Peso Solicitado INTEGER 50 Peso nominal da formulação
Peso Dosado INTEGER 10 Peso efetivo dosado, que será informado na requisição.
Numero Lote Produto (MP) VARCHAR 50 Número do Lote da Matéria Prima
Itens extra formula - Não utilizado
Ordem INTEGER 10 Não utilizado
Produto INTEGER 10 Não utilizado
Quantidade Solicitada INTEGER 10 Não utilizado
Quantidade Dosada INTEGER 10 Não utilizado
Numero Lote Produto (MP Extra Fórmula) VARCHAR 50 Não utilizado