Ir para conteúdo
  • Cadastre-se

Edson_Ramos

Membros
  • Total de ítens

    11
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

Edson_Ramos's Achievements

Rookie

Rookie (2/14)

  • Reacting Well Rare
  • Conversation Starter
  • First Post
  • Collaborator Rare
  • Week One Done

Recent Badges

4

Reputação

  1. Bom dia, Verifiquei no método TipoOcorrenciaToCod da unit do Bancoob um código de retorno faltando, conforme imagem, vou anexar a unit com o item adicionado. ACBrBancoBancoob.pas
  2. Ficou show Daniel, parabéns! Boa tarde Italo, Na verdade, o que sei, é esse padrão é somente da Caixa E.Federal. Acredito que outros bancos tem esse sistema também, porém, quase certeza que não é do mesmo padrão.
  3. Muito bom, valeu mesmo Davi !
  4. Sim claro, preciso entrar em contato na agencia para ativar esse serviço. Fiz os procedimentos e como retornou aqueles xmls estou a 97% de concluído o serviço. Obrigado pela dica do xml retorno, quando funcional.
  5. Fiz os teste nessa url que está na unit, ele retorna os seguintes xmls. E sobre o hash, a função usei a que você passou, como mostra na unit Principal. Xml de retorno da inclusão : <?xml version="1.0" encoding="ibm-367"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <manutencaocobrancabancaria:SERVICO_SAIDA xmlns:manutencaocobrancabancaria="http://caixa.gov.br/sibar/manutencao_cobranca_bancaria/boleto/externo" xmlns:sibar_base="http://caixa.gov.br/sibar"> <sibar_base:HEADER> <VERSAO>1.2</VERSAO> <AUTENTICACAO>9leZCacMyrIZzctYQnhp6LoGPWFBOUBQU1BlSyZ9Kz8=</AUTENTICACAO> <USUARIO_SERVICO>SGCBS02P</USUARIO_SERVICO> <OPERACAO>INCLUI_BOLETO</OPERACAO> <SISTEMA_ORIGEM>SIGCB</SISTEMA_ORIGEM> <UNIDADE>0353</UNIDADE> <DATA_HORA>20181201110933</DATA_HORA> </sibar_base:HEADER> <COD_RETORNO>00</COD_RETORNO> <ORIGEM_RETORNO>MANUTENCAO_COBRANCA_BANCARIA</ORIGEM_RETORNO> <MSG_RETORNO></MSG_RETORNO> <DADOS> <CONTROLE_NEGOCIAL> <ORIGEM_RETORNO>SIGCB</ORIGEM_RETORNO> <COD_RETORNO>1</COD_RETORNO> <MENSAGENS> <RETORNO>(89) OPERACAO NAO PERMITIDA - CEDENTE INFORMADO NAO POSSUI AUTORIZACAO PARA UTILIZAR SERVICO WEBSERVICE</RETORNO> </MENSAGENS> </CONTROLE_NEGOCIAL> </DADOS> </manutencaocobrancabancaria:SERVICO_SAIDA> </soapenv:Body> </soapenv:Envelope> Xml da consulta : <?xml version="1.0" encoding="ibm-367"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <consultacobrancabancaria:SERVICO_SAIDA xmlns:consultacobrancabancaria="http://caixa.gov.br/sibar/consulta_cobranca_bancaria/boleto" xmlns:sibar_base="http://caixa.gov.br/sibar"> <sibar_base:HEADER> <VERSAO>1.2</VERSAO> <AUTENTICACAO>w17DVCjz+nn8tasGTNAZI83eooCnab6xuJ86H64ePDI=</AUTENTICACAO> <USUARIO_SERVICO>SGCBS02P</USUARIO_SERVICO> <OPERACAO>CONSULTA_BOLETO</OPERACAO> <SISTEMA_ORIGEM>SIGCB</SISTEMA_ORIGEM> <UNIDADE>0353</UNIDADE> <DATA_HORA>20181201125618</DATA_HORA> </sibar_base:HEADER> <COD_RETORNO>00</COD_RETORNO> <ORIGEM_RETORNO>CONSULTA_COBRANCA_BANCARIA</ORIGEM_RETORNO> <MSG_RETORNO></MSG_RETORNO> <DADOS> <CONTROLE_NEGOCIAL> <ORIGEM_RETORNO>SIGCB</ORIGEM_RETORNO> <COD_RETORNO>1</COD_RETORNO> <MENSAGENS> <RETORNO>(89) OPERACAO NAO PERMITIDA - CEDENTE INFORMADO NAO POSSUI AUTORIZACAO PARA UTILIZAR SERVICO WEBSERVICE</RETORNO> </MENSAGENS> </CONTROLE_NEGOCIAL> </DADOS> </consultacobrancabancaria:SERVICO_SAIDA> </soapenv:Body> </soapenv:Envelope>
  6. Essas units nem são essenciais para o objetivo e finalidade do WebService Soap da Caixa, adicionei e usei para a busca em meu banco de dados de outra aplicação. O Datamodulo nao posso enviar porque é onde estão todas as minhas tabelas parte de outra aplicação. É só criar um datamodulo e colocar o database (FDConnection) do firedac e as querys (FDQuery) da sua tabela onde está os boletos e liga-las a unit Principal.pas, ok. A funcionalidade necessária está toda dentro da unit Principal.pas, os procedimentos para uso está o mais possível desacoplados . ConfigBancoFD.pas uFDSeek.pas
  7. Pessoal estou postando novamente os arquivo Estão com as operações de Baixar, Alterar e consultar incluidos Principal.dfm Principal.pas Registrar.dpr Registrar.dproj
  8. Tudo que precisa pra incluir um boleto e enviar para a caixa está ai. Valeu. Principal.dfm Principal.pas Registrar.dpr Registrar.dproj
  9. Amarildo, bom dia Eu não manjo nada de webservices soap, mas to me matando aqui pra fazer isso funcionar... Assim que conseguir posto aqui pra vocês.
  10. Comecei por aqui e consegui gerar pelo menos o xml. function TfrmPrincipal.GeraXml(banco: TConfigBanco; guia: TDataSet): string; var vsxml : TStringList; vsdata, vsNossoNumero, AEspecieDoc, vsCNPJCPF, vsNome, vsAutenticacao: string; ValorMoraJuros, DataMoraJuros, PercentualMulta: string; begin vsdata := FormatDateTime('yyyymmddhhmmss',now); vsNossoNumero := copy(guia.fieldbyname('nossonum').asstring,1,17); ////////// especie do documento ////////// if AnsiSameText(banco.EspecieDoc, 'DM') then AEspecieDoc := '02' else if AnsiSameText(banco.EspecieDoc, 'BP') then AEspecieDoc := '32' else AEspecieDoc := '99'; ////////////////////////////////////////// ////////////// multa e juros ///////////////// if (guia.FieldByName('juros').AsString <> '') and (guia.FieldByName('juros').AsCurrency > 0 ) then begin ValorMoraJuros := FormatFloat('0.##',guia.FieldByName('juros').AsCurrency); DataMoraJuros := '<DATA>'+ FormatDateTime('yyyy-mm-dd', guia.FieldByName('datven').AsDateTime+1) + '</DATA>'; if (guia.FieldByName('multa').AsCurrency > 0) then PercentualMulta := FormatFloat('0.##',guia.FieldByName('multa').AsCurrency) else PercentualMulta := ''; end else begin ValorMoraJuros := '0.00'; DataMoraJuros := ''; PercentualMulta := ''; end; ///////////////////////////////////////// ////////////// CNPJ CPF //////////////// if FCgcCpf(guia.FieldByName('ncadastro').AsString) then begin vsCNPJCPF := Trim(guia.FieldByName('ncadastro').asString); end else if FCgcCpf(guia.FieldByName('cpfcnpj').AsString) then begin vsCNPJCPF := Trim(guia.FieldByName('cpfcnpj').asString); end; if Length(Trim(guia.FieldByName('cpfcnpj').asString)) = 14 then begin vsCNPJCPF := '<CNPJ>'+vsCNPJCPF+'</CNPJ>'; vsNome := '<RAZAO_SOCIAL>'+guia.FieldByName('nome').AsString+'</RAZAO_SOCIAL>'; end else if Length(Trim(guia.FieldByName('cpfcnpj').asString)) = 11 then begin vsCNPJCPF := '<CPF>'+vsCNPJCPF+'</CPF>'; vsNome := '<NOME>'+guia.FieldByName('nome').AsString+'</NOME>'; end; //////////////////////////////////////// ////// autenticacao //////////////////// vsAutenticacao := Format('%7.7d',[StrToInt(banco.NroCedLimpo)]) +vsNossoNumero +FormatDateTime('ddmmyyyy',guia.fieldbyName('datven').asDateTime) +FormatFloat('000000000000000',guia.fieldbyname('valpre').asCurrency) +FormatFloat('00000000000000',Strtofloat( LimpaNCadastro(banco.CnpjCedente))); vsAutenticacao := TNetEncoding.Base64.EncodeBytesToString(GetStrHashSHA256(vsAutenticacao)); vsxml := TStringList.Create; try with vsxml do begin //add('<?xml version="1.0" encoding="iso-8859-1"?>') //add('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"'); //add(' xmlns:ext="http://caixa.gov.br/sibar/manutencao_cobranca_bancaria/boleto/externo"'); //add(' xmlns:sib="http://caixa.gov.br/sibar">'); //add('<soapenv:Header/>'); //add(' <soapenv:Body>'); //add(' <ext:SERVICO_ENTRADA>'); //add(' <sib:HEADER>'); add('<?xml version="1.0" encoding="UTF-8"?>'); add('<manutencaocobrancabancaria:SERVICO_ENTRADA xmlns:manutencaocobrancabancaria="http://caixa.gov.br/sibar/manutencao_cobranca_bancaria/boleto/externo" xmlns:sibar_base="http://caixa.gov.br/sibar">'); add(' <sibar_base:HEADER>'); add(' <VERSAO>1.2</VERSAO>'); add(' <AUTENTICACAO>'+vsAutenticacao+'</AUTENTICACAO>'); add(' <USUARIO_SERVICO>SGCBS02P</USUARIO_SERVICO>'); add(' <OPERACAO>INCLUI_BOLETO</OPERACAO>'); add(' <SISTEMA_ORIGEM>SIGCB</SISTEMA_ORIGEM>'); add(' <UNIDADE>'+banco.NroAgencia+'</UNIDADE>'); add(' <DATA_HORA>'+vsdata+'</DATA_HORA>'); add(' </sib:HEADER>'); add(' <DADOS>'); add(' <INCLUI_BOLETO>'); add(' <CODIGO_BENEFICIARIO>'+banco.NroCedLimpo+'</CODIGO_BENEFICIARIO>'); add(' <TITULO>'); add(' <NOSSO_NUMERO>'+vsNossoNumero+'</NOSSO_NUMERO>'); add(' <NUMERO_DOCUMENTO>'+copy(guia.FieldByName('nossolimpo').AsString,1,11)+'</NUMERO_DOCUMENTO>'); add(' <DATA_VENCIMENTO>'+FormatDateTime('yyyy-mm-dd',guia.FieldByName('datven').AsDateTime)+'</DATA_VENCIMENTO>'); add(' <VALOR>'+FormatFloat('0.##',guia.FieldByName('valpre').AsCurrency)+'</VALOR>'); add(' <TIPO_ESPECIE>'+AEspecieDoc+'</TIPO_ESPECIE>'); add(' <FLAG_ACEITE>N</FLAG_ACEITE>'); add(' <DATA_EMISSAO>'+FormatDateTime('yyyy-mm-dd',Now)+'</DATA_EMISSAO>'); add(' <JUROS_MORA>'); add(' <TIPO>TAXA_MENSAL</TIPO>'); Add(' '+DataMoraJuros); add(' <PERCENTUAL>'+ValorMoraJuros+'</PERCENTUAL>'); add(' </JUROS_MORA>'); add(' <POS_VENCIMENTO>'); add(' <ACAO>DEVOLVER</ACAO>'); add(' <NUMERO_DIAS>29</NUMERO_DIAS>'); add(' </POS_VENCIMENTO>'); add(' <CODIGO_MOEDA>09</CODIGO_MOEDA>'); add(' <PAGADOR>'); add(' '+vsCNPJCPF); add(' '+vsNome); add(' <ENDERECO>'); add(' <LOGRADOURO>'+copy(guia.FieldByName('endereco').AsString+' '+guia.FieldByName('numero').AsString,1,40)+'</LOGRADOURO>'); add(' <BAIRRO>'+copy(guia.FieldByName('bairro').AsString,1,15)+'</BAIRRO>'); add(' <CIDADE>'+copy(guia.FieldByName('nomcid').AsString,1,15)+'</CIDADE>'); add(' <UF>'+copy(guia.FieldByName('nomest').AsString,1,2)+'</UF>'); add(' <CEP>'+copy(RemoveString('-',guia.FieldByName('cep').asString),1,8)+'</CEP>'); add(' </ENDERECO>'); add(' </PAGADOR>'); if PercentualMulta<>'' then begin add(' <MULTA>'); add(' '+DataMoraJuros); add(' <PERCENTUAL>'+PercentualMulta+'</PERCENTUAL>'); add(' </MULTA>'); end; add(' <FICHA_COMPENSACAO>'); add(' <MENSAGENS>'); add(' <MENSAGEM>'+copy(guia.FieldByName('descricao').asString+' Ref. '+guia.FieldByName('ref').asString ,1,40)+'</MENSAGEM>'); if PercentualMulta<>'' then begin add(' <MENSAGEM>MULTA DE '+PercentualMulta+' JUROS '+ValorMoraJuros+' AO MÊS</MENSAGEM>'); end; add(' </MENSAGENS>'); add(' </FICHA_COMPENSACAO>'); add(' <RECIBO_PAGADOR>'); add(' <MENSAGENS>'); add(' <MENSAGEM>'+copy(guia.FieldByName('descricao').asString+' Ref. '+guia.FieldByName('ref').asString ,1,40)+'</MENSAGEM>'); if PercentualMulta<>'' then begin add(' <MENSAGEM>MULTA DE '+PercentualMulta+' JUROS '+ValorMoraJuros+' AO MÊS</MENSAGEM>'); end; add(' </MENSAGENS>'); add(' </RECIBO_PAGADOR>'); //add(' <PAGAMENTO>'); //add(' <QUANTIDADE_PERMITIDA>1</QUANTIDADE_PERMITIDA>'); //add(' <TIPO>ACEITA_VALORES_ENTRE_MINIMO_MAXIMO</TIPO>'); //add(' <VALOR_MINIMO>500.00</VALOR_MINIMO>'); //add(' <VALOR_MAXIMO>1500.00</VALOR_MAXIMO>'); //add(' </PAGAMENTO>'); add(' </TITULO>'); add(' </INCLUI_BOLETO>'); add(' </DADOS>'); Add('</manutencaocobrancabancaria:SERVICO_ENTRADA>'); //add(' </ext:SERVICO_ENTRADA>'); //add(' </soapenv:Body>'); //add('</soapenv:Envelope>'); end; vsxml.SaveToFile(vsNossoNumero+'.xml'); finally vsxml.Free; end; end;
  11. bom dia toninhonunes quando vc adaptar envie para nós fazermos uns teste ok Obrigado
×
×
  • 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.