Histórico da Página
Índice
Índice | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
Contexto de Negócio
TOTVS Colaboração 2.0 - EDI de Vendas X SIGAFAT
Contexto de negócioA 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 instaladopara 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
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
- O Protheus® gera o arquivo com extensão *.xml no diretório de saída do Client NeoGrid.
- 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.
- 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)
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
- O Protheus® gera o arquivo com extensão *.xml no diretório de saída do Client NeoGrid.
- 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.
- 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)
- O Client NeoGrid analisa, em um O Client NeoGrid analisa, em um determinado intervalo de tempo, a existência de documentos disponíveis para recebimento. Em caso afirmativo, será gravado grava-se no diretório de entrada o arquivo .xml correspondente ao pedido de vendas ou a programação de entrega.
- 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.
- 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 por meio 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ícios: Notificação da intensão intençã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 compra 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
instalação/implantação
/utilizaçãoCompatibilizadores
Rodar update COLABUPDATE e UPDFAT50.
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 é feita a importação dos XMLs, é configurada por meio 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á que contêm os XMLs a serem importadosimportar.
Ex. de preenchimento: \NEOGRID\BIN\IN
- MV_NGLIDOS: Diretório onde conterá que contêm os XMLs ja já 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® |
Instalação/Atualização
Transações/Entidades/Mensagens únicas
Apresente quais as transações/entidades que são trocadas e quem envia a informação para quem. Pode (e recomenda-se) ter um diagrama, uma tabela ou afins que apresente este fluxo.
Relacione quais são as mensagem únicas (TOTVSMessage) utilizadas e qual o seu relacionamento com as entidades já existentes do ERPs envolvidos.
Exemplos:
Método | ID | Descrição | Origem | Destino | XSD (versões podem variar) |
Cadastros | 01 | Cliente/Fornecedor | RM | Protheus | CustomerVendor_1_000.xsd |
02 | Moeda | RM | Protheus | Currency_1_000.xsd | |
03 | Unidade de Medida | RM | Protheus | UnitOfMeasure_1_000.xsd | |
04 | Produto | RM | Protheus | Item_?_000.xsd | |
05 | Centro de Custo | RM | Protheus | CostCenter_1_000.xsd | |
06 | Ativos | RM | Protheus | NOVA, Ativo fixo | |
07 | Funcionários | RM | Protheus | Employee_1_000.xsd | |
08 | Projeto | RM | Protheus | Project_1_000.xsd | |
09 | Obra | RM | Protheus | SubProject_1_000.xsd | |
10 | Tarefa | RM | Protheus | TaskProject_1_000.xsd | |
11 | Meio de Pagamento | RM | Protheus | ?????.xsd | |
12 | Condições de pagamento | RM | Protheus | PaymentCondition_1_000.xsd | |
13 | Coligada* | RM | Protheus | Company_1_000.xsd | |
14 | Filial* | RM | Protheus | Branch_2_000.xsd | |
Processos | 15 | Solicitações (compras/armazém) | Protheus | RM | Request_1_000.xsd |
16 | Cancelar movimento (solicitação, OS, etc) | Protheus | RM | CancelRequest_1_000.xsd | |
17 | Cancelar movimento (solicitação, OS, etc) | RM | Protheus | CancelRequest_1_000.xsd | |
18 | Baixa de estoque | Protheus | RM | Request_1_000.xsd | |
19 | Baixa de estoque | RM | Protheus | Request_1_000.xsd | |
20 | Consulta Saldo | Protheus | RM |
| |
21 | Apropriação de custos |
|
| Request _1_000.xsd | |
22 | Geração de OS |
|
|
| |
23 | Consulta de OS |
|
|
| |
24 | Ampliação patrimonial |
|
|
|
Fluxo das Informações
Para cada fluxo de informação descreva, se necessário, alterações de comportamento que o respectivo produto irá sofrer. Por exemplo: quando o Logix recebe o PEDIDO de OUTRO ERP, este pedido não poderá ser alterado no Logix.
Liste quais as entidades integradas e como é o mapeamento entre as diferentes estruturas. Por exemplo: Classe no sistema A vira categoria no sistema B, o campo X é refletido no campo Y etc.
Liste quais transações/operações a integração fará com as entidades relacionadas. Exemplo: Insert de PEDIDO, Insert, update de ITEM, buscar saldo em estoque do ITEM no dia X ou buscar dados do FUNCIONÁRIO.
Cadastros
Descreva características gerais do fluxo de informações e que serão comuns para este tipo de entidade. Características particulares para cada entidade deverão ser citadas em tópicos específicos de cada entidade.
Sempre que existir (a sugestão é sempre criar) e for agregador ao documento acrescentar aqui os diagramas/imagens ou até mesmo colocar tais diagramas diretamente na especificação dos processos
Em seguida faça uma descrição para cada um dos fluxos para cada entidade
<Transação/Entidade>
Identificador da Mensagem: <mensagem>
Versão: <versão>
Módulo <marca 1>: <BackOffice – Gestão xxxxxxx>
Módulo <marca 2>: <SIGAXXX>
Tipo de Envio: <Assíncrona/Síncrona>
Mensagem Padrão | PROTHEUS | RM | ||
Tabela | Campo | Tabela | Campo | |
Code | CTO990 | CTO_SIMB | GMOEDA | SIMBOLO * |
Description | CTO990 | CTO_DESC | GMOEDA | DESCRICAO |
Symbol | CTO990 | CTO_SIMB | GMOEDA | SIMBOLO |
Notas:
Observações sobre comportamento desta mensagem ou dos processos envolvidos nela/para ela
A seguir descrever as variações, particularidades da mensagem e processos (integração) de acordo com cada marca
Limitações/Restrições
Descreva limitações e restrições para a integração que está sendo descrita.
Processos
Descreva características gerais do fluxo de informações e que serão comuns para este tipo de entidade. Características particulares para cada entidade deverão ser citadas em tópicos específicos de cada entidade.
Sempre que existir (a sugestão é sempre criar) e for agregador ao documento acrescentar aqui os diagramas/imagens ou até mesmo colocar tais diagramas diretamente na especificação dos processos
Em seguida faça uma descrição para cada um dos fluxos para cada entidade
<Transação/Processo>
Tipo de Fluxo: Protheus -> RM
Mensagem: Request_1_000
Versão: 1.000
Descrição de todo o comportamento e funcionamento do processo. Breve contexto, origem, regras, integração (geração da mensagem, envio, recebimento no destino), o quê supostamente irá ocorrer no destino, retorno, impacto, consequências, o que foi afetado, como conferir, validar, etc o retorno.
Acrescentar um diagrama do processo.
A seguir descrever as variações, particularidades da mensagem e processos (desta integração) de acordo com cada marca
Notas:
Observações sobre comportamento desta mensagem ou dos processos envolvidos nela/para ela
Limitações/Restrições
Descreva limitações e restrições para a integração que está sendo descrita.
Limitações / Restrições Gerais
Descreva limitações e restrições para cada fluxo descrito no tópico anterior. Exemplo:
- ERP1 envia ITEM cadastrado para o ERP2
ERP1 somente enviará o ITEM se este estiver em uma das famílias cadastradas no parâmetro FAMILIA_INTEGRACAO.
Se o tipo de valorização do estoque for FIFO.
- ERP2 envia PEDIDO cadastrado para o ERP1
O pedido recebido no ERP1 vindo do ERP2 estará bloqueado para alteração.
Como fazer (opcional)
Descreva os passos que viabilizem a integração.
Exemplo:
Os passos para viabilizar a integração são:
- No Logix ou no Protheus efetue o cadastro das seguintes informações: Clientes, fornecedores, transportadores, cidades, cotação de moeda e unidades de medida.
- No Logix cadastrar um novo depositante e efetuar toda a parametrização necessária para a operação de WMS.
- No Logix cadastrar um novo produto que seja controlado pelo WMS, para o depositante cadastrado anteriormente.
- No Logix efetuar um processo de recebimento para o produto cadastrado anteriormente, utilizando uma nota fiscal provisória (tipo “A”).
- No Protheus consultar a nota fiscal de recebimento que foi registrada no Logix, validando as informações recebidas.
- No Logix efetuar um processamento de regularização fiscal, efetuando a cobertura dos produtos recebidos anteriormente.
- No Protheus verificar se foi efetuado corretamente o relacionamento entre os dois documentos.
- No Logix efetuar um processo de expedição para o novo produto cadastrado, até o momento do envio da mensagem de integração de pedido de venda.
- No Protheus efetuar o faturamento do pedido de venda recebido.
- No Protheus verificar se a nota fiscal gerada contém todas as informações necessárias para o segmento de operador logístico (armazém geral).
- No Protheus efetuar a escrituração fiscal das notas fiscais, verificando se as regras da legislação deste segmento foram respeitadas.
- No Logix é possível consultar o número do pedido de venda gerado para as notas fiscais de retorno simbólico e conta/ordem no programa WMS6333 (Consulta de Documentos). Para os processos de faturamento de serviço o número do pedido está disponível no programa WMS6411 (Movimentos a Faturar).
Situações comuns (opcional)
Descreva situações problemáticas comuns que podem ocorrer durante o funcionamento da integração e como solucioná-los. Neste ponto também é importante dar instruções de como reconhecer e investigar problemas que podem vir a ocorrer durante a integração. Se houver, apresente tabelas de códigos e descrições de erros que a integração poderá apresentar.
Este tópico possivelmente será alimentado com as experiências durante o desenvolvimento da integração e poderá ser realimentado durante o uso da integração no cliente.
Exemplo 1:
Tratamento de erros de integração (Produto A)
Erro | Mensagem | Solução |
Código do erro | Mensagem exibida | Ação a ser tomada para resolução do erro. |
Tratamento de erros de integração (Produto B)
Erro | Mensagem | Solução |
Código do erro | Mensagem exibida | Ação a ser tomada para resolução do erro. |
Exemplo 2:
Quando uma mensagem é enviada do Logix para o Protheus, podem ocorrer situações em que o WebService não estará totalmente funcional. Nestes casos uma mensagem de erro genérica irá aparecer na tela:
Exemplo:
Erro ao enviar a mensagem de Cidade via Integração
Se o arquivo de log for analisado, poderemos ver a falha na comunicação com o sistema destino:
-------------------------------------------------------------------------------
WSCERR044 / Não foi possível POST : URL http://172.16.31.57:8011/ws/FWWSEAI.apw
ADVPL WSDL Client 1.080707 / tst on 20120315 08:49:51
-------------------------------------------------------------------------------
Para resolver este problema, verifique as configurações do sistema de destino, analisando o funcionamento do servidor utilizado para esta comunicação e a habilitação do endereço do WebService.
Checklist de suporte da aplicação
Crie um check-list de verificação de alguns pontos importantes para o funcionamento e atendimento da integração.
Instalação/Configuração
Relacione itens de verificação para garantir que a integração está corretamente instalada e configurada. Isto não pode ser uma cópia do procedimento de instalação/configuração, mas verificações pontuais que podem remeter aos itens da instalação.
Checklist de Verificações:
Relacione itens de verificações para que o atendente possa:
- Identificar o funcionamento da integração;
- Identificar a ocorrências de problemas;
- Coletar evidências do mau funcionamento relatado pelo cliente;
- Realizar possíveis ajustes na integração quanto à configuração ou negócio.
Tabela
Renomeie o nome da tabela CKO (X2_ARQUIVO) para CKOCOL via configurador
Pré-requisitos utilização
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 |
- TES: É obtido por meio do campo B1_TS, caso não encontre, busca no parâmetro MV_FATTSPD.
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 |
Pré-requisitos Cadastros
- No módulo Faturamento em Atualizações / Cadastros / Clientes inclua 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 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. - Em Atualizações / Cadastros / Produtos inclua 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 é 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.
Customização/Facilitadores
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
Configuração de Schedule
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:
Análise de processamento
- Quando o schedule do TOTVS colaboração (ColAutoRead) é executado e o arquivo é movido para pasta configurado no parâmetro ‘MV_NGLIDOS’, é criado um registro na tabela ‘CKOCOL’;
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:- Se não for possível efetuar a criação do arquivo é apresentada uma mensagem no AppServer:
- Se o arquivo ultrapassar 1MB o arquivo é deletado e um novo arquivo de log é criado:
- O log também pode ser consultado por meio do arquivo “Order”:
8. Para que o arquivo order seja gerado com informações é necessário a inclusão de um Cliente com o mesmo CNPJ do pedido de compra enviado pela NEOGRID conforme tag _CustomerGovInfo;
- Importante : Caso o XML possua a TAG _DELIVERYCUSTOMERGOVERNMENTALINFORMATION preenchida e o cliente não existir na base (a chave é o CNPJ), o sistema poderá emitir a mensagem
Event Viewer
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 - Espelho da Nota
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
- MV_COLESP: Este parâmetro é responsável pela ativação da geração do espelho da Nota para EDI de vendas
Ex. de preenchimento: .T. - MV_NGOUT : Diretório que contêm os XMLs a enviar para a Neogrid.
Ex. de preenchimento: \NEOGRID\BIN\OUT - MV_SPEDURL: URL para comunicação com o TSS.
Ex. de preenchimento: http://LocalHost:8090/ - MV_SPEDCOL: Informa se utiliza o TOTVS Colaboração
Ex. de preenchimento: N - MV_ESPECIE: Contêm os tipos de documentos fiscais utilizados na emissão de notas fiscais.
Ex. de preenchimento: UNI=NF; 1=SPED - MV_TCNEW: Documentos que utilizam o novo modelo TOTVS Colab. Onde:0-todos,1-NFE,2-CTE,3-NFS,4-MDe,5-MDfe,6-Recebimento.
Ex. de preenchimento: 0.
Para o Totvs Colaboração 1.0 é necessário configurar o serviço do TSS. Vide documentação.
É necessário possui o RDMAKE NFEspNeo.prw compilado no repositório.
Utilização
- É necessário faturar o pedido emitido por meio do TOTVS Colaboração, acesse: Atualizações / Pedidos / Pedido de Vendas > Selecione o pedido, clique em Ações Relacionadas / Preparar Documento de Saída;
- Selecione a Série da nota e confirme;
É 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):
Exemplos de XML recebido:
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):
FAQ
- 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. - Como eu sei que o pedido/programação de entrega foram gerados por meio da tabela CKOCOL?
R.: Pelo campo CKO_FLAG. Se o status for igual a '1' significa que o registro foi gerado com sucesso. - 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.: Verifique 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. - Se o XML for processado com erro e não gerou o pedido e/ou programação de entrega, quando ele será gerado novamente?
R.: O controle ocorre por meio do campo CKO_FLAG, enquanto ele for igual a '0', a cada nova execução do schedule, o sistema tentará processar o registro novamente. - 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 por meio dos campos C5_ORIGEM, neste campo é gravado o conteúdo "MATA411" ou por meio do campo C6_PEDCLI que grava o número do pedido de compras do cliente conforme tag _ORDERID. - O sistema gerou pedidos e/ou programações de entregas duplicados.
R.: Analise 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 sobreposição do processamento, gerando assim, registros duplicados. - 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 - 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 (C6_PEDCLI) do pedido gerado, com isso, o sistema identificará que o pedido existe e efetuará a respectiva alteração, conforme novo xml. - Na geração do pedido é 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 precisa ser tratado de forma customizada utilizando o ponto de entrada MA411GRV. - Através da programação de entrega o pedido não é gerado automaticamente?
R.: Não. Apenas a programação de entrega é gerada. A geração do pedido por meio da programação de entrega é efetuada de forma manual pela opção "Gerar Pedido" - Qual a licença TOTVS necessária para o recebimento do arquivo XML no Protheus e o que acontece na ausência da mesma ?
R : 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 grava a tabela CKO sempre com o flag de erro, movimenta o arquivo da pasta In para Lidos, não gera os arquivos de Log para da pasta XML e não grava o Pedido de Vendas