Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'Numero Sequencial do Registro'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
    • ACBrLib Android - Pro
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras
    • ACBrLib Android - Demo

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 1 registro

  1. Boa tarde pessoal Estive tendo uns probleminhas ao gerar a remessa para o sicredi, o validador estava rejeitando o numero sequencial do registro do lote, no arquivo de remessa layout cnab240, quando fiz o debug reparei que o problema, está no seguinte trecho de codigo, // Seguimento P (3 * ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo)) + 1 , 5) + // 009 a 013 - Nº sequencial do registro do lote // Seguimento Q (3 * ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo)) + 2 , 5) + // 009 a 013 - Nº sequencial do registro do lote Da forma que está o primeiro titulo, o sistema vai multiplicar (3 * 0) + 1 = 1 (correto) (3 * 0) + 2 = 2 (correto) já nos proximos acontece o erro (3 * 1) + 1 = 4 (3 * 1) + 2 = 5 (3 * 2) + 1 = 7 (3 * 2) + 2 = 8 (3 * 3) + 1 = 10 (3 * 3) + 2 = 11 Entao, alterei o codigo para multiplicar por 2, onde ficou tudo certo, (2 * 0) + 1 = 1 (2 * 0) + 2 = 2 (2 * 1) + 1 = 3 (2 * 1) + 2 = 4 (2 * 2) + 1 = 5 (2 * 2) + 2 = 6 (2 * 3) + 1 = 7 (2 * 3) + 2 = 8 Segue a rotina completa alterada, Dando uma olhada na classe do banco do brasil o mesmo problema vai ocorrer. function TACBrBancoSicredi.GerarRegistroTransacao240( ACBrTitulo: TACBrTitulo): String; var AceiteStr, CodProtesto, DiasProtesto, TipoSacado: String; DigitoNossoNumero, Especie, EndSacado: String; TipoAvalista: Char; begin with ACBrBanco.ACBrBoleto.Cedente, ACBrTitulo do begin {Nosso Número} DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo); {Aceite} case Aceite of atSim: AceiteStr := 'A'; atNao: AceiteStr := 'N'; end; {Espécie} if (EspecieDoc = 'DM') then Especie := '03' else if (EspecieDoc = 'DMI') then Especie := '03' else Especie := '99'; {Protesto} CodProtesto := '3'; DiasProtesto := '00'; if (DataProtesto > 0) and (DataProtesto > Vencimento) then begin CodProtesto := '1'; DiasProtesto := padR(IntToStr(DaysBetween(DataProtesto, Vencimento)), 2, '0'); end; {Sacado} case Sacado.Pessoa of pFisica: TipoSacado := '1'; pJuridica: TipoSacado := '2'; else TipoSacado := '9'; end; EndSacado := Sacado.Logradouro; if (Sacado.Numero <> '') then EndSacado := EndSacado + ', ' + Sacado.Numero; EndSacado := padL(trim(EndSacado), 40); {Avalista} case Sacado.SacadoAvalista.Pessoa of pFisica: TipoAvalista := '1'; pJuridica: TipoAvalista := '2'; else TipoAvalista := '9'; end; {SEGMENTO P} Result:= '748' + // 001 a 003 - Código do banco na compensação '0001' + // 004 a 007 - Lote de serviço = "0001" '3' + // 008 a 008 - Tipo de registro = "3" DETALHE IntToStrZero( // (3 * ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo)) + 1 , 5) + // 009 a 013 - Nº sequencial do registro do lote // alterei aqui (2 * ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo)) + 1 , 5) + // 009 a 013 - Nº sequencial do registro do lote 'P' + // 014 a 014 - Cód. segmento do registro detalhe Space(1) + // 015 a 015 - Uso exclusivo FEBRABAN/CNAB '01' + // 016 a 017 - Código de movimento remessa padL(OnlyNumber(Agencia), 5,'0') + // 018 a 022 - Agência mantenedora da conta Space(1) + // 023 a 023 - Dígito verificador da agência padL(OnlyNumber(Conta), 12, '0') + // 024 a 035 - Número da conta corrente padR(OnlyNumber(ContaDigito), 1) + // 036 a 036 - Dígito verificador da conta Space(1) + // 037 a 037 - Dígito verificador da coop/ag/conta padL(NossoNumero + DigitoNossoNumero, 20, '0') + // 038 a 057 - Identificação do título no banco '1' + // 058 a 058 - Código da carteira '1' + // 059 a 059 - Forma de cadastro do título no banco '2' + // 060 a 060 - Tipo de documento '2' + // 061 a 061 - Identificação de emissão do bloqueto '2' + // 062 a 062 - Identificação da distribuição padL(NumeroDocumento, 15) + // 063 a 077 - Nº do documento de cobrança FormatDateTime('ddmmyyyy', Vencimento) + // 078 a 085 - Data de vencimento do título IntToStrZero(Round(ValorDocumento * 100), 15) + // 086 a 100 - Valor nominal do título '00000' + // 101 a 105 - Coop./Ag. encarregada da cobrança Space(1) + // 106 a 106 - Dígito verificador da coop./agência padR(Especie, 2, '0') + // 107 a 108 - Espécie do título AceiteStr + // 109 a 109 - Identificação de título aceito/não aceito FormatDateTime('ddmmyyyy', DataDocumento) + // 110 a 117 - Data da emissão do título '1' + // 118 a 118 - Código do juro de mora '00000000' + // 119 a 126 - Data do juro de mora IntToStrZero(Round(ValorMoraJuros * 100), 15) + // 127 a 141 - Juros de mora por dia/taxa '1' + // 142 a 142 - Código do desconto 1 FormatDateTime('ddmmyyyy', Vencimento) + // 143 a 150 - Data do desconto 1 IntToStrZero(Round(ValorDesconto * 100), 15) + // 151 a 165 - Valor percentual a ser concedido IntToStrZero(Round(ValorIOF * 100), 15) + // 166 a 180 - Valor do IOF a ser recolhido IntToStrZero(Round(ValorAbatimento * 100), 15) + // 181 a 195 - Valor do abatimento padL(NumeroDocumento, 25) + // 196 a 220 - Identificação do título na empresa CodProtesto + // 221 a 221 - Código para protesto DiasProtesto + // 222 a 223 - Número de dias para protesto '1' + // 224 a 224 - Código para baixa/devolução '060' + // 225 a 227 - Nº de dias para baixa/devolução '09' + // 228 a 229 - Código da moeda = "09" padL('', 10, '0') + // 230 a 239 - Nº do contrato da operação de crédito Space(1); // 240 a 240 - Uso exclusivo FEBRABAN/CNAB {SEGMENTO Q} Result:= Result + #13#10 + '748' + // 001 a 003 - Código do banco na compensação '0001' + // 004 a 007 - Lote de serviço = "0001" '3' + // 008 a 008 - Tipo de registro = "3" DETALHE IntToStrZero( // (3 * ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo)) + 2 , 5) + // 009 a 013 - Nº sequencial do registro do lote // alterei aqui (2 * ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo)) + 2 , 5) + // 009 a 013 - Nº sequencial do registro do lote 'Q' + // 014 a 014 - Cód. segmento do registro detalhe Space(1) + // 015 a 015 - Uso exclusivo FEBRABAN/CNAB '01' + // 016 a 017 - Código de movimento de remessa TipoSacado + // 018 a 018 - Tipo de inscrição padR(OnlyNumber(Sacado.CNPJCPF), 15, '0') + // 019 a 033 - Número de inscrição padL(Sacado.NomeSacado, 40) + // 034 a 073 - Nome EndSacado + // 074 a 113 - Endereço padL(Sacado.Bairro, 15) + // 114 a 128 - Bairro Copy(padR(OnlyNumber(Sacado.CEP),8,'0'),1,5) + // 129 a 133 - CEP Copy(padR(OnlyNumber(Sacado.CEP),8,'0'),6,3) + // 134 a 136 - Sufixo do CEP padL(Sacado.Cidade, 15) + // 137 a 151 - Cidade padR(UF, 2) + // 152 a 153 - Unidade da Federação TipoAvalista + // 154 a 154 - Tipo de inscrição padL(Sacado.SacadoAvalista.CNPJCPF, 15, '0') + // 155 a 169 - Número de inscrição padL(Sacado.SacadoAvalista.NomeAvalista,40,' ') + // 170 a 209 - Nome do sacador/avalista padL('', 3, '0') + // 210 a 212 - Cód. bco corresp. na compensação Space(20) + // 213 a 232 - Nosso nº no banco correspondente Space(8); // 233 a 240 - Uso exclusivo FEBRABAN/CNAB end; Result := UpperCase(Result); end;
×
×
  • 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.