Ir para conteúdo
  • Cadastre-se

triburtini

Membros
  • Total de ítens

    7
  • Registro em

  • Última visita

Posts postados por triburtini

  1. so pra resumir e vc ter uma visao geral do processo

     

    1 - vc faz a pre autorizacao (quantas quiser nao tem restrição) a cada pre-autorização o DATASus te retorna um numero;

    2 - Vc confirma a venda com os itens autorizados na pre-autorizacao e emite o cupom fiscal,

    3 - Vc confirma a autorizacao no site do DATASUS (informando o codigo do cupom que foi emitido e o numero da pre-autorizacao)

    4 - Vc Emite os cupons vinculados com o texto que o DATASUS retorna na autorizacao (processo 3)

    5  - pronto so isso..

  2. 1-Pre Autorizacao (Vc informa pro site do FP)

       1.1 - Informa os dados da farmacia e do usuario que ta fazendo a solicitacao (que deverao estar cadastrados no site do DataSUS)

     

          { Usuário Farmacia / Vendedor }
          Usuario := UsuarioFarmaciaDTO.Create;
          Usuario.UsuarioFarmacia := Parametro(FPopularEmail).AsString;
          Usuario.SenhaFarmacia   := Parametro(FPopularSenha).AsString;
          Usuario.UsuarioVendedor := fVendedorLogin;
          Usuario.SenhaVendedor   := fVendedorSenha;
              

       1.2 - Informa os produtos a serem cotados

          { MEDICAMENTOS SOLICITADOS }
          for Item := 0 to fVenda.Produtos.Count-1 do begin
             fProduto          := TVdaProduto(fVenda.Produtos.Items[item]);
             if not fProduto.Deleted then begin
                SetLength(Medicamentos, Length(Medicamentos) + 1);
                Medicamentos[Length(Medicamentos) - 1]               := MedicamentoDTO.Create;
                Medicamentos[Length(Medicamentos) - 1].coCodigoBarra := fProduto.Produto.FPopular_EAN13;
                Medicamentos[Length(Medicamentos) - 1].qtPrescrita   := fProduto.FPopular.Posologia;
                Medicamentos[Length(Medicamentos) - 1].qtSolicitada  := fProduto.Qtde * fProduto.Produto.Apresentacao;
                Medicamentos[Length(Medicamentos) - 1].vlPrecoVenda  := fProduto.Produto.FPopular_Total;
             end;
          end;
     

        1.3 Dados do estabelecimento e paciente

          { Dados do Estabelecimento e Paciente }
          Solicitacao                             := SolicitacaoDTO.Create;
          Solicitacao.arrMedicamentoDTO           := Medicamentos;
          Solicitacao.coSolicitacaoFarmacia       := StrZero(fVenda.FPopular.IdSolicitacao, 6);
          Solicitacao.dtEmissaoReceita            := TXSDateTime.Create;
          Solicitacao.dtEmissaoReceita.AsDateTime := fVenda.FPopular.ReceitaData + Time;
          Solicitacao.nuCnpj                      := ApenasDigitos(fSistema.Empresa.CnpjCpf);
          Solicitacao.nuCpf                       := ApenasDigitos(fVenda.FPopular.CompradorCPF);
          Solicitacao.nuCrm                       := fVenda.FPopular.Profissional.NumeroRegistro;
          Solicitacao.sgUfCrm                     := fVenda.FPopular.Profissional.UFConselho;
          Solicitacao.dnaEstacao                  := Trim(ObterSolicitacao(Solicitacao));

       

        1.4 Executa a pre-solicitacao e obtem o retorno do site

          Autorizacao := AutorizacaoDTO.Create;
          Autorizacao := WebService.ExecutarSolicitacao(Solicitacao, Usuario);
     

          fVenda.FPopular.ReqRetorno              := Autorizacao.inAutorizacaoSolicitacao;
          fVenda.FPopular.ReqRetornoDescricao     := Autorizacao.descMensagemErro;
          fVenda.FPopular.ReqRetornoNomePaciente  := Autorizacao.noPessoa;
          fVenda.FPopular.ReqRetornoCodigoDataSus := Autorizacao.nuAutorizacao;

          for Item := Integer(Low(Autorizacao.arrMedicamentoDTO)) to Integer(High(Autorizacao.arrMedicamentoDTO)) do begin
             fProduto := fVenda.Produtos.GetProdutoEANFP(Autorizacao.arrMedicamentoDTO[item].coCodigoBarra);
             if Assigned(fProduto) then begin
                fProduto.FPopular.QtdeAutorizada        := Trunc(Autorizacao.arrMedicamentoDTO[item].qtAutorizada);
                fProduto.FPopular.ValorParcelaMS        := Autorizacao.arrMedicamentoDTO[item].vlPrecoSubsidiadoMS;
                fProduto.FPopular.ValorParcelaPaciente  := Autorizacao.arrMedicamentoDTO[item].vlPrecoSubsidiadoPaciente;
                fProduto.FPopular.ValorParcelaPaciente  := (fProduto.TotalLiquido - fProduto.FPopular.ValorParcelaMS);
                fProduto.FPopular.ReqRetorno            := Copy(Autorizacao.arrMedicamentoDTO[item].inAutorizacaoMedicamento,1,4);
                fProduto.FPopular.ReqRetornoDescricao   := Copy(Autorizacao.arrMedicamentoDTO[item].inAutorizacaoMedicamento,8,200);
             end;
          end;

     

        Observacao: Com isso vc tem o retorno do DAtaSus e os produtos autorizados e nao autorizados

     

     

     

     

     


     

  3. Cara seguinte, li seus posts anteriores e percebi que vc tem duvida quanto ao preco do produto, uma vez que ele e vendido pela f popular e vendido a preco normal fora do f popular

    No meu sistema nao tenho um campo com o preco da farmacia popular, pq consulto o preco do produto no site atravez do codigo de barras e o site me retorna o preco e o desconto que devo utilizar..

     

     

    Vou preparar um esquema do processo pra te passar..

    penei muito no comeco

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.