Páginas filhas
  • DI_Integração_TOTVS_Colaboração_2_0_EDI_de_Vendas

Versões comparadas

Chave

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

TVS Colaboração 2.0 - EDI de Vendas SIGAFAT

Contexto de negócio

A versão 1.0 do TOTVS Colaboração utiliza o TSS (TOTVS® Service SOA) para realização do tráfego dos documentos entre o ERP Microsiga Protheus® e a plataforma NeoGrid por meio do emprego da tecnologia Web Service. Nesta versão do TOTVS Colaboração, denominada 2.0, foi empregado o uso do Client NeoGrid - que será o responsável pelo tráfego dos arquivos gerados pelo Microsiga Protheus® - e dos sistemas da NeoGrid em substituição a utilização do TSS.

A proposta do Client NeoGrid é facilitar e agilizar o processo de transmissão dos documentos fiscais, pois trabalha completamente integrado aos serviços disponíveis no TOTVS Colaboração no que se refere à plataforma NeoGrid. Basicamente, trata-se de um software que deve ser instalado no servidor de aplicação ERP, capaz de monitorar um diretório de saída de documentos alimentado pelo ERP Microsiga Protheus® e de realizar a transmissão para os serviços disponíveis do TOTVS Colaboração sob plataforma NeoGrid. Este software também tem como finalidade verificar junto a plataforma NeoGrid a existência de documentos pendentes de retorno, e em caso afirmativo, atualizar um diretório de entrada para leitura do ERP Microsiga Protheus.

 

Para melhor entendimento, seguem abaixo as etapas do processo padrão de envio de arquivos via TOTVS Colaboração 2.0:

     Envio

  1. O Protheus® gera o arquivo com extensão *.xml no diretório de saída do Client NeoGrid.
  2. O Client NeoGrid faz uma busca no diretório de saída e envia o arquivo para os serviços web do TOTVS Colaboração na NeoGrid.
  3. Após concluir o envio, o arquivo do diretório de saída é movido para o diretório de documentos enviados. 


  Recebimento (Processo utilizado no Faturamento - SIGAFAT)

  1. O Client NeoGrid analisa, em um determinado intervalo de tempo, a existência de documentos disponíveis para recebimento. Em caso afirmativo, será gravado no diretório de entrada o arquivo .xml correspondente ao pedido de vendas ou a programação de entrega.
  2. Após esta gravação, o ERP Microsiga Protheus® executa, via Schedule de importação, a leitura do arquivo e a sua importação para o sistema.
  3. O ERP Microsiga Protheus® executa também, via Schedule de importação, a movimentação do arquivo lido (que está no diretório de entrada) para o diretório de arquivos lidos/processados.

Sistemas Envolvidos  

  • Faturamento (SIGAFAT) - Fornecedores da rede Colaboração recebem os pedidos de compra firmes, para assim, gerar o pedido de vendas.
  • Faturamento (SIGAFAT) - Fornecedores da rede Colaboração recebem as datas de necessidade das autorizações de entrega e pedidos de compra para gerar a programação de entrega.

Integração

Os documentos que podem ser recebidos através do TOTVS Colaboração no módulo de Faturamento são:

  • Pedido de Venda: O módulo de Faturamento recebe os pedidos de compras firmes para efetuar a geração do pedido de vendas. 
    BenefíciosNotificação da intensão de venda.

  • Programação de Entrega: O módulo de Faturamento recebe as datas de necessidade das autorizações de entrega e pedidos de comprar para geração de programação de entrega.
    Benefícios: Melhor planejamento das entregas.

Fluxo

Fluxo do processo de geração de Pedido de Vendas (O processo é idêntico para Programação de Entrega):


Macro Processos:



 


 

 

Pré-requisitos implantação

Compatibilizadores

Rodar update COLABUPDATE.

Na versão 2.0 do TOTVS Colaboração a configuração da estrutura de onde os XMLs devem ser importados, são configurados através de 3 parâmetros.

  • MV_TCNEW: Documentos que utilizam o novo modelo do TOTVS Colaboração, sendo: 0-todos,1-NFE,2-CTE,3-NFS,4-MDe,5-MDfe,6-Recebimento
    Ex. de preenchimento: 6

  • MV_NGINN: Diretório onde conterá os XMLs a serem importados.
    Ex. de preenchimento: \NEOGRID\BIN\IN                                                                                                                                                                                                                                           

  • MV_NGLIDOS: Diretório onde conterá os XMLs ja lidos.
    Ex. de preenchimento: \NEOGRID\BIN\LIDOS                                                                                                                                                                                                                                        

Tabelas Utilizadas

CKO – Controle de arquivos TOTVS Colaboração. (Versão 2.000)

Rotinas Envolvidas

COLAUTOREAD.PRW (A partir da data 22/01/16, tratamento das threads)

MATA410.PRW

MATA411.PRW

MATA412.PRW

Sistemas Operacionais

Windows®/ Linux®

Pré-requisitos utilização

De/Para de tag + cadastros (Pedidos de vendas - MATA411)

TagConteúdoInformações Adicionais
_ORDERTYPECODETipo do Pedido

000 - Pedido com condições especiais
001 - Pedido Normal
002 - Pedido de Mercadorias Bonificadas
003 - Pedido de Consignação
004 - Pedido Vendedor
005 - Pedido Comprador
006 - Pedido de Demonstração
007 - Programação de entrega
008 - Contrato fornecimento

_ORDERIDNúmero do pedido do EmissorInformação será gravada no campo C6_PEDCLI
_DHINIDELIVERYData e hora de entrega do itemInformações serão gravadas nos campos C6_ENTREG e C6_HORENT
_FREIGHTTYPETipo de frete

1 - CIF (Frete por conta do vendedor)
2 - FOB (Frete por conta do comprador)
3 - SFT (Sem frete)

_INVOICEMESSAGESMensagem da nota fiscalInformação será gravada no campo C5_MENNOTA
_TYPECODPRODTipo de código de produto

Determina onde será a busca do produto sendo:

'EN' ou 'UP' - Busca o produto através do código de barras (B1_CODBAR)

'BP' - Busca pela amarração de clientes x produtos (A7_PRODUTO)

_ITEMCODECódigo do produtoInformação será gravada no campo C6_PRODUTO
_QUANTITYQuantidade de vendaInformação será gravada no campo C6_QTDVEN
_UNITYPRICEPreço unitário do produto

Se a tabela de preços estiver vazia, utiliza a informação da tag, senão

utiliza o campo B1_PRV1 para gravar no campo C6_PRCVEN

_CUSTOMERGOVINFOCGC do clienteInformação será gravada no campo C5_CLIENTE
_DELIVERYCUSTOMERGOVERNMENTALINFORMATIONCGC do cliente de entrega

Informação será gravada no campo C5_CLIENT. Caso não seja informado, será

considerado o cliente de faturamento, também como cliente de entrega.

_VENDORGOVINFOCGC do fornecedorUtiliza informação para buscar na tabela SM0 para emitir na empresa/filial correta
_PRICETABLENUMBERTabela de preços

Dificilmente é informada, pois o cliente geralmente, não possui tal informação. Caso

não seja informada, a busca ocorrerá através do campo A1_TABELA

_PAYMENTTERMCODECondição de pagamento

Dificilmente é informada, pois o cliente geralmente, não possui tal informação. Caso

não seja informada, a busca ocorretá através do campo A1_COND

_SELLERCODECódido do vendedorInformação será gravada no campo C5_VEND1

 

  • TES: É obtido através campo B1_TS, caso não encontre, busca no parâmetro MV_FATTSPD.

 

Pré-requisitos Cadastros

  1. No módulo Faturamento em Atualizações / Cadastros / Clientes incluir um Cliente com o mesmo CNPJ do pedido de compra enviado pela NEOGRID;

    Importante: Para gerar pedido de vendas é necessário informar a condição de pagamento, tabela de preços e o TES. Por ser rotina automática é necessário seguir os seguintes procedimentos:


     * Tabela de Preços: Pode ser informada através do XML na tag <PRICETABLENUMBER>, caso não seja informada, o sistema buscará a condição no cadastro do cliente (A1_TABELA – folder: Vendas).


     * TES: O TES é configurado no cadastro de produtos (B1_TS – folder: Cadastrais), caso não haja informação, o sistema pegará o TES padrão, conforme parâmetro MV_FATTSPD.

      * Condição de pagamento: Pode ser informada através do XML na tag <PAYMENTTERMCODE >, caso não seja informada, o sistema buscará a condição no cadastro do cliente (A1_COND – folder: Vendas).
    Obs.: Não utilizar condição de pagamento de tipo 09, pois essa condição depende de interface para inserção das parcelas e datas, por se tratar de rotina automática, tal processo não é possível.

  2. Em Atualizações / Cadastros / Produtos incluir um Produto para utilização do TOTVS Colaboração 2.0;

    Importante: Sempre que um item de produto tiver o tipo EN ou UP a busca no Protheus será sempre efetuada através do código de barras (B1_CODBAR), sendo assim, é imprescindível que este campo esteja devidamente
    preenchido, caso contrário a busca será realizada através da amarração de Produto x Cliente (SA7).  
    * Caso a regra acima citada não atenda, ver o parâmetro MV_FATEDIP.


  3. Em Atualizações / Cadastros / Produto x Cliente efetuar a amarração;

  4. Em Atualizações / Cadastros / TES incluir um TES;

  5. Em Atualizações / Cenários de Venda / Tabela de preço incluir uma tabela de preço e efetuar a respectiva amarração dos produto.

Customização/Facilitadores

Pontos de Entrada (Pedido de venda - MATA411):

MA411GRV Manipula os dados do pedido de vendas gerado através do EDI de Vendas (TOTVS Colaboração) 

MA411Cli Altera o cliente de faturamento através de tag específica no EDI de Vendas (TOTVS Colaboração)

 

Parâmetros adicionais (Pedido de venda - MATA411):

MV_CENTFAT - Determina se o cliente de entrega será considerado como cliente de faturamento no SC5.

MV_FATEDIP - Determina que a busca do produto seja efetuada de forma diferenciada, independente do tipo do produto.

Se utilizar a busca diferencial de produto faz primeiro a busca pelo SA7 (indepedente do tipo), Se não encontrar, busca pelo código de barras B1_CODBAR.

 

Configuração de Schedule

  1. Configurar o job que aciona as seguintes funções:


    COLAUTOREAD() - Faz o processamento dos arquivos recebidos, alterando os xml's da pasta IN para LIDOS, grava o registro na tabela CKOCOL.

    MA411Job() - Faz a leitura do XML para gerar Pedido de vendas (XML iniciado em '005_').

    MA412Job() - Faz a leitura do XML para gerar Programação de Entrega (XML iniciado em '252').

    Utilizando o SIGACFG, menu Ambiente / Schedule / Schedule;

    Importante: Configurar para que a execução seja feita em apenas uma empresa, para não gerar vários agendamentos seguidos e duplicar os pedidos/programação de entrega (internamente o job trata para gravar o pedido na empresa correta  conforme CNPJ informado na tag <VendorGovInfo>)




  2. Na opção Alterar selecione o botão Recorrência. 
    Importante: Com exceção do ColAutoRead(), é necessário configurar um intervalo de execução do Schedule para que ele não gere pedidos/programação de entrega em duplicidade ao executar agendamentos seguidos.


    Esquema macro de funcionamento:



Análise de processamento

  1. Quando o schedule do TOTVS colaboração (ColAutoRead) é executado e o arquivo é movido para pasta configurado no parâmetro ‘MV_NGLIDOS’ e é criado um registro na tabela ‘CKOCOL’;

  2. Na tabela ‘CKOCOL’, observe que o campo CKO_FLAG, se o conteúdo do mesmo for 0, isto significa que o arquivo foi processado com erros e que o pedido não foi gerado/programação de entrega, não foi gerado;

  3. Neste caso, trata-se de um problema de execução de rotina automática, ou de problema na leitura do xml. Sendo assim, acesse a pasta “XML” (Caso a pasta não exista, criar uma pasta com o nome XML no startpath do Protheus) e verifique se consta um arquivo de nome “deliveryschedule_salesorder”, sem sim, é porque trata-se de um problema de cadastro. O arquivo deve conter:

    * O número do arquivo XML entre colchetes e
    * A informação do que está errada no cadastro:


  4.  Se não for possível efetuar a criação do arquivo será apresentado uma mensagem no AppServer:



  5. Se o arquivo ultrapassar 1MB o arquivo é deletado e um novo arquivo de log é criado:



  6. O log também pode ser consultado através do arquivo “Order”:




Event Viewer

Os logs podem ser enviados também via Event Viewer. Através desse processo, os logs chegam por e-mail  com o status do processamento de cada xml. O processo deverá ser cadastrado com o código '056'.

Vide documentação do Event Viewer.

Importante: Os dados do Event Viewer ficam cadastrados na tabela SXH, por ser uma tabela de dicionário de dados, dependendo da quantidade de registros trafegados, pode haver estouro do tamanho, fazendo-se necessário efetuar o backup da tabela e recriá-la novamente vazia.

INVOICE - Espelho da Nota

FAQ

  1. O arquivo .xml foi processado pelo TOTVS Colaboração e gravado na tabela CKOCOL, mas não gerou pedido e/ou programação de entrega e nem gravou informações no log.
    R.: Geralmente o ColAutoRead() possui recorrência Sempre Ativo configurado no Schedule, ou seja, assim que termina de executar uma tarefa, ele já executa outra em seguida, sem dar pausas. Dependendo da recorrência do schedule de pedidos e/ou programação de entrega, por exemplo, a cada 30 min, o sistema só vai tentar gerar os registros na hora marcada no agendamento.

  2. Como eu sei que o pedido/programação de entrega foram gerados através da tabela CKOCOL?
    R.: Através do campo CKO_FLAG. Se o status for igual a '1' significa que o registro foi gerado com sucesso.

  3. Na consulta do log de execução automática consta que o cliente é inválido, mas o cliente está ativo (A1_MSBLQL) e consigo gerar o pedido com os dados do xml de forma manual.
    R.: Verificar o processo de numeração do Protheus (SXE/SXF), pois, este problema geralmente ocorre quando a numeração disponível já está gravada no banco de dados.

  4. Se o XML for processado com erro e não gerar o pedido e/ou programação de entrega, quando ele será gerado novamente?
    R.: O Controle ocorre através do campo CKO_FLAG, enquanto ele for igual a '0', a cada nova execução do schedule, o sistema tentará processar o registro novamente.

  5. Como eu sei que o pedido de venda gerado, refere-se ao TOTVS Colaboração?
    R.: É possível identificar um pedido de vendas proveniente do TOTVS Colaboração através dos campos C5_ORIGEM, neste campo é gravado o conteúdo "MATA411" ou através do campo C6_PEDCLI que grava o número do pedido de compras do cliente conforme TAG _ORDERID.

  6. O sistema gerou pedidos e/ou programações de entregas duplicados.
    R.: Analisar a recorrência dos agendamentos, o ideal é nunca agendar o MA411JOB() e o MA412JOB() como sempre ativo, pois pode ocorrer um delay entre uma geração e outra, ocasionando o encavalamento do processamento, gerando assim, registros duplicados.

  7. No INVOICE é possível filtrar e transmitir apenas os XMLs gerados a partir da Neogrid?
    R.: Sim, para isso, é necessário efetuar o filtro de forma customizada através do RDMAKE NFEspNeo.prw

  8.  Se o cliente enviou através do xml uma solicitação para geração de pedido, mas notou que, por exemplo, a quantidade de vendas estava errada, como o registro pode ser alterado de forma automática?
    R.: Basta o cliente transmitir uma nova solicitação, com os dados corretos informando o mesmo _ORDERID do pedido gerado, com isso, o sistema identificará que o pedido existe e efetuará a respectiva alteração, conforme novo xml.

  9. Na geração é utilizado o processo de TES Inteligente, como o sistema trata isso de forma automática, pois não há nenhuma tag específica que trata essa informação?
    R.: Este processo precisará ser tratado de forma customizada através do ponto de entrada MA411GRV.