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.
Premissa para a Integração Neogrid X Faturamento Protheus
Para receber os arquivos do Neogrid o fonte "colabgeneric.prw" valida a existência da licença 3100 (TOTVS_COLAB_ONDEMAND).
A Ausência desta licença impede a gravação dos arquivos de Logs da integração (pasta XML) e a gravação das tabelas a serem importadas (grava somente o campo CKO_FLAG e impede a gravação das tabelas SC5 e SC6).
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® |
Tabela
Renomeie o nome da tabela CKO (X2_ARQUIVO) para CKOCOL via configurador
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 | Grava o 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 (Valor default: 1)
MV_FATLBAT - Este parâmetro define se a liberação dos itens será realizada de forma automática na geração do Pedido de Venda através da Programação de Entrega, evitando assim a necessidade de liberar novamente o Pedido, caso tenha sido incluído manualmente e foi reprocessado pelo posterior uso do Colaboração. (Valor default: .T.)
Parâmetros usados pelo compras que podem interferir no processo do Faturamento (Pedido de venda - MATA411)
Se o parâmetro MV_IMPXML estiver como F o sistema gravará a tabela CKOCOL corretamente. Caso esteja como T, será necessário preencher os parâmetros abaixo para que o sistema grave a tabela
MV_EXCEDI - Informa qual ou quais código dos arquivos que não serão importados, mantendo-os na pasta IN
MV_COLEDI - Informa qual ou quais código dos arquivos que serão importados
Se o parâmetro MV_IMPXML estiver como F, os parâmetros acima, deveram estar em branco, pois não existe tratativa para utilizar o Importador XML e o Totvs Colaboração em conjunto. A definição de qual ferramenta utilizar é informada no parâmetro MV_IMPXML.
Documentação dos parâmetros do Compras no link abaixo
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):