Ir para conteúdo
  • Cadastre-se

denerbuzato

Membros
  • Total de ítens

    152
  • Registro em

  • Última visita

  • Days Won

    4

Posts postados por denerbuzato

  1. 38 minutos atrás, ivomar disse:

    Estou com um problema pra imprimir direto na impressora sem preview, toda vez que mando    ACBrNFe1.NotasFiscais.Imprimir; e aberto o setup da impressora. Como faço pra não abrir essa tela?

    Boa tarde,

    Dá uma olhada neste tópico que tem a resposta de como resolver este problema

    Basta informar uma impressora no componente.

    • Curtir 1
  2. Prezados,

    Foram feitas as seguintes correções na unit "ACBrBancoBanestes"

    Function CalcularCampoASBACE

    Manual na pagina 27 item 8.2.1 mostra a composição da chave ASBACE

    Notem que a conta é composta de 11 números e não possui digito de conta

    Antes:

    
      cLivreAsbace := copy(ACBrTitulo.NossoNumero,1,8)                       +
                      copy(trim(ACBrTitulo.ACBrBoleto.Cedente.Conta), 1, 10) +
                      ACBrTitulo.ACBrBoleto.Cedente.ContaDigito              + 
                      IfThen(ACBrtitulo.ACBrBoleto.Cedente.Modalidade = '',
                             '4', ACBrtitulo.ACBrBoleto.Cedente.Modalidade)  +
                      IntToStrZero(fpNumero,3);

    Depois:

    
      cLivreAsbace := copy(ACBrTitulo.NossoNumero,1,8)                       +
                      copy(trim(ACBrTitulo.ACBrBoleto.Cedente.Conta), 1, 11) +
                      IfThen(ACBrtitulo.ACBrBoleto.Cedente.Modalidade = '',
                             '4', ACBrtitulo.ACBrBoleto.Cedente.Modalidade)  +
                      IntToStrZero(fpNumero,3);

    Procedure GerarRegistroHeader400

    Como mencionado a conta é composta de 11 números e não possui digito de conta, conforme manual na pagina 07 item 5.1.1 mostra a identificação da empresa (conta corrente)

    Antes:

    
    PadLeft(OnlyNumber(Copy(Trim(Conta),1,10)+contadigito), 11,'0')+ // Codigo da Empresa no Banco

    Depois:

    
    PadLeft(OnlyNumber(Copy(Trim(Conta),1,11)), 11,'0')+ // Codigo da Empresa no Banco

    Segue unit em anexo para avaliação.

     

    ACBrBancoBanestes.pas

    • Curtir 1
  3. Prezados,

    Corrigido a procedure “LerRetorno400” da unit “ACBrBancoBancoob”  onde a leitura dos dados do cedente estava sendo feita do registro “header” e o correto é do registro “detalhe”.

    Quem usar o LeCedenteRetorno = True e necessitar calcular o digito do nosso numero no retorno, ocorre o erro “'Ç' is not a valid integer value” na function “CalcularDigitoVerificador”,  pois na posição 18 do “header” está “ÇA  “ que faz parte da palavra COBRANÇA.

     

    Antes:

          if LeCedenteRetorno then
          begin
            Cedente.Nome          := rCedente;
            Cedente.CNPJCPF       := rCNPJCPF;
            Cedente.Agencia       := trim(copy(ARetorno[0], 18, 4));
            Cedente.AgenciaDigito := trim(copy(ARetorno[0], 22, 1));
            Cedente.Conta         := trim(copy(ARetorno[0], 23, 8));
            Cedente.ContaDigito   := trim(copy(ARetorno[0], 31, 1));

    Depois:

          if LeCedenteRetorno then
          begin
            Cedente.Nome          := rCedente;
            Cedente.CNPJCPF       := rCNPJCPF;
            Cedente.Agencia       := trim(copy(ARetorno[1], 18, 4));
            Cedente.AgenciaDigito := trim(copy(ARetorno[1], 22, 1));
            Cedente.Conta         := trim(copy(ARetorno[1], 23, 8));
            Cedente.ContaDigito   := trim(copy(ARetorno[1], 31, 1));

           

    ACBrBancoBancoob.pas

    • Curtir 1
  4. Bom dia,

    Fiz uma alteração na unit "ACBrBancoHSBC.pas" para contemplar a multa no arquivo remessa de acordo com o código de instrução utilizado.

    Resumo do que foi implementado:

    Na procedure "GerarRegistroTransacao400" foi criado uma variável "AbatimentoMulta" do tipo string que terá por finalidade armazenar o conteúdo do campo de posição 206 a 218.

    Incluso comparações do tipo de ocorrência e instrução para identificar como será composto a variável "AbatimentoMulta", pois neste momento ela será alimentada já formatada para ser usada na geração.

    Exemplo:

    Citar

    15-Multa de ...... por cento após dia .../.../...
    Quando utilizar a instrução 15, preencher as posições 206 a 218 do registro Detalhe (arquivo Remessa), da seguinte forma:
    Posições 206 a 211 - Data de início da multa DDMMAA (Dia/Mês/Ano).
    Posições 212 a 215 - Taxa (com 02 decimais.)
    Posições 216 a 218 – Brancos.

    16-Após .../... multa dia de ............... máximo ...............
    Quando utilizar a instrução 16, preencher as posições 193 a 216 do registro Detalhe (arquivo Remessa), da seguinte forma:
    Posições 193 a 205 - Valor diário da multa (quando indicado “V” na posição 216). Caso contrário, deixar em branco.
    Posições 206 a 211 - Data início da multa (Dia/Mês/Ano).
    Posições 212 a 215 - Se inserido “V” na posição 216, deixar em branco. Se branco na posição 216 informar taxa mensal com 02 decimais.
    Posição 216 - Deixar em branco caso identificado taxa nas posições 212 a 215. Indicar “V” quando informado o valor diário da multa nas posições 193 a 205.
    Nota: Não utilizar a instrução 16 (multa pró-rata), para tipo de moeda diferente de “Real”.

    22-Multa de R$ _____após ____ dias úteis do vencimento.
    Para as instruções 19 e 22, quando utilizadas, preencher as posições 206 a 218 do registro detalhe (arquivo Remessa), da seguinte forma:
    Posições 206 a 215 – Valor da Multa, em moeda Real com duas decimais.
    Posições 216 a 218 – Quantidade de dias da multa.

    24-Multa de R$ _____após o vencimento.
    Quando utilizar a instrução 24, preencher as posições 206 a 218 do registro Detalhe (arquivo Remessa), da seguinte forma:
    Posições 206 a 215 – Valor da Multa, em moeda Real com duas decimais.
    Posições 216 a 218 – Preencher com zeros.
    Obs.: Para a instrução 24, a data da multa irá iniciar a partir do vencimento.

    73-Multa de ..... por cento após ...... dias corridos do vencimento.

    74-Multa de ...... por cento após ...... dias úteis do vencimento.
    Obs.: Para as instruções 73 e 74, quando utilizadas, preencher as posições 206 a 218 do registro detalhe da seguinte forma:
    Posições 206 a 211 – Brancos.
    Posições 212 a 215 – Taxa (com 02 decimais).
    Posições 216 a 218 – Número de dias.

    Visto que a posição 206 a 218 pode armazenar conteúdos de várias maneiras, essa variável já está sendo formatada da maneira que precisa de acordo com a instrução.

    Já no local aonde usava a " ValorAbatimento" que vinha apenas com o valor do abatimento foi alterado para " AbatimentoMulta" que já está vindo com o valor do abatimento ou a multa de acordo com a instrução.

    Antes:

                       IntToStrZero( round(ValorAbatimento * 100), 13)                                + //

    Depois:

                      AbatimentoMulta                                                 + // valor do abatimento / multa

     

    Exemplo de uso:
     

    Instrucao1      := 15;
    PercentualMulta := 2;

    Resultado:

    teste_hsbc.png

    Obs.: Fiz testes com o suporte do banco HSBC o qual informou que o arquivo remessa está correto com as informações da multa.

     

    Segue unit em anexo para avaliação.

    ACBrBancoHSBC.pas

    • Curtir 1
  5. Prezados,

    Estou implementando o valor de multa para cobrança do HSBC, porém, segundo o manual do banco na pagina 12 as posições 206 a 218 são destinadas para “Valor do Abatimento” e “Multa”, ou seja, vai depender da instrução usada. A partir da pagina 21 tem notas explicativas de como usar cada uma.

    O problema é que ao usar a variável  “ValorAbatimento” a impressão no boleto sai a mensagem desse abatimento, sendo que neste caso não existe abatimento e sim a multa. Isso por que no “ACBrBoleto” na “AdicionarMensagensPadroes” verifica se tem valor e imprime.

    Sendo assim o boleto sai errado e a remessa sai correta, pois usando a instrução “24 - Multa de R$ _____após o vencimento”, passando o valor da multa para o a variável “ValorAbatimento” a remessa gera correta.

    figura01.JPG

    figura02.JPG

    Para não mexer o “ACBrBoleto” sugiro usarmos a variável “PercentualMulta” e no “ACBrBancoHSBC” fazer o tratamento dela, como por exemplo:

    Se as instruções forem para multa usar a variável “PercentualMulta” senão usar “ValorAbatimento”.

    O que vocês acham? Alguém tem alguma sugestão?

    Pensei nisso visto que a variável multa já e tratada na mensagem do “ACBrBoleto”, ou seja a impressão do boleto sairá correta, porém, essa variável não é usada no “ACBrBancoHSBC”.

    Obs.: Caso alguém esteja imprimindo os boletos com a multa e gerando a remessa com ela sem problemas no HSBC, favor me informar como estão usando.

    • Curtir 2
  6. Bom dia,

    O ideal é seguir o que o manual diz, por exemplo, referente ao boleto, no manual do Bradesco na pag 32 explica sobre agência / código do beneficiário. Que deverá ser preenchido com a agência com 4(quatro caracteres) - digito da agência / Conta de Cobrança com 7(sete) caracteres - Digito da Conta. Ex. 9999-D/9999999-D

    Já referente ao arquivo remessa, no caso CNAB400 na pag 10 fala das posições 021 a 037 (Identificação da Empresa Beneficiária no Banco) - Zero, Carteira, Agência e Conta - Corrente. Fazendo também referencia a pag 17 que explica o tamanho de cada um destes campos.

    Conversa com ela com base no manual, com certeza ficará mais fácil tanto para você quanto para ela chegarem a um entendimento sobre o que deve fazer, se é que tem alguma coisa a fazer.

    Att.

  7. Em 02/02/2016 at 15:47, Régys Silveira disse:

    Geralmente o cronograma é assim: 6 meses de piloto, 6 meses de facultativo, ai sim começam a obrigar por código de atividade ou faturamento anual.

     

    Você tem razão Régys, em entrevista a um jornal local do estado, o  subsecretário da Receita esclareceu algumas dúvidas e disse que o prazo para o projeto piloto vai até 31/05/2016

    A entrevista completa pode ser vista no link http://g1.globo.com/espirito-santo/noticia/2016/02/governo-do-es-lanca-nota-fiscal-eletronica-para-reduzir-custos.html

     

  8. Realmente Elton tem alguns tópicos sobre migração, porém, como temos a previsão do fim do suporte do ACBr em agosto, acredito que muitos desenvolvedores estarão empenhados neste trabalho de migrar. Um tópico especifico neste momento seria de ajuda para concentrarmos essas informações nele, ao invés de um falar sobre migração de 7 para 2010, já outro fala do X2, tem do X3... e por ai vai.

    O empenho que o pessoal irá fazer até agosto irá demandar muita informação, sendo assim, o ideal seria concentrar essas muitas informações em um lugar especifico.

    • Curtir 1
  9. Excelente iniciativa Carlos,

    Esse novo tópico apesar de não ser tratado assunto do ACBr, mas sim de outros componentes que o pessoal usa no Delphi7,  será de grande ajuda para aqueles que não estão de acordo com a migração por estarem presos a componentes do Delphi7 e talvez não encontrarem uma solução compatível com uma versão mais atual do Delphi.

    Talvez neste tópico seja sinalizado o componente do Delphi7, para que ele serve e um equivalente ao Delphi mais atual.

    Espero que criem esse tópico.

    • Curtir 1
×
×
  • 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.