Integracao Precos Estoque FTP

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

Integracao_Terceiros

Nesta integração, específica do Cliente Coosuiponte, integra dados relativos ao Estoque e Preços dos Itens conforme saldo atual do Estoque e Tabela de Preços.

É utilizado arquivo XML conforme layout definido nesta documentação. Conforme escolha do cliente, este arquivo é gerado periodicamente, conforme configuração prévia e assim disponibilizado em um FTP conforme orientações do cliente.

Configuração

A Task responsável pela sincronização é configurada no recurso 1673 - Tasks/Tarefas. Neste recurso é configurado sua periodicidade, bem como avisos via email em caso de algum tipo de falha. Verifique em 1462_Tarefas_Servidor.

A Task é executada por um serviço, no servidor, chamado Wildfly. Este serviço deve estar ativo e operacional para que a Task continue sendo executada normalmente. Verifique mais detalhes em Case_Wildfly. Vale ressaltar que o responsável pelo TI da empresa é o responsável em verificar sua efetiva execução.

Os parâmetros necessários para ela ser executada são:

  • id_tabela_base: onde é inserido os identificadores das tabelas onde serão pesquisados os produtos que serão preenchidos no arquivo. Ex: 3;4;.
  • id_natureza_operacao: inserir o identificador da natureza de venda, necessário para simular o cálculo de venda dos produtos.
  • id_centro_estoque: inserir o identificador do centro de estoque de onde será pesquisado o estoque dos produtos que serão preenchidos no arquivo.
  • id_empresa: inserir o identificador da empresa onde são realizado as vendas;
  • caminho_arquivo: inserir o caminho da pasta de onde será gerado o arquivo no computador onde está rodando o wildfly. (Este arquivo será um backup, pois o arquivo também é gerado no ftp).
  • caminho_ftp: inserir o caminho do ftp onde será gerado o arquivo. Ex: ftp.touchcomp.com.br
  • login_ftp: inserir o login a ser utilizado para validação no ftp.
  • senha_ftp: inserir a senha a ser utilizada para validação no ftp.

Layout do Arquivo e Origem de dados

O sistema irá utilizar uma Tarefa/Task pré programada no servidor, para ser executada de tempo em tempo conforme demanda do cliente. Ao executar a mesma irá consultar o banco de dados, efetuando as devidas pesquisas para criar o arquivo e assim importá-lo ao servidor FTP do cliente.

São considerados os seguintes critérios para preenchimento do arquivo:

  • Produtos que tiveram nota fiscal de entrada/compras no dia;
  • Produtos que tiveram nota fiscal de saída/vendas no dia;
  • Produtos que tiveram alteração nos seus preços no dia;

Observe que ajustes de estoque não são considerados. Considere o layout principal do arquivo o descrito abaixo. São carregados os dados cadastrais do produto e suas grades, estoque e tabela de preços:

-<produto>

   <identificador>6138</identificador>
   <codigoAuxiliar/>
   <nome>ACEPRAN 1% - 20 ML</nome>
   <unidadeMedida>FR</unidadeMedida>
   <especie>ACEPROMAZINA INJETAVEL</especie>
   <subEspecie>INJETAVEIS, TOPICOS E ORAIS</subEspecie>
   <peso>0,02</peso>
   <estoqueTotal>1.414,00</estoqueTotal>


   -<grades>
       -<gradeProduto>
           <idGrade>6139</idGrade>
           <idCor>1</idCor>
           <nomeCor>UNICA</nomeCor>
           <estoqueGrade>1.414,00</estoqueGrade>
       </gradeProduto>
   </grades>


   -<precos>


       -<preco>
           <uf>MG</uf>
           <precoAVista>30,53</precoAVista>
       </preco>


       -<preco>
           <uf>BA</uf>
           <precoAVista>30,53</precoAVista>
       </preco>
   </precos>

</produto>

Problemas e situações previstas

O ideal, para evitar problemas de informações, utilizando a situação atual, é que a Coosuiponte determine um Centro de Estoque específico para vendas no ambiente virtual. Como é conhecido, esta opção não é viável, conforme orientado pela equipe da Coosuiponte.

Outra possibilidade para diminuir problemas relativos a sincronização, seria a utilização de webservices, que seriam chamados de acordo com a demanda pelo site, onde seria exibido o estoque e preços on line. Isso diminuiria drasticamente problemas relativos ao desencontro de informações entre ERP e Site. Esta opção foi preterida pelo cliente.

Sendo a escolha o envio de patch de dados, periodicamente, e utilizando o mesmo centro de estoque para vendas locais e on line, deve se ter CIENCIA que poderá existir discrepância de dados entre as duas plataformas por questões naturais. Para ficar claro tal situação, considere:

  • Sincronização ocorre a cada 3 horas, por exemplo 00:00, 03:00, 06:00, 09:00, 12:00, etc;
  • Estão sendo realizadas vendas no balcão;
  • Estão sendo realizadas vendas no site;

Situação 1: Um produto possuí o saldo de 300 unidades as 08:00 da manhã, que é o mesmo estoque exibido no site. As 08:30, um cliente comprou localmente 180 unidades deste produto, onde foi efetuado o pedido e reservado o estoque. As 08:35, um cliente visita o site, que consta as mesmas 300 unidades, pois a próxima sincronização ocorrerá as 09:00, e efetua a compra de 150 unidades. Logo, pode se ver que irá faltar 30 unidades.

Situação 2: Um produto possuí o saldo de 10 unidades no site as 08:00 da manhã. As 08:15 é efetuado a entrada de uma nota fiscal de compra, de 200 unidades, aumentando o seu estoque para 210 unidades. As 08:20, um cliente acessa o site, que ainda consta 10 unidades, porquê a próxima sincronização ocorrerá as 09:00. O mesmo precisa de 100 unidades, e verifica que a Coosuiponte não possui o produto. Mas na verdade, localmente existe estoque.

Por mais que se reduza o tempo de sincronização, situações descritas acima poderão ocorrer, e o cliente deve ter ciência disso. As duas opções de solução citadas acima, evitam ou reduzem drasticamente o problema, mas possuem efeitos colaterais:

  • Possuir estoque separado aumentaria muito a disponibilidade de estoque e espaço físico de armazenagem, mas evitaria em 100% o problema;
  • Trabalhar com o webservice traz mais dificuldade ao desenvolvedor WEB e aumenta o tempo de resposta nas chamadas, para poder carregar as informações devido a latência da internet entre servidor do site e Coosuiponte. Além disso, considerando a probabilidade maior de falhas na internet local da Coosuiponte, quando a internet na mesma cair, o site ficará inacessível. Isso diminuiria muito o problema de sincronização, para segundos, mas o extinguiria totalmente.