-
Total de ítens
172 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por leotelles
-
-
Deco Siqueira, eu só conhecia a propriedade Sacado.Avalista, não tinha conhecimento da Sacado.SacadoAvalista e todos os outros campos que podemos acessar a partir disso. Tendo essa informação, creio que será simples implementar a correção para o problema.
Quanto ao arquivo de exemplo que você me mandou, está diferente do arquivo gerado pelo meu teste aqui, pois no meu faltou justamente a informação do CNPJ do Sacador/Avalista. Agora que sei que existe a propriedade Sacado.SacadoAvalista.CNPJCPF, vou tentar efetuar as modificações necessárias e, se conseguir, postarei aqui para análise dos moderadores.
-
Entendi...
quando inserir o sacador avalista, o campo de mensagem que foi ocupado ficaria em uma segunda linha, no exemplo em anexo, a mensagem que vai é de protesto que é obrigatório para título com registro.
Em relação à essa questão da mensagem, o manual do banco diz o seguinte:
Sacador Avalista
335 a 394 - 2ª Mensagem/Sacador Avalista - (pode ser utilizado para a finalidade de Sacador/Avalista ou mensagem)
Este campo poderá ser utilizado para informar:
Somente Sacador/Avalista, ou Somente Mensagem.Em relação à correção que eu fiz na unit do Bradesco, acho que cometi um equívoco. Analisando a tabela com as posições do arquivo de remessa no manual, não notei que havia uma referência de uma observação a ser considerada, sobre a decomposição do campo Sacador/Avalista. Na alteração que eu fiz, todas as posições receberão o nome do Sacador/Avalista, mas na verdade o campo deve ser decomposto conforme abaixo:
Decomposição do Campo15 - Numérico
CNPJ/CPF do Sacador Avalista (o critério para preenchimento, deve ser o mesmo tanto para o CNPJ como para o CPF, ou seja, iniciando da direita para a esquerda:
2 posições para o controle
4 posições para filial
9 posições para o CNPJ/CPF
Obs.: No caso de CPF, o campo filial deverá ser preenchido com Zeros.02 - Brancos
43 - Sacador / AvalistaEstou disposto a fazer as devidas alterações no fonte, mas peço uma orientação dos moderados ou outros membros quanto a primeira parte do campo (15 - Numérico). Seria necessário criar uma nova propriedade no componente que armazenará o CNPJ/CPF do Sacador/Avalista ou já existe algo do tipo? Se for necessário criar, como proceder?
Obs.: essa informação do CNPJ/CPF do Sacador/Avalista seria necessária também para as posições 155 a 169 do Segmento Q do arquivo de remessa da Caixa.Peço desculpas pelo equívoco.
-
Deco Siqueira, sinceramente acho que não compreendi a sua dúvida. O que exatamente você quer saber em relação a esse exemplo que você me mandou comparado com os testes que eu fiz aqui?
-
Boa tarde.
Acabei de fazer duas alterações bem simples. Segue abaixo a descrição do que foi alterado e em anexo as units para análise dos moderadores.
Na unit ACBrBancoCaixa do trunk2, alterei a linha 528 da seguinte maneira:
ANTES: PadRight('', 40, ' ') + // 170 a 209 - Nome do sacador/avalista
DEPOIS: PadRight(Sacado.Avalista, 40, ' ') + // 170 a 209 - Nome do sacador/avalistaAntes, as posições referentes ao nome do sacador/avalista não estavam recebendo valor algum. Agora estão recebendo o valor do campo Sacado.Avalista.
Na unit ACBrBancoBradesco do trunk2, alterei a linha 320 da seguinte maneira:
ANTES: PadRight( MensagemCedente, 60 );
DEPOIS: PadRight(IfThen((Sacado.Avalista <> ''), Sacado.Avalista, MensagemCedente), 60);Antes, as posições referentes ao campo que, segundo o manual, chama-se "Sacador/Avalista ou 2ª Mensagem", estava recebendo o valor do campo MensagemCedente. Agora, fiz a seguinte verificação: se o campo Sacado.Avalista está preenchido, usa ele, senão usa o campo MensagemCedente.
Peço, por gentileza, que os moderadores analisem se esta é a melhor solução para o problema e subam para o SVN caso esteja tudo OK.
-
Obrigado pela resposta, Juliana! Assim que for possível, efetuarei as alterações, anexando os fontes aqui.
-
Bom dia.
Estou implementando os boletos do Bradesco (CNAB400) e da Caixa Econômica Federal (SIGCB240) usando o ACBrBoleto. Tenho dúvidas em relação ao campo Sacador/Avalista do arquivo de remessa de ambos os bancos.
No manual do Bradesco, vi que as posições correspondentes à esta informação vão de 335 a 394 (60 posições). O nome do campo no manual está "Sacador/Avalista ou 2ª Mensagem". Quando imprimo o boleto, o nome do Sacador/Avalista aparece normalmente na impressão, mas na remessa, nas posições destinadas à essa informação, aparece apenas uma mensagem definida pelo usuário. No fonte (ACBrBancoBradesco), está assim:
Linha 319 > padl( MensagemCedente, 60 );
Ou seja, as posições de 335 a 394 estão recebendo sempre o conteúdo do campo Titulo.Mensagem.
Já que o campo no manual é "Sacador/Avalista ou 2ª Mensagem", gostaria de saber se é possível definir se nessas posições da remessa deverá ser exibido o nome do Sacador/Avalista ou a mensagem. Nada vi no fonte algo que me permita escolher qual informação exibir, se já existir algo do tipo, peço orientação sobre como proceder, por favor.
Em relação à Caixa Econômica Federal, as posições correspondentes ao Sacador/Avalista vão de 170 a 209 (40 posições) do Segmento Q. No fonte (ACBrBancoCaixa), está assim:
Linha 518 > padL('', 40, ' ') + // 170 a 209 - Nome do sacador/avalista
Ou seja, as posições de 170 a 209 não estão recebendo informação alguma. Isso está certo? Há algum motivo para não passar o valor do campo Titulo.Sacado.Avalista para essas posições? Na impressão do boleto da caixa, o nome do Sacador\Avalista aparece normalmente, mas na remessa essa informação não aparece, ficando um espaço em branco.
Desde já agradeço.
-
O artigo que você me indicou me ajudou muito, João. Muito obrigado pela resposta!
-
Bom dia, amigos.
Estou tentando criar o seguinte campo calculado no Firebird (Computed Source):
ALTER TABLE CONTAS_RECEBER ADD CR_OPERACAO COMPUTED BY (CASE WHEN (AR_CODIGO > 0) THEN 'Armazenagem' WHEN (AFE_CODIGO > 0) THEN 'Aluguel/Expurgo da Armazenagem' WHEN (BA_CODIGO > 0) THEN 'Pesagem' WHEN (CF_NUM_CONHECIMENTO > 0) THEN 'CTe' WHEN (RECP_CODIGO > 0) THEN 'Recálculo de Parcelas' WHEN (LOC_CODIGO > 0) THEN 'Locação Gerador' WHEN (ADT_CODIGO > 0) THEN 'Aditamento Gerador' WHEN (MAN_CODIGO > 0) THEN 'Manutenção Gerador' WHEN (ENG_CODIGO_ANDAMENTO > 0) THEN 'Andamento Engenharia' WHEN (ENG_CODIGO_ETAPA > 0) THEN 'Etapa Engenharia' WHEN (ENG_CODIGO > 0) THEN 'Contrato Engenharia' WHEN (NFS_CODIGO > 0) THEN 'Nota Fiscal de Serviço' WHEN (VEN_COD_PEDIDO > 0) THEN 'Venda' ELSE 'Lançamento Manual' END)
O problema é que se eu deixar os acentos nas strings, dá erro na hora de executar o script. Se eu tirar todos os acentos, funciona normalmente e consigo criar o campo. Alguém saberia me dizer por que o erro ocorre e se existe uma forma de criar esse tipo de campo com os acentos? Obs: no meu banco, existem vários registros em várias tabelas que têm acento nos campos varchar e tudo funciona normalmente, só na criação desse campo calculado estou tendo esse tipo de problema.
-
Ok. Vou analisar a do banco Sicredi e tentar fazer para o Santander. Obrigado pela resposta.
-
Bom dia.
Um de nossos clientes está emitindo boletos do Santander pelo ACBrBoleto, que implementamos em nosso sistema. Ao tentar enviar um arquivo de remessa (240 posições), o banco informou o seguinte:
Segmento P
Posição 118 > contém o valor 1, deve conter o valor 2 (Código do juros de mora)Segmento R
Posição 066 > contém o valor 1, deve conter o valor 2 (Código da multa: 1- Valor fixo, 2- Percentual)Em relação à Posição 118 do Segmento P, analisando o código fonte (ACBrBancoSantander), encontrei o seguinte:
if (ValorMoraJuros > 0) then begin STipoJuros := '1'; // Valor por dia // STipoJuros := '2'; // Taxa Mensal if DataMoraJuros <> 0 then sDataMoraJuros := FormatDateTime('ddmmyyyy', DataMoraJuros) else sDataMoraJuros := padR('', 8, '0'); end else begin sDataMoraJuros := padR('', 8, '0'); STipoJuros := '3'; // Isento end;
Como o valor do juros é maior que zero, o campo referente ao tipo de juros recebe 1.
STipoJuros := '1'; // Valor por diaA linha onde o campo receberia o valor 2 (Taxa Mensal), que é o exigido pelo banco para o caso do meu cliente, está comentada.
Gostaria de saber por qual motivo essa linha foi comentada e se existe algum parâmetro que permite que o usuário defina se essa posição (118) receberá o valor 1 (Valor por dia) ou 2 (Taxa Mensal). Se não existe, seria possível e viável implementar tal parâmetro?Em relação à Posição 66 do Segmento R, analisando o código fonte (ACBrBancoSantander), encontrei o seguinte:
{SEGMENTO R} Result := Result + #13#10 + '033' + // 001 - 003 / Código do Banco na compensação '0001' + // 004 - 007 / Numero do lote remessa '3' + // 008 - 008 / Tipo de registro IntToStrZero(ISequencia ,5) + // 009 - 013 / Número seqüencial do registro no lote 'R' + // 014 - 014 / Cód. Segmento do registro detalhe Space(1) + // 015 - 015 / Reservado (uso Banco) sCodMovimento + // 016 - 017 / Código de movimento remessa '0' + // 018 - 018 / Código do desconto 2 padR('', 8, '0') + // 019 - 026 / Data do desconto 2 IntToStrZero(0, 15) + // 027 - 041 / Valor/Percentual a ser concedido Space(24) + // 042 – 065 / Reservado (uso Banco) '1' + // 066 - 066 / Código da multa padR('', 8, '0') + // 067 - 074 / Data da multa IntToStrZero(round(ValorDocumento * PercentualMulta), 15) + // 075 - 089 / Valor/Percentual a ser aplicado Space(10) + // 090 - 099 / Reservado (uso Banco) MontarInstrucoes1 + // 100 - 139 / Mensagem 3 // 140 - 179 / Mensagem 4 Space(61) ; // 180 - 240 / Reservado (uso Banco) {SEGMENTO R - FIM}
A posição 066 está recebendo o valor fixo 1 (Valor fixo), mas para o caso do meu cliente deveria ser informado o valor 2 (Percentual).
Pergunto também se seria possível e viável criar um parâmetro permitindo que o usuário defina o que será passado para essa posição. -
Ok. Obrigado pela resposta.
-
Boa tarde.
Estou testando a geração de remessa da CEF e me surgiu uma dúvida em relação ao campo Titulo.DataBaixa do ACBrBoleto. Obviamente essa informação se refere à data da baixa do boleto, mas o que isso significa exatamente? É a data em que o boleto "caiu na conta" da empresa, portanto devo informar após o boleto ter sido pago ou é a data em que o boleto deverá ser baixado pelo banco, portanto devo informar no momento em que gero o boleto?
-
Ok. Obrigado pela resposta.
-
Boa tarde, amigos!
Estou gerando uma etiqueta bem simples onde haverá um código de barras, a descrição do produto e o preço de venda. Como as etiquetas são pequenas (bobina com 3 colunas), preciso quebrar a descrição do produto em duas linhas. A etiqueta deverá ficar assim:
|| | |||| || |||
215-Descrição do
Produto 215
R$ 20,00Há alguma propriedade ou método do ACBrETQ que pode facilitar a minha vida em relação a isso ou eu vou ter que quebrar a linha na "unha" mesmo?
-
Vou fazer desse jeito. Obrigado pela dica!
-
Obrigado pela resposta, Daniel!
Aproveito o tópico para tirar outra dúvida parecida: existe uma maneira de limitar o tamanho do texto (função ImprimirTexto)?
Por exemplo: tenho dois textos na mesma linha e gostaria que o primeiro fosse "cortado" para não ser impresso em cima do segundo.
Nome do fornecedor-: Fornecedor Exemplo Para Limite do Campo Texto
Código: 123456
Gostaria que ficasse assim:
Fornecedor Exemplo Para Li 123456
Existe alguma forma de fazer essa limitação? Nos testes que eu fiz, o componente imprimiu o nome inteiro, encobrindo o código.
-
Boa tarde!
É possível definir um comprimento máximo para o código de barras que é impresso no ACBrETQ? Passo '1B' para o parâmetro TipoBarras do método ImprimirBarras. Se o código tem 5 dígitos, por exemplo, o comprimento das barras vai até o meio da etiqueta; se possui 10 dígitos, o comprimento ocupa toda a etiqueta. Há alguma maneira de definir um comprimento fixo para as barras de maneira que a largura delas se ajuste para não ultrapassar o limite definido?
Vou dar um exemplo bem simples para facilitar a compreensão do meu problema:
Como está agora:
||| || || |||| || ||||||
12345
|| || || ||||| |||| | || ||| || |||| || ||| | ||| ||
1234567890
Gostaria de saber se é possível deixar assim (em relação ao comprimento):
|| || | || || || ||| || | ||||||
12345
| || || || || || |||| ||| || |
123456789
-
Bom dia.
Ok, Juliana. Muito obrigado pela ajuda!
-
Bom dia. Estou tentando imprimir uma imagem no demo do ACBrEtq mas não estou conseguindo. A etiqueta sai em branco. Tentei com a imagem pcx e a imagem bmp do demo e nada... Minha impressora é uma Elgin L-42, estou trabalhando com o modelo PPLB. Alguém já usou essa impressora e teve problemas? Vi vários outras postagens aqui no fórum sobre problemas com impressão de imagem na etiqueta, mas nenhuma solução proposta resolveu meu problema.
Obs: através do software do fabricante consigo imprimir imagens normalmente. Testei uma no formato bmp e deu certo. De acordo com o manual, a impressora suporta os formatos HEX, PCX, BMP e IMG.
-
Na empresa onde trabalho, estamos migrando da ferramenta CobreBemX para o ACBrBoleto. Como algumas coisas são diferentes de um para o outro, surgem dúvidas. Para exemplificar melhor o meu caso, abaixo estão informações do site da Cobre Bem Tecnologia (usei este exemplo porque é o que funciona hoje no nosso sistema).
Qual carteira do Banco do Brasil devo utilizar?
Vamos utilizar a carteira 17 como exemplo, porém este se aplica a qualquer carteira do Banco do Brasil,
Para saber qual carteira 17 correta a ser utilizada, verifique o Código do Convênio:
- Caso o Código do Convênio tenha 6 dígitos, deverá ser gerada uma licença para a carteira:
17 - Direta Especial - Com Registro;
- Caso o Código do Convênio tenha 4 dígitos, deverá ser gerada uma licença para a carteira:
17-4 - Direta Especial - Com Registro Convênio 4 dígitos;
- Caso o Código do Convênio tenha 7 dígitos, deverá ser gerada uma licença para a carteira:
17-7 - Direta Especial - Com Registro Convênio 7 dígitos.
Em relação ao valor "019" ou "027", este se trata da variação da carteira e deverá ser informado à propriedade 'OutroDadoConfiguracao1' do objeto 'IContaCorrente'.
No caso que estou testando, o Código do Convênio do cliente tem 7 dígitos, portanto a carteira correspondente é a 17-7 - Direta Especial - Com Registro Convênio 7 dígitos. Observe que esse "-7" depois do número da carteira (17), não se trata da variação/modalidade. No meu caso, a variação é 027. Veja que na última linha do exemplo acima, é informado que o valor 027 deve ser informado em outro campo. Mas a questão é esse 7 que acompanha o 17.
Resumindo, meu caso é o seguinte: a carteira é 17-7 (de acordo com o exemplo acima) e a variação é 027.
Eu gravo o valor 027 no campo modalidade. Até aí tudo bem. A questão é o que gravar no campo carteira. Devo gravar só o 17 ou 17-7?
Essa dúvida me surgiu porque na ferramenta atual que usamos, o campo carteira recebe 17-7. Usando o ACBrBoleto, eu passei o 17-7 para o campo carteira, mas deu problema na remessa, pois no código do convênio do banco (posições 33 a 52) o "-7" aparecia, sendo que não deveria aparecer (no CobreBemX isso é tratado, pois na geração do arquivo de remessa o traço e o 7 são tirados e ele só passa o 17).
Como é isso no ACBrBoleto? Existe essa diferença entre 17-4, 17-7, etc? Ou no campo carteira eu só passo o valor 17 mesmo?
- Caso o Código do Convênio tenha 6 dígitos, deverá ser gerada uma licença para a carteira:
-
Alexandre, meu fonte realmente estava desatualizado e a linha em questão estava diferente. Atualizei e funcionou. Conforme você disse, a linha estando da maneira como você postou, dispensa as alterações que eu fiz. Muito obrigado pela ajuda.
- 1
-
Amigos, consegui solucionar o meu problema. Eu estava tentando imprimir o código de barras pelo padrão EAN-13 (E30) e não estava ficando na vertical. Mas vi que, para o meu caso, na verdade eu tenho que usar o padrão CODE128 (1B). Usando esse padrão, consegui girar o código de barras e deixá-lo na vertical sem problemas (orientação or270). Obrigados a todos pela disposição em ajudar.
-
Boa tarde. Em relação ao campo Titulo.Carteira, quando há diversas opções para cada número (ex: 17, 17/4, 17/7, etc) devo alimentar o campo apenas com o 17 (no caso) ou com os outros caracteres também?
-
O modelo é etqPPlb. De que maneira devo pesquisar para descobrir se esse recurso é suportado por esse modelo?
Sacador/Avalista Remessa Bradesco e Caixa
em ACBrBoleto
Postado
Você poderia, por gentileza, me informar o CNPJ do Sacador/Avalista que você usou no teste para eu verificar como foi tratado no arquivo que você disponibilizou?