-
Total de ítens
29 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por SaraHidalgo
-
-
Bom dia,
Caso ajude, conseguimos efetuar a leitura da balança Micheletti Mic3 com o Demo do ACBr utilizando o protocolo P03 na balança e modelo Toledo 2180 no demo.- 1
-
Boa tarde!
Encontramos um erro ao gerar o arquivo de remessa no padrão 240 do banco Sicredi.
No segmento Q, posição 152 a 153, deve ser enviado a UF do sacado, porém, no arquivo, é gerado com a literal "UF" ao invés de preencher com a UF informada no componente.
Fizemos a correção no arquivo, que está anexado a este post.
Trecho corrigido:
{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(
(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
PadLeft(OnlyNumber(Sacado.CNPJCPF), 15, '0') + // 019 a 033 - Número de inscrição
PadRight(TiraAcentos(Sacado.NomeSacado), 40) + // 034 a 073 - Nome
EndSacado + // 074 a 113 - Endereço
PadRight(TiraAcentos(Sacado.Bairro), 15) + // 114 a 128 - Bairro
Copy(PadLeft(OnlyNumber(Sacado.CEP),8,'0'),1,5) + // 129 a 133 - CEP
Copy(PadLeft(OnlyNumber(Sacado.CEP),8,'0'),6,3) + // 134 a 136 - Sufixo do CEP
PadRight(TiraAcentos(Sacado.Cidade), 15) + // 137 a 151 - Cidade
// PadLeft(UF, 2) + // 152 a 153 - Unidade da Federação
PadLeft(Sacado.UF, 2) + // 152 a 153 - Unidade da Federação
TipoAvalista + // 154 a 154 - Tipo de inscrição
PadRight(Sacado.SacadoAvalista.CNPJCPF, 15, '0') + // 155 a 169 - Número de inscrição
PadRight(TiraAcentos(Sacado.SacadoAvalista.NomeAvalista),40,' ') + // 170 a 209 - Nome do sacador/avalista
PadRight('', 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
Obrigada. -
Bom dia,
Obrigada pelas informações! -
Bom dia a todos.
Existe algum componente que eu possa usar para interpretar um teclado programável, aqueles usados em frente de caixa?
Obrigada. -
Bom dia,
Ok, obrigada!- 1
-
Boa tarde!
Procurei no fórum mas não encontrei.
Existe em algum lugar uma listagem com todos os Bancos e Carteiras que o ACBr suporta?Obrigada!
-
Bom dia!
Continuo no aguardo de uma resposta sobre a solução proposta!
Obrigada. -
Bom dia!
Algum retorno sobre essa alteração?
Obrigada.
-
Bom dia!
Estou no processo de homologação da carteira Com Registro do HSBC em um cliente, e encontrei um problema ao ler o arquivo de retorno no padrão CNAB400.
A mensagem original era "Cedente do arquivo inválido. Informado = '11251477284' Esperado = '' ".
Trecho do código da leitura do cedente:
rCodigoCedente := Copy(ARetorno[0], 109, 11);
Mas, no manual do banco da cobrança registrada, este campo é reservado ao banco.
Fiz uma alteração no código, de acordo com o manual do site do banco, prevendo ainda o caso da carteira sem registro:
if Trim(Copy(ARetorno[0], 12, 15)) = 'COBRANCA' Then
rCodigoCedente := Copy(ARetorno[0], 34, 11)
else
rCodigoCedente := Copy(ARetorno[0], 109, 11);
Além disso, precisei alterar o código onde os campos são comparados, pois era realizada uma conversão de string para inteiro estourando o valor máximo permitido para este tipo de dado:DE:
if not(LeCedenteRetorno) and
(StrToIntDef(rCodigoCedente, -1) <> StrToIntDef(OnlyNumber(Cedente.CodigoCedente), 0)) then
raise Exception.Create(ACBrStr('Cedente do arquivo inválido' + #13 + #13 +
'Informado = ' + OnlyNumber(Cedente.CodigoCedente) + #13 +
'Esperado = '+ rCodigoCedente));
PARA:
if Trim(Copy(ARetorno[0], 12, 15)) = 'COBRANCA CNR' Then
if not(LeCedenteRetorno) and
(StrToIntDef(rCodigoCedente, -1) <> StrToIntDef(OnlyNumber(Cedente.CodigoCedente), 0)) then
raise Exception.Create(ACBrStr('Cedente do arquivo inválido' + #13 + #13 +
'Informado = ' + OnlyNumber(Cedente.CodigoCedente) + #13 +
'Esperado = '+ rCodigoCedente))
else
if not(LeCedenteRetorno) and
(rCodigoCedente <> OnlyNumber(Cedente.CodigoCedente)) then
raise Exception.Create(ACBrStr('Cedente do arquivo inválido' + #13 + #13 +
'Informado = ' + OnlyNumber(Cedente.CodigoCedente) + #13 +
'Esperado = '+ rCodigoCedente));
Em anexo a unit alterada para análise e aprovação.
Abaixo o link com o manual do banco.
https://www.hsbc.com.br/1/PA_esf-ca-app-content/content/hbbr-pws-gip16/portugues/business/comum/pdf/cob400_jan.pdf
Obrigada! -
Boa tarde,
Estou configurando uma carteira do Santander (101-Rápida com Registro) com o campo "Aceite" = S.
O problema está no arquivo de remessa, que trabalha com os valores "N" ou "S", e, ao importar este arquivo no site do banco, o mesmo é rejeitado com o erro "Código de aceite diferente de (A/N)".
No manual do banco está definido que o campo é travado como "N", tanto no arquivo de 400 quanto de 240 posições, mas, no site no banco é aceito o valor "A" ou "N".Fiz a alteração no fonte:
240 posições:
{SEGMENTO P}
Result := '033' + // 001 - 003 / Código do Banco na compensação
........
Space(1) + // 106 - 106 / Reservado (uso Banco)
sEspecie + // 107 – 108 / Espécie do título
//ifThen(Aceite = atSim, 'S', 'N') + // 109 - 109 / Identif. de título Aceito/Não Aceito
ifThen(Aceite = atSim, 'A', 'N') + // 109 - 109 / Identif. de título Aceito/Não Aceito
FormatDateTime('ddmmyyyy',DataDocumento) + // 110 - 117 / Data da emissão do título
......
{SEGMENTO P - FIM}400 posições:
wLinha:= '1' + // 1- ID Registro
................
IntToStrZero( round( ValorDocumento * 100), 13) + // 127 a 139
'033' + aAgencia + // 140 a 147
// PadRight(aEspecie,2) + 'N' + // 148 a 150
PadRight(aEspecie,2) + // 148 a 149
ifThen(Aceite = atSim, 'A', 'N') + // 150
FormatDateTime( 'ddmmyy', DataDocumento ) + // 151 a 156
..................
IntToStrZero( aRemessa.Count + 1, 6 ); // 395 a 400
Em anexo o arquivo .pas para análise e aprovação.
Obrigada.
-
Boa tarde,
Esqueci de mencionar que estou gerando o arquivo de remessa no layout de 400 posições.
Analisando os fontes mais detalhadamente, resolvi gerar o arquivo de 240 posições, que atribui valor ao campo "Código da Carteira" no arquivo de remessa a partir da propriedade "CaracTitulo".
Desta forma consegui utilizar a propriedade "Carteira" com a literal "RCR" para ser impressa no boleto mantendo os valores antigos no arquivo de remessa.Obrigada.
-
Boa tarde!
Estou em processo de homologação de uma carteira do Santander, a Rápida com Registro (101), e o banco precisa das seguintes configurações:
Carteira a inserir na remessa: 5 – Cobrança Rápida com Registro (cliente imprime)
Carteira a inserir nos boletos: RCR (corpo do boleto) / 101 (linha digitavel/código de barras)Hoje, para emitir o boleto, eu informo o valor "101" na propriedade ACBrTitulo.Carteira e "101" em ACBBoleto.Cedente.Modalidade.
Desta forma, a linha digitável fica correta e o arquivo de remessa também, mas, na impressão do boleto, o banco precisa que o campo "Carteira" seja "RCR".
Alguém já passou por um caso parecido?
Pensei em utilizar algum outro campo do componente na impressão do boleto e informar o "RCR", mas tenho medo que comprometa outros bancos.Obrigada.
-
Boa tarde!
Estou com os fontes atualizados, onde o código do cedente é gerado pela função MontarCampoCodigoCedente.
Para resolver este problema, alterei o report de impressão do boleto (já utilizo um diferente do "oficial" disponibilizado no SVN) onde, antigamente, o campo do código do beneficiário era composto pela agência + código do cedente e, após alteração para utilização da função MontarCampoCodigoCedente a agência ficou "duplicada". Removi então o campo agência do report, mantendo somente o campo código do cedente.
Espero ter ajudado.
-
Farei isso, obrigada!
-
Boa tarde,
O gerente da caixa disse que este campo precisa ser em branco pois não há essa troca de arquivo entre bancos.
Ele está realizando a validação do arquivo por aquele validador do banco Caixa e ele que não está aceitando (mando imagem em anexo), não sei se pode ser algo na versão do validador que ele utiliza, já que, pelo que vi, essa alteração no fonte de enviar brancos para enviar zeros foi feita mês passado.
De qualquer forma agradeço.
-
Bom dia Juliana,
Irei contatar o banco sobre este detalhe.
Obrigada!
- 1
-
Bom dia!
Estou em processo de homologação de uma carteira Caixa utilizando o layout CNAB240, e o banco me retornou que no segmento Q, posição 210, campo "Cód. Bco. Corresp. na Compensação" deveria estar em branco ao invés de "000".
No manual vi que está especificando que o campo é numérico, porém, deve ser preenchido em branco:
Código do Banco Correspondente na Compensação
Código fornecido pelo Banco Central para identificação na Câmara de Compensação, do Banco ao qual
será repassada a Cobrança do Título.
Deixar branco (Somente para troca de arquivos entre Bancos).No fonte está passando travado o valor "000".
Inclusive procurei no fórum e vi que há alguns meses o arquivo de remessa foi recusado por conter estes espaços em branco.
Alguém com o mesmo erro? Será alguma configuração interna do banco para o CNPJ que estou configurando.
Obrigada!
-
ACBrBoletoFCFR -> function PrepareBoletos
Está da seguinte forma no svn:
...
with DmBoleto.cdsCedente do
begin
Append;
FieldByName('Nome').AsString := Cedente.Nome;
FieldByName('CodigoCedente').AsString := Banco.MontarCampoCodigoCedente(Titulo); //Cedente.CodigoCedente;
FieldByName('CodigoTransmissao').AsString := Cedente.CodigoTransmissao;
FieldByName('Agencia').AsString := Cedente.Agencia;
FieldByName('AgenciaDigito').AsString := Cedente.AgenciaDigito;....
Pelo que vi, essa alteração é recente (29/02), porém, no layout de impressão do boleto, o campo Agência/Código Beneficiário é preenchido com a Agencia e o Código do Cedente.
Em alguns bancos, na função MontarCampoCodigoCedente o campo Agência é informado, então o mesmo acaba sendo repetido no boleto impresso.
Utilizei da forma antiga (FieldByName('CodigoCedente').AsString := Cedente.CodigoCedente;) e o campo foi impresso corretamente.
-
Bom dia Juliana,
Obrigada pela ajuda, realmente encontrei a resposta neste tópico.
Meu problema estava no campo Titulo.CodigoMora que não estava sendo preenchido.
Obrigada.
- 1
-
Também estou com este problema e passo os valores as propriedades da mesma forma.
- 1
-
Bom dia,
Estamos em processo de homologação de uma carteira do banco SICOOB e encontramos um problema no arquivo de remessa gerado.
Estou utilizando o layout c240, porém a remessa está sendo gerada com 241 posições.
Alguém já teve este problema? É algum campo que estou informando indevidamente?
Obrigada!
-
Refiz a instalação do ACBr com a opção “Deixar somente a pasta LibXXX no library path” desmarcada e consegui compilar o projeto.
Há algum problema em deixar a instalação desta forma?
Obrigada.
- 1
-
Já fiz isso, mas o erro persiste.
Inclusive eu usei o "Delete Invalid Paths".
Será que é algo com a versão do Fortes Report que eu instalei?
-
Olá Marcelol, Juliomar.
Rodei o bat e apaguei os registros, apaguei a pasta que usava e recriei de novo, do zero, a partir do trunk2, mas continuo com o mesmo erro :/
Tenho que remover algo de dentro do meu projeto?
- 2
SAT duplicando Cupons
em ACBrSAT
Postado
Boa tarde,
Em um cliente aconteceu algo parecido, porém o registro está um pouco diferente no log -> em anexo.
No aplicativo gerou 1 cupom mas no SAT criou 2, inclusive foram salvos 2 XMLs na pasta.
No log, o comando "EnviarDadosVenda" foi chamado duas vezes em seguida (16:47:35:036 e 16:47:39:662) para o mesmo cupom (log), um em cada sessão. Posteriormente a resposta foi recebida com um mesmo número de sessão porém referenciando os dois cupons, cada um enviado em uma sessão diferente.
Isso aconteceu mais de uma vez na mesma empresa dentro de um mês.
É possível enviar dois cupons de uma vez desta maneira ou seria alguma outra coisa?
Obrigada.
ACBrSAT.txt