DevMedia

Erro Farmacia Popular

0
Bom dia amigos,

Estou desenvolvendo a interface para Farmacia Popular.
Estava tudo funcionando, havia feito centenas de testes, quando agora passou a retornar um erro que não consigo identificar.

Testei o acesso pelo https://200.214.130.41:9443/farmaciahomologa e está correto o usuário e senha.

Segue o erro:

"org.xml.sax.SAEException: Invalid element in br.gov.datasus.farmaciapopular.servico.ws.dto.UsuarioFarmaciaDTO - senha



Se puderem me auxiliar, agradeço

Mario

Respostas (199)

0
Bom dia Mario
Estou na mesma situacao... estava realizando os testes... tudo ok... ate q dia 04/03 ( sexta-feira ) no final da tarde começou a me aparecer o mesmo erro... baixei o wsdl do farmacia popular novamente e notei q foram acrescentandos alguns campos na solicitacao... usuariovendedor e senhavendedor... quando mando algum valor nesses campos agora me retonar um erro 109 S... mais nada... porem esse erro nao esta documentado... mandei um email pro suporte.fpopular@saude.gov.br no dia 09/03 relatando a situacao porem ate hj ( 15/03 ) ainda nao recebi nenhum retorno... assim q eu tiver alguma novidade posto aqui e peço q vc faça o mesmo se conseguir alguma coisa...
Abraço
Carlos
0
Olá Carlos,

Estou na batalha também, se tiver alguma novidade de aviso também.

abraço



0
http://portal.saude.gov.br/portal/saude/visualizar_texto.cfm?idtxt=36764&janela=1
Abraço
Carlos
0
Ola Carlos,

Nunca iriamos conseguir sem essa noticia, vou implementar as mudanças.

Obrigado pela ajuda.

Mario
0
Boa Noite Mario... passei a tarde toda apanhando da farmacia popular e resolvi pedir um socorro...
Por acaso vc conseguiu pegar o retorno do gbasmsb.exe de dentro do delphi ? tentei com shellexecute, winexec e flExecAndWait ( uma funçao achada na net q aguarda o processo terminar antes de retornar para o aplicativo ) e nao consegui com nenhuma delas... se eu abro uma janela do dos e executo o comando gbasmsb --solicitacao parametros > c:\retorno.txt é criado um arquivo com o texto q deve ser enviado na solicitacao , porem a mesma coisa dentro do delphi nao cria o arquivo retorno.txt
Obrigado
Carlos
0
Favor desconsiderar... problema resolvido...
Carlos
0
Carlos, por favor, também estou travado no mesmo problema que você estava, como você fez pra pegar a resposta do gbasmsb.exe??Usando o comando, >nome_do_arquivo, não funciona pois o resultado fica diferente, e a Farmácia Popular não aceita.

obrigado
0
Pessoal sou novo aqui no forum, porém estou no mesmo barco que Vocês... Farmácia Popular!!

Dependener do funcionamendo do WS do MS é complicado.

Alguém está conseguindo obter um retorno do WS após o envio da Solicitação??

Estou conseguindo enviar, sem erros, mas o retorno está vindo vazio!!

Att.

Fernando Villa
0
Só um comentário quanto ao gbasmsb.exe.

Eu consegui obter o dnaEstacao de duas maneiras:

 - Através dos métodos da dll "gbasmsb_library.dll" e;
 - Executando o seguinte comando: "gbasmsb.exe --solicitacao [CNPJ] [CPF] [CRM] [UF_CRM] [DATA_EMISSAO] > DNA.TXT", nesse comando ele vai gerar o arquivo DNA.TXT com o dnaEstacao.

Att.

Fernando Villa
0
e ai galera... estou desde ontem sem conseguir comunicacao com o endereço do wsdl novo da farmacia popular... vem sempre uma mensagem de retorno dizendo q o serviço esta temporariamente indisponivel...
o retorno do gbasmsb.exe eu consegui da seguinte forma :
   Var        Comando : String;        TextoDna : TStringList;

   Comando:='cmd.exe /c "c:\gbasmsb.exe --solicitacao ' +            TiraMascara(CpfAux) + ' ' + TiraMascara(nCnpjFcia) + ' ' + EditCRM.Text + ' ' +            EditUfCrm.Text + ' ' + FormatDateTime('dd/mm/yyyy',StrToDate(DataReceitaAux)) +            ' > c:\dnaEstacao.txt"';   ExecutaDna(pChar(Comando),SW_Hide);   TextoDna:=TStringList.Create;   TextoDna.Text:='';   If FileExists('c:\dnaEstacao.txt') Then   Begin      TextoDna.LoadFromFile('c:\dnaEstacao.txt');      DeleteFile('c:\dnaEstacao.txt');   End;   Solicitacao.dnaEstacao:=TextoDna.Text;   FreeAndNil(TextoDna);

// abaixo vai a function ExecutaDna

function ExecutaDna(const CmdLine: string;const WindowState: Word): boolean;var   SUInfo: TStartupInfo;   ProcInfo: TProcessInformation;begin   FillChar(SUInfo, SizeOf(SUInfo), #0);   with SUInfo do   begin      cb := SizeOf(SUInfo);      dwFlags := STARTF_USESHOWWINDOW;      wShowWindow := WindowState;   end;   Result := CreateProcess(nil, PChar(CmdLine), nil, nil, false,             CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,             Nil, SUInfo, ProcInfo);   { Aguarda até ser finalizado }   if Result then   begin      If FileExists('c:\windows\system32\ftp.exe') Then // gambiarra pra saber se é windows 98         WaitForSingleObject(ProcInfo.hProcess, INFINITE);      { Libera os Handles }      CloseHandle(ProcInfo.hProcess);      CloseHandle(ProcInfo.hThread);   end;end;

Vamos manter contato por aqui galera... ja tenho outras duvidas a respeito das solicitacoes de autorizao... mas quero ter certeza antes de postar aqui... só q como esta fora do ar nao tenho como fazer mais testes...
Abraçao
Carlos
0
Amigos, já tinha encontrado uma solução pro problema, usando o mesmo comando acima utlizado pelo Carlos, o CreateProcess..
Obrigado
0
Eu consegui obter o DNA da transação tanto pela dll como pelo gbasmsb.exe. Mas dá sempre DNA DA TRANSAÇÃO INVÁLIDO
0

Esta função retorna:

function TFrmCadAutorizacao.GetDosOutput(const CommandLine:string): string;
var
SA: TSecurityAttributes;
SI: TStartupInfo;
PI: TProcessInformation;
StdOutPipeRead, StdOutPipeWrite: THandle;
WasOK: Boolean;
Buffer: array[0..255] of Char;
BytesRead: Cardinal;
WorkDir, Line: String;
begin
Application.ProcessMessages;
with SA do
begin
nLength := SizeOf(SA);
bInheritHandle := True;
lpSecurityDescriptor := nil;
end;
// create pipe for standard output redirection
CreatePipe(StdOutPipeRead, // read handle
StdOutPipeWrite, // write handle
@SA, // security attributes
0 // number of bytes reserved for pipe - 0 default
);
try
// Make child process use StdOutPipeWrite as standard out,
// and make sure it does not show on screen.
with SI do
begin
FillChar(SI, SizeOf(SI), 0);
cb := SizeOf(SI);
dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES;
wShowWindow := SW_HIDE;
hStdInput := GetStdHandle(STD_INPUT_HANDLE); // don't redirect std input
hStdOutput := StdOutPipeWrite;
hStdError := StdOutPipeWrite;
end; // launch the command line compiler
WorkDir := ExtractFilePath(CommandLine);
WasOK := CreateProcess(nil, PChar(CommandLine), nil, nil, True, 0, nil,
PChar(WorkDir), SI, PI); // Now that the handle has been inherited, close write to be safe.
// We don't want to read or write to it accidentally.
CloseHandle(StdOutPipeWrite);
// if process could be created then handle its output
if not WasOK then
raise Exception.Create('Could not execute command line!')
else
try
// get all output until dos app finishes
Line := '';
repeat
// read block of characters (might contain carriage returns and  line feeds)
WasOK := ReadFile(StdOutPipeRead, Buffer, 255, BytesRead, nil); // has anything been read?
if BytesRead > 0 then
begin
// finish buffer to PChar
Buffer[BytesRead] := #0;
// combine the buffer with the rest of the last run
Line := Line + Buffer;
end;
until not WasOK or (BytesRead = 0);
// wait for console app to finish (should be already at this point)
WaitForSingleObject(PI.hProcess, INFINITE);
finally
// Close all remaining handles
CloseHandle(PI.hThread);
CloseHandle(PI.hProcess);
end;
finally
result:=Line;
CloseHandle(StdOutPipeRead);
end;
end;
0
 Boa tarde..  Marcelo como vc conseguiu atravez da Dll tentei aqui mais nao retorno nada. usei estas declarações e nehuma retorna nada.      function PegaSolicitacao( CPF :  AnsiString ; CNPJ :  AnsiString  ; CRM :  AnsiString ; UF_CRM :  AnsiString ; DT_EMISSAO :  AnsiString):  AnsiString; StdCall; External 'gbasmsb_library.dll';    function PegaSolicitacao( CNPJ :  AnsiString  ; CPF :  AnsiString ; CRM :  AnsiString ; UF_CRM :  AnsiString ; DT_EMISSAO :  AnsiString):  AnsiString; StdCall; External 'gbasmsb_library.dll';   ShowMessage( PegaSolicitacao(EdCnpj.Text,EdCpf.Text, EdCrm.Text,EdUf.Text, EdEmissao.Text)) ;
o ideal seriamos que conseguissimos esse retorno atravez da dll mesmo. Boa tarde a tds..

0
Para essas duas funções eu usei na declaração "cdecl"ao invés de "stdcall". Ai funcionou normalmente... essa DLL ao meu ver não é das mais bem feitas... pois a função "IdentificacaoEstacao", está como "stdcall".
0
Não tive muitos problemas para obter o DNA, uma das maneiras que consegui foi através dos métodos da DLL:

//Declarações
Function IdentificaEstacao: PChar; stdcall; external 'gbasmsb_library.dll';
Function PegaSolicitacao(cCNPJ, cCPJ, cCRM, cUFCRM, cDataEmissao: Pchar): Pchar; cdecl; external 'gbasmsb_library.dll';
Function PegaConfirmacao(cCNPJ, cNumAutorizacao, cCupomFiscal: Pchar): Pchar; cdecl; external 'gbasmsb_library.dll';

//Função
Function ObterSolicitacao(cCNPJ, cCPF, cCRM, cUFCRM, cDataEmissao: Pchar): Pchar;
begin
  result := PegaSolicitacao(cCNPJ, cCPF, cCRM, cUFCRM, cDataEmissao);
end;

OBS: a chave retornada muda todas vez que o método é executado... mesmo que Vc passe os mesmos parâmetros toda vez!!
0
Marcelo,

Você conseguiu resolver o problema do DNA DA TRANSAÇÃO INVÁLID???
Cara, já tentei obtive o DNA de todo jeito, mas só me dá esse retorno!!

Att.

Fernando Villa
0
Bom dia a todos...
estou recebendo a seguinte mensagem de retorno da solicitacao :
51S - SOLICITACAO NAO AUTORIZADA. DNA DA TRANSACAO GERADO PELO GBA É INVALIDO
Estou usando o codigo postado antes para pegar o retorno do gbasmsb.exe.
Alguma dica ?
Abraço
Carlos
0

Estou com o mesmo erro. Estou deduzindo o seguinte: na primeira documentação que eu peguei ela falava passar o CNPJ e depois o CPF. Eu estava fazendo o teste naquele ambiente http://189.28.128.37/farmaciahomologa/services/ServicoSolicitacaoWS . Quando percebi que o correto era passar o CPF e depois o CNPJ eu corrigi e fui fazer o teste. Só que aí ficou serviço indisponível. Depois descobri que o wsdl era o atual, aí eu fiz o teste e persiste o erro de DNA da transação inválido. Será que o erro está neste novo wsdl ???

0
Bom dia,

Consegui capturar o DNA da Estação tanto pelo exe como pela dll.
Porem ao executar a solicitação via WebService só obetenho o retorno:
"Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido"

Alguém tem alguma idéia onde posso estar errando?

Obrigado

Anderson
0
Marcelo,

No arquivo "gbasmsb_library.h" (library para se importada em c++, java, etc) que vem junto com o pacote do GBASMSB_1.0.1.5-Client, a declaração dos métodos da DLL estão assim:

#pragma once

const char* IdentificaEstacao();
const char* PegaSolicitacao( const char* CNPJ, const char* CPF, const char* CRM, const char* UF_CRM, const char* DT_EMISSAO );
const char* PegaConfirmacao( const char* CNPJ, const char* NU_AUTORIZACAO, const char* NU_CUPOM_FISCAL );

Veja que nos dois métodos, o CNPJ é o 1º parâmetro. Acho que Vc estava fazendo certo antes!

Att.

Fernando Villa
0
Quem quiser me adicionar no MSN meu email é este:   magnosystem@hotmail.com   Poderíamos trocar idéia pelo MSN e depois postarmos a solução (Se Deus Quiser) aqui no fórum.
0
Quando obtenho o DNA pela dll passo o CNPJ primeiro.   Quando obtenho o DNA pelo gbasmsb.exe passo o CPF primeiro.   Você está conseguindo neste momento ???
0
Consigo das duas maneiras, porém, com ambos os DNAs gerados, o retorno do WS é sempre "DNA Inválido"!!
0
e ai galera... consegui resolver o erro do dna invalido..
Solicitacao.dnaEstacao:=Trim(TextoDna.Text);
Foi só colocar o TRIM q funcionou de primeira

Abraço
Carlos
0
Você obteve o DNA a partir do programa ou da DLL?
0
obtive a partir do programa... em um post anterior aqui no topico eu postei o codigo q estou usando...

Abraço 
Carlos
0
Alguem mais conseguiu?   Eu ainda recebo a mensagem de DNA inválido (mesmo com o Trim)   Carlos, tem mais alguma dica do que pode estar dando de errado?   Obrigado   Abraço   Anderson
0
Ainda to travado no erro de "DNA inválido"... mas to na luta pra fazer funcionar...
0
outra coisa q eu fiz tbm foi o seguinte... entrei no portal http://189.28.128.37/portalfarmacia/login.jsf 
e fui em cadastro de terminais automatizado... dai baixei a versao do java q tem la no link... atualizei o java... exclui o terminal q eu tinha cadastrado antes... e fiz um novo cadastro de terminal automatizado...
dai tentei enviar e nao foi... dai tive a ideia de colocar o trim só por descargo de consciencia... e passou...
Abraço
Carlos
0
Ae pessoal, tb consegui validar!!


No meu caso o problema estava sendo a Data da Receita!

Estava passando assim: "2011-03-20T00:00:00.000Z", porém o correto é: "2011-03-20T11:38:41.000Z".

Antes eu não estava passando hora, minuto e segundo!!!

Att.

Fernando Villa


0
Você passa a data neste formato?
0
Pessoal, também consegui... Como nosso amigo disse acima, era problema com a data mesmo (dtEmissaoReceita). É preciso passar a data + horario completo para a propriedade do objeto SolicitacaoDTO
0
Pessoal, consegui finalmente. Após conseguir fiz vários testes e chegue a seguinte conclusão.   1 - Sem o trim no retorno da string gerada pelo gbasmsb.exe não funciona. Portanto, seja qual for o método que você usa para capturar a string use o TRIM.   2 - Se não enviar a hora junto com a data da prescrição também não funciona. Faça assim: Ex: Solicitacao.dtEmissaoReceita := TXSDateTime.Create;
Solicitacao.dtEmissaoReceita.AsDateTime := Strtodate(edtdataprescricao.text) + time;   Sem o + time não deu certo.   E finalmente.   A função executadna deve ser testada no WINDOWS 98, pois acredito que dará erro visto que esta função faz chamada ao CMD.EXE na linha de comando passada que eu acho que no WINDOWS 98 é diferente.   Não testei ainda mais a função GETDOSOUTPUT que eu postei aqui pode ter mais chance de sucesso. Estou fazendo com ela e dando certo.
0
Ola,
No meu caso já está tudo funcionando em relação a GBAS.

Mas surgiu outra dúvida, eles estão enviando os dados do cupom vinculado no objeto "ConfirmacaoRecebimentoDTO". (que é obtido no passo 3).
Mas e se ocorrer algum erro na impressora durante o cupom vinculado? Como já foi executado o metodo "confirmarRecebimento" a venda já foi efetivada.

Como vocês estão tratando isso?
Até +

0
Isso já é outro tipo de tratamento, se Vc já é homologado com o PAF-ECF ou TEF, deve saber que existem vários procedimentos para tratar esse tipo de erro no Cupom Vinculado.

O que Vc pode fazer, é avisar o usuário que o ECF está com falta de comunicação e em seguida imprimir o cupom fiscal e CCD a partir da MFD (Espelho MFD  sai uma copia identica do Cupom, CCD, o que Vc quiser).

Essa é apenas uma sugestão, existem inumeras...

Att

Fernando Villa
0
  Boa tarde Pessoal,
  também estou com problema para autorizar Farmacia Popular. Estou utilizando a dll (gbasmsb_library.dll), mas continua retornando "DNA INVALIDO".
  Eu já fiz tudo que vcs comentaram aqui, Trim(), passar data e hora pra dtEmissaoReceita e etc.
  Notei que vcs utilizam o comando da dll ( 'const char* PegaSolicitacao( const char* CNPJ, const char* CPF, const char* CRM, const char* UF_CRM, const char* DT_EMISSAO )' ), também o fiz e nada. Eu estava usando o comando ( 'const char* IdentificaEstacao() ' ), pois achei mais lógico pois eu preciso somente pegar o dnaEstacao e enviar junto com as demais informções, mas notei que não tem lógica.
  Agora vcs podem me ajudar organizando minhas idéias?
  Obrigado
 
0
Alexandre,

Cara após eu ter conseguido autorizar uma vensda usando o gbasmsb.exe eu voltei a tentar com a DLL, porém sem sucesso.

Aconselho Vc a tentar autorizar utilizando o comando do programa:

gbasmsb.exe --solicitacao [CPF] [CNPJ] [CRM] [UF_CRM] [DATA_EMISSAO] > dnaEstacao.txt

Att.

Fernando Villa
0
   Obrigado por Responder Luis Fernando Villa.   Estou iniciando o Desenvolvimento pelo comando mencionado por você.   Obrigado mais uma vez.
0
Finalmente, consegui, baseado nas dicas do pessoal

Segue abaixo parte do codigo fonte da minha rotina! (utilizando o GetDosOutPut) listado acima!

Espero que sirva pro pessoal

    //
    // S O L I C I T A C A O
    //
    par := '--solicitacao '+edtCPF.Text+' '+edtCNPJ.Text+' '+edtCRM.Text+' '+edtUF.Text+' '+DateToStr(edtDataReceita.Date);
    Solicitacao.dnaEstacao := Trim( GetDosOutput('c:\gbasmsb.exe ' + par ) );
    Solicitacao.dtEmissaoReceita := TXSDateTime.Create;
    Solicitacao.dtEmissaoReceita.AsDateTime := Strtodate(edtDataReceita.text) + time;

Outra coisa importante, tambem atualizei o java e recadastrei a estacao!

Entao, nao sei ao certo onde estava o problema, mas assim funcionou!

Abraços
0
O Java não é necessário atualizar. Eu testei aqui. A regra é simples. Se você conseguir cadastrar o terminal no cadastro automatizado seu JAVA atende os requisitos.
0
Bom dia a todos !
Estou implementado as novas regras do FPopular, tudo estava bem até sexta-feira ( 18/03 ) quando o sistema começou a me retornar o seguinte erro:
java.lang.nullpointerexception
Já tentei desinstalar e instalar o certificado e tudo mais, o interessante é que não mexi em nada, apenas acrescentei os dados do vendedor e o dna da estação.
Alguem poderia me dar uma Luz...


Abraços.
Carlos H. S. Teles


0

Bom dia!!

Estou com o seguinte problema... somente na captura da confirmacaoRecebimento.   exemplo: var
Item : Integer;
Usuario: UsuarioFarmaciaDTO;
Medicamentos : ArrayOfMedicamentoDTO;
Recebimento : RecebimentoDTO;
rConfirmacaoRecebimento : ConfirmacaoRecebimentoDTO;
wsFarmaciaPopular : ServicoSolicitacaoWS; crInAutoriza, crDescMensagem, crNrAutoriza: String;
statusA3: String;
crNrCupomFiscal: WideString; msg1: String; InqtAutorizada, InAutorizaMedicamento : Real;
partesol, partemed, iditem, wcommandtext: String; wcupomVinculado: String;
wnomearqvinculado: String; begin   HTTPRIO1.URL := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl';
  HTTPRIO1.WSDLLocation := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl';
  HTTPRIO1.Service := 'ServicoSolicitacaoWSService';
  HTTPRIO1.Port := 'ServicoSolicitacaoWS';   wsFarmaciaPopular := HTTPRIO1 as ServicoSolicitacaoWS;   Item := 0;
  SetLength(Medicamentos, dmbd11.CDSemovfp.RecordCount);   dmbd11.CDSemovfp.First;
  While not dmbd11.CDSemovfp.Eof do begin
   Medicamentos[Item] := MedicamentoDTO.Create;
   Medicamentos[Item].coCodigoBarra := dmbd11.CDSemovfp.fieldbyname('IDITEM').AsString;
   Medicamentos[Item].qtAutorizada := dmbd11.CDSemovfp.fieldbyname('QTAUTORIZADA').AsFloat;
   Medicamentos[Item].vlPrecoSubsidiadoMS := dmbd11.CDSemovfp.fieldbyname('VALORMS').AsFloat;
   Medicamentos[Item].vlPrecoSubsidiadoPaciente := dmbd11.CDSemovfp.fieldbyname('VALORCLI').AsFloat;
   Item := Item + 1;
   dmbd11.CDSemovfp.Next;
  end;   Usuario := UsuarioFarmaciaDTO.Create;
  Usuario.usuarioFarmacia := wusuario;
  Usuario.senhaFarmacia := wsenha;
  Usuario.usuarioVendedor := wusuarioVendedor;
  Usuario.senhaVendedor := wsenhavendedor;   Recebimento := RecebimentoDTO.Create;
  Recebimento.arrMedicamentoDTO := Medicamentos;
  Recebimento.nuAutorizacao := dmbd11.CDSemovfp.fieldbyname('SOLNRPREAUT').AsString;
  Recebimento.nuCupomFiscal := nrcupomfiscal.Caption;
  rConfirmacaoRecebimento := ConfirmacaoRecebimentoDTO.Create;
  rConfirmacaoRecebimento.arrMedicamentoDTO := Medicamentos;   rConfirmacaoRecebimento := wsFarmaciaPopular.confirmarRecebimento(Recebimento, Usuario);   crInAutoriza := rConfirmacaoRecebimento.codigoRetorno;
  // aqui pega ok ex: 00R   wcupomVinculado := rConfirmacaoRecebimento.cupomVinculado;
  // aqui ta me retornando 'Recebimento confirmado com sucesso' e nao o cupom vinculado ja montado.   crDescMensagem := rConfirmacaoRecebimento.mensagemRetorno;
  // aqui ta me retornando o numero da autorizacao   crNrAutoriza := rConfirmacaoRecebimento.nuAutorizacao;
  // e aqui retorna o 00RV DATASUS.... Venda Efetuada    /////////////////////////////////////////////////////////////////////////////////////////////////////////////   // É aqui que da um ACCESS VIOLATION ao capturar o statusRecebimento
  statusA3 := rConfirmacaoRecebimento.statusRecebimento;  ///////////////////////////////////////////////////////////////////////////////////////////////////////////// 

  wcontrole := '1';
  if (crinAutoriza = '00R') and (copy(statusA3,1,4) = '00RV') or
   (crinAutoriza = '01R') and (copy(statusA3,1,4) = '00RV') then begin
   wcontrole := '0';
  end else begin
   Application.MessageBox( pchar(msg1),'Aviso',mb_OK);
  end;

end;   Com o demonstrado acima, parece que retorna trocado... sei lá... Inclusive consigo depois estornar a autorização.     Att   José.  
0
Boa Tarde, a Todos estou tendo Problemas na com o Retorno do Cupom Vinculado  onde o mesmo não está Retornando as informações a serem impressas gostaria de saber se mais alguem está tendo esse mesmo problema...


Pedro E. Braga
pedroernestobraga@msn.com
(18)3621-3072
0
Olá!   Como escrevi acima, também não estou conseguindo pegar os dados do cupom vinculado. O que me retorna como mensagem em cupomVinculado é "Recebimento confirmado com sucesso"...   E até agora não achei solução....     José.
0
Amigo, você está puxando a propriedade MENSAGEMRETORNO. Puxe a propriedade CUPOMVINCULADO e substitua o caracter @ por smlinebreak, caso esteja trabalhanco com DELPHI ou por mudança de linha se estiver trabalhando em outra linguagem    
Citação:
Olá!   Como escrevi acima, também não estou conseguindo pegar os dados do cupom vinculado. O que me retorna como mensagem em cupomVinculado é "Recebimento confirmado com sucesso"...   E até agora não achei solução....     José.
0
Amigo, você está imprimindo a propriedade MENSAGEMRETORNO. Imprima a propriedade CUPOMVINCULADO.
0
Bom dia pessoal..
Não estou conseguindo encontrar o link para fazer o download do gbasmsb.exe
Ja´entrei no portal virei de cima para  baixo e nada
Segui esses passos do pdf visão técnica.. e não encontro esse link
Alguém por gentiliza poderia me informar o link para baixar o arquivo

Grato
Fausto
0
Link do gbasmsb.exe

https://189.28.128.37/portalfarmacia/gbas/GBASMSB_1.0.1.5-Client.zip
0
Bom dia!! Obrigado pela resposta! Mas é isso que me intriga...    Eu estou capturando o cupom vinculado...     rConfirmacaoRecebimento := ConfirmacaoRecebimentoDTO.Create;
  rConfirmacaoRecebimento.arrMedicamentoDTO := Medicamentos;   rConfirmacaoRecebimento := wsFarmaciaPopular.confirmarRecebimento(Recebimento, Usuario);     crInAutoriza := rConfirmacaoRecebimento.codigoRetorno;
  // aqui pega correto o retorno: 00R     wcupomVinculado := rConfirmacaoRecebimento.cupomVinculado;
  // E aqui ta me retornando 'Recebimento confirmado com sucesso'   //e nao o cupom vinculado ja montado.       crDescMensagem := rConfirmacaoRecebimento.mensagemRetorno;
  // E aqui ta me retornando o numero da autorizacao e não a Descricao.       crNrAutoriza := rConfirmacaoRecebimento.nuAutorizacao;
  // e aqui retorna o 00RV DATASUS.... Venda Efetuada e não o codigo de autorizacao    /////////////////////////////////////////////////////////////////////////////////////////////////////////////   // É aqui que da um ACCESS VIOLATION ao capturar o statusRecebimento
  statusA3 := rConfirmacaoRecebimento.statusRecebimento;  ///////////////////////////////////////////////////////////////////////////////////////////////////////////// 

 Ta retornando trocado... pode ser a URL que esta errada ou foi alterada?

Att   José.
0

AUTEMP Automação Empresarial, Estamos disponibilizando os Códigos Fontes do Autorizador Farmácia Popular em VS 2003 E VS 2008, esta é nossa contribuição para tentar acabar com o monopólio das Grandes Empresas de Software do PR e SC, acesse: www.autemp.com e Cadastre-se, que entraremos em contato.  [Alexandre Bueno, MSN: autemp@hotmail.com] !

0

AUTEMP Automação Empresarial, estamos disponibilizando os Códigos Fontes do Programa Autorizador Farmácia Popular em VS 2003 E VS 2008, esta é nossa contribuição para tentar acabar com o monopólio das Grandes Empresas de Software do PR e SC, acesse: www.autemp.com e Cadastre-se em Cursos Gratuítos que entraremos em Contato. [ Alexandre Bueno, MSN: autemp@hotmail.com ] !

0

Citação:
Bom dia!! Obrigado pela resposta! Mas é isso que me intriga...    Eu estou capturando o cupom vinculado...     rConfirmacaoRecebimento := ConfirmacaoRecebimentoDTO.Create;
  rConfirmacaoRecebimento.arrMedicamentoDTO := Medicamentos;   rConfirmacaoRecebimento := wsFarmaciaPopular.confirmarRecebimento(Recebimento, Usuario);     crInAutoriza := rConfirmacaoRecebimento.codigoRetorno;
  // aqui pega correto o retorno: 00R     wcupomVinculado := rConfirmacaoRecebimento.cupomVinculado;
  // E aqui ta me retornando 'Recebimento confirmado com sucesso'   //e nao o cupom vinculado ja montado.       crDescMensagem := rConfirmacaoRecebimento.mensagemRetorno;
  // E aqui ta me retornando o numero da autorizacao e não a Descricao.       crNrAutoriza := rConfirmacaoRecebimento.nuAutorizacao;
  // e aqui retorna o 00RV DATASUS.... Venda Efetuada e não o codigo de autorizacao    /////////////////////////////////////////////////////////////////////////////////////////////////////////////   // É aqui que da um ACCESS VIOLATION ao capturar o statusRecebimento
  statusA3 := rConfirmacaoRecebimento.statusRecebimento;  ///////////////////////////////////////////////////////////////////////////////////////////////////////////// 

 Ta retornando trocado... pode ser a URL que esta errada ou foi alterada?

Att   José.



José,

Verifique se o objeto "rConfirmacaoRecebimento" é do tipo "ConfirmacaoRecebimentoDTO", pois esses campos trocados estão com cara de que está atribuindo um tipo de dados em outro. Talves seja por isso o "ACCESS VIOLATION", pelo campo não existir em "rConfirmacaoRecebimento".

Eu já fiz essa rotina do Farm Popular em VB6, Delphi e C#, nenhum dos casos veio retorno assim.

Att.

Fernando Villa
0
Deixo uma dúvida para aqueles que já estão conseguindo realizar operações de venda para o Farm Popular.

Verifiquem no "cupomVinculado", no retorno de "ConfirmacaoRecebimento", os valores: Valor Total Venda, Valor Total MS e Valor Total Benef.

Estou realizando uma venda do produto:
coCodigoBarra = 7899095200067 (CAPOX 30CPR)
qtSolicitada = 90 (3 caixas)
qtdPrescrita = 3
vlPrecoVenda = 8,40

Então, o valor total da venda é = 25,20 (8,40 X 3 caixas)

O retorno da Solicitação está sendo:
qtAutorizada = 90 (3 caixas)
vlPrecoSubsidiadoMS  = 25,20 (100% da Solicitação)
vlPrecoSubsidiadoPaciente = 0,00

Até aqui tudo OK!!

Executo a Confirmação e em seguida envio o Recebimento com os Dados:
coCodigoBarra = 7899095200067
qtSolicitada = 90
qtAutorizada = 90
vlPrecoVenda = 8,40
vlPrecoSubsidiadoMS = 25,20
vlPrecoSubsidiadoPaciente = 0,00

Agora que vem o problema, no retorno do Recebimento, no campo "cupomVinculado", está vindo para ser impresso com as seguintes informações:

Valor Total Venda : 75,60 (??? minha venda é de "25,20" e não "75,60")
Valor Toral MS      : 25,20 (ufa, esse pelo menos está correto...)
Valor Total Benef. : 50,40 (??? de onde saiu esse Valor???")

Tem alguém com esse problema?

Att.

Fernando Villa
0

Citação:
Marcelo,

Você conseguiu resolver o problema do DNA DA TRANSAÇÃO INVÁLID???
Cara, já tentei obtive o DNA de todo jeito, mas só me dá esse retorno!!

Att.

Fernando Villa


 Olá Fernando Villa

  Eu consegui utilizando os exemplos citados pelos colegas acima.
  Não tenho mais o problema do DNA da Estação.
  Constatei que a DLL disponibilizada pelo DATASUS não funciona então utilizando a função GetDosOutPut consegui capturar as informações do gbasmsb.exe.

  Caso estaja encontrando alguma dificuldade posta as dúvidas que terei o maior prazer em responder.
 
0
Boa tarde senhores,
Estou com um problema para testar em delphi o webService do farmacia popular. Está dando erro no certificado. No C# eu tenho o comando:
System.Net.ServicePointManager.ServerCertificateValidationCallback =                ((sender, certificate, chain, sslPolicyErrors) => true);
Mas no delphi eu não sei como fazer para ele aceitar qualquer tipo de certificado. Como eu resolvo isso no delphi?
0


Citação:
Boa tarde senhores,
Estou com um problema para testar em delphi o webService do farmacia popular. Está dando erro no certificado. No C# eu tenho o comando:
System.Net.ServicePointManager.ServerCertificateValidationCallback =                ((sender, certificate, chain, sslPolicyErrors) => true);
Mas no delphi eu não sei como fazer para ele aceitar qualquer tipo de certificado. Como eu resolvo isso no delphi?


Esta é a mensagem que aparece no erro. 
0

Citação:

Citação:
Marcelo,

Você conseguiu resolver o problema do DNA DA TRANSAÇÃO INVÁLID???
Cara, já tentei obtive o DNA de todo jeito, mas só me dá esse retorno!!

Att.

Fernando Villa


 Olá Fernando Villa

  Eu consegui utilizando os exemplos citados pelos colegas acima.
  Não tenho mais o problema do DNA da Estação.
  Constatei que a DLL disponibilizada pelo DATASUS não funciona então utilizando a função GetDosOutPut consegui capturar as informações do gbasmsb.exe.

  Caso estaja encontrando alguma dificuldade posta as dúvidas que terei o maior prazer em responder.
 


Valew Anizair,

Mas eu já estou conseguindo transmitir as vendas sem problemas já algum tempo... o problema agora está sendo nos valores retornados pelo Farmácia Popular... Vc já conferiu os valores do cupomVinculado se realmente batem com os Valores que Vc informou anteriormente?? Veja um post meu logo acima!

Att.

Fernando Villa
0
 
Pessoal, o retorno do cupom vinculado está vindo sem assentos e com "?" no lugar,
já tentei mudar de UTF-8 para ISO-8859-1 e nada! Alguém tem uma idéia?


//----Retorno da variável CupomVinculado

[INICIO]@----------------------------------------@ MINIST?RIO DA SA?DE - FARM?CIA POPULAR @       

//------- Tentativa
InvRegistry.RegisterInterface(TypeInfo(ServicoSolicitacaoWS), 'http://service.datasus.org/', 'ISO-8859-1');//'UTF-8');
0

Citação:
 
Pessoal, o retorno do cupom vinculado está vindo sem assentos e com "?" no lugar,
já tentei mudar de UTF-8 para ISO-8859-1 e nada! Alguém tem uma idéia?


//----Retorno da variável CupomVinculado

[INICIO]@----------------------------------------@ MINIST?RIO DA SA?DE - FARM?CIA POPULAR @       

//------- Tentativa
InvRegistry.RegisterInterface(TypeInfo(ServicoSolicitacaoWS), 'http://service.datasus.org/', 'ISO-8859-1');//'UTF-8');


Fernando,

Esta vindo sim sem acentos e acho q não tem previsão do MS corrigir até dia 04/04/11.
0
Olá pessoal, mesmo após ler as dicas que o pessoal vem citando,   até agora não consegui fazer uma solicitação sem que o mesmo me retorne   "DNA da transação gerado pelo GBAS é inválido"   tentei de tudo, já   gostaria de saber se algum dos amigos tem alguma idéia do que poss ser ou de   algum procedimento que deve ser feito     obrigado     Abraço
0
Tiago,

Provavelmente é alguma coisa que está passando despercebido . Abaixo seguem algumas observações que no meu caso estavam ocasionando em erro no DNA.

 - Refaça novamente o registro da estação pelo Cadastro Automático no Portal do Farmácia Popular, o nome da máquina não deve ter ponto, virgula, acentuação, letras minúsculas, etc... nada que possa dificultar a comparação;

 - Ao chamar o gbasmsb.exe está passando os parâmetros na ordem correta e com apenas um espaço entre eles;

 - Parâmetros passados para o gbasmsb.exe devem estar exatamente iguais aos gravados no xml de solicitação;

 - Data da receita, ao gravar no xml, deve ser "data + hora", eu utilizei o formato "yyyy-MM-ddThh:mm:ss.000Z" e funcionou muito bem;

Se todas essas informações estiverem idênticas, é para gerar o dnaEstacao corretamente.

Caso ainda não funcione, só postar novamente!!

Falow!!
0
Pessoal, não sei se Vcs já perceberam, mas agora o retorno do Cupom Vinculado está vindo acentuado corretamente!!

Att.

Fernando Villa
0
Olá!! Ainda estou com o problema: //........ var Item : Integer; Usuario: UsuarioFarmaciaDTO; Medicamentos : ArrayOfMedicamentoDTO; Recebimento : RecebimentoDTO; rConfirmacaoRecebimento: ServicoSolicitacaoWS3.ConfirmacaoRecebimentoDTO; wcrNuCupomFiscal: WideString; wcrcupomVinculado: WideString; wcrcodigoRetorno, wcrMensagemRetorno, wcrnuAutorizacao: WideString; wcrstatusRecebimento: WideString; wsFarmaciaPopular: ServicoSolicitacaoWS3.ServicoSolicitacaoWS; begin HTTPRIO1.URL := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS'; HTTPRIO1.WSDLLocation := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl'; HTTPRIO1.Service := 'ServicoSolicitacaoWSService'; HTTPRIO1.Port := 'ServicoSolicitacaoWS'; Item := 0; SetLength(Medicamentos, dmbd11.CDSemovfp.RecordCount); .... dmbd11.CDSemovfp.First; While not dmbd11.CDSemovfp.Eof do begin Medicamentos[Item] := MedicamentoDTO.Create; Medicamentos[Item].coCodigoBarra := dmbd11.CDSemovfp.fieldbyname('IDITEM').AsString; Medicamentos[Item].qtAutorizada := dmbd11.CDSemovfp.fieldbyname('QTAUTORIZADA').AsFloat; Medicamentos[Item].vlPrecoSubsidiadoMS := dmbd11.CDSemovfp.fieldbyname('VALORMS').AsFloat; Medicamentos[Item].vlPrecoSubsidiadoPaciente := dmbd11.CDSemovfp.fieldbyname('VALORCLI').AsFloat; Item := Item + 1; dmbd11.CDSemovfp.Next; end; wsFarmaciaPopular := HTTPRIO1 as ServicoSolicitacaoWS; //////////////////// Usuario := UsuarioFarmaciaDTO.Create; Usuario.usuarioFarmacia := wusuario; Usuario.senhaFarmacia := wsenha; Usuario.usuarioVendedor := wusuarioVendedor; Usuario.senhaVendedor := wsenhavendedor; Recebimento := RecebimentoDTO.Create; Recebimento.arrMedicamentoDTO := Medicamentos; Recebimento.nuAutorizacao := dmbd11.CDSemovfp.fieldbyname('SOLNRPREAUT').AsString; Recebimento.nuCupomFiscal := rtrim(cupomfiscal.Caption); rConfirmacaoRecebimento := ConfirmacaoRecebimentoDTO.Create; rConfirmacaoRecebimento.arrMedicamentoDTO := Recebimento.arrMedicamentoDTO; rConfirmacaoRecebimento := wsFarmaciaPopular.confirmarRecebimento(Recebimento, Usuario); //rConfirmacaoRecebimento := GetServicoSolicitacaoWS().confirmarRecebimento(Recebimento, Usuario); wcrcupomVinculado := rConfirmacaoRecebimento.cupomVinculado; //////////////////// AQUI É O PROBLEMA NAO ME RETORNA O CUPOM VINCULADO o que me retorna é a mensagem //////// 'Recebimento confirmado com sucesso' e nao o cupom vinculado ja montado. wcrcodigoRetorno := rConfirmacaoRecebimento.codigoRetorno; // Aqui retorna correto: 00R wcrmensagemRetorno := rConfirmacaoRecebimento.mensagemRetorno; // e aqui nao retorna nada wcrnuAutorizacao := rConfirmacaoRecebimento.nuAutorizacao; // Aqui retorna correto o numero da autorizacao wcrstatusRecebimento := rConfirmacaoRecebimento.statusRecebimento; // Aqui retorna correto o 00RV DATASUS.... Venda Efetuada wcontrole := '1'; if (wcrcodigoRetorno = '00R') and (copy(wcrstatusRecebimento,1,4) = '00RV') or (wcrCodigoRetorno = '01R') and (copy(wcrstatusRecebimento,1,4) = '00RV') then begin wcontrole := '0'; end else begin Application.MessageBox( pchar(msg1),'Aviso',mb_OK); end; if wcontrole = '0' then begin .... Já fiz de tudo, ou quase tudo, senão teria dado certo... Uso o Delphi 7. Até fiz as atualizações do Delphi 7 referente webservices e nada. Desinstalei e instalei certificados. Não seria por aí o problema? É como se tiversse retornando no formato do xml anterior. Alguém tem alguma dica? E todas as transações são aceitas..., consigo estornar e tudo mais, menos pegar o cupom vinculado. Inclusive o DNA deu certo, fiz utilizando a DLL e passando o CNPJ e depois o CPF, sem utilizar formatações. Fiz como as dicas que o pessoal deste forum postou. //Declarações Function ObterSolicitacao(cCNPJ, cCPF, cCRM, cUFCRM, cDataEmissao: Pchar): Pchar; Function IdentificaEstacao: PChar; stdcall; external 'gbasmsb_library.dll'; Function PegaSolicitacao(cCNPJ, cCPJ, cCRM, cUFCRM, cDataEmissao: Pchar): Pchar; cdecl; external 'gbasmsb_library.dll'; Function PegaConfirmacao(cCNPJ, cNumAutorizacao, cCupomFiscal: Pchar): Pchar; cdecl; external 'gbasmsb_library.dll'; Att. José.
0

Foi mal a mensagem anterior...


Olá!!
Ainda estou com o problema:
//........
var
Item : Integer; Usuario: UsuarioFarmaciaDTO;
Medicamentos : ArrayOfMedicamentoDTO;
Recebimento : RecebimentoDTO;
rConfirmacaoRecebimento: ServicoSolicitacaoWS3.ConfirmacaoRecebimentoDTO; wcrNuCupomFiscal: WideString;
wcrcupomVinculado: WideString;
wcrcodigoRetorno, wcrMensagemRetorno, wcrnuAutorizacao: WideString;
wcrstatusRecebimento: WideString; wsFarmaciaPopular: ServicoSolicitacaoWS3.ServicoSolicitacaoWS;
begin   HTTPRIO1.URL := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS';
  HTTPRIO1.WSDLLocation := 'https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl';
  HTTPRIO1.Service := 'ServicoSolicitacaoWSService';
  HTTPRIO1.Port := 'ServicoSolicitacaoWS';   Item := 0;
  SetLength(Medicamentos, dmbd11.CDSemovfp.RecordCount);   ....   dmbd11.CDSemovfp.First;
  While not dmbd11.CDSemovfp.Eof do begin
   Medicamentos[Item] := MedicamentoDTO.Create;
   Medicamentos[Item].coCodigoBarra := dmbd11.CDSemovfp.fieldbyname('IDITEM').AsString;
   Medicamentos[Item].qtAutorizada := dmbd11.CDSemovfp.fieldbyname('QTAUTORIZADA').AsFloat;
   Medicamentos[Item].vlPrecoSubsidiadoMS := dmbd11.CDSemovfp.fieldbyname('VALORMS').AsFloat;
   Medicamentos[Item].vlPrecoSubsidiadoPaciente := dmbd11.CDSemovfp.fieldbyname('VALORCLI').AsFloat;
   Item := Item + 1;
   dmbd11.CDSemovfp.Next;
  end;
  wsFarmaciaPopular := HTTPRIO1 as ServicoSolicitacaoWS;   ////////////////////   Usuario := UsuarioFarmaciaDTO.Create;
  Usuario.usuarioFarmacia := wusuario;
  Usuario.senhaFarmacia := wsenha;
  Usuario.usuarioVendedor := wusuarioVendedor;
  Usuario.senhaVendedor := wsenhavendedor;   Recebimento := RecebimentoDTO.Create;
  Recebimento.arrMedicamentoDTO := Medicamentos;
  Recebimento.nuAutorizacao := dmbd11.CDSemovfp.fieldbyname('SOLNRPREAUT').AsString;
  Recebimento.nuCupomFiscal := rtrim(cupomfiscal.Caption);   rConfirmacaoRecebimento := ConfirmacaoRecebimentoDTO.Create;   rConfirmacaoRecebimento.arrMedicamentoDTO := Recebimento.arrMedicamentoDTO;
  rConfirmacaoRecebimento := wsFarmaciaPopular.confirmarRecebimento(Recebimento, Usuario);
  //rConfirmacaoRecebimento := GetServicoSolicitacaoWS().confirmarRecebimento(Recebimento, Usuario);
  wcrcupomVinculado := rConfirmacaoRecebimento.cupomVinculado;
  //////////////////// AQUI É O PROBLEMA NAO ME RETORNA O CUPOM VINCULADO o que me retorna é a mensagem
  ////////             'Recebimento confirmado com sucesso' e nao o cupom vinculado ja montado.
  wcrcodigoRetorno := rConfirmacaoRecebimento.codigoRetorno;
  // Aqui retorna correto:   00R   wcrmensagemRetorno := rConfirmacaoRecebimento.mensagemRetorno;
  // e aqui nao retorna nada   wcrnuAutorizacao := rConfirmacaoRecebimento.nuAutorizacao;
  // Aqui retorna correto o numero da autorizacao   wcrstatusRecebimento := rConfirmacaoRecebimento.statusRecebimento;
  // Aqui retorna correto o 00RV DATASUS.... Venda Efetuada
  wcontrole := '1';
  if (wcrcodigoRetorno = '00R') and (copy(wcrstatusRecebimento,1,4) = '00RV') or
   (wcrCodigoRetorno = '01R') and (copy(wcrstatusRecebimento,1,4) = '00RV') then begin
   wcontrole := '0';
  end else begin
   Application.MessageBox( pchar(msg1),'Aviso',mb_OK);
  end;   if wcontrole = '0' then begin   ....   Já fiz de tudo, ou quase tudo, senão teria dado certo...
  Uso o Delphi 7.
  Até fiz as atualizações do Delphi 7 referente webservices e nada.   Desinstalei e instalei certificados.
  Não seria por aí o problema?
  É como se tiversse retornando no formato do xml anterior.   Alguém tem alguma dica?   E todas as transações são aceitas..., consigo estornar e tudo mais, menos pegar o cupom vinculado.
  Inclusive o DNA deu certo, fiz utilizando a DLL e passando o CNPJ e depois o CPF, sem
  utilizar formatações. Fiz como as dicas que o pessoal deste forum postou.
  //Declarações
  Function ObterSolicitacao(cCNPJ, cCPF, cCRM, cUFCRM, cDataEmissao: Pchar): Pchar;
  Function IdentificaEstacao: PChar; stdcall; external 'gbasmsb_library.dll';
  Function PegaSolicitacao(cCNPJ, cCPJ, cCRM, cUFCRM, cDataEmissao: Pchar): Pchar; cdecl; external 'gbasmsb_library.dll';
  Function PegaConfirmacao(cCNPJ, cNumAutorizacao, cCupomFiscal: Pchar): Pchar; cdecl; external 'gbasmsb_library.dll';
  Att.   José.              
0
  e ai galera... 3 perguntas...

  1. no retorno do cupom vinculado vem escrito [INICIO] no começo e [FINAL] no fim... isso deve ser impresso no cupom ? ou deve ser impresso somente o q esta entre essas duas tags ?

  2. como vcs tratam a forma de pagamento... vamos supor q o cliente queira pagar sua parte em tef... é aceito ? ou apenas dinheiro ?

  3. o cupom vinculado na realidade é um relatorio gerencial nao é ? pois uma das exigencias do paf é q o CCD só pode ser utilizado para transacoes de pagamentos tef... correto ?

  Obrigado pela atencao

  Carlos
0
Ao amigo Jose Valdonez
Só um chute... por acaso vc ja tentou definir a sua variavel rConfirmacaoRecebimento somente como ConfirmacaoRecebimentoDTO ?
Var   rConfirmacaoRecebimento : ConfirmacaoRecebimentoDTO;

Abraço
Carlos
0
Olá!!   Carlos....  pior que eu já havia declarado dessa maneira e essa foi uma das tentativas....     Valeu pela atenção!!!!
0
Amigo Jose Valdonez
o meu codigo ta um pouco diferente do seu e ta funcionando... eu mudei o seu pra ficar igual comoestou fazendo... testa ai pra ver... Valeu...
  wsFarmaciaPopular := HTTPRIO1 as ServicoSolicitacaoWS;
  ////////////////////
  Usuario := UsuarioFarmaciaDTO.Create;
  Usuario.usuarioFarmacia := wusuario;
  Usuario.senhaFarmacia := wsenha;
  Usuario.usuarioVendedor := wusuarioVendedor;
  Usuario.senhaVendedor := wsenhavendedor;
  Recebimento := RecebimentoDTO.Create;
  Recebimento.arrMedicamentoDTO := Medicamentos;
  Recebimento.nuAutorizacao := dmbd11.CDSemovfp.fieldbyname('SOLNRPREAUT').AsString;
  Recebimento.nuCupomFiscal := rtrim(cupomfiscal.Caption);
  rConfirmacaoRecebimento := wsFarmaciaPopular.confirmarRecebimento(Recebimento, Usuario);

  wcrcupomVinculado := rConfirmacaoRecebimento.cupomVinculado;

Abraço
Carlos
0
Olá amigos!!!   O problema é que eu havia importado o WSDL novo e salvei com uma unit ServicoSolicitacaoWS3.pas. E o ServicoSolicitacaoWS1 estava em uma unit que uso meio que geral... Portanto era essa que estava pegando.   Importei novamente o WSDL e salvei como ServicoSolicitacaoWS1 e deu certo.... Graças!!!   Valeu Carlos!!! Valeu a todos!!!   - Quanto ao tratamento do cupom vinculado: 1. Eu vou pegar o que está entre as tags 2. Quanto a forma de pagamento os clientes que tenho,  só recebem a forma dinheiro. 3. Pelo que está na padronização é CCD mesmo... pois é quase uma transação TEF.   No que eu puder ajudar estou a disposição...   Abraços   Att   José.
0
mais uma duvida pessoal... estou testando as vendas para a farmacia popular usando o emulador da bematech mp-2100... se eu mostro o conteudo do cupom vinculado em um showmessage por exemplo, os acentos aparecem, tudo ok... porem quando mando imprimir aparecem outros caracteres no lugar dos caracteres acentuados... é assim mesmo ? 
Abraço
Carlos
0
Fernando villa,   primeiramente obrigado por responder,   ja verifiquei tudo novamente, cadastrei a maquina automatizado novamente, verifiquei datas, usei o trim conforme sugerido, mas ainda tenho o retorno 'DNA Inválido', se mais alguem tiver idéia do que pode ser ?   alguma configuração?   Obrigado       Tiago
0

Ola Thiago,

Tambem estou com o mesmo erro de DNA invalido, minha rotina é em .NET C#, vc ja obteve algum sucesso com seu codigo?   abracos.
0
Valdir, to na luta ainda, mais sem sucesso por enquanto,     to mudando tudo e testando de novo, qq novidade eu coloco em um post aki.   abraço
0
Tiago, andei fazendo alguns testes e cheguei a conclusões interessantes.
1• Se você usou o gbasmsb.exe e gerou a saída dele em um txt, use readline ao invés de readtoend
2• A informação de dtEmissaoReceita tem mesmo que ser no padrão AAAA-MM-DDTHH:MM:SS.MMMZ     Observação importante, o ano, mes e dia tem que ser separados por hífen, não por barras.3• Ao capturar o dna de um arquivo de texto use Trim, pois sempre é gerado um espaço em branco no final da string que retorna como dna inválido.

Espero ter ajudado, qualquer coisa me add no msn paulocastrocruz@hotmail.com
0

Vocês também estão colocando a data no formato AAA-MM-DDTHH:MM:SS.MMMZ na linha de comando do gbasmsb.exe para gerar o dnaEstacao?

  Na aplicação, vocês estão enviando o CNPJ e CPF com /.- ou apenas números da mesma forma como na linha de comando do gbasmsb.exe para gerar o dnaEstacao?
0
Alex, estou utilizando a data da receita sendo no formato AAAA-MM-DDTHH:MM:SS.MMMZ e a data na linha de comando apenas passo o data no formato DD/MM/YYYY.   Os dados dos documentos estão sendo passados da mesma forma, apenas numeros   vlw
0
Agora o negócio ficou bom mesmo. No mesmo acesso, usando os mesmos dados, hora recebo erro de login de vendedor, hora recebo erro de login de farmacia/concentrador.   O MS também mudou a forma de cadastramento do vendedores. Antes tínhamos que especificar um login. Agora é automaticamente gerado um login numérico. Isso é ótimo. Imagino a quantidade de tentativas de usuários tentando cadastrar login e receber a mensagem: login já cadastrado. 
0

Ola Alex, bom dia

Como vc falou, realmente esta acontecendo assim comigo tambem, hora recebo uma mensagem, hora outra, nao esta dando pra entender muito bem, tambem percebi que o cadastro de vendedor mudou a forma de cadastrar o Login, ja fiz varias tentativas mas ainda sem sucesso, permanesse o erro de DNA invalido.   Valdir
0
Valdir  vc conseguiu resolver o problema do DNA inválido?   ainda estou com o mesmo problema e nem sei mais o q fazer.   qq novidade eu posto aki   c alguem imaginar algo q possa estar causando est problema  eu agradeço desde já     abraço
0
Também continuo recebendo a mensagem: 51S - Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido. Já tentei de tudo.
0

Ola Tiago, ainda sem sucesso nos meus testes, continuo com o mesmo DNA invalido,

qquer coisa, posto ai, abracos   .NET C# Valdir
0
Ae pessoal,

To vendo que na vespera das alterações do Farm Popular ainda tem bastante gente apanhando do dnaEstacao, eu tb lutei para conseguir fazer validar.

Bom, fiz um projeto teste em C#, com todas as etapas do Farmácia Popular, está funcionando normalmente.

Não vou colocar aqui porque é um pouco grade, mas quem quiser, me passa o e-mail.

Att.

Fernando Villa


0

Fernando,

vc pode mandar pra mim ete projeto teste?   pois nem sei o q testar mais     tiagoprogrramer@hotmail.com     obrigado    
0

Ola Fernando , agradeco se puder me enviar o projeto tambem,

valdirantoniosilva@hotmail.com   .NET C#   Valdir
0

Fernando, peço enviar para alex.lucas@ig.com.br

0
  Por favor mande no e-mail gustavoinformatica@hotmail.com

  Abraço
0
Pessoal estava tendo problema em pegar o Retorno do Cupom vinculado demois de muita analise e Teste verifiquei que é um Problema com o Delphi 7 o Problema consiste no seguinte ao realizar a importação do WSDL ele gera uma Unit como ServicoSolicitacao1 caso eu altere o Nome da unit na hora de Salvar o Mesmo causa o problema na 3 Fase do Farmacia popular invertendo todos os campos do retorno a solução foi manter o Nome da Unit ai o mesmo funciona Perfeitamente.

Obrigado a Todos pela dicas aki apresentadas todas elas foram uteis nessa empreitada.

Pedro E. Braga
(18) 8144-3939
pedroernestobraga@msn.com
0
Pessoal estava tendo problema em pegar o Retorno do Cupom vinculado demois de muita analise e Teste verifiquei que é um Problema com o Delphi 7 o Problema consiste no seguinte ao realizar a importação do WSDL ele gera uma Unit como ServicoSolicitacao1 caso eu altere o Nome da unit na hora de Salvar o Mesmo causa o problema na 3 Fase do Farmacia popular invertendo todos os campos do retorno a solução foi manter o Nome da Unit ai o mesmo funciona Perfeitamente.

Obrigado a Todos pela dicas aki apresentadas todas elas foram uteis nessa empreitada.

Pedro E. Braga
(18) 8144-3939
pedroernestobraga@msn.com
0
Olá galera,
estou recebendo a seguinte mensagem quando tento fazer a solicitação p/ a Farmácia Popular:
Não foi possível estabelecer uma relação de confiança para o canal protegido SSL/TLS com a autoridade '200.214.130.41:9443'.
Alguém poderia me ajudar???

Agradeço a todos
Att,Moyses Luiz
0


Citação:
Ae pessoal,

To vendo que na vespera das alterações do Farm Popular ainda tem bastante gente apanhando do dnaEstacao, eu tb lutei para conseguir fazer validar.

Bom, fiz um projeto teste em C#, com todas as etapas do Farmácia Popular, está funcionando normalmente.

Não vou colocar aqui porque é um pouco grade, mas quem quiser, me passa o e-mail.

Att.

Fernando Villa


 

Olá Fernando,
gostaria q vc me envia-se o projeto tbm, por favor:
moyses.luiz@hotmail.com
Obrigado
Att,Moyses Luiz
0

Citação:
Ae pessoal,

To vendo que na vespera das alterações do Farm Popular ainda tem bastante gente apanhando do dnaEstacao, eu tb lutei para conseguir fazer validar.

Bom, fiz um projeto teste em C#, com todas as etapas do Farmácia Popular, está funcionando normalmente.

Não vou colocar aqui porque é um pouco grade, mas quem quiser, me passa o e-mail.

Att.

Fernando Villa


 

Olá Fernando,
gostaria q vc me envia-se o projeto tbm, por favor:
l_mordenti@hotmail.com   Não consigo o Dna , e ainda tenho que brigar com o cupom por favor se possível , eu programa em vb.net, mais qualquer linguagem já me ajuda.
Obrigado
Att, Leandro Mordenti
0
Pessoal, graças a Deus conseguimos resolver o problema do DNA Invalido   Agradeço a todos pela ajuda e pelos posts.   ainda to vendo q tem um pessoal com problemas   no q eu puder ajudar   e-mail: Tiagoprogrramer@hotmail.com   agora vou continuar as implementações   Abraço    
0

   Galera programei esse método abaixo para acessar o gbasmsb.exe passar os parâmetros e receber a chave (dna da estação), porém todas as chaves que envio pelo WebService retorna.
   Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido.
   Alguém tem uma solução?


 
0

Gustavo, verifique se o campo cpf so contenha numeros, e formate a dataReceita assim

string data = DateTime.Now.ToString("yyyy-MM-ddThh:mm:ss.000Z");

DateTime dataReceita = DateTime.Parse(data);

solicitacaoDTO.dtEmissaoReceita = dataReceita ;   obs: para o gbasmsb o formato é

("dd/MM/yyyy")

OK, Abracos
0

   VALDIR na declaração das variáveis já faço essas formatações de qq forma muito obrigado pela dica!
   Alguma outra dica?
0

Citação:
Ae pessoal,

To vendo que na vespera das alterações do Farm Popular ainda tem bastante gente apanhando do dnaEstacao, eu tb lutei para conseguir fazer validar.

Bom, fiz um projeto teste em C#, com todas as etapas do Farmácia Popular, está funcionando normalmente.

Não vou colocar aqui porque é um pouco grade, mas quem quiser, me passa o e-mail.

Att.

Fernando Villa





 
Boa tarde Fernando.
 
Por favor, envie para mim também (seugualda@gmail.com). Estou com problemas na autenticação da estação.
 
Obrigado.
0
Tiago, sabe dizer onde foi que você mexeu que resolveu o problema?
0
O código  

string data = DateTime.Now.ToString("yyyy-MM-ddThh:mm:ss.000Z");

gera a data com o formato abaixo:   2011-03-31T11:36:59.000Z     ?     Consegui evoluir da mensagem de erro 51S - Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido.     Para:   50S - Solicitação não autorizada. Computador não autorizado à realizar transações por esta farmácia. Necessário acessar o portal da farmácia para cadastrar este computador.   Manipulando essa informação. 
0

Alex, não consegui evoluir colocando este formato de data. Não saio do erro 51S. Poderia me ajudar?

0
Pessoal, sei que pelas dicas que dei vários já estão com o Farm Popular funcionando tranquilamente, então, para aqueles que já conseguiram finalizar uma venda inteira, analisem a situação abaixo.

Verifiquem no "cupomVinculado", no retorno de "ConfirmacaoRecebimento", os valores: "Valor Total Venda", "Valor Total MS" e "Valor Total Benef". Esses valores estão corretos com os dados informados?

Estou realizando uma venda do produto:
coCodigoBarra = 7899095200067 (CAPOX 30CPR)
qtSolicitada = 90 (3 caixas)
qtdPrescrita = 3
vlPrecoVenda = 8,40

Então, o valor total da venda é = 25,20 (8,40 X 3 caixas)

O retorno da Solicitação está sendo:
qtAutorizada = 90 (3 caixas)
vlPrecoSubsidiadoMS  = 25,20 (100% da Solicitação)
vlPrecoSubsidiadoPaciente = 0,00

Até aqui tudo OK!!

Executo a Confirmação e em seguida envio o Recebimento com os Dados:
coCodigoBarra = 7899095200067
qtSolicitada = 90
qtAutorizada = 90
vlPrecoVenda = 8,40
vlPrecoSubsidiadoMS = 25,20
vlPrecoSubsidiadoPaciente = 0,00

Agora que vem o problema, no retorno do Recebimento, no campo "cupomVinculado", está vindo para ser impresso com as seguintes informações:

Valor Total Venda : 75,60 (??? minha venda é de "25,20" e não "75,60")
Valor Toral MS      : 25,20 (ufa, esse pelo menos está correto...)
Valor Total Benef. : 50,40 (??? de onde saiu esse Valor???")

Alguém também está com esse problema?

Att.

Fernando Villa
0
Pessoal, estou conseguindo fechar a 1º fase (Pré-venda) mas todos os medicamentos que eu lanço desta listagem https://189.28.128.37/portalfarmacia/ajuda/massaDados.jsf esta me retornando a mensagem: "Solicitação não autorizada. Nenhum medicamento autorizado." Eu já verifiquei os itens, os preços mas mesmo assim me retorna a mesma mensagem.   Estou travado nesta parte e não sei mais o que fazer...   Hotmail: leandroe.monteiro@hotmail.com   At.   Leandro Monteiro
0
Leandro, tente usar outro CPF. Você pode inclusive usar o seu CPF. Estou usando com sucesso os produtos 7898372705721 e 7898371170322.
0

Obrigado Alex, realmente consegui com sua orientação.

O problema agora é que ele só me retorna a mensagem:   "Solicitação Não Autorizada. DNA da transação gerado pelo GBAS é inválido."   Todas as vendas que eu tento finalizar na primeira fase (pré-venda) aparece esta mensagem.   Eu já autentiquei no site do Ministério da Saude pelo programa do módulo de segurança o computador que estou utilizando para efetuar os testes, re-autentiquei, cadastrei pelo módulo automatizado e mesmo assim não obtive sucesso.   Poderia me orientar?   Obrigado meu amigo  
0
Começando por uma boa notícia, recebi agora a informação que o prazo para entrada dessas alterações em produção foi prorrogado por mais 30 dias.   O meu problema com a geração do dnaEstacao parecia relacionado a data de emissão passada pela aplicação.Eu estou usando PHP. Eu estava passando a data dessa formar $data = $ano."-".$mes."-".$dia."T01:00:00";, porém parece que há um bug na geração do dna quando a hora começa com 0. Então mudei o meu código para $data = $ano."-".$mes."-".$dia."T11:00:00";.   Estou pela aplicação CPF e CNPJ em ., / e -.   Essa solução adotada pelo MS é muito ruim. Hoje, por volta das 00:00h consegui fazer uma autorização em duas máquinas. Tudo estava funcionando bem até as 12:00h de hoje. Quando de repente, 5 minutos após o último teste, em uma das máquinas comecei a receber a mensagem de erro de que a minha máquina não estava cadastrada. E o problema persiste até agora. No momento só consigo efetuar teste completo em uma das máquinas.   Não sei se antivirus ou firewall podem estar interferindo na geração do dna ou do MID.
0
Olá!!   Fiz o teste com o mesmo item, qtd prescrita 3 e valor unitario 8,40 e retornou o cupom vinculado com o mesmo problema....   75,60 e valor total benef 50,40..   O Carlos já havia postado essa dúvida... Mas enfim, eu fiz como CCD o cupom vinculado, transação parecida com TEF, mas é mesmo como CCD? Ou é por Relatorio Gerencial?   E, pode-se ignorar os espaços entre os @@ ou tem que manter estes espaços entre as linhas não vazias?       Att.   José.
0
Pessoal,

O MS adiou por mais 30 dias o prazo para a implantação das novas funcionalidades do Farmácia Popular.

http://portal.saude.gov.br/portal/saude/visualizar_texto.cfm?idtxt=36764&janela=1

Sobre os valores errados no CupomVinculado, já tentei de várias maneira passar os dados para o WS, acredito que seja erro no WS mesmo. Estou aguardando alguma correção por parte do MS.

Att.

Fernando

0
Olá pessoal,
estou com o seguinte problema quanto tento efetuar a Solicitação da Farmácia Popular:

'org.xml.sax.SAXException: Invalid element in br.gov.datasus.farmaciapopular.servico.ws.dto.SolicitacaoDTO - dnaEstacao'
Alguém pode me ajudar???

Att,Moyses Luiz
0
Somos uma software house localizada na Vila Madalena, em São Paulo, Capital. Queremos contratar uma consultoria que nos auxilie a implementar as alterações da Farmácia Popular. Já temos a interface original em nosso programa escrito em Delphi 7. Por favor contate Sergio no telefone 3816-2232.
0
Moises, entre em contato pelo e-mail : tiagoprogrramer@hotmail.com vlw
0
Olá Moises,

Por incrivel que pareça, o Ministério prorrogou o prazo para entrada no ar do novo ambiente em 30 dias.

Desse forma, vc deverá utilizar a forma antiga de solicitação, mas em ambiente de homologação, funcionará o ambiente novo.

http://portal.saude.gov.br/portal/saude/visualizar_texto.cfm?idtxt=36764&janela=1


É uma bagunça esse setor público mesmo.

abraço
0
Olá a todos, estou encontrando alguns problemas na implementação das alterações da Farmácia Popular e gostaria de saber se alguém pode me ajudar.
Tentei contato com o e-mail seguranca.fpopular@saude.gov.br, mas o pessoal lá simplesmente não responde.Utilizo VB6 para desenvolvimento e o .NETNo VB6 gero um arquivo o qual um pequeno aplicativo que desenvolvi no .NET lê e envia as informações para o Webservice.
O arquivo que estou gerando é o seguinte:
<New Index Of SolicitacaoDTO.arrMedicamentoDTO>SolicitacaoDTO.arrMedicamentoDTO.coCodigoBarra = 7896422507950SolicitacaoDTO.arrMedicamentoDTO.dsUnidApresentacao = SolicitacaoDTO.arrMedicamentoDTO.inAutorizacaoEstorno = SolicitacaoDTO.arrMedicamentoDTO.inAutorizacaoMedicamento = SolicitacaoDTO.arrMedicamentoDTO.qtAutorizada = 0SolicitacaoDTO.arrMedicamentoDTO.qtDevolvida = 0SolicitacaoDTO.arrMedicamentoDTO.qtEstornada = 0SolicitacaoDTO.arrMedicamentoDTO.qtPrescrita = 1,00SolicitacaoDTO.arrMedicamentoDTO.qtSolicitada = 30,00SolicitacaoDTO.arrMedicamentoDTO.statusTransacao = SolicitacaoDTO.arrMedicamentoDTO.vlPrecoSubsidiadoMS = 0SolicitacaoDTO.arrMedicamentoDTO.vlPrecoSubsidiadoPaciente = 0SolicitacaoDTO.arrMedicamentoDTO.vlPrecoSubsidiadoPacientePosEstorno = 0SolicitacaoDTO.arrMedicamentoDTO.vlPrecoVenda = 10,80SolicitacaoDTO.arrMedicamentoDTO.vlrSubsidiadoMSPosEstorno = 0SolicitacaoDTO.arrMedicamentoDTO.vlrTotalVendaPosEstorno = 0SolicitacaoDTO.coSolicitacaoFarmacia = 1SolicitacaoDTO.dtEmissaoReceita = 2011-04-26T16:40:16.000ZSolicitacaoDTO.nuCnpj = 00.152.727/0001-94SolicitacaoDTO.nuCpf = 020.530.308-01SolicitacaoDTO.nuCrm = 43077SolicitacaoDTO.sgUfCrm = SPSolicitacaoDTO.dnaEstacao = VjafQu9FUf3TiHIfsLtHiNzyXyRZ0QGLzPCyCpDl7IcbLJferT6jYMuGpSKNkgzN7stWC;9viKvc9ffUMMiyt6h2NG;IoZ2JHQsM+p4ZsZKPtZw6bGhyo2m71i4wJAmtxGuq36ak;jmaaA7KOe7LpW1KgzZypvHWialjkw4j9tT6ndSgHcaLDbJMXANckTAO4aY9HqGQOVWui8ZrIE;+gdM33wPZAgmy+BEV8lJoVNMS0wJvMfbXE2qESsOueXPQ4DRUjzjjp;z50tOUvilO0H0tGjiJnMit9L1FR5mWv59WrpZZYhZAuOJReK7BHdDUQ3Vz+fhW;0Dj7cYpyxjpplWCBBoc3nRBwzaD;eW1Th0+;LP53xSzFNrlbXBCV6jcoKaJQ7UWZgop1M5ZHYM4M9BPzfsc1RtMrfoNlhPATXuZ0TBP4zBqCBLt5iNCmX;BaaJ9VefR8Th+VTqu0UclE+VlTqaqQ2CRtO+Q;Ji;ofL1HFx4JoMc;UQD5rv50hgN79c8HlXQPMhrt9ajao3gN9E+RVWnm9+zkjmTbH7m7O93SbuUpD6hSUDGrY41xGr8JaJYPEp4O+G7sHdPOvru5t8qFcAOxwBFSsPk2WX2TDDcOqGe0gP7JXHIU0n+J4q+UDe8ZzZB7Xl;1p+xCsKSywbcvwO+8ACEh;c+jKJCMoUj+SPLddDVyA3cu8MLrriikKDN9jJ9RtDXY3+QcGxNUsuarioDTO.senhaFarmacia = #####UsuarioDTO.usuarioFarmacia = ####UsuarioDTO.senhaVendedor = ####UsuarioDTO.usuarioVendedor = ####<executarSolicitacao><Clear SolicitacaoDTO><Clear UsuarioFarmaciaDTO><FIM>
PS: substitui os campos de senha e usuário para garantir a segurança do cliente.
O problema é que quando envio essas informações para o webservice a resposta na variável AutorizacaoDTO.arrMedicamentoDTO é nothing , sem nothing.
Alguma boa alma saberia onde estou errando e como devo proceder?
Agradeço desde já!
0
Olá Thiago,

vc está setando todos os campos do MedicamentoDTO, tente atribuir os dados apenas aqueles que são necessários, dessa forma:

...
SolicitacaoDTO.arrMedicamentoDTO.coCodigoBarra = 7896422507950
SolicitacaoDTO.arrMedicamentoDTO.qtPrescrita = 1,00
SolicitacaoDTO.arrMedicamentoDTO.qtSolicitada = 30,00
SolicitacaoDTO.arrMedicamentoDTO.vlPrecoVenda = 10,80
...
0
Moyses, obrigado pela ajuda, montei novamente o arquivo, ele ficou da seguinte forma:
<New Index Of SolicitacaoDTO.arrMedicamentoDTO>SolicitacaoDTO.arrMedicamentoDTO.coCodigoBarra = 7896523206646SolicitacaoDTO.arrMedicamentoDTO.qtPrescrita = 1,00SolicitacaoDTO.arrMedicamentoDTO.qtSolicitada = 30,00SolicitacaoDTO.arrMedicamentoDTO.vlPrecoVenda = 4,62SolicitacaoDTO.coSolicitacaoFarmacia = 1SolicitacaoDTO.dtEmissaoReceita = 2011-04-27T15:30:24.000ZSolicitacaoDTO.nuCnpj = 00.152.727/0001-94SolicitacaoDTO.nuCpf = 001.063.791-51SolicitacaoDTO.nuCrm = 43077SolicitacaoDTO.sgUfCrm = SPSolicitacaoDTO.dnaEstacao = VjafQu9FUf3TiHIfsLtHiNzyXyRZ0QGLzPCyCpDl7IcbKJXcpT6nbe29RAJqvK+rP;u6V0L3X+Mo6qlWqHcZRDEz9PdkJevJMcUmSEWwa4iWJR3LlyAUs7XKAnBTPprHpIFUltyfE8LZOQ5J19;CYx3dxtI0NY0acs+nGpE5sSe+REgXPn;AwCLFbhGdSBqX0WN1ALVWj6VZBgtJV1Ak6HtXKoqIfkyy4a+2n9OgnTwt3+FCdERO+IApIpBYwrwc1lEvIFmXE8s62xhWgeesQyx0ZDorS++IxwxgXDYvMMNkJHoLWPf1WX9t8Ng4lNn0sliuyxdY1LrDAR52ssvx72PEGLusjPYWnhsqb92w+XFau1O3vsi3mUJgln759SEy+xB6uAtvxDF3pcOcMUo6q;fFSFtzr2WYp5mVJmkAB;DYWIsEsCFf9Bu4IWABm+Af0m6EAyrhi10oewXElWeMDoFimbBxQYbA4H3lEcrpPGcUVjM5sZS6mpaB9MX7a2vHhl25H+M6z9YuAjSGyZAS1aXDEGzW31s5kl6IyhH3mrIJf72tH75AhrZyUVO6upmpF4uJCjcw36pL+;BoIsGyt6BnGnTPXnK3PGJNzQ+jCA+PbTdlz4PsI4SSCvFkunb;N8tQc18xh;nII8ahR+pKoPEWjPoyfDoA1IqCBFJXTX1qy;AsdfargtTgnZ;vq27QaFm7KuVqJGL0wgGJnxprrg==UsuarioDTO.senhaFarmacia = ####UsuarioDTO.usuarioFarmacia = ####UsuarioDTO.senhaVendedor = ####UsuarioDTO.usuarioVendedor = ####<executarSolicitacao><Clear SolicitacaoDTO><Clear UsuarioFarmaciaDTO><FIM>
Contudo o objeto AutorizacaoDTO.arrMedicamentoDTO continua voltando como nothing.Vale lembrar que estou conseguindo logar normalmente com o usuário e senha no farmácia popular.
O que pode ser? Estou ficando louco em procurar o problema e não conseguir achar :/
0
Fiz outro teste agora, cadastrei novamente meu computador utilizando agora a opção de cadastro automatizado, mas mesmo assim não funcionou.
O pior de tudo é que o webservice fica retornando nothing, ele não da um erro para que eu consiga me orientar.Já conferi o usuário e senha da Farmácia, bem como o usuário e senha do vendedor, mas acredito que não seja problemas neles, pois se fosse o webservice retornaria falando que os usuários são inválidos.
O que faço ? :/
0
Ola pessoal, bom dia, alguem esta recebendo esta mensagem de erro do webservice na homologacao:   Erro 52S oO Login ou a Senha do vendedor e invalido,   estava tudo bem derepente comecou a retornar este erro.   grato a atencao.  
0
Finalmente consegui fazer funcionar!Eu estava enviando o objeto UsuarioDTO ao invés do UsuarioFarmaciaDTO; Agora, não entendi porque existem dois objetos iguais e no documento deles fala para usar o UsuarioDTO...
BOM, pelo menos agora o Webservice está me respondendo algo! Testei o produto 7898372705721, utilizando meu CPF mesmo, mas estou com o mesmo problema do amigo acima  "Solicitação não autorizada. O login ou a senha do vendedor é inválido."
Já verifiquei aqui o usuário e senha do vendedor e está tudo certo.E agora, o que fazer ? 
0

Ola Thiago,

Acredito que o erro esta no datasus, pois ate ontem de manha estava funcionando tudo certo, a tarde parou de funcionar, e comecou a retornar este erro em qualquer usuario de faco teste.   abracos   Valdir .NET C#
0
Valdir,
Vou enviar e-mail para eles perguntando sobre isso.Vamos ver se consigo algo. Vou continuar o teste aqui, mas se no seu sistema estava tudo funcionando e parou hoje, acredito que seja problema lá neles mesmo.
0
Bom dia Thiago e Valdir,   Também estou com o mesmo problema, caso descubram, favor postar aqui. Farei o mesmo se eu conseguir resolver o problema.   Um abraço,   Edmilson.
0
Olá Edmilson!
Acredito que o problema seja com eles então.Estou enviando e-mails a eles afim de obter uma resposta, mas sabe como o pessoal lá é. Não sei nem porque disponibilizaram o contato, sendo que eles simplesmente ignoram os e-mails...
Só uma dúvida, vocês tentaram realizar o teste com outros vendedores e empresas?Vou tentar fazer isso, e vou tentar cadastrar novamente o vendedor, vamos ver se isso resolve o problema.
Qualquer novidade informo vocês.
0

Ola Thiago,

ja fiz testes com varios usuarios,  ja refiz os cadastros de vendedores,  mas o erro persiste.   ate ja enviei email, mas como sempre eles nao respondem,  vamos aguardar...   abracos
0
Também fiz testes com outros vendedores e até mesmo em outra máquina, o erro persiste.  
0
É, testei aqui também e o erro persiste.Já enviei 14 e-mails para o Farmácia Popular, mas nada ainda...
Espero que não seja algo que eu esteja fazendo de errado!
Se alguém conseguir qualquer coisa, por favor, poste aqui!

0
Olá pessoal,   o servidor do Datasus está fora do ar..   pore este motivo está dando o erro de Usuario ou Senha do Vendedor invalidos...   aguardem... conforme a assistente me informou voltara talves até amanha após o almoço
0

  Po cara, valeu pela informação!

Agora, esse pessoal do Governo são tudo uns cretinos hein!
Eles começaram a ligar nas Farmácia avisando que quem não estiver com isso pronto até dia 02/05 será descredenciado! Ai o cliente liga pra gente, a gente vai cadastra tudo, e quando vai fazer o teste da erro.Agora, vai explicar para o camarada que isso é lá no sistema deles e não no seu sistema.
Complicado....Bom, novamente, muito obrigado pela informação!
0

Estamos na mesma situação. E o pior de tudo é que o prazo está se esgotando.

Se alguém tiver alguma novidade, por favor comunique.

0
Galera.
O ligon do vendedor agora é o CPF. por incrivel que pareça eu descobri aqui debugando as mensagens do retorno do ws.

Estou com um erro aqui, dizendo que o computador não esta autorizado a realizar transações para esta farmácia.
Já cadastrei, manual automático, via arquivo etc, e nada.

Até dia 04/05 é dificil.
0
Ah cara, só pode ser brincadeira que é isso.Não vou conseguir testar agora porque estou na faculdade, mas quando chegar em casa vou dar uma olhadinha nisso.
Você chegou a testar ai e deu autorização aprovada?
0
Acabei de realizar o teste aqui, era exatamente isso, o login agora é o CPF.Só que os malandrões de lá mudaram a mensagem agora de tarde, colocaram que o login passou a ser o CPF.
Bom, agora parei em outro problema, o retorno que estou tendo é:
"Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido."
Já exclui o cadastro de meu computador e fiz o cadastro novamente através do método manual, mas o problema persiste. O comando que estou utilizando para gerar o DNA é o seguinte:
cmd.exe /cC:\GBASMSB\windows\gbasmsb.exe --solicitacao CPF (SOMENTE DIGITOS) CNPJ (SOMENTE DIGITOS) 43077 SP 29/04/2011 >C:\Moura_\FPopular.txt"
Alguém poderia me dar uma luz?Agradeço desde já!
0
Bom dia pessoal!

Estão conseguindo acessar o web service do ambiente de homologação?
0
Aqui ta acessando normal.Consegui resolver o problema do GBas, exclui o computador e cadastrei manualmente, ai funcionou.
Só que agora todo medicamento e CPF que uso ele retorna "Solicitação não autorizada. Nenhum medicamento autorizado."
Alguém está com esse problema também?
0
Caramba Thiago, 
aqui eu não consigo acessar o web service.
https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl


Por um acaso estou tentando o endereço errado?
0
Finalmente consegui finalizar a venda.Preciso testar agora na impressora fiscal (sem ser emulador) e verificar se vai imprimir tudo certinho.UFA!

O endereço que estou usando para o webservice é o seguinte: https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl
0
Fiz todos os teste mais ainda estou com o problema do DNA gerado pelo GBAS invalido... mais alguma luz???
0
Galera, consegui aqui!
Tomem cuidado com a questão do login do vendedor, que agora é o CPF dele e de enviar o objeto UsuarioFarmaciaDTO ao invés do UsuarioDTO.
No mais, acredito que já está tudo resolvido aqui no post.Ahh sim, utilizei o produto 789905200067 com valor de venda de R$8,40

Ok galera?
Se alguém tiver mais alguma dúvida ou problema post aqui que eu tento ajudar!Abraços!!
0
Galera, consegui aqui!
Tomem cuidado com a questão do login do vendedor, que agora é o CPF dele e de enviar o objeto UsuarioFarmaciaDTO ao invés do UsuarioDTO.
No mais, acredito que já está tudo resolvido aqui no post.Ahh sim, utilizei o produto 789905200067 com valor de venda de R$8,40

Ok galera?
Se alguém tiver mais alguma dúvida ou problema post aqui que eu tento ajudar!Abraços!!
0
galdinodev,
Tome cuidado que ao chamar o aplicativo gbas você deve passar os parametros CPF e CNPJ sem a formatação!Outra coisa, verifique se o computador está cadastrado no site do Farmácia Popular, se estiver, exclua e cadastre manualmente.
Se não der certo me avise!
0
Já removi, cadstrei manualmente, mas continua a mensagem "Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido."
0
Ué, estranho cara.Qual o retorno que ta dando seu Gbas? Ele ta mudando a cada solicitação?
Tu ta chamando por dll ou pelo comando?
0
Eu estava chamando pela dll, depois usei do mesmo jeito que vc postou, mas continua dando a mensagem. tenho dois programas para identificar terminal, um em java que e chamado por um arquivo .bat, e outro com extensao .EXE, cada um me gera um codigo diferente. Ja fiz o cadastro manual e o automatico, ja mudei de computador tambem, mas tb nao funcionou.
0
Não, mas ele vai gerar um código diferente a cada execução mesmo.Na verdade o arquivo bat vai chamar o jar....
O que você precisa fazer é chamar o gbasmsb.exe passando os parametros ou então chamar o método da DLL.To fazendo aqui e está normal.
Tu chegou a executar o comando do jeito que eu fiz? Outra coisa, toma cuidado no começo eu tava fazendo um cagada, tava lendo o PID ao invés de ler o código (-_-)
0
Pessoal,   Até então eu consegui chegar nos finalmente, inclusive na impressão do Cupom (Emulador), só que tenho 2 problemas ainda:   1) O retorno do cupom vinculado não está vindo com as informações postados no documento da MS. A mensagem retornado no campo "ConfirmacaoRecebimento.cupomVinculado" é: Recebimento confirmado com sucesso.   2) isso tudo funciona quando eu executo o programa por dentro do Delphi, quando eu gero o EXE e vou executar por ele, qualquer solicitação à farmacia popular me gera um Access Violation, seja na autorização ou até mesmo pós impressão do cupom.   Alguém já se deparou com essas situações e poderia me ajudar nessa altura do campeonato?   Desde já eu agradeço.   Um abraço e boa sorte a todos.      
0
boa noite pessoal,

Estou ja a dois dias tentando resolver o seguinte problema: Solicitação não autorizada. DNA da transação gerada pelo GBAS é inválido.

Não sei se estou passando a data com o formato incorreto, ja tentei de varias maneiras e nada.

grato!
0
Edmilson,
O último teste que realizei foi hoje as 11h30 mais ou menos e o retorno do campo ConfirmacaoRecebimentoDTO.cupomVinculado estava normal.Agora estou na faculdade, amanhã volto a fazer um teste e coloco aqui se funcionou normalmente ou se está acontecendo o mesmo problema que o seu.
Quanto ao segundo erro, infelizmente não sei te dizer o que pode ser.O erro ocorre em que momento exatamente???
0
Boa noite pessoal.
Bom de tanto quebrar a cabeça, descobri o seguinte.

Cadastrava o computador no portal e até ai tudo bem. Porem na hora de solicitar a autorização, o portal não aceitava.

O que fiz.
Fui na linha de comando e executei o gbasmsb.exe e observei o seguinte:
Na hora de mandar o comando estava tudo certo, somente a data que estava errada, eu estava mandando assim:
YYYY-MM-DDTHHMMSSZZZ, mas observando o que pede o gbasmsb.exe enviei assim: DD/MM/YYYY. Tuf! passou beleza.

Conforme dados abaixo.


Opcoes permitidas:
  --solicitacao arg     --solicitacao CPF CNPJ CRM UFCRM DTEMISSAORECEITA
                        Obtem o identificador da solicitacao de autorizacao
                        (ADM)
  --ajuda               Mostra esta mensagem

Observacoes:
A) Nos parametros de CPF e CNPJ, utilize apenas digitos
B) No parametro DT_EMISSAO_RECEITA o formato da data deve ser DD/MM/AAAA
Ex: gbasmsb --solicitacao 12345678909 12123123000111 3759 GO 17/01/2010

 

0
Rogério, 
Eu estava com esse problema também, verifique os procedimentos abaixo:
  1. Os campos CPF e CNPJ devem ser enviados sem a formatação
  2. O formato da data deve ser dd/MM/aaaa
  3. Tente remover o computador e cadastrar ele manualmente.
Eu estou obtendo o DNA através dos parâmetros do aplicativo gbasmsb.exe, se você estiver obtendo através de DLL tente obter através do aplicativo. Eu tentei utilizar a DLL aqui e ela estava meio estranha...
0
Agnaldo,
Só um detalhe, conforme a dica do Alex da Silva Lucas o formato yyyy-MM-ddThh:mm:ss.000Z deve ser utilizado no parâmetro SolicitacaoDTO.dtEmissaoReceita, enquanto no aplicativo do gbas ele deve ser dd/MM/aaaa como você mesmo mencionou.
 
0
estou conseguindo o retorno do gbas, so q esta dando o erro, ja coloquei todas as formas de formatacao possiveis.

alguem tem alguma dica?

Str = "--solicitacao 00106403125 03123495000139 3759 GO 17/01/2010 > dnsEstacao.txt"
Call Shell("cmd.exe /c gbasmsb.exe " & Str)

estou gerando dessa forma o DNA.
0
Consegui aqui, o meu problema era o seguinte, eu chamava o gbas para gerar o arquivo e na sequencia ja lia para pegar o retorno, como o sistema operacional é mais lento q o sistema, eu lia a versão anterior do arquivo, agora do um sllep de 1 segundo, ae funcionou blz
0
Ahh sim, tome cuidado com isso viu. Depende muito da máquina a quantidade do tempo.
0
Uma outra duvida, vcs estão fazendo uma venda separada para a farmacia popular ou estão vendendo itens da farmacia popular e outras mercadorias na mesma venda??
0
Não é possivel fazer venda em ambiente de produção ainda com as novas especificações não é?
0
Pessoal, e o novo WSDL de produção...  Onde encontro? Já esta disponível?   Obrigado.
0
Bom dia, caríssimos.
o endereço do wsdl de produção é

https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS?wsdl

O ambiente de produção vai entrar no ar as 00:00 do dia 04/05, mas o wsdl já está disponível.

Abraço a todos
0
Esse parece ser o mesmo da Homologação...   Estou certo?   Será o mesmo?   Obrigado...
0

  Pessoal, do nada começou a dar que o endereço físico da máquina não informado.Alguém sabe o que pode ser e como devo proceder para resolver?
Já exclui a máquina e cadastrei novamente, tanto pelo método manual quanto pelo método automatizado.
0
o endereço correto do wsdl de produção é https://200.214.130.55:9443/farmaciapopular/services/ServicoSolicitacaoWS?wsdl   voltou a dar o erro "O login ou a senha do vendedor é inválido", sendo que apaguei e recadastrei o vendedor e o computador, alguem tem uma solução para este erro.
0
resolvido: conforme comunicado http://portal.saude.gov.br/portal/arquivos/pdf/comunicado_usuario_vendedor.pdf o login do vendedor tem que ser o cpf, aqui fiz teste e deu tudo certo.
0
Boa Tarde!   Observem que nessa URL de produção o XML ainda não possui os novos parametros... (continua o antigo), ai não vai funcionar....   Ex: usuarioVendedor, senhaVendedor, etc....   Será que só vai ser liberada 04/05?   Obrigado.
0
Alguém sabe o motivo do erro "Endereço Físico não informado" ?Esse erro começou hoje e simplesmente não consigo fazer funcionar.Estou gerando normalmente o DNA
0
Boa tarde a todos. Até sábado estava funcionando tudo ok. Já hoje está dando o erro: "'Solicitação não autorizada. Caractere inválido no campo senha. Este campo só pode conter letras e numeros.'" Já testei tudo e a senha cadastrada no portal é a mesma que utilizo ao enviar a solicitação.
Agradeço a ajuda.
Andrei T. Cruz
0

  Amigo, tive esse mesmo problema no sábado.Resolvi trocando a senha e colocando apenas números.
0

Andrei, de uma olhada na senha do vendedor que vc esta passando pode conter algum caractere sem ser numeros ou letras, comigo deu este erro, mas eu tava passando um caracter diferente, corrigi e funcionou

  abracos
0
Resolvi o problema de "Endereço Físico não informado" o problema estava na máquina do cliente. Ele abria o arquivo antes de ter valor. Adicionei um tempo para a leitura e resolveu.
0
Pessoal, consegui realizar todos os testes necessários.Contudo tenho algumas dúvidas:
  1. Depois que realizei os testes no cliente, deve enviar o cupom fiscal para algum lugar? Ou só fazendo o teste o governo já sabe que deu tudo certo?
  2. Qual o endereço do ambiente de produção? Já está disponível? Se não, quando ele vai ficar disponível? Quarta-Feira 00h00?
Agradeço desde já!
0
Valeu Valdir. Obrigado pela resposta. Na verdade eu coloquei somente números na senha (12345678) para fazer os testes. Mas vou verificar novamente. 
Andrei.
0
Pessoal bom dia. Minhas dúvidas são as mesmas do Thiago:
"Pessoal, consegui realizar todos os testes necessários.Contudo tenho algumas dúvidas:
  1. 1) Depois que realizei os testes no cliente, deve enviar o cupom fiscal para algum lugar? Ou só fazendo o teste o governo já sabe que deu tudo certo?
  2. 2) Qual o endereço do ambiente de produção? "

Recebi o e-mail abaixo informando a partir de quando estará funcionando o ambiente de Produção:
De: seguranca.fpopular@saude.gov.br [mailto:seguranca.fpopular@saude.gov.br] Enviada em: segunda-feira, 2 de maio de 2011 16:12Para: seguranca.fpopular@saude.gov.brAssunto: Comunicado sobre horário em que o novo sistema entrará em vigor
Informamos a todas as farmácias e drogarias credenciadas que o ambiente de homologação do Programa Aqui Tem Farmácia Popular estará fora do ar entre as 18:00h do dia 03 de maio de 2011 e as 07:00h do dia 05 de maio de 2011, para fins de migração dos dados do ambiente de homologação para o ambiente de produção, conforme informado em comunicado anterior.
Devido a comunicados recebidos de algumas farmácias sobre o prazo de 90 dias especificado em portaria, reiteramos que todas as farmácias deverão estar com suas respectivas aplicações funcionando de acordo com o novo ambiente de produção a partir de 00:00h do dia 05 de maio de 2011, e não a partir de 00:00h do dia 04 de maio de 2011, conforme publicado anteriormente.
Após a implementação do novo sistema de segurança, que entrará em vigor à 00:00h do dia 05/05, o cadastro de vendedores e computadores deverá ser feito, obrigatoriamente, no ambiente de produção, uma vez que o ambiente de homologação estará disponível apenas para a realização de testes.
Quaisquer dúvidas, envie um e-mail diretamente para seguranca.fpopular@saude.gov.br
Se alguém tiver mais alguma novidade, poste aí pra gente.
Abraço a todos.
Andrei.
0

Bom dia pessoal,

  Fiquem atentos, a MS mudou a data novamente, agora passou para o dia 05/05 às 0:00h e não mais no dia 04/05. Confiram o comunicado no link http://portal.saude.gov.br/portal/saude/visualizar_texto.cfm?idtxt=37040&janela=1 Nesse mesmo comunicado, eles informam que só poderão ser feitos testes no ambiente de homologação somente até hoje 03/05 às 18h. voltando somente no dia 05/05 às 0:00h E eu ainda continuo com o problema de não obter o retorno do cupom vinculado de forma correta, alias, estão todos trocados os valores dos campos de retorno do ConfirmacaoRecebimento, está uma bagunça esse Farmacia Popular.   Boa sorte para todos nós.   Edmilson.      
0
Boa tarde pessoal.

Vcs estão fazendo uma venda separada para a farmacia popular ou estão vendendo itens da
farmacia popular e outras mercadorias na mesma venda??

Grato.
0
No pradão antigo eu conseguiria desenhar o cupom vinculado, agora na nova versão eu posso, desenhar um espelho do cupom vinculado???
0


Citação:
No pradão antigo eu conseguiria desenhar o cupom vinculado, agora na nova versão eu posso, desenhar um espelho do cupom vinculado???
 
Minha duvida é quantas vias do cupom vinculado eu tenho que imprimir, se é so uma ou duas uma pro cliente e outra pra drogaria...
0
Bom dia colegas,   Realizamos o desenvolvimento da interface no ambiente de homologação e fizemos os testes em alguns computadores. Encontramos uma dificuldade em alguns dos computadores que impediram a realização dos testes e em outros deu certo. Nos que apresentaram problema, retornaram a seguinte mensagem: "Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido." Gostaria de saber se alguém teria alguma dica quanto a causa deste problema. Desde já agradeço.
0
Este problema so aconteceu comigo quando havia algum dado sendo enviado com caracter especial.
0
verifiquem os dados enviado pois os mesmo exceto a data não podem conter caracteres especias.
0
Alguem sabe quantas vias tem que ser impresso do cupom vinculado, segundo a antiga portaria fala que tem que ser impresso dois mais nos testes que eu fiz foram impressos apenas 1, não consegui encontrar nada a respeito referente se continua igual ou se é impresso somente uma via.
0
O erro em questão: "Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido." não acontece sempre, tem computadores em que estou realizando a operação e dá tudo certo. Existe a possibilidade de algo relacionado ao ambiente (algum programa a ser atualizado) ???
0
Eu tbm peguei esse problema so acontecia em um terminal então eu tive que fazer o redirecionamento para outro terminal.
Se alguem saber o que estiver acontecendo....
0
  Caros amigos

Fazendo alguns testes, cheguei a algumas conclusões que creio serem úteis para todos.

* - Os cadastros feitos no ambiente de homologação e que continham letras na senha do vendedor, não foram importados para o ambiente de produção
* - As senhas dos vendedores podem ter letras, desde que sejam minúsculas, se forem maiúsculas o datasus retorna a mensagem de caracter especial na senha.
* - Ao cadastrar manualmente o terminal, selecione tudo, copie e cole, se selecionar apenas os caracteres, dá DNA inválido na hora de fazer a solicitação.

Espero ter ajudado
0

Paulo, muito obrigado pelas dicas!

Um funcionário me relatou uma situação interessante, segundo ele, quando ele informa a data da receita inferior ao dia atual o GBas retorna transação inválida, mas se ele coloca a data da receita como sendo o dia atual funciona normal. Mais alguém está encontrando esse tipo de problema?

Agradeço desde já pela ajuda!

0
Pessoal estou com um problema, estava Tudo OK até dia 04/05 ja tinha feito todos testes no homologação e até ja estava vendendo no PRODUÇÃO.   porem agora só me da a mensagem:  

System.Web.Services.Protocols.SoapException: org.xml.sax.SAXException: Invalid element in br.gov.datasus.farmaciapopular.servico.ws.dto.UsuarioFarmaciaDTO – senha

  alguem sabe o que pode ser?
0
Estou implementando o farmácia popular e não consigo sair desse erro na
primeira chamada...

Já trabalho com o farmácia popular há mais de 5 anos e sempre funcionou. Agora estou implementando
as novas funcionalidades, porém estou obtendo o seguinte erro:

" 109S O endereço fisico do computador não informado! "

Mas o computador foi cadastrado no site no ambiente de produção.

Por que dessa mensagem ?

Não era só para alterar o:

SolicitacaoDTO.dnaEstacao = "aqui pegaria o retorno do arquivo texto". Está
retornando certinho na pasta o arquivo com o texto....Eu gero o arquivo
texto certo, elimino os caracteres ponto e espaços dos numeros, informo a
data no formato: dd/mm/yyyy ele gera o arquivo texto.

gbasmsb.exe --solicitacao " + ncpf + " " + ncnpj + " " + ncrm + " " + nufcrm
+ " " + ndtada + " > dnaEstacao.txt"

Por exemplo:
gbasmsb.exe --solicitacao 16077448800 57019382000112 62793 SP 06/05/2011 >
dnaEstacao.txt

Eu leio o arquivo texto ( dnaEstacao.txt ) com o comando:

using (StreamReader srbas = new StreamReader("dnaEstacao.txt"))
{

retbas = srbas.ReadLine();    ou    ReadToEnd();

}

SolicitacaoDTO.dnaEstacao = retbas.Trim();   (Com Trim(), sem o Trim())


e o vendedor nos itens:
UsuarioFarmaciaDTO.usuarioVendedor     (CPF do vendedor)

UsuarioFarmaciaDTO.senhaVendedor        (senha do vendedor)

UsuarioDTO.usuarioVendedor                  (CPF do vendedor)

UsuarioDTO.senhaVendedor                    (senha do vendedor)

Será que está havendo alguma incompatibilidade com o .Net ? Só irá funcionar
com sistema em Delphi ?

Estou desenvolvendo em C#

Não sei mais o que fazer ....

Grato,
Rogério
Fone: (0xx41) 3327-4904     9926-7295
E-mail: rogerio.ricardo@uol.com.br

0
Boa noite pessoal!
Gostaria de compartilhar um fato com os que, assim como eu, brigaram bastante com o erro "Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido" e com os que não brigaram também.
Depois de brigar o dia todo, em dos meus clientes, verifiquei a hora do computador "gerador do DNA" e percebi que ele estava sincronizando a hora e que o fuso-horário estava errado. A hora estava cerca de 1min a frente do http://24timezones.com/pt_horamundial/brasilia_hora_local.php.
Voltei 2 minutos e tentei transmitir novamente e a solicitação foi pré-autorizada.
Portanto, caso passem por esse problema, mesmo que o PC esteja corretamente cadastrado e o DNA sendo gerado, verifiquem a hora do "PC Gerador".

Abs.
0
Estou ustilizando a função abaixo desde o mês passado, prazo inicial para implantação do novo layout do farmácia popular. Está funcioando corretamente.  

private string GetDnaEstacao(string CPF, string CNPJ, string CRM, string UF_CRM, string DataReceita)

{

string retorno = string.Empty;

string args = string.Format("--solicitacao {0} {1} {2} {3} {4}", CPF, CNPJ, CRM, UF_CRM, DataReceita);

string program = Path.Combine(Environment.CurrentDirectory, "gbasmsb.exe");

if (!File.Exists(program))

{

MessageBox.Show("gbasmsb.exe no encontrado.");

return string.Empty;

}

Process processo = new Process();

ProcessStartInfo infoProcess = new ProcessStartInfo(program, args);

infoProcess.WindowStyle = ProcessWindowStyle.Hidden;

infoProcess.UseShellExecute = false;

infoProcess.RedirectStandardOutput = true;

processo = Process.Start(infoProcess);

while (processo != null && !processo.HasExited)

{

Application.DoEvents();

}

StreamReader stream = processo.StandardOutput;

retorno = stream.ReadLine();

stream.Close();

stream.Dispose();

return retorno.Trim();

}

No campo solicitacaoDTO.dtEmissaoReceita estou passando a data no seguinte formato "yyyy-MM-ddThh:mm:ss.000Z", não deixando de informar a Hora (hora eu pego do micro, se não informar a hora, não valida o DnaEstação).
0

Bom dia Srs.

  Estivemos nestes ultimos dias tentando realizar o cadastro automatizado mas quando tento executar está retornando o seguinte erro: "Falha na execução da biblioteca nativa ou ambiente não suportado." Alguém já teve em algum instante este problema ? Como voces fizeram para resolver ?
0
Boa tarde a todos.
Estou com um problema sério na hora da consulta da autorização da venda pelo farmácia popular. Alguns clientes nossos fizeram corretamente o cadastro dos vendedores com suas respectivas senhas. Porém na hora de consultar Autorização sempre retorna a mensagem: "SOLICITAÇÃO NÃO AUTORIZADA. CARACTERE INVÁLIDO NO CAMPO SENHA. ESSE CAMPO SÓ PODE CONTER LETRAS E NÚMEROS." Entrei diversas vezes em contato com o Datasus através dos números (61)3315-2569 e (61) 3315-3782 e a única orientação que me dão é pra apagar os vendedores e cadastrar novamente. Isso quando não me perguntam se não cadastrei algum caracter inválido. Impossível porque só digitei números. Perguntam se foi baixado o WSDL correto. Expliquei que sim pois temos clientes que utilizam a mesma versão do sistema que estão usando normalmente. Tenho um caso específico de um cliente nosso que estava funcionando normalmente do sábado passado dia 14/05 até a segunda dia 16/05 e que ao trocar a senha simplesmente parou de funcionar retornando o erro acima citado. Alguém já passou por este problema? Têm alguma idéia de como resolver? Infelizmente o suporte do Datasus está deixando muito a desejar e se omite quando na verdade o problema está nos seus servidores. Aguardo a resposta e desde já agradeço a atenção de todos que participam deste fórum.
Andrei T. Cruz.
0
 Solução do Erro: 40S - Solicitação não autorizada. Caractere inválido no campo senha. Este campo só pode conter letras e numeros. Altere a senha de acesso ao portal (http://aplicacao.saude.gov.br/portalfarmacia), criando uma senha exclusivamente numérica. Não há necessidade de alterar a senha dos vendedores.
0
Pessoal,
Estou iniciando as alterações no farmaciapopular, já li todo esse forum, mas ainda não consegui resolver o problema que esta dando aqui:
---------------------------Debugger Exception Notification---------------------------Project Farmacia.exe raised exception class ESOAPHTTPException with message 'A autoridade de certificação não é válida ou está incorreta - URL:https://200.214.130.41:9443/farmaciahomologa/services/ServicoSolicitacaoWS - SOAPAction:""'. Process stopped. Use Step or Run to continue.---------------------------OK   Help   ---------------------------
Alguém já passou por isso, pra dar uma luz
Obrigado

Sergio Kawahara
0
Caro Sergio
Seguinte
O que está ocorrendo aí é que o certificado não é válido, em vb.net a gente usa um "migué" para enganar o sistema criando uma classe com nome de mypolicy com o código abaixo:
Imports System.NetImports System.Security.Cryptography.X509CertificatesPublic Class MyPolicy    Implements ICertificatePolicy
    Public Function CheckValidationResult(ByVal srvPoint As ServicePoint, _                  ByVal cert As X509Certificate, ByVal request As WebRequest, _                  ByVal certificateProblem As Integer) _              As Boolean Implements ICertificatePolicy.CheckValidationResult        Return True    End FunctionEnd Class


Aí, antes de cada requisição no webservice você  chama este certificado fantasma

System.Net.ServicePointManager.CertificatePolicy = New MyPolicy
Espero ter ajudado

0
Amigos,   Mê dêem uma ajuda.   Eu tinha um usuário de homologação do FP, fiz todos os testes, e a drogaria já tinha passado para a produção. Porém não lembro de jeito nenhum qual é meu usuário de homologação. Se eu entrar no ambiente de homologação e solicitar um novo usuário, vai afetar alguma coisa no ambiente de produção?   Abraços
0
Amigos,   Mê dêem uma ajuda.   Eu tinha um usuário de homologação do FP, fiz todos os testes, e a drogaria já tinha passado para a produção. Porém não lembro de jeito nenhum qual é meu usuário de homologação. Se eu entrar no ambiente de homologação e solicitar um novo usuário, vai afetar alguma coisa no ambiente de produção?   Abraços
0
Olá para todos.

Estou com um problema para realizar a consulta de transações realizadas pelo webservices. Sempre que executo o procedimento retorna o erro:


br.gov.datasus.farmaciapopular.modelo.excecao.DAOException: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer-

Já realizei o procedimento várias vezes, consigo realizar todos os passos de venda e estorno, mas na consulta sempre retorna este erro. Uso o Delphi 7.0 para realizar as solicitações ao webservices.
Se alguém tiver conseguido realizar este processo e que pode me ajudar fico muito agradecido.

0
Olá
Estou com o mesmo problema, apresentando o erro 
Data de emissão invalida ou DNA invalido
alguma dica.
pra resolver esses problemas de uma vez.
Function TForm1.ObterSolicitacao(cCNPJ, cCPF, cCRM, cUFCRM: String;cDataEmissao:TDateTime): String;varpar:String;begin
    par := '--solicitacao '+cCPF+' '+cCNPJ+' '+cCRM+' '+cUFCRM+' '+FormatDateTime('dd/MM/yyyy',cDataEmissao);    result:=(Trim( GetDosOutput( ExtractFilePath(Application.ExeName)+'gbasmsb.exe ' + par ) ));
end;

Function PegaSolicitacao(cCNPJ, cCPJ, cCRM, cUFCRM, cDataEmissao: Pchar): Pchar; stdcall; external 'gbasmsb_library.dll';

Solicitacao := SolicitacaoDTO.Create;Solicitacao.arrMedicamentoDTO := MedicamentoS;Solicitacao.coSolicitacaoFarmacia := '000001';Solicitacao.dtEmissaoReceita := TXSDateTime.Create;
quando coloco assim apresenta DNA invalido
Solicitacao.dtEmissaoReceita.AsDateTime:=Date;

quando coloco assim apresenta da de emissão invalida
Solicitacao.dtEmissaoReceita.AsDateTime:=Now;


Solicitacao.nuCnpj := '------------'; sem mascara
//CPF PacienteSolicitacao.nuCpf := '------------------'; sem mascara//CRM MédicoSolicitacao.nuCrm := '-----------------';sem mascara
//UF MédicoSolicitacao.sgUfCrm := 'PE';
//Solicitacao.dnaEstacao:=Trim(ObterSolicitacao(Solicitacao.nuCnpj,Solicitacao.nuCpf,Solicitacao.nuCrm,Solicitacao.sgUfCrm,Date));
Solicitacao.dnaEstacao:=Trim(PegaSolicitacao( pChar(Solicitacao.nuCnpj),pChar(Solicitacao.nuCpf),pChar(Solicitacao.nuCrm),pChar(Solicitacao.sgUfCrm),pChar(FormatDateTime('dd/MM/yyyy',Date))));


Eu já tentei tanto com a função como com a dll.

Ajuda.
0
Verifique sua formatacao de data no painel de controle do windows
de d/M/aaaa => dd/MM/aaaa
sofri bastante com esse problema!
0
Senhores, bom dia ja faz alguns dias que venho tentando fazer alguns testes da farmacia popular, mas nao consigo passar por este nivel de segurança.
Alguem sabe quais são os parametros correto para gerar o dna da estacao?

Já tentei através da dll, através do executável e sempre a mesma resposta.
Solicitação não autorizada. DNA da transação gerado pelo GBAS é inválido.

Alguem pode me dar uma ajuda.

Antecipadamente eu agradeço.

Nelson


0
Alguem por favor tem um exemplo de como solicitar autorização para mais de um medicamento na mesma solicitação? Tô levando uma surra destas arrays
0
Assim amigos, referente há erros nas Solicitações e Gerações de DNA no AUTORIZADOR FP, existem 2 formatos de Datas que deverão estar de acordo:

Na Solicitação
===========
DtPrescricao = FormatDateTime(DtData.Value, DateFormat.GeneralDate)

OU SEJA: "DD/MM/AAA HH:MM:SS"


Na Geração do DNA
================
DtPrescricao = FormatDateTime(DataLanc, DateFormat.ShortDate)

OU SEJA: "DD/MM/AAAA"

AUTEMP Automação Empresarial
MSN: autemp@hotmail.com
54 91063888
51 95386068
0
Fernando, estou com um problema parecido, queria saber se vc resolveu o seu problema e como resolveu, o meu acontece o seguinte:
Faço a solicitação
Código: 7899096200067
Descrição: Capox
qtd Solicitada: 60
Posologia: 2
VlprecoVenda: 16,80 //Aqui eu passo o valor de venda de 60 comprimidos (2 caixas)

Ele não autoriza pq fala que o valor é maior que o permitido pelo data SUS

se eu coloco 8.40 no lugar dos 16.80 ele manda 8.40 pro paciente pagar e 8.40 para o DataSus
porém esse medicamento deveria ser 100% subsidiado, alguém sabe me explicar o que estou fazendo de errado?






Citação:
Deixo uma dúvida para aqueles que já estão conseguindo realizar operações de venda para o Farm Popular.

Verifiquem no "cupomVinculado", no retorno de "ConfirmacaoRecebimento", os valores: Valor Total Venda, Valor Total MS e Valor Total Benef.

Estou realizando uma venda do produto:
coCodigoBarra = 7899095200067 (CAPOX 30CPR)
qtSolicitada = 90 (3 caixas)
qtdPrescrita = 3
vlPrecoVenda = 8,40

Então, o valor total da venda é = 25,20 (8,40 X 3 caixas)

O retorno da Solicitação está sendo:
qtAutorizada = 90 (3 caixas)
vlPrecoSubsidiadoMS  = 25,20 (100% da Solicitação)
vlPrecoSubsidiadoPaciente = 0,00

Até aqui tudo OK!!

Executo a Confirmação e em seguida envio o Recebimento com os Dados:
coCodigoBarra = 7899095200067
qtSolicitada = 90
qtAutorizada = 90
vlPrecoVenda = 8,40
vlPrecoSubsidiadoMS = 25,20
vlPrecoSubsidiadoPaciente = 0,00

Agora que vem o problema, no retorno do Recebimento, no campo "cupomVinculado", está vindo para ser impresso com as seguintes informações:

Valor Total Venda : 75,60 (??? minha venda é de "25,20" e não "75,60")
Valor Toral MS      : 25,20 (ufa, esse pelo menos está correto...)
Valor Total Benef. : 50,40 (??? de onde saiu esse Valor???")

Tem alguém com esse problema?

Att.

Fernando Villa
0
Fernando, você poderia enviar tbm para o meu e-mail o exemplo em c# dos passos que vc fez. samuel_ferreira@outlook.com

Obrigado