Como enviar o arquivo do SNGPC direto...

Delphi

28/08/2007

Pessoal uso Delphi 7, estou querendo enviar o arquivo do SNGPC, direto pelo meu programa sem ter que fazer o upload pelo site da anvisa, alguém já fez ou sabe como fazer? Obrigado

Sergio Kawahara


Sergiokawahara

Sergiokawahara

Curtidas 0

Respostas

Sergiokawahara

Sergiokawahara

28/08/2007

Galera alguém já conseguiu enviar o arquivo do SNGPC direto pelo programa eu estou fazendo assim:

try
GetsngpcSoap.EnviaArquivoSNGPC(´futurasystem@terra.com.br´, ´12345678´, pChar(´NomedoArquivo.xml´),´´);
except
messagedlg(´Atenção! Problema ao conectar com o serviço Anvisa´,mtinformation,[mbok],0);
exit;
end;

mas esta dando essa mesagem de erro:

Project SNGPC.exe raised exception class ERemotableException with message
´Server was unable to process request. --> The data at the root level is
invalid. Line 1, position 1.´. Process stopped. Use Step or Run to continue.

Agradeço qualquer ajuda

Sergio Kawahara.


GOSTEI 0
Edmarfrazao

Edmarfrazao

28/08/2007

não consegui validar o webservice mais consegui a rotina para md5

veja mais.

http://forum.devmedia.com.br/viewtopic.php?p=293087#293087


GOSTEI 0
Sergiokawahara

Sergiokawahara

28/08/2007

Valeu, fiz isso mas mesmo assim, naum passa o arquivo, se enviar pelo site vai que é uma blz mas pelo meu programa mesmo usando o metodo de criptografia do MD5, naum dá certo já passei um monte de e-mail para anvisa e nada to ficando maluco com isso já, agora acho que deve ser passado isso: Arquivo = Arquivo.Replace(´\r´,´´).Replace(´\n´,´´).Replace(´\t´,´´); junto com o nome da arquivo antes de criptografar, mas naum sei como fazer isso no Delphi, agradeço qualquer ajuda...

Sergio Kawahara


GOSTEI 0
Edmarfrazao

Edmarfrazao

28/08/2007

Ja tentei mas tambem não consegui.

vai o codigo.

coloque um xmldocumento no formulario.

XMLDocument.LoadFromFile(´c:\t.xml´);
XMLDocument.XML.Text :=
StringReplace(XMLDocument.XML.Text, ´\r´,´´, [rfReplaceAll]);
XMLDocument.XML.Text :=
StringReplace(XMLDocument.XML.Text, ´\n´,´´, [rfReplaceAll]);

XMLDocument.XML.Text :=
StringReplace(XMLDocument.XML.Text, ´\t´,´´, [rfReplaceAll]);


HashIdentificacao := MD5Print(MD5String(XMLDocument.XML.Text));
Edit2.Text:= HashIdentificacao;
[code:1:81ecc8821c][/code:1:81ecc8821c]


GOSTEI 0
Sergiokawahara

Sergiokawahara

28/08/2007

Perai eu acho que esses caracteres (/r/n/t), naum vai no conteudo do arquivo xml, mas sim no nome do arquivo, pq senaum o meu arquivo naum seria aceito pela transmissão pelo site, naum sei...

Sergio Kawahara


GOSTEI 0
Edmarfrazao

Edmarfrazao

28/08/2007

este tipo de codigo esta no exemplo em C#, mas tambem nao achei nada no codigo xml que tem \r \n \t

e o suporte não diz nada.


GOSTEI 0
Sergiokawahara

Sergiokawahara

28/08/2007

Pelo que vi no programa em C, o arquivo tem que ser convertido em Bytes antes da criptografia pelo MD5, mas naum consegui criptografar, os exemplos que me passarão usando Stream naum deu certo, alguém deve ter conseguido fazer isso, naum é possivel rs, valeu


Sergio Kawahara


GOSTEI 0
Josico

Josico

28/08/2007

Salve Galera,

Aproveitando o tópico gostaria de saber se alguém pode me tirar umas dúvidas, já que a anvisa não responde e-mails.

[b:ffa0615532]1 -[/b:ffa0615532] Confirmei meu inventário dia 10/03 e estou enviando o primeiro arquivo xml no dia 11/03, com as datas inicial e final também 11/03. Mas recebo uma mensagem dizendo [i:ffa0615532]´Erro desconhecido na tentativa de validar as datas do arquivo.´[/i:ffa0615532]

[b:ffa0615532]2 - [/b:ffa0615532]Na saída de insumo(perda), há duas referências ao fornecedor.
<saidaInsumoPerda>
<motivoPerdaInsumo>1</motivoPerdaInsumo>
<substanciaInsumoPerda>
<insumoPerda>
<codigoInsumo>12346</codigoInsumo>
<numeroLoteInsumo>d456</numeroLoteInsumo>
<insumoCNPJFornecedor>99900099900000</insumoCNPJFornecedor> [b:ffa0615532]ESSE CNPJ É DO FABRICANTE DO INSUMO?[/b:ffa0615532]
</insumoPerda>
<quantidadeInsumoPerda>30000.0</quantidadeInsumoPerda>
<tipoUnidadePerda>1</tipoUnidadePerda>
</substanciaInsumoPerda>
<dataPerdaInsumo>2001-01-01</dataPerdaInsumo>
<cnpjFornecedorInsumo>99999999915000</cnpjFornecedorInsumo> [b:ffa0615532]ESSE CNPJ É DO FORNECEDOR DO INSUMO?[/b:ffa0615532]
</saidaInsumoPerda>

[b:ffa0615532]3 -[/b:ffa0615532] Os dados cadastrados no inventário na página da anvisa podem ter as suas saídas pelo programa que gera o XML, ou seja, eu não preciso necessáriamente dar saída somente do que eu dei entrada pelo sistema.

Att.,

Josico.


GOSTEI 0
Microgest

Microgest

28/08/2007

Josico...
Você já descobriu o porque desse erro com a data???
Estamos com o mesmo problema.... sendo que antes o arquivo era validado sem nenhum problema!!


GOSTEI 0
Josico

Josico

28/08/2007

Não descobri ainda... já postei em outros fóruns e não tive resposta. Também já mandei vários e-mails para a anvisa e não responderam... tah dificil heim.

Olha só meus dados, não consegui encontrar um erro aí:

[size=18:54233bc596][color=darkblue:54233bc596]DADOS DO INVENTÁRIO[/color:54233bc596][/size:54233bc596]
Data atual do inventário
Data de confirmação do inventário: 10/03/2008
Data da visualização/geração do relatório: 12/03/2008
Data da validação do último arquivo:
Data final do último período informado:

Posição atual do inventário de medicamentos
REGISTRO MEDICAMENTO QUANTIDADE HISTÓRICO
1.1300.0306.006-7 GARDENAL 100

Posição atual do inventário de insumos farmacêuticos
NÚMERO DCB DESCRIÇÃO DCB QUANTIDADE HISTÓRICO
07700 ribavirina 100 u


[size=18:54233bc596][color=darkblue:54233bc596]XML[/color:54233bc596][/size:54233bc596]
<?xml version=´1.0´ encoding=´UTF-8´ standalone=´yes´ ?>
- <mensagemSNGPC xmlns=´urn:sngpc-schema´>
[b:54233bc596]- <cabecalho>
<cnpjEmissor>17562075000169</cnpjEmissor>
<cpfTransmissor>02520481994</cpfTransmissor>
<dataInicio>2008-03-11</dataInicio>
<dataFim>2008-03-11</dataFim>
</cabecalho>[/b:54233bc596]
- <corpo>
- <medicamentos>
- <saidaMedicamentoVendaAoConsumidor>
<tipoReceituarioMedicamento>4</tipoReceituarioMedicamento>
<numeroNotificacaoMedicamento>124525</numeroNotificacaoMedicamento>
<dataPrescricaoMedicamento>2008-03-10</dataPrescricaoMedicamento>
- <prescritorMedicamento>
<nomePrescritor>ABDALA NOGUEIRA AMUY</nomePrescritor>
<numeroRegistroProfissional>3950</numeroRegistroProfissional>
<conselhoProfissional>CRM</conselhoProfissional>
<UFConselho>MA</UFConselho>
</prescritorMedicamento>
<usoMedicamento>1</usoMedicamento>
- <compradorMedicamento>
<nomeComprador>FULANO DE TAL</nomeComprador>
<tipoDocumento>2</tipoDocumento>
<numeroDocumento>66617122</numeroDocumento>
<orgaoExpedidor>SSP</orgaoExpedidor>
<UFEmissaoDocumento>RN</UFEmissaoDocumento>
</compradorMedicamento>
- <medicamentoVenda>
<registroMSMedicamento>1130003060067</registroMSMedicamento>
<numeroLoteMedicamento>25625</numeroLoteMedicamento>
<quantidadeMedicamento>1</quantidadeMedicamento>
</medicamentoVenda>
<dataVendaMedicamento>2008-03-10</dataVendaMedicamento>
</saidaMedicamentoVendaAoConsumidor>
</medicamentos>
<insumos />
</corpo>
</mensagemSNGPC>

Se você encontrar o porque disso me avise por favor ´bigo.doido@gmail.com´, se eu encontrar também onde está o erro eu coloco aqui.


GOSTEI 0
Microgest

Microgest

28/08/2007

Procurando em outros lugares... descobri isso já havia acontecido com alguém em Janeiro. Por isso a Anvisa deve ter prorrogado o prazo para as fármacias se adequarem... o problema provavelmente é lá. Mas como ninguém nos esclarece nada... fica dificil. Se eu descobrir o motivo coloco aqui tb!


GOSTEI 0
POSTAR