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
-
Edson_Ramos started following Ajuste no método TipoOcorrenciaToCod do Bancoob
-
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
-
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.
-
Muito bom, valeu mesmo Davi !
-
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.
-
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>
-
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
-
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
-
Tudo que precisa pra incluir um boleto e enviar para a caixa está ai. Valeu. Principal.dfm Principal.pas Registrar.dpr Registrar.dproj
-
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.
-
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;
-
Boleto Guia Sindical Caixa e adaptações para o TAcbr TAcbrBoletoFCFR
Edson_Ramos replied to toninhonunes's tópico in ACBrBoleto
bom dia toninhonunes quando vc adaptar envie para nós fazermos uns teste ok Obrigado