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 é o responsável pelo tráfego dos arquivos gerados pelo Microsiga Protheus® - e dos sistemas da NeoGrid em substituição à 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 para instalação 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 à 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
Recebimento (Processo utilizado no Faturamento - SIGAFAT)
Os documentos que podem ser recebidos por meio do TOTVS Colaboração no módulo de Faturamento são:
Fluxo do processo de geração de Pedido de Vendas (O processo é idêntico para Programação de Entrega):
Macro Processos:
Compatibilizadores
Rodar update COLABUPDATE e UPDFAT50.
Na versão 2.0 do TOTVS Colaboração a configuração da estrutura de onde é feita a importação dos XMLs, é configurada por meio de 3 parâmetros.
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® |
De/Para de tag + cadastros (Pedidos de vendas - MATA411)
Tag | Conteúdo | Informações Adicionais |
---|---|---|
_ORDERTYPECODE | Tipo do Pedido | 000 - Pedido com condições especiais |
_ORDERID | Número do pedido do Emissor | Informação é gravada no campo C6_PEDCLI |
_DHINIDELIVERY | Data e hora de entrega do item | Informações gravadas nos campos C6_ENTREG e C6_HORENT |
_FREIGHTTYPE | Tipo de frete | 1 - CIF (Frete por conta do vendedor) |
_INVOICEMESSAGES | Mensagem da nota fiscal | Informação gravada no campo C5_MENNOTA |
_TYPECODPROD | Tipo de código de produto | Determina onde é feita a busca do produto sendo: 'EN' ou 'UP' - Busca o produto por meio do código de barras (B1_CODBAR) 'BP' - Busca pela amarração de clientes x produtos (A7_PRODUTO) |
_ITEMCODE | Código do produto | Informação gravada no campo C6_PRODUTO |
_QUANTITY | Quantidade de venda | Informação gravada no campo C6_QTDVEN |
_UNITYPRICE | Preço unitário do produto | Se a tabela de preços está vazia, utiliza a informação da tag, senão utiliza o campo B1_PRV1 para gravar no campo C6_PRCVEN |
_CUSTOMERGOVINFO | CGC do cliente | Informação gravada no campo C5_CLIENTE |
_DELIVERYCUSTOMERGOVERNMENTALINFORMATION | CGC do cliente de entrega | Informação gravada no campo C5_CLIENT. Caso não seja informado, é considerado o cliente de faturamento, também como cliente de entrega. |
_VENDORGOVINFO | CGC do fornecedor | Utiliza informação para buscar na tabela SM0 para emitir na empresa/filial correta |
_PRICETABLENUMBER | Tabela de preços | Dificilmente é informada, pois o cliente geralmente, não possui tal informação. Caso não seja informada, a busca ocorre através do campo A1_TABELA |
_PAYMENTTERMCODE | Condição de pagamento | Dificilmente é informada, pois o cliente geralmente, não possui tal informação. Caso não seja informada, a busca ocorre por meio do campo A1_COND |
_SELLERCODE | Códido do vendedor | Informação gravada no campo C5_VEND1 |
OBS: A exclusão do pedido de vendas e exclusão de itens do pedido de vendas não é contemplada atualmente pela integração via TOTVS Colaboração.
De/Para de tag + cadastros (Programação de Entrega - MATA412)
Tag | Conteúdo | Informações Adicionais |
---|---|---|
_FUNCMSGPROG | Função da mensagem | 4 - Alteração 5 - Substituição 9 - Original 11 - Resposta |
_DOCUMENTNUMBER | Número do pedido do Emissor | Informação é gravada no campo D0_PEDCLI |
_BUYERCNPJ | CNPJ do cliente | Informações gravadas no campo D0_CLIENTE |
_DHEMISDOCUMENT | Data e hora da emissão da programação | Informações gravadas no campo D0_EMISSAO |
_VENDORTAXID | CGC do fornecedor | Utiliza informação para buscar na tabela SM0 para emitir na empresa/filial correta |
_ITEMCODE | Código do produto | Informação gravada no campo C6_PRODUTO |
_TYPECODPROD | Tipo de código de produto | Determina onde é feita a busca do produto sendo: 'EN' ou 'UP' - Busca o produto por meio do código de barras (B1_CODBAR) 'BP' - Busca pela amarração de clientes x produtos (A7_PRODUTO) |
_DELIVERYSTATUS | Tipo de entrega | 1 - Firme 4 - Previsto 10 - Imediato 10E - Prometido |
_DELIVERYEAN | Identificação através de código EAN-13 ou do CNPJ do Local de Entrega das mercadorias | Informação gravada no campo DX_CODEAN |
_DELIVERYCNPJ | CNPJ do Local de Entrega das mercadorias | É realizado uma busca do CNPJ no Cadastro de Clientes Protheus e gravado o código identificador do cliente |
_DHINIDELIVERY | Data e hora inicial para entrega do item. O formato utilizado é: AAAA-MM-DDTHH:MM:SS | É realizado uma quebra na informação de data e hora e alimentados os campos DX_DATINI, DX_HORINI |
_DHFINDELIVERY | Data e hora final para entrega do item. O formato utilizado é: AAAA-MM-DDTHH:MM:SS | É realizado uma quebra na informação de data e hora e alimentados os campos DX_DATENT, DX_HORENT |
_QUANTDELIVERY | Identifica a quantidade de mercadorias que deverá ser entregue no local. (Obrigatório) | Informação gravada no campo DX_QUANT |
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 siga os seguintes procedimentos:
* Tabela de Preços: Pode ser informada por meio do XML na tag <PRICETABLENUMBER>, caso não seja informada, o sistema busca 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 utiliza o TES padrão, conforme parâmetro MV_FATTSPD.
* Condição de pagamento: Pode ser informada por meio do XML na tag <PAYMENTTERMCODE >, caso não seja informada, o sistema busca a condição no cadastro do cliente (A1_COND – folder: Vendas).
Obs.: Não utilize a condição de pagamento de tipo 09, pois esta 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.
Importante: Sempre que um item de produto tiver o tipo EN ou UP a busca no Protheus é sempre efetuada por meio do código de barras (B1_CODBAR), sendo assim, é imprescindível que este campo esteja devidamente preenchido, caso contrário a busca é realizada por meio da amarração de Produto x Cliente (SA7).
* Caso a regra acima citada não atenda, verifique o parâmetro MV_FATEDIP.
Importante: Pode haver conflitos na busca do produto por código de barrar (B1_CODBAR) devido a configuração do parâmetro MV_CONSBAR, responsável por definir a quantidade de caracteres considerados no código, ou seja, poderão ser acrescidos números dependendo da quantidade informada no XML.
Em Atualizações / Cadastros / Produto x Cliente efetue a amarração;
Em Atualizações / Cadastros / TES inclua um TES;
Em Atualizações / Cenários de Venda / Tabela de preço inclua uma tabela de preço e efetue a respectiva amarração dos produto.
Pontos de Entrada (Pedido de venda - MATA411):
MA411GRV - Manipula os dados do pedido de vendas gerado por meio do EDI de Vendas (TOTVS Colaboração)
MA411Cli - Altera o cliente de faturamento por meio 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 é considerado como cliente de faturamento no SC5.
MV_FATEDIP - Determina que a busca do produto é efetuada de forma diferenciada, independente do tipo do produto.
Se utilizar a busca diferencial de produto faça primeiro a busca pelo SA7 (independente do tipo), se não encontrar, busque pelo código de barras B1_CODBAR.
MV_CROSFAT - Define se utiliza Prog. Entrega ou Ped. Venda no CrossDocking. 1- Não utiliza, 2- Prog de Entrega, 3- Pedido Vendas
Efetue a configuração do Agent:
Importante: Dúvidas quanto ao cadastramento do Schedule, vide manual.
Configure 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: Configure 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/filial correta conforme CNPJ informado na tag <VendorGovInfo>)
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:
Na tabela ‘CKOCOL’, observe 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;
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, crie uma pasta com o nome XML no startpath do Protheus) e verifique se consta um arquivo de nome “deliveryschedule_salesorder”, sem sim, é porque se trata 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:
Os logs podem ser enviados também via Event Viewer. Ao utilizar este processo, os logs chegam por e-mail com o status do processamento de cada xml.
Cadastre o processo com o código '056'.
Para configurar o Event Viewer acesse o módulo Faturamento (SIGAFAT):
Miscelânea / Inscr. Event Viewer / Incluir
Para receber e-mail configure o SMTP:
Acesse o configurador (SIGACFG): EMAIL/PROXY / Configurar
Vide documentação do Event Viewer.
https://cms.totvs.com/mktfiles/tdiportais/helponlineprotheus/portuguese/cfga040_event_viewer.htm
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 é processo de envio do espelho da nota.
É possível enviar o Invoice por meio da Neogrid, para isso, é necessário possuir o client da Neogrid instalado.
Os XML's emitidos após a trnasmissão da nota ficam na pasta OUT (MV_NGOUT) e o job da Neogrid faz a leitura e a importação do Invoice.
É possível enviar o Invoice também via TSS.
A seguir o processo detalhado:
Configurações
É necessário possui o RDMAKE NFEspNeo.prw compilado no repositório.
Utilização
É necessário transmitir a nota:
Se a transmissão for bem sucedida, é gerado o arquivo com extensão .XML com a Invoice (Espelho da nota):
Pedido de Vendas:
005_20160409024448005_6121.xml
Programação de entrega:
252_20141215152121498_0001.xml
Emissão NFE:
170_20160505074718699_0001.xml
Espelho da nota (Invoice):