Envio dos Arquivos CAT-52 - Está morta a galinha !!!

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Envio dos Arquivos CAT-52 - Está morta a galinha !!!

Mensagem por alaminojunior »

Amigos, depois de pelejar aqui com este tema que nos tem tirado o sono, segue o caminho por mim percorrido, até obter sucesso no envio dos arquivos.

Um cliente meu usa uma ECF-IF Schalter 2.04, (museuzão mesmo !!!).
Fiz adaptações no PDV, para que a cada documento impresso, fosse armazenado todos os dados, (penso que até no caso das térmicas, seria interessante este modo), facilitando assim, a montagem dos arquivos. É instantanea.

Ao ser executada a redução Z, é gerado então o arquivo, sem a assinatura digital. Neste caso especifico, fiz uma outra rotina para assinar os arquivos numa maquina Windows, uma vez que o OpenSSL não roda em DOS. Mas no caso do PDV rodar sobre o Windows, esta rotina de assinatura pode estar incluida no proprio PDV.

Como já foi postado em outros tópicos, o utilitário para gerar as chaves e a assinatura digital, é mesmo o OpenSSL. Simplesmente funciona.

Código: Selecionar todos

Function Chaves
//run OPENSSL genrsa -out MYKEY.PEM 1024 // Esta linha é executada uma unica vez para ser gerada a sua chave PRIVADA
//run OPENSSL rsa -in MYKEY.PEM -pubout -out PUBKEY.PEM // Esta linha deverá ser também executada uma unica vez para gerar uma chave PUBLICA, baseada na sua chave PRIVADA.
run OPENSSL dgst -md5 -sign MYKEY.PEM -out EAD.TXT -hex \alamino\cat52\&ccbuffer  // Esta linha sim, deverá ser executada cada vez que for gerado um arquivo
Notem que:
Esta ultima linha gera a assinatura digital;
O arquivo EAD.TXT mencionado é quem vai guardar esta assinatura;
O handle mencionado (ccbuffer) é o arquivo gerado pela aplicação, com todos os registros, menos é claro a Assinatura Digital. Não precisa nem dizer que este handle (arquivo) é diferente a cada redução Z né ?
Feito isso, deverá ser lido o conteudo do EAD.TXT, referente a assinatura, e escrito no final do arquivo de informações.
Feito isso o arquivo está pronto para ser enviado.

Conclusões:
Procurem prestar bastante atenção nas prescrições da CAT60.
Formato dos campos, numérico ou alfanumerico, alinhamentos, tamanho, e não pode esquecer que ao final de cada registro tem que colocar CHR(13)+CHR(10)

Menciono os pontos que continham erros em minha aplicação:
Marca e Modelo do ECF, tem que estar de acordo com o anexo III da CAT60.
Código dos totalizadores fiscais do registro E13, também devem coincidir com os da CAT60.
Corrigidas estas falhas, consegui enviar modo teste, dez arquivos. Todos enviados com sucesso.
Espero que com estas dicas, os colegas que se vêem neste dilema, consigam obter exito. É o que desejo.
Abraços.
Edson
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Parabéns pela "execução" da galinha, Edson. :)
Fico feliz de não precisar disso. Mas se um dia precisar, vou me lembrar de você. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Legal !

Parabéns !

Agora manda um pedaço da galinha pra eu fazer uma canja.

-:]

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

E essa galinha é das boas.
Não tem injeção de agua, nem gripe.

:)´
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
DinhoNetGomes
Usuário Nível 2
Usuário Nível 2
Mensagens: 99
Registrado em: 14 Nov 2005 09:36

Mensagem por DinhoNetGomes »

Caros Amigos,

Agradeço o empenho e ajuda de todos, enfim consegui validar um arquivo digital!

Até mais
Clipper 5.2/Dbfcdx
Alaska xBase 1.9
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Mensagem por momente »

Amigo Edson,

Só uma dúvida, a assinatura digital é só para arquivos de ECF? Para arquivos de Notas Fiscais impressas não precisa?

Obrigado!
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

Momenté,
A cat-102 não diz nada a respeito de assinatura digital.
Precisa sim validar o arquivo, por meio de um programa disponivel no site da receita, para depois enviá-lo.
www.nfp.fazenda.sp.gov.br
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
pringles
Usuário Nível 3
Usuário Nível 3
Mensagens: 278
Registrado em: 29 Mai 2007 16:35
Localização: Botucatu-SP

Mensagem por pringles »

Eu também já consegui me livrar desta tal galinha !!!!
Agora estou me dedicando às Notas Fiscais (formulário contínuo)... ainda temos que matar essa... hehehehe
CLIPPER 5.2 / BLINKER
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

Isso vai ser mole !!!
Não se dê por vencido.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Mensagem por momente »

Valeu amigos!!! A minha galinha esta com os dias contados!!!rsrs
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
PAULO S
Usuário Nível 3
Usuário Nível 3
Mensagens: 176
Registrado em: 24 Abr 2006 09:18
Localização: Santo Anastácio - SP

Mensagem por PAULO S »

Valeu, pessoal !
A minha também parece que está morta, para a CAT-102. Pra ter certeza vou confirmar nos meus clientes.
:)Pos
Paulo
Clipper 5.2d/NTX -> xHarbour/CDX
ALEX170970
Usuário Nível 1
Usuário Nível 1
Mensagens: 29
Registrado em: 06 Dez 2007 18:12
Localização: Santos-SP

Mensagem por ALEX170970 »

Eu ainda não estou conseguindo enviar os arquivos das Portarias CAT 52 e 60.

Você poderia me enviar um dos seus arquivos validados, para eu comparar o layout com o do meu arquivo?

Se puder, agradeço muito.

Alexandre
lapfer@bol.com.br
DinhoNetGomes
Usuário Nível 2
Usuário Nível 2
Mensagens: 99
Registrado em: 14 Nov 2005 09:36

Mensagem por DinhoNetGomes »

Caro Alexandre,

Vou mandar um arquivo pra vc, estou usando uma Elgin 500 1E

Se vc seguiu exatamente o lay-out não com que se preocupar com essa parte.

Revise o seguinte:
a) linhas encerrando com CR+LF ou Chr(13)+chr(10)
b) tipo de ECF, eu somente coloco "ECF-IF"
c) marca e modelo do ecf, tem que ser EXATAMENTE como está na portaria, mesmo que o modelo não exista lá, ache um "compatível" e use ele.
d) nome do Arquivo, tem que ser a sigla exata referente a marca que está informando.
e) Alguns dados em branco não são aceitos, revise isso.
f) Vc entra no site com seu cpf para validar, o cnpj informando tem que ser o mesmo que está no arq. digital.
g) Assinatura digital, siga as instruções de uso da OpenSSL, revise a sintaxe e recolha da arquivo com assinatura as 256 posicoes que são a assinatura. DETALHE, a OpenSSL já gera o MD5, então vc não precisa gerar ele.

E por último...

Deus te ajude, seja brasileiro e não desista nunca.

Até Breve
Clipper 5.2/Dbfcdx
Alaska xBase 1.9
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Mensagem por alaminojunior »

Meus caríssimos, acho que a galinha está querendo ressuscitar !!!
De uns dias para cá, o sistema de validação do site está retornando que os arquivos enviados estão com erros. A principio, acusa "Arquivo enviado com sucesso", mas depois ao fazer o acompanhamento, o valor está zerado e diz que o arquivo contem erros. Olhando o txt de retorno do site, existem inumeras linhas escritas: Erro ao distribuir dados na linha nnnnn......
O mais intrigante, é que após alguns instantes ou dias, ao ser reenviado o arquivo, ora os erros mudam, ora o arquivo é enviado com sucesso e retornado então o valor processado.
Por favor, alguem está observando o mesmo resultado ?
PS. Isso no caso de cupons fiscais.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
DinhoNetGomes
Usuário Nível 2
Usuário Nível 2
Mensagens: 99
Registrado em: 14 Nov 2005 09:36

Erro de validação

Mensagem por DinhoNetGomes »

Caros amigos,

A galinha a meu ver está morta, mas colocaram um urubu no validador. No fórum do MSDN tem um tópico falando deste mesmo problema COM TODO MUNDO está acontecendo isso...

O consenso é que o validador da SEFAZ-SP está com "pau"... recomendei aos meus clientes enviarem os arquivos assim mesmo e guardarem os números de controle.

É incrível, mas se vc validar os arquivo 10x, há 10 erros diferentes...

Vamos aguardar o desenrolar disso..

Até mais
Clipper 5.2/Dbfcdx
Alaska xBase 1.9
Responder