 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Alirio Novato

Registrado: Quarta-Feira, 16 de Janeiro de 2013 Mensagens: 5
|
Enviada: Ter Set 24, 2013 10:00 am Assunto: Re: Hash do SNGPC |
|
|
Bom dia amigo infelizmente a Anvisa ta uma beleza para se trabalhar
não se sabe como mudando o hash depois da transmissão
a solução que estamos usando na empresa é na hora que transmitir o arquivo vc. pode pegar hash que eles retornam para conferencia
lhueilsl escreveu: | Boa tarde!
Somos uma empresa desenvolvedora de Software para Farmácias e desde essa semana começamos a receber rejeições ao hash gerado pelo nosso SNGPC.
Após pesquisar, identificamos que ocorreram essas mudanças em relação ao hash visando simplificar sua criação, porém, não encontramos nenhuma instrução de como implantar essas modificações e não conseguimos obter um suporte adequado através do atendimento da Anvisa.
Alguém pode nos ajudar? |
|
|
Voltar ao Topo |
|
 |
Alirio Novato

Registrado: Quarta-Feira, 16 de Janeiro de 2013 Mensagens: 5
|
Enviada: Qua Set 25, 2013 8:47 am Assunto: Re: Hash do SNGPC |
|
|
Bom dia Galera estava fazendo uns teste a questão do Hash
é que geramos o hash do xml o que a avisa gera agora é do Arquivo
zip que esta sendo enviado fiz as alterações e agora esta normal
vcs tb. podem pegar o MD5 do File Stream que esta sendo gerado
para passar para o web service
Alirio escreveu: | Bom dia amigo infelizmente a Anvisa ta uma beleza para se trabalhar
não se sabe como mudando o hash depois da transmissão
a solução que estamos usando na empresa é na hora que transmitir o arquivo vc. pode pegar hash que eles retornam para conferencia
lhueilsl escreveu: | Boa tarde!
Somos uma empresa desenvolvedora de Software para Farmácias e desde essa semana começamos a receber rejeições ao hash gerado pelo nosso SNGPC.
Após pesquisar, identificamos que ocorreram essas mudanças em relação ao hash visando simplificar sua criação, porém, não encontramos nenhuma instrução de como implantar essas modificações e não conseguimos obter um suporte adequado através do atendimento da Anvisa.
Alguém pode nos ajudar? |
|
|
|
Voltar ao Topo |
|
 |
cd.wagnersena Novato

Registrado: Quinta-Feira, 29 de Outubro de 2009 Mensagens: 4
|
Enviada: Ter Out 01, 2013 11:39 am Assunto: erro no arquivo de movimentação |
|
|
pessoal, recebi esse erro referente ao arquivo que enviei
Arquivo XML inválido, o SNGPC só aceita codificação Latin-1, porém existem caracteres inválidos no arquivo. Entrar em contato com o desenvolvedor do software do estabelecimento.
a unica coisa que vejo e que tem nomes que possuem pontos para breviação, é isso? |
|
Voltar ao Topo |
|
 |
Cambiaghi Novato

Registrado: Quinta-Feira, 21 de Fevereiro de 2013 Mensagens: 57
|
Enviada: Seg Out 21, 2013 10:44 am Assunto: |
|
|
Bom dia Claudio, desculpe, eu não tinha mais entrado no fórum, não sei porque mas não recebo mais notificações.
A analista disse que esse problema foi extinto em 2007, então enviei a ela documentos relatando e comprovando o problema ocorrido ainda em 2013.
Depois disso não obtive mais retorno.
E por falar nisso, tive esse problema na semana passada ainda.
Att,
Fernando Luís Cambiaghi
claudio.ferreira escreveu: | Cambiaghi,
Bom dia, voce poderia informar o que foi dito pela equipe da ANVISA, quanto a transmitir entradas e saídas no mesmo arquivo ?
Desculpe a pergunta mas creio que seja de insteresse geral e daqueles que não puderam ir ao encontro.
Grato. |
|
|
Voltar ao Topo |
|
 |
claudio.ferreira Profissional


Registrado: Quarta-Feira, 18 de Setembro de 2013 Mensagens: 667
|
Enviada: Seg Out 21, 2013 10:57 am Assunto: |
|
|
Bom dia Cambiaghi, segundo informações deles mesmos (e ainda nesse ano de 2013) o erro de falta de saldo com entrada e saida no mesmo arquivo ocorre quando há outros erros no mesmo arquivo e quando voce corrige os outros erros e reenvia o arquivo, o erro de falta de saldo desaparece, e de fato já vi isso acontecendo, mas também peguei uma vez ocorrendo somente esse, sem que hajam outros erros, infelizmente não guardei como prova. _________________ Sistema SNGPC para farmácias
http://www.cmasistemas.com.br
Rastreabilidade de Medicamentos
https://www.sncm.com.br
Soluções em Delphi
https://delphisolutions.wordpress.com/
.
"E não sabendo que era impossível, foi lá e fez"
Mark Twain |
|
Voltar ao Topo |
|
 |
Cambiaghi Novato

Registrado: Quinta-Feira, 21 de Fevereiro de 2013 Mensagens: 57
|
Enviada: Seg Out 21, 2013 11:13 am Assunto: |
|
|
O problema que ocorreu na semana passada comigo foi somente este no arquivo enviado.
claudio.ferreira escreveu: | Bom dia Cambiaghi, segundo informações deles mesmos (e ainda nesse ano de 2013) o erro de falta de saldo com entrada e saida no mesmo arquivo ocorre quando há outros erros no mesmo arquivo e quando voce corrige os outros erros e reenvia o arquivo, o erro de falta de saldo desaparece, e de fato já vi isso acontecendo, mas também peguei uma vez ocorrendo somente esse, sem que hajam outros erros, infelizmente não guardei como prova. |
|
|
Voltar ao Topo |
|
 |
claudio.ferreira Profissional


Registrado: Quarta-Feira, 18 de Setembro de 2013 Mensagens: 667
|
|
Voltar ao Topo |
|
 |
magnosystem Novato

Registrado: Sábado, 9 de Novembro de 2013 Mensagens: 5
|
Enviada: Sáb Nov 09, 2013 10:46 am Assunto: Hash enviado diferente do Hash Calculado |
|
|
Em setembro de 2013 passamos pelo problema de hash. Aqui mesmo no fórum foi postado que o hash passou a ser em cima do arquivo zip e não mais no arquivo xml.
Isto se confirmou em um informe técnico publicado pela ANVISA em 13/11.
Pois bem, tudo voltou ao normal até esta semana. Desta vez é realmente preocupante pois já tentei várias formas de calcular o hash para chegar ao hash da ANVISA e até agora sem sucesso.
Se alguém tiver alguma luz, por favor, publique aqui. Qualquer coisa que eu descubra também vou publicar aqui. |
|
Voltar ao Topo |
|
 |
michelbreyer Novato

Registrado: Terça-Feira, 1 de Dezembro de 2009 Mensagens: 25
|
Enviada: Seg Nov 11, 2013 7:35 am Assunto: Re: Hash enviado diferente do Hash Calculado |
|
|
Bom dia,
Eu já estou enviando o hash do arquivo .zip, na sexta feira, dia 08/11/2013, vários clientes começaram a entrar em contato com a mensagem de que o hash não estava na base de dados da ANVISA. Pesquisando aqui no fórum vi que alguns colegas implementaram algo para gravar o hash que retorna da ANVISA no momento do envio da movimentação. Não faz sentido esse hash calculado por eles ser diferente, alguém já obteve alguma resposta mais concreta da ANVISA sobre o assunto ?
Att,
Michel
magnosystem escreveu: | Em setembro de 2013 passamos pelo problema de hash. Aqui mesmo no fórum foi postado que o hash passou a ser em cima do arquivo zip e não mais no arquivo xml.
Isto se confirmou em um informe técnico publicado pela ANVISA em 13/11.
Pois bem, tudo voltou ao normal até esta semana. Desta vez é realmente preocupante pois já tentei várias formas de calcular o hash para chegar ao hash da ANVISA e até agora sem sucesso.
Se alguém tiver alguma luz, por favor, publique aqui. Qualquer coisa que eu descubra também vou publicar aqui. |
|
|
Voltar ao Topo |
|
 |
magnosystem Novato

Registrado: Sábado, 9 de Novembro de 2013 Mensagens: 5
|
Enviada: Seg Nov 11, 2013 10:35 am Assunto: |
|
|
Pois é Michel. O que estamos fazendo é pegar o hash do aviso retornado pela ANVISA na hora do envio.
O problema é que quando a conexão com a ANVISA não está boa este aviso não é retornado.
Seria de extrema importância calcular o mesmo hash da ANVISA. |
|
Voltar ao Topo |
|
 |
claudio.ferreira Profissional


Registrado: Quarta-Feira, 18 de Setembro de 2013 Mensagens: 667
|
Enviada: Ter Nov 12, 2013 6:11 pm Assunto: |
|
|
Calcular o Hash e passar para o web-service é o que fazemos aqui. A ANVISA recebe o arquivo porque o hash calculado está correto.
E o hash calculado e passado como parâmetro no web-service é calculado com base no arquivo .ZIP.
Porque cargas dagua eles geram o arquivo lá com outro hash diferente do que foi passado no WB ?
e se fazem assim, como calcular o HASH gerado pela ANVISA (que não é igual ao que foi passado no webservice) ?
Código: | Function CalculaHashMD5Indy (NomeArq : String) : String;
Var
idmd5 : TIdHashMessageDigest5;
Arq : String;
Begin
Arq := Rotinas.LoadFileToStr (NomeArq);
idmd5 := TIdHashMessageDigest5.Create;
try
result := idmd5.AsHex(idmd5.HashValue(Arq));
finally
idmd5.Free;
end;
end;
function LoadFileToStr(const FileName: TFileName): String;
var
FileStream : TFileStream;
begin
FileStream:= TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
if FileStream.Size>0 then
begin
SetLength(Result, FileStream.Size);
FileStream.Read(Pointer(Result)^, FileStream.Size);
end;
finally
FileStream.Free;
end;
end; |
_________________ Sistema SNGPC para farmácias
http://www.cmasistemas.com.br
Rastreabilidade de Medicamentos
https://www.sncm.com.br
Soluções em Delphi
https://delphisolutions.wordpress.com/
.
"E não sabendo que era impossível, foi lá e fez"
Mark Twain |
|
Voltar ao Topo |
|
 |
claudio.ferreira Profissional


Registrado: Quarta-Feira, 18 de Setembro de 2013 Mensagens: 667
|
Enviada: Ter Nov 12, 2013 6:32 pm Assunto: |
|
|
Tem gente aqui que sabe como faz, mas infelizmente só gostam de perguntar sobre suas dúvidas e ter suas dúvidas respondidas, na hora de responder a dúvida dos outros ficam calados.
Mas dor de barriga não dá só uma vez.. ainda mais de tratando de SNGPC e ANVISA. _________________ Sistema SNGPC para farmácias
http://www.cmasistemas.com.br
Rastreabilidade de Medicamentos
https://www.sncm.com.br
Soluções em Delphi
https://delphisolutions.wordpress.com/
.
"E não sabendo que era impossível, foi lá e fez"
Mark Twain |
|
Voltar ao Topo |
|
 |
EvertonLima Novato

Registrado: Quarta-Feira, 13 de Novembro de 2013 Mensagens: 2
|
Enviada: Qua Nov 13, 2013 11:19 am Assunto: |
|
|
Tentei chegar ao valor do calculo de hash realizado pela Anvisa de diversas maneiras, porém não obtive exito, alguém ai sabe o que eles aprontaram por la? |
|
Voltar ao Topo |
|
 |
magnosystem Novato

Registrado: Sábado, 9 de Novembro de 2013 Mensagens: 5
|
Enviada: Qua Nov 13, 2013 3:17 pm Assunto: |
|
|
A única coisa que notei foi com base em um teste que eu fiz aqui.
Quando XML é enviado enviamos o Arquivo zip no formato TByteDynArray. A anvisa pega o TByteDynArray e transforma de volta em arquivo zip para poder calcular o hash e processar o arquivo xml que está zipado.
Pois bem, peguei uma função na internet que transforma o Tipo TByteDynArray em TStream para assim do TStream gerar o zip de novo.
Pelo resultado do teste acredito que a ANVISA mexeu em alguma coisa por aí. Na função que eu achei na NET o arquivo voltou válido e perfeito. Consegui extrair o arquivo xml de dentro do zip normalmente. Todavia, o arquivo original gerado pelo meu programa tinha um tamanho de 600 bytes mais ou menos e o arquivo gerado de volta pela função da internet ficou com tamanho de 1200 bytes, o dobro praticamente.
Ou seja, o hash gerado é outro. |
|
Voltar ao Topo |
|
 |
claudio.ferreira Profissional


Registrado: Quarta-Feira, 18 de Setembro de 2013 Mensagens: 667
|
Enviada: Qua Nov 13, 2013 6:06 pm Assunto: |
|
|
Recebi hoje resposta de email que enviei a eles questionando esse problema do HASH. A resposta diz que :
A fórmula de cálculo do MD5 está devidamente descrita no manual do desenvolvedor http://www.anvisa.gov.br/sngpc/manual_guia2.asp , que foi atualizado no início do mês passado para sanar as dúvidas do cálculo do MD5.
Então segundo eles o manual foi atualizado mes passado, mas ninguém ficou sabendo..
Olhei o manual e não vi mudanças em relação ao anterior a não ser em posicionamento de texto.
Texto do manual que também foi citado no email que recebi :
"No momento da transmissão do arquivo, o SNGPC irá calcular o MD5 sobre o valor da base64 do arquivo compactado. Este valor é usado para simples comparação, um valor diferente calculado pelo usuário, não impedirá a recepção do arquivo, mas é importante ser armazenado para futura consulta a situação do arquivo"
Com base nesse texto fizemos inúmeros testes (hoje), mas basicamente os testes foram esses :
1o. método de teste:
- Compactamos o arquivo XML
- Convertemos para base 64 o arquivo ZIP
- Calculamos o HASH MD5 em cima do arquivo ZIP de base 64
2o. método de teste (invertemos):
- Convertemos para base 64 o arquivo XML
- Compactamos o arquivo XML já em base64
- Calculamos o HASH MD5 em cima do arquivo ZIP
Como exemplo baixamos um arquivo do hot-site do SNGPC já transmitido cujo HASH se encontra visível no status de transmissão e aplicamos os testes.
Em nenhum dos 2 métodos conseguimos obter o HASH da ANVISA.
Aqui estão as rotinas utilizadas :
Código: | // Calcula HASH
Function CalculaHashMD5IndyTexto (Texto : String) : String;
Var
idmd5 : TIdHashMessageDigest5;
Begin
idmd5 := TIdHashMessageDigest5.Create;
try
result := idmd5.AsHex(idmd5.HashValue(Texto));
finally
idmd5.Free;
end;
end;
Function EncodeBase64 (Texto : String) : String;
Var
Encoder64 : TIDEncoderMime;
Begin
Encoder64 := TIDEncoderMime.Create (Nil);
Result := Encoder64.EncodeString(Texto);
Encoder64.Free;
End; |
Concluindo :
Respondi o email deles pedindo que divulgassem exemplo em DELPHI pois muita gente que usa o DELPHI não está conseguindo resolver. Vamos aguardar para saber se eles nos atendem.
Se alguém tiver alguma idéia de outro teste possível, por favor colocar aqui.
PS : Curioso saber é que o HASH que passamos no web-service mesmo não batendo com o deles, mesmo assim o arquivo é recebido.
Grato. _________________ Sistema SNGPC para farmácias
http://www.cmasistemas.com.br
Rastreabilidade de Medicamentos
https://www.sncm.com.br
Soluções em Delphi
https://delphisolutions.wordpress.com/
.
"E não sabendo que era impossível, foi lá e fez"
Mark Twain |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|