Página 2 de 2

Enviado: 07 Ago 2007 19:59
por angeiras
Olá,

Como meu sistema de farmácia ainda é em Clipper e precisava de uma forma urgente de comunicação via webservices com o Datasus, a maneira que encontrei foi criar uma rotina em Delphi mesmo, que fica no servidor de comunicação, e que faz todo o trabalho "sujo". Mais ou menos assim :

1) O programazinho fica no diretório do meu programa, executando na bandeja do windows, e fica esperando um arquivo .txt, criado pelo meu sistema.

2) Ele pega esse .txt converte para .xml e envia para o Datasus, que responde também com um arquivo .xml. Eu trato esse arquivo e gero um outro .txt que meu programa vai ler e interpretar.

Pronto !

Essa comunicação toda entre gerar o 1º .txt e a rotina em delphi gerar o .txt de retorno não demora mais do que 10s. É muito rápido.

Agora, a Anvisa também está pedindo que a comunicação seja via webservices, mas pelo menos temos mais tempo ( até Fev/2008 ). Como estou convertendo meu sistema para xharbour, vou incorporar tudo dentro do sistema, mas em Clipper é dureza.

É isso.

[]s
Manoel Angeiras

Porque Delphi ? já tenho "intimidade" suficiente com seu ambiente de programação e para criação de webservices é uma "mão-na-roda". Não precisa fazer quase nada mesmo ( quer dizer, depois que a gente se acustuma com a lógica do XML ).

Enviado: 09 Ago 2007 10:15
por Stanis Luksys
angeiras escreveu:Agora, a Anvisa também está pedindo que a comunicação seja via webservices, mas pelo menos temos mais tempo ( até Fev/2008 ).
Sim, isso já comentei em outro tópico. Já tenho solução parcial para o problema utilizando Clipper, e completa utilizando as classes de XML do xHarbour.

Mas isso muda muito de sistema para sistema. No meu até que foi razoavelmente simples, só faltovam mesmo os dados do prescritor da receita. É chato fazer mas não é nenhum bixo de sete cabeças...

Falou!

Enviado: 09 Ago 2007 12:31
por sygecom
Para quem quiser dar uma olhada ...tenho alguns exemplos de uso da XML no xHarbour....qualquer coisa é só me passar o email que mando !!!

Abraços
Leonardo Machado

Enviado: 09 Ago 2007 16:51
por Forrest_Gump
ola, gostaria de se possivel que vc enviasse para mim, os exemplos de XML. desde ja agradeço

Enviado: 09 Ago 2007 16:52
por Forrest_Gump

Enviado: 10 Ago 2007 00:32
por sygecom
Tah na conta !!!

Enviado: 10 Ago 2007 09:01
por Stanis Luksys
Opa,

stanis.luksys()gmail.com

Valeu!

Enviado: 27 Set 2007 19:19
por marbio
Boa noite.

Deu certo ai turma.....

Código: Selecionar todos


xinicio=substr(dtos(xdtinicio),1,4)+'-'+substr(dtos(xdtinicio),5,2)+'-'+substr(dtos(xdtinicio),7,2)
xfinal =substr(dtos(xdtfinal),1,4)+'-'+substr(dtos(xdtfinal),5,2)+'-'+substr(dtos(xdtfinal),7,2)

set printer to &xhjdata
set device to printer

@prow()+00,00 say '<?xml version="1.0" encoding="ISO-8859-1"?>'
@prow()+01,00 say '<mensagemSNGPC xmlns="urn:sngpc-schema">'
@prow()+01,08 say '<cabecalho>'
@prow()+01,16 say '<cnpjEmissor>'+ alltrim(xpcnpj) +'</cnpjEmissor>'
@prow()+01,16 say '<cpfTransmissor>'+ alltrim(xpcpf) +'</cpfTransmissor>'
@prow()+01,16 say '<dataInicio>' + xinicio + '</dataInicio>'
@prow()+01,16 say '<dataFim>' + xfinal + '</dataFim>'
@prow()+01,08 say '</cabecalho>'
@prow()+02,08 say '<corpo>'
@prow()+01,00 say '<medicamentos>'

do while !EOF() //.AND. data <= xfinal

.
.
.
.
.
.
@prow()+01,32 say '</substanciaInsumoVendaAoConsumidor>'
@prow()+01,32 say '<dataVendaInsumo>'+ substr(dtos(dtrec),1,4)+'-'+substr(dtos(dtrec),5,2)+'-'+substr(dtos(dtrec),7,2) +'</dataVendaInsumo>' 
@prow()+01,24 say '</saidaInsumoVendaAoConsumidor>'
endif

 skip
enddo

@prow()+01,00 say '</insumos>'
@prow()+01,00 say '</corpo>'
@prow()+01,00 say '</mensagemSNGPC>'

set device to screen
set printer off
set printer to
se o pessoal tiver duvida

so chamar

Enviado: 27 Set 2007 20:17
por Stanis Luksys
Olá marbio,

Eu fiz do mesmo jeitão!

Só tenho algumas dúvidas ainda com relação aos insumos. Me diga uma coisa, ao vender um medicamento, seus respectivos insumos devem constar no XML? Ou isso se aplica somente as farmácias que manipulam tais materiais?

Falou!

Enviado: 27 Set 2007 21:07
por marbio
Boa Noite!!
Com relação a insumo so se aplica as farmacias q manipulam tais medicamentos.

Agora se tiver vc tiver alguma farmacia que vende medicamento industrializado e manipulado. tem q ser no mesmo arquiovo. nao pode ser seprados.

q e o meu casao eu tenho uns clientes de manipulacao com medicamentos industrializado.

se precisar de mais informaçoes estarei ai

t+
um grande abraço.