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 API
    • Duvidas Gerais ACBr API
    • Duvidas Privadas ACBr API
  • Suporte Nuvem Fiscal
    • Comunidade Nuvem Fiscal
  • 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
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras
  • ACBr TEF

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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...