Ir para conteúdo
  • Cadastre-se

washington

Membros
  • Total de ítens

    51
  • Registro em

  • Última visita

Tudo que washington postou

  1. Boa Tarde, Consegue fazer e tudo certo comigo. Tem como retornar a lista de NFe ou suas chaves de acesso no seu retorno?
  2. Boa noite. Obrigado e aguardo retorno.
  3. Boa tarde. Conforme algumas alterações acima caso alguém tenha alguma dificuldade ao preencher os dados no componente, segue como estou fazendo aqui. Preenchimento do Cedente/Beneficiário. //CEDENTE - EMPRESA cBoleto.Banco.TipoCobranca := TACBrTipoCobranca(DM_Dados.qFiltro1.FieldByName('TIPO_COBRANCA').AsInteger); cBoleto.Cedente.CaracTitulo := TACBrCaracTitulo(DM_Dados.qFiltro1.FieldByName('CARACTER_TITULO').AsInteger); cBoleto.Cedente.TipoCarteira := TACBrTipoCarteira(DM_Dados.qFiltro1.FieldByName('TIPO_CARTEIRA').AsInteger); //LAYOUT REMESSA cBoleto.LayoutRemessa := TACBrLayoutRemessa(DM_Dados.qFiltro1.FieldByName('LAYOUT_REMESSA').AsInteger); cBoleto.LeCedenteRetorno := verificaAcao(DM_Dados.qFiltro1.FieldByName('LER_CEDENTE_RETORNO').AsString); //LAYOUT cBoleto.ACBrBoletoFC.LayOut := TACBrBolLayOut(DM_Dados.qFiltro1.FieldByName('LAYOUT').AsInteger); cBoleto.ACBrBoletoFC.SoftwareHouse := sSoftHouse; cBoleto.ACBrBoletoFC.DirLogo := sCaminhoDir(getField(DM_Dados.sConfigBoleto,'CONFIG_BOLETO','BOLETO_REPORT_DIR_LOGO','VARCHAR(255)','\Boleto\Logos\Colorido',bDebug),'\Boleto\Logos\Colorido'); if (cBoleto.ACBrBoletoFC is TACBrBoletoFCFR) then TACBrBoletoFCFR(cBoleto.ACBrBoletoFC).FastReportFile := sCaminhoDir(getField(DM_Dados.sConfigBoleto,'CONFIG_BOLETO','BOLETO_REPORT_FAST','VARCHAR(255)','\Boleto\Report\Boleto.fr3',bDebug),'\Boleto\Report\Boleto.fr3'); //TACBrTipoDocumento = (Tradicional=1, Escritural=2); cBoleto.Cedente.TipoDocumento := Tradicional; //VERIFICACAO cBoleto.Cedente.Modalidade := AllTrim(DM_Dados.qFiltro1.FieldByName('MODALIDADE').AsString); cBoleto.Cedente.Convenio := AllTrim(DM_Dados.qFiltro1.FieldByName('CONVENIO').AsString); cBoleto.Cedente.TipoInscricao := TACBrPessoaCedente(DM_Dados.qFiltro1.FieldByName('TIPO_INSCRICAO').AsInteger); //AGENCIA if contemCaracter(DM_Dados.qFiltro1.FieldByName('AGENCIA').AsString,'-') then begin posConta := pos('-',DM_Dados.qFiltro1.FieldByName('AGENCIA').AsString); cBoleto.Cedente.Agencia := Copy(DM_Dados.qFiltro1.FieldByName('AGENCIA').AsString,1,(posConta-1)); cBoleto.Cedente.AgenciaDigito := Copy(DM_Dados.qFiltro1.FieldByName('AGENCIA').AsString,posConta+1,(Length(DM_Dados.qFiltro1.FieldByName('AGENCIA').AsString))); end else begin cBoleto.Cedente.Agencia := Copy(DM_Dados.qFiltro1.FieldByName('AGENCIA').AsString,1,4); cBoleto.Cedente.AgenciaDigito := '0'; end; //CONTA if contemCaracter(DM_Dados.qFiltro1.FieldByName('CONTA').AsString,'-') then begin posConta := pos('-',DM_Dados.qFiltro1.FieldByName('CONTA').AsString); cBoleto.Cedente.Conta := Copy(DM_Dados.qFiltro1.FieldByName('CONTA').AsString,1,(posConta-1)); cBoleto.Cedente.ContaDigito := Copy(DM_Dados.qFiltro1.FieldByName('CONTA').AsString,posConta+1,(Length(DM_Dados.qFiltro1.FieldByName('CONTA').AsString))); end else begin cBoleto.Cedente.Conta := Copy(DM_Dados.qFiltro1.FieldByName('CONTA').AsString,1,(length(DM_Dados.qFiltro1.FieldByName('CONTA').AsString)-1)); cBoleto.Cedente.ContaDigito := Copy(DM_Dados.qFiltro1.FieldByName('CONTA').AsString,(length(DM_Dados.qFiltro1.FieldByName('CONTA').AsString)),1); end; if Length(AllTrim(SomenteNumero(cBoleto.Cedente.AgenciaDigito))) = 0 then cBoleto.Cedente.AgenciaDigito := '0'; if ( (UpperCase(cBoleto.Cedente.ContaDigito) = 'X') and (cBoleto.Banco.Numero = 1) ) then else if Length(AllTrim(SomenteNumero(cBoleto.Cedente.ContaDigito))) = 0 then cBoleto.Cedente.ContaDigito := '0'; cBoleto.Cedente.CodigoCedente := DM_Dados.qFiltro1.FieldByName('CEDENTE').AsString; cBoleto.Cedente.CodigoTransmissao := DM_Dados.qFiltro1.FieldByName('CODIGO_TRANSMISSAO').AsString; cBoleto.Cedente.Nome := DM_Dados.sConfig.FieldByName('NOME').AsString; cBoleto.Cedente.CNPJCPF := SomenteNumero(DM_Dados.sConfig.FieldByName('CGC_CNPJ').AsString); cBoleto.Cedente.NumeroRes := DM_Dados.qFiltro1.FieldByName('NUMERO_RESP').AsString; cBoleto.Cedente.ResponEmissao := TACBrResponEmissao(DM_Dados.qFiltro1.FieldByName('RESP_EMISSAO').AsInteger); //ENDERECO - CEDENTE - EMPRESA cBoleto.Cedente.Logradouro := DM_Dados.sConfig.FieldByName('LOGADOURO').AsString+', '+DM_Dados.sConfig.FieldByName('NUMERO').AsString; cBoleto.Cedente.Complemento := DM_Dados.sConfig.FieldByName('COMPLEMENTO').AsString; cBoleto.Cedente.Bairro := DM_Dados.sConfig.FieldByName('BAIRRO').AsString; cBoleto.Cedente.CEP := SomenteNumero(DM_Dados.sConfig.FieldByName('CEP').AsString); cBoleto.Cedente.Cidade := DM_Dados.sConfig.FieldByName('NOME CIDADE').AsString; cBoleto.Cedente.Telefone := DM_Dados.sConfig.FieldByName('FONE').AsString; cBoleto.Cedente.UF := DM_Dados.sConfig.FieldByName('UF').AsString; //CEDENTE - EMPRESA - FIM Preenchimento do Titulo //DADOS BOLETOS Titulo := cBoleto.CriarTituloNaLista; Titulo.Carteira := AllTrim(DM_Dados.qFiltro1.FieldByName('CARTEIRA').AsString); Titulo.EspecieDoc := 'DM'; Titulo.EspecieMod := 'R$'; //IMPRESSAO Titulo.TipoImpressao := TACBrTipoImpressao(DM_Dados.qFiltro1.FieldByName('TIPO_IMPRESSAO').AsInteger); //CARTEIRA DE ENVIO Titulo.CarteiraEnvio := TACBrCarteiraEnvio(DM_Dados.qFiltro1.FieldByName('TIPO_CARTEIRA_ENVIO').AsInteger); Titulo.Aceite := atNao; if verificaAcao(DM_Dados.qFiltro1.FieldByName('ACEITE').AsString) then Titulo.Aceite := atSim else Titulo.Aceite := atNao; Titulo.LocalPagamento := 'Pagável em qualquer banco até o vencimento.'; Titulo.Vencimento := CdsConta.FieldByName('VENCIMENTO').AsDateTime; Titulo.DataDocumento := Now;{CdsConta.FieldByName('EMISSAO').AsDateTime;} Titulo.DataProcessamento := Now; Titulo.NumeroDocumento := Copy(CdsConta.FieldByName('NUMERO').AsString,1,9)+'/'+GeraOrdemBoletoBancario(CdsConta.FieldByName('ORDEM').AsString); Titulo.NossoNumero := CdsConta.FieldByName('CODIGO').AsString; Titulo.SeuNumero := CdsConta.FieldByName('CODIGO').AsString; Titulo.ValorDocumento := CdsConta.FieldByName('VALOR').AsFloat; //DESCONTO PRA PAGAMENTO ATE O VENCIMENTO DE %(Percentual) Titulo.ValorDesconto := 0.00; Titulo.DataDesconto := 0.00; //TACBrTipoDesconto = (tdNaoConcederDesconto, tdValorFixoAteDataInformada, tdPercentualAteDataInformada, tdValorAntecipacaoDiaCorrido, tdValorAntecipacaoDiaUtil, tdPercentualSobreValorNominalDiaCorrido, tdPercentualSobreValorNominalDiaUtil, tdCancelamentoDesconto); //Titulo.TipoDesconto := TACBrTipoDesconto(DM_Dados.qFiltro1.FieldByName('TIPO_DESCONTO').AsInteger); //Titulo.TipoDesconto2 - falta implementar - não vi necessidade nos boletos homologados //TACBrCodigoDesconto = (cdSemDesconto, cdValorFixo); Titulo.CodigoDesconto := TACBrCodigoDesconto(DM_Dados.qFiltro1.FieldByName('TIPO_DESCONTO').AsInteger); Titulo.ValorDesconto := 0; if ( (getField(DM_Dados.qFiltro1,'CONTA_BANCO','DESCONTO_PERC','DOUBLE PRECISION',0.00) > 0) and (Titulo.CodigoDesconto <> cdSemDesconto) ) then begin rDescVencimento := ((CdsConta.FieldByName('VALOR').AsFloat * DM_Dados.qFiltro1.FieldByName('DESCONTO_PERC').AsFloat)/100); Titulo.ValorDesconto := RoundABNT(rDescVencimento,2); Titulo.DataDesconto := (CdsConta.FieldByName('EMISSAO').AsDateTime + VarToIntDef(getField(DM_Dados.qFiltro1,'CONTA_BANCO','DIAS_DESCONTO','INT',0),0)); end; //FIM DESCONTO //ABATIMENTO PRA PAGAMENTO ATE A DATA DE ABATIMENTO DE %(Percentual) Titulo.ValorAbatimento := 0.00; if (getField(DM_Dados.qFiltro1,'CONTA_BANCO','ABATIMENTO_PERC','DOUBLE PRECISION',0.00) > 0) then begin rDescVencimento := ((CdsConta.FieldByName('VALOR').AsFloat * DM_Dados.qFiltro1.FieldByName('DESCONTO_PERC').AsFloat)/100); Titulo.ValorAbatimento := RoundABNT(rDescVencimento,2); Titulo.DataAbatimento := CdsConta.FieldByName('VENCIMENTO').AsDateTime; end; //TACBrCodigoNegativacao = (cnNenhum, cnProtestarCorrido, cnProtestarUteis, cnNaoProtestar, cnNegativar, cnNaoNegativar); Titulo.CodigoNegativacao := TACBrCodigoNegativacao(DM_Dados.qFiltro1.FieldByName('CODIGO_NEGATIVACAO').AsInteger); //TACBrTipoDiasIntrucao = (diCorridos, diUteis); Titulo.TipoDiasProtesto := TACBrTipoDiasIntrucao(DM_Dados.qFiltro1.FieldByName('TIPO_DIAS_INSTRUCAO').AsInteger); if (VarToIntDef(getField(DM_Dados.qFiltro1,'CONTA_BANCO','DIAS_PROTESTO','INT',0),0) > 0) then begin //Titulo.DiasDeProtesto := DM_Dados.qFiltro1.FieldByName('DIAS_PROTESTO').AsInteger; //DataProtesto := StrToDateDef(edtDataProtesto.Text, 0); end; //JUROS MORA %(Percentual) //TACBrCodigoJuros = (cjValorDia, cjTaxaMensal, cjIsento); Titulo.CodigoMoraJuros := TACBrCodigoJuros(DM_Dados.qFiltro1.FieldByName('TIPO_JUROS').AsInteger); Titulo.ValorMoraJuros := 0.00; if ( (getField(DM_Dados.qFiltro1,'CONTA_BANCO','JUROS_PERC','DOUBLE PRECISION',0.00) > 0) and (Titulo.CodigoMoraJuros <> cjIsento) ) then begin Case Titulo.CodigoMoraJuros Of cjValorDia :begin end; cjTaxaMensal :begin end; End; rDescVencimento := ((CdsConta.FieldByName('VALOR').AsFloat * DM_Dados.qFiltro1.FieldByName('JUROS_PERC').AsFloat)/100); Titulo.ValorMoraJuros := RoundABNT(rDescVencimento,2); Titulo.DataMoraJuros := CdsConta.FieldByName('VENCIMENTO').AsDateTime + 1; end; //MULTA %(Percentual) Titulo.MultaValorFixo := False; //TACBrCodigoMulta = (cmValorFixo, cmPercentual); Titulo.CodigoMulta := TACBrCodigoMulta(DM_Dados.qFiltro1.FieldByName('TIPO_MULTA').AsInteger); Titulo.PercentualMulta := 0.00; if (getField(DM_Dados.qFiltro1,'CONTA_BANCO','MULTA_PERC','DOUBLE PRECISION',0.00) > 0) then begin Case Titulo.CodigoMulta Of cmValorFixo :begin end; cmPercentual :begin end; End; rDescVencimento := ((CdsConta.FieldByName('VALOR').AsFloat * DM_Dados.qFiltro1.FieldByName('MULTA_PERC').AsFloat)/100); Titulo.PercentualMulta := RoundABNT(rDescVencimento,2); end; Titulo.Mensagem.Clear; if Length(AllTrim(sOBS.Text)) > 0 then begin Titulo.Mensagem.Assign(sOBS); end; if Length(AllTrim(DM_Dados.qFiltro1.FieldByName('OBS').AsString)) > 0 then begin vListMSG.Clear; vListMSG.Text := DM_Dados.qFiltro1.FieldByName('OBS').AsString; for iObs := 0 to vListMSG.Count -1 do begin Titulo.Mensagem.Insert(iObs,vListMSG.Strings[iObs]); { Case iObs Of 0:Instrucao1 := vListMSG.Strings[iObs];//padL(trim(''),2,'0'); 1:Instrucao2 := vListMSG.Strings[iObs]; 2:Instrucao3 := vListMSG.Strings[iObs]; End; } if iObs = 4 then Break; end; end; vListMSG.Free; //01-Registrar Remessa Titulo.OcorrenciaOriginal.Tipo := toRemessaRegistrar; //ACBrBoleto1.AdicionarMensagensPadroes(Titulo,Mensagem); //FIM DADOS BOLETOS //SACADO - CLIENTE Case Length(SomenteNumero(DM_Dados.qFiltro2.FieldByName('CGC_CNPJ').AsString)) Of 11:Titulo.Sacado.Pessoa := pFisica; 14:Titulo.Sacado.Pessoa := pJuridica; else Titulo.Sacado.Pessoa := pFisica; End; Titulo.Sacado.NomeSacado := DM_Dados.qFiltro2.FieldByName('NOME').AsString; Titulo.Sacado.CNPJCPF := SomenteNumero(DM_Dados.qFiltro2.FieldByName('CGC_CNPJ').AsString); Titulo.Sacado.Logradouro := DM_Dados.qFiltro2.FieldByName('LOGADOURO').AsString; Titulo.Sacado.Numero := DM_Dados.qFiltro2.FieldByName('NUMERO').AsString; Titulo.Sacado.Bairro := DM_Dados.qFiltro2.FieldByName('BAIRRO').AsString; Titulo.Sacado.Cidade := DM_Dados.qFiltro2.FieldByName('NOME CIDADE').AsString; Titulo.Sacado.UF := DM_Dados.qFiltro2.FieldByName('UF').AsString; Titulo.Sacado.CEP := SomenteNumero(DM_Dados.qFiltro2.FieldByName('CEP').AsString); //FIM SACADO - CLIENTE Só pra um entendimento melhor nessa linha: //01-Registrar Remessa Titulo.OcorrenciaOriginal.Tipo := toRemessaRegistrar; Deve colocar a ocorrência do titulo, ou seja se for uma alteração de vencimento deve-se informar a ocorrência desejada. ex: toRemessaAlterarVencimento. Espero que ajude alguém.
  4. Bom dia José M. S. Junior. Fiz a atualização da versão do SVN e alterei a classe com as informações do estinque. O único método que vi gerando algo diferente foi o método MontarCampoNossoNumero . As demais funções peguei da alteração do estinque e seguir o que estava nas alterações dele. Peço que os envolvidos façam o teste e comentem se possível. Recebi o retomo do Banese hoje informado que esta tudo normal com os arquivos de remessa e retorno. Um outro Arquivo que modifiquei foi o ACBrBoletoFCFR.pas onde adicionei o seguinte código pra exibir a chave ASBACE no boleto: ACBrBoletoFCFR.pas if ACBrBoleto.Banco.Numero = 21 then Field_Asbace.AsString := TACBrBancoBanestes(Banco).CalcularCampoASBACE(ListadeBoletos[iFor]) else if ACBrBoleto.Banco.Numero = 47 then begin Field_Asbace.AsString := 'CHAVE ASBACE: '+TACBrBancoBanese(Banco).CalcularCampoASBACE(ListadeBoletos[iFor]) +' BANESE'; end; Se possível analisar as alterações e subir ao SVN, Muito Obrigado. Acbr Boleto Homologado.rar
  5. Boa Tarde , depois de analisar o código verifiquei que a function TACBrBancoBanese.MontarCampoNossoNumero (const ACBrTitulo: TACBrTitulo ) : String;, ela esta retornando o Nosso Numero errado, pelo manual ele aceita apenas 9 posições já com o digito verificador, ou seja informamos apenas 8 e a function TACBrBancoBanese.CalcularDigitoVerificador(const ACBrTitulo: TACBrTitulo ): String; retorna o 9º digito, conforme o DEBUG ele esta retornando o número da Agência com 3 posições "028". O primeiro Código que disponibilizei aqui no forum eles estava assim: function TACBrBancoBanese.MontarCampoNossoNumero ( const ACBrTitulo: TACBrTitulo ) : String; begin ACBrTitulo.NossoNumero := IntToStrZero( StrToIntDef((Trim(ACBrTitulo.NossoNumero)+Trim(CalcularDigitoVerificador(ACBrTitulo))),0) ,Self.TamanhoMaximoNossoNum); Result := ACBrTitulo.NossoNumero; end; function TACBrBancoBanese.MontarCampoNossoNumero ( const ACBrTitulo: TACBrTitulo ) : String; begin ACBrTitulo.NossoNumero := IntToStrZero( StrToIntDef((Trim(ACBrTitulo.NossoNumero)+Trim(CalcularDigitoVerificador(ACBrTitulo))),0) ,Self.TamanhoMaximoNossoNum); Result := ACBrTitulo.NossoNumero; end; A principio seguir os conselhos de um membro no grupo que pegasse um código fonte de um outro banco renomeasse pra o banco novo e assim fizesse as modificações. O que os Senhores me aconselham, pra ter um fonte no SVN e para que todos possam usar o mesmo. Desde já agradecido.
  6. Bom dia, Depois de ter atualizado com os fontes aqui postado(ACBrBancoBanese.pas). o Boleto ainda esta saindo com a linha digitável incorreta. Segue imagem do boleto. Como esta sendo setado os dados no componente, pode ser isso que esta ocasionando o problema. A agencia ela vem com 3 dígitos que no meu caso é 028 e na chave asbace ela pega apenas 2 posições: Composição da Chave Asbace AACCCCCCCCCNNNNNNNNNBBBDD A - agência do cedente (2 posições) C - conta corrente do cedente (9 posições) N - nosso número, incluindo o dígito (9 posições) B - código do banco, 047 para o Banese (3 posições) D - duplo dígito (2 posições) Cálculo do duplo dígito verificador da Chave Asbace Vale ressaltar que no construtor esta com essas informações: constructor TACBrBancoBanese.create(AOwner: TACBrBanco); begin inherited create(AOwner); fpDigito := 7; fpNome := 'Banese'; fpNumero := 047; fpTamanhoMaximoNossoNum := 8; fpTamanhoAgencia := 3; fpTamanhoConta := 9; fpTamanhoCarteira := 1; fValorTotalDocs := 0; fQtRegLote := 0; fRegLote := 0; end; fpTamanhoAgencia := 3;(2) fpTamanhoMaximoNossoNum := 8; (9) Se for o caso pra poder Seguir o que Junior informou baixo a versão do SVN e faço as alterações necessárias a fim de ter um componente compatível e no padrão.
  7. Boa tarde, Mano você consegue emitir um boleto em PDF e enviar aqui, vamos trabalhar juntos nessa mudança, na ultima versão que peguei esta com divergência no boleto banese o setor de homologação informou que falta a chave asbace no boleto e que o numero da agencia estava com 3 dígitos e não 2.
  8. Bom dia. Já resolvi obrigado. Estava vinculado ao código de mora e juros Case Titulo.CodigoMoraJuros Of cjValorDia cjTaxaMensal cjIsento End; Caso seja 0 informar como cjIsento. Assim que terminar tudo informo aqui como foi o procedimento e ai já ajuda o pessoal.
  9. Boa noite, depois de muita demora ao retornar os arquivos do Banese, veio mais esses erros: 403830 40383 34 1 3-Entrada Rejeitada 79-Data Juros de Mora Inválido 27-Valor/Taxa de Juros de Mora Inválido 403946 40394 34 2 3-Entrada Rejeitada 79-Data Juros de Mora Inválido 27-Valor/Taxa de Juros de Mora Inválido 403954 40395 34 3 3-Entrada Rejeitada 79-Data Juros de Mora Inválido 27-Valor/Taxa de Juros de Mora Inválido 403997 40399 34 4 3-Entrada Rejeitada 79-Data Juros de Mora Inválido 27-Valor/Taxa de Juros de Mora Inválido Como você está fazendo o preenchimento desses campos? Estou fazendo dessa forma: //JUROS %(Percentual) Titulo.ValorMoraJuros := 0.00; if (getField(DM_Dados.qFiltro1,'VW_CONTA_BANCO','JUROS_PERC','DOUBLE PRECISION',0.00) > 0) then begin rDescVencimento := ((CdsConta.FieldByName('VALOR').AsFloat * DM_Dados.qFiltro1.FieldByName('JUROS_PERC').AsFloat)/100); Titulo.ValorMoraJuros := RoundABNT(rDescVencimento,2); Titulo.DataMoraJuros := CdsConta.FieldByName('VENCIMENTO').AsDateTime; end; Obrigado.
  10. Sobre o Aceite estou passando como Sim.
  11. você chegou a fazer a homologação e deu tudo certo?
  12. @estinque 40383 0000000000000000000040383 32 1 3-Entrada Rejeitada 23-Aceite Inválido 08-Nosso Número Inválido 40394 0000000000000000000040394 32 2 3-Entrada Rejeitada 23-Aceite Inválido 08-Nosso Número Inválido 40395 0000000000000000000040395 32 3 3-Entrada Rejeitada 23-Aceite Inválido 08-Nosso Número Inválido 40399 0000000000000000000040399 32 4 3-Entrada Rejeitada 23-Aceite Inválido 08-Nosso Número Inválido Do ultimo arquivo que esta no SVN foi rejeitado o Nosso Numero. Vou pegar esses arquivos. Quando disponibilizei aqui os arquivos já tinha sido homologado, mas o retorno não tinha implementando, era apenas isso que não tinha feito os demais ajustes foram feitos.
  13. Boa Tarde, eu vi aqui baixei o svn novamente e vi o problema. Vou te passar como resolvi, quando gerar mais de uma vez, a variável fRegLote ele inicia do ultimo registro gerado no arquivo anterior e não iniciava novamente do 1. function TACBrBancoBanese.GerarRegistroHeader240(NumeroRemessa : Integer): String; var ATipoInscricao: string; AMensagemReservada: String; begin with ACBrBanco.ACBrBoleto.Cedente do begin case TipoInscricao of pFisica : ATipoInscricao := '1'; pJuridica: ATipoInscricao := '2'; end; if ACBrBanco.ACBrBoleto.Homologacao then AMensagemReservada := 'REMESSA-TESTE' else AMensagemReservada := 'REMESSA-PRODUCAO'; { GERAR REGISTRO-HEADER DO ARQUIVO } Result:= IntToStrZero(ACBrBanco.Numero, 3) + //1 a 3 - Código do banco '0000' + //4 a 7 - Lote de serviço - Se registro for Header do Arquivo preencher com '0000' '0' + //8 - Tipo de registro - Registro header de arquivo '0' = Header de Arquivo PadRight('', 9, ' ') + //9 a 17 Uso exclusivo FEBRABAN/CNAB ATipoInscricao + //18 - Tipo de inscrição do cedente [ '1' = CPF '2' = CGC / CNPJ ] PadLeft(OnlyNumber(CNPJCPF), 14, '0') + //19 a 32 -Número de inscrição do cedente CPF ou CNPJ PadLeft(Convenio,20, '0') + //33 a 52 - Código do convênio no banco PadLeft(OnlyNumber(Agencia), 5, '0') + //53 a 57 - Código da agência do cedente PadLeft(AgenciaDigito, 1 , '0') + //58 - Dígito da agência do cedente PadLeft(Conta, 12, '0') + //59 a 70 - Código Cedente (Código do Convênio no Banco) PadLeft(ContaDigito, 1, '0') + //71 - Digito verificado da conta - DEIXA BRANCO Space(1) + //72 - Digito verificado da Agencia/conta - DEIXA BRANCO PadRight(Nome, 30, ' ') + //73 a 102 - Nome do cedente PadRight('BANESE', 30, ' ') + //103 a 132 - Nome do banco PadRight('', 10, ' ') + //133 a 142 - Uso exclusivo FEBRABAN/CNAB '1' + //143 - Código de Remessa / Retorno ( '1' = Remessa (Cliente > Banco) '2' = Retorno (Banco > Cliente) ) FormatDateTime('ddmmyyyy', Now) + //144 a 151 - Data do de geração do arquivo FormatDateTime('hhmmss', Now) + //152 a 157 - Hora de geração do arquivo PadLeft(IntToStr(NumeroRemessa), 6, '0')+ //158 a 163 - Número seqüencial do arquivo '101' + //164 a 166 - Número da versão do layout do arquivo "101" PadRight('', 5, '0') + //167 a 171 - Densidade de gravação do arquivo (BPI) Space(20) + // 172 a 191 - Uso reservado do banco PadLeft(AMensagemReservada, 20, ' ') + // 192 a 211 - Uso reservado da empresa PadLeft('', 29, ' '); // 212 a 240 - Uso Exclusivo FEBRABAN / CNAB { GERAR REGISTRO HEADER DO LOTE } Result:= Result + #13#10 + IntToStrZero(ACBrBanco.Numero, 3) + //1 a 3 - Código do banco '0001' + //4 a 7 - Lote de serviço - Preencher com '0001' para o primeiro lote do arquivo. '1' + //8 - Tipo de registro - Registro header de arquivo '1' = Header de Lote 'R' + //9 - Tipo de operação: 'R' = Arquivo Remessa 'T' = Arquivo Retorno '01' + //10 a 11 - Tipo de serviço: 01' = Cobrança Space(2) + //12 a 13 - FUso Exclusivo FEBRABAN / CNAB: Preencher com Brancos. '060' + //14 a 16 - Número da versão do layout do lote Space(1) + //17 - Uso exclusivo FEBRABAN/CNAB ATipoInscricao + //18 - Tipo de inscrição do cedente [ '1' = CPF '2' = CGC / CNPJ ] PadLeft(OnlyNumber(CNPJCPF), 15, '0') + //19 a 33 -Número de inscrição do cedente CPF OU CNPJ PadLeft(Convenio, 20, '0') + //34 a 53 - Código do convênio no banco (código do Convenio) PadLeft(OnlyNumber(Agencia), 5 , '0') + //54 a 58 - Agência do cedente PadLeft(AgenciaDigito, 1 , '0') + //59 - Dígito da agência do cedente PadLeft(Conta, 12, '0') + //60 a 71 - Código do convênio no banco (código do cedente) PadLeft(ContaDigito, 1, '0') + //71 - Digito verificado da conta - DEIXA BRANCO Space(1) + //73 - Digito verificado da Agencia/conta - DEIXA BRANCO PadLeft(Nome, 30, ' ') + //74 a 103 - Nome do cedente PadLeft('', 40, ' ') + //104 a 143 - Mensagem 1 para todos os boletos do lote PadLeft('', 40, ' ') + //144 a 183 - Mensagem 2 para todos os boletos do lote PadLeft(IntToStr(NumeroRemessa), 8, '0') + //184 a 191 - Número do arquivo FormatDateTime('ddmmyyyy', Now) + //192 a 199 - Data de geração do arquivo PadLeft('', 8, '0') + //200 a 207 - Data do crédito - Só para arquivo retorno PadLeft('', 33, ' '); //208 a 240 - Uso exclusivo FEBRABAN/CNAB end; fRegLote := 0; end;
  14. Boa tarde, realmente não tinha implementado esse código, vc tem como me passar o código pra eu poder adicionar aqui, depois que atualizei pelo SVN, os arquivos passaram a ser rejeitado pelo Banese, e tive que pegar um backup e atualizar no meus fontes e ai foram aceitos queria pegar essa parte do código de retorno pra poder atualizar e assim enviar pra teste aqui no estado já que sou de Sergipe e tenho contato com o pessoal do banco. Fico grato
  15. Boa noite @joemil Eu tenho eles atualizados e já homologado pelo Banco Banese. Foi Homologado o layout do Boleto e envio de arquivo de remessa, não fiz o retorno ainda, mas acredito que assim que tiver um arquivo de um cliente já começo a trabalha nele, mais o arquivo de remessa já esta certo pra o modelo CBN240 que foi o exigido pelo Banco. Segue anexo com as alterações. Peço também que se possível atualizar os fontes do projeto. Obrigado e aguardo retorno dos moderadores do projeto ACBr. Alaterado.rar Boa noite, depois que instalei e copilei todos os pacotes em uma nova maquina com a instalação do Delphi zerada funcionou. Obrigado
  16. Bom dia , foi mal. Bom dia. Só resolveu pra mim quando reinstalei o delphi7 e iniciei a instalação do ACBR. Obrigado a todos
  17. Bom dia a todos, Baixei o Acbr ontem a noite e ao instalar ele em um windows 10 64 bits com delphi7 usando o acbrinstall o mesmo me retornava erro ao instalar o ACBr_synapse.dpk, ( Erro ao compilar o pacote "ACBr_synapse.dpk). Tentei a instalação manual mas o mesmo apresentava problemas e não consegui instalar todos os componentes apenas alguns o mais importante que é o AcbrNFe não consegui instalar. Vi aqui no tópico que pode ser instalado no delphi7 e ja tenho uma versao anterior , vou enviar o log pra ficar melhor na ajuda. Moderação: texto suprimido. log_Delphi_7.txt
  18. Então, esta dando erro aqui comigo, acredito que seja o caminho de alguma unit. mas Quando subir e fizer a comparação e adicionar ao projeto, é só copilar ai que deve resolver. Tô ajustando as alterações de Layout exigido pelo banco. assim que finalizar envio tudo novamente
  19. Sobre o campo EDIT7 eu coloquei em Cedente.CodigoCedente, como o banco em questão não trabalha com código do cedente, apenas convenio e esse EDIT7, não vi a necessidade de criar um novo.
  20. Bom dia.Acabei de envia um campo pra o forum. Segue link do tópico Então já passei pelo arquivo de remessa e enviei o boleto em pdf ao pessoal pra aprovação do layout.
  21. Bom dia. Hoje recebe a boa noticia de Arquivo de remessa Validado e Enviei os boletos pra aprovação de layout. Segue o que precisei alterar, só não consegui uma coisa: que foi a seleção do novo banco CobBanese pelo object Inspector no Delphi. Não sei como adicionar nessa opção. ACBrBoleto.rar Segue imagem do que não consegui adicionar!
  22. Bom dia. Estou fazendo algumas alterações no componente pra adicionar o Banco Banese - Banco do Estado de Sergipe. Já consegui a impressão e estou finalizando o arquivo de remessa, assim que finalizar e homologar estarei disponibilizando pra analise e adicionar ao projeto. Estarei adicionando os manuais a fim de alguns esclarecimentos. COBRANCA+BANCARIA+-+BANESE+-+V.1.3.pdf Composicao+da+Linha+Digitavel+e+do+Codigo+de+Barras_05062017.pdf Sistema+de+Cobranca+BANESE+-+Intercambio+de+Informacoes+entre+Bancos+e+Empresas+Padrao+FEBRABAN+-+240+Posicoes.pdf
  23. Bom dia, já sim amigo, mas ainda não coloquei no Acbr, muita coisa me aconteceu. Estarei disponibilizando em breve.
  24. Boa noite Wanderson, Conseguiu algo com o arquivo de remessa pra o Banese, eu já consegui implementar a impressão e amanha estarei testando novamente o arquivo de remessa, e logo em seguida estarei disponibilizando aqui no fórum pra o pessoal poder jogar no svn.
×
×
  • 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.