Emerson Teixeira
-
Total de ítens
234 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Emerson Teixeira
-
-
1 hora atrás, Lowry David da Silva Pereira Reis disse:
Muito obrigado pela atenção
testei novamente com a sua Unit e agora ela escreve corretamente a agencia na impressão e na remessa.
só precisei alterar a function abaixo para poder gerar a linha digitável corretamente.
function TACBrBancoSafra.MontarCodigoBarras(const ACBrTitulo: TACBrTitulo): string;
var
CodigoBarras, FatorVencimento, DigitoCodBarras ,
valorDocumento, agencia, agenciaDigito, conta,
ContaDigito, NossoNumero: string;
begin
with ACBrTitulo.ACBrBoleto do
begin
FatorVencimento := CalcularFatorVencimento(ACBrTitulo.Vencimento);
valorDocumento := IntToStrZero(Round(ACBrTitulo.ValorDocumento * 100), 10);
agencia := PadRight(RightStr(Cedente.Agencia, 5), 5, '0'); //***ALTERADO DE 4 PARA 5****// aqui 4 posicoes da agencia + 1 posicao do digito pagina 23
agenciaDigito := PadLeft(Cedente.AgenciaDigito, 1, '0');
conta := PadLeft(Cedente.Conta, TamanhoConta, '0');
ContaDigito := PadLeft(Cedente.ContaDigito, 1, '0');
NossoNumero := PadLeft(RightStr(ACBrTitulo.NossoNumero,TamanhoMaximoNossoNum),TamanhoMaximoNossoNum,'0') + CalcularDigitoVerificador(ACBrTitulo);CodigoBarras := IntToStr(Banco.Numero) + '9' + FatorVencimento + valorDocumento +
'7' + agencia + trim(agenciaDigito) + trim(conta) + ContaDigito + NossoNumero + '2';DigitoCodBarras := CalcularDigitoCodigoBarras(CodigoBarras);
end;Result := IntToStr(Numero) + '9' + DigitoCodBarras + Copy(CodigoBarras, 5, 39);
end;
olha o que diz o manual sobre o tamanho da agencia...
Sao 5 digitos = 4 da agencia + 1 do digito, no seu codigo ficaria 6 digitos.
confirma se sua conta esta sendo informada com o tamanho correto 8 posicoes da conta + 1 posicao do digito da conta = 9 posicoes com digito = pagina 4 manual.
att
-
1 hora atrás, Murilo Neves disse:
Lowry, também presenciei um problema semelhante com a agência. Realizei algumas modificações na unit do Emerson e logo foram homologadas pelo banco.
bom dia @Murilo Neves.
quais foram as alterações que você fez?
Pelo que vi aqui, vc mudou a ordem o campo SeuNumero/NumeroDocumento, apagou os comentários que fiz, aparentemente não vai resolver o problema do @Lowry David da Silva Pereira Reis
o que pude observar é que o no caso da agencia 05200 e a função de montar o codigo de barras esta removendo este zero a esquerda, no meu caso a agencia nao tinha esse zero a esquerda.
Ajustei a unit novamente, favor passar a agencia = 052
se funcionar, me avise...
att
- 1
-
1 hora atrás, Tercio Lins disse:
Alterações feitas:
constructor TACBrBancoSafra.Create(AOwner: TACBrBanco);
begin
inherited Create(AOwner);
fpDigito := 7;
fpNome := 'Banco Safra';
fpNumero := 422;
fpTamanhoAgencia := 5;
fpTamanhoConta := 9;
fpTamanhoCarteira := 1;
fpTamanhoMaximoNossoNum := 9;
end;
procedure TACBrBancoSafra.GerarRegistroTransacao400(ACBrTitulo: TACBrTitulo;
aRemessa: TStringList);
aAgencia := PadLeft(RightStr( ACBrBoleto.Cedente.Agencia, 5), 5, '0');
aConta := PadLeft(ACBrBoleto.Cedente.Conta, 9, '0');
Sem adicionar os DV;
Uma observação:
Na procedure:
procedure TACBrBancoSafra.GerarRegistroHeader400(NumeroRemessa: integer;
ARemessa: TStringList);with ACBrBanco.ACBrBoleto.Cedente do
begin
wLinha := '0' + // ID do Registro Header
'1' + // ID do Arquivo de Remessa
'REMESSA' + // Literal de Remessa
'01' + // Código do Tipo de Serviço
PadRight('COBRANCA', 15) + // Descrição do tipo de serviço + "brancos"
PadLeft(CodigoCedente, 14, '0') + // Codigo da Empresa no Banco
Space(6) + // "brancos"
PadRight(Nome, 30) + // Nome da Empresa
IntToStr(Numero) + // Código do Banco - 237
PadRight('BANCO SAFRA', 15) + // Nome do Banco - BANCO SAFRA + "brancos"
FormatDateTime('ddmmyy', Now) + // Data de geração do arquivo
Space(291) + // "brancos"
IntToStrZero(NumeroRemessa, 3) + // Nr. Sequencial de Geração do Arquivo
IntToStrZero(1, 6); // Nr. Sequencial do Registro no ArquivoARemessa.Text := ARemessa.Text + UpperCase(wLinha);
end;
O CodigoCedente é colocado sem a concatenação dos dois códigos, ou seja, ele terá que ser alimentado antes nos dados do cedente.
Poderia-se colocar também, o CodigoCedente direto na procedure GerarRegistroTransacao400.
Boa tarde Tercio.
Usa a unit que postei acima, nela consta todos estes ajustes de tamanho de conta, nosso número, código do cedente entre outras coisas
Tenho vários clientes usando o banco safra
Att
-
21 minutos atrás, ssouzaacbr disse:
Bom dia amigos, podem me dizer se existe uma propriedade para mostrar a quantidade de parcelas na impressão do tipo carnê? no meu caso, quando defino que é do tipo carnê ele só mostra duas parcelas em cada página.
Obrigado...
bom dia
@ssouzaacbr a unit que esta no repositório está errada, pois após atualizar o acbr tive problemas com vários clientes que usavam o boleto banco safra a tempos, por isso tive que ajusta-la novamente.
se quiser comparar as units, as alterações que fiz estão documentadas, está bem fácil de entender.
att.
-
13 horas atrás, Lowry David da Silva Pereira Reis disse:
eu só tenho o retorno do e-mail com todos os dizeres, alguns eu ja resolvi, ficaram apenas esses dois citados.
NO BOLETO:
- alterar campos marcados em vermelho no boleto modelo abaixo:
- o campo nosso número informado no boleto está divergente do informado na remessa, o mesmo deve ser idêntico contendo 9 números sem cálculo do dígito final;
- ag e conta deve seguir o formato 05200 / 005834915;
- o nome do banco não deve conter logo, somente BANCO SAFRA S/A.;
- alterar mensagem de local de pagamentos;
- recalcular linha digitável e código de barras conforme orientação abaixo:
bom dia.
esta usando a unit que passei?
14 horas atrás, Juliana Tamizou disse:Boa tarde.
Você tem um manual fornecido do banco com estas exigências documentadas? Vale lembrar que temos outros membros da comunidade emitindo para este banco.
At.
Bom dia Juliana.
para fazer as alterações que estão na unit do outro post, segui o manual que esta no repositório do acbr, estas alterações estão comentadas na unit, informei a pagina em cada mudança.
att.
- 1
-
6 horas atrás, Lowry David da Silva Pereira Reis disse:
Bom dia, iniciei um processo de homologação do banco safra (cobBancoSafra) e me deparei com dois problemas que não estou conseguindo resolver...
1º o nosso numero gerado no arquivo de remessa esta divergente do impresso pois ele esta adicionando um digito verificador na 9ª posição do NN.
IfThen(NossoNumero = '000000000', '000000000',
PadLeft(RightStr(NossoNumero,8),8,'0') +
CalcularDigitoVerificador(ACBrTitulo)) +não consegui realizar a impressão utilizando esse digito verificador.
2º o banco esta obrigando que não tenha uma logo e esteja escrito 'BANCO SAFRA S/A' em seu lugar, esse eu posso simplesmente alterar para que escreva o texto, mas na próxima vez que o ACBR for atualizado eu teria que alterar novamente.
boa tarde.
fiz alguns ajustes nessa unit, tente usar a que está neste post:
tenho varios clientes emitindo, inclusive fiz a homologação de mais 1 esta semana.
att
-
bom dia a todos,
ajustei a função de codigo do cendente, para impressão no boleto
att
-
17 horas atrás, pauloclv disse:
Boa tarde Emerson.
Olhando o manual entendo seu argumento.
O problema acaba sendo como cada manual identifica a informação SeuNumero.
Criei um novo tópico para que isso possa ser avaliado.
Obrigado.bom dia Paulo.
sobre a posição do campo, não vejo problema em estarem em lugares diferente desde que no retorno este campo tenha a mesma informação que foi passada na remessa.
tipo:
remessa
SeuNumero: 123456789
NumeroDocumento: 152345-1/6
e no retorno
SeuNumero: 123456789
NumeroDocumento: 152345-1/6
imagino que nesse caso a posição que o banco define o campo não faz diferença.
att.
abraço
-
1 hora atrás, pauloclv disse:
Bom dia.
Por exemplo na geração do registro 400 dos bancos Bradesco, Banco do Brasil, Caixa e Santander o campo SeuNumero é gerado na posição 38 a 62 e o campo NumeroDocumento na posição 111 a 120.
Então seguindo este padrão, o que estaria invertido é na geração do registro 400 e consequentemente no retorno do banco Safra deste arquivo enviado pelo Emerson.
Obrigado.boa tarde paulo.
fiz de acordo com o manual na remessa o campo seu numero aparece na posicao 111 a 120 conforme imagem
e o no retorno existe esta campo em duas posições 117 a 126 e 377 a 391 (achei estranho), porem mantive na posição 117 a 126 como estava antes da revisao 16972.
att
-
bom dia a todos.
segue unit homologada junto ao banco(layout boleto, remessa e retorno).
sobre o campo seu numero voltei o que era antes pois quebrou a compatibilidade.
att
-
Favor desconsiderar o ultimo arquivo.
Código de barras e linha digitável de acordo com manual de dezembro de 2017 que parece ser o ultimo para este banco.
fiz um boleto com as informações do manual para simular a linha digitável e o código de barras.
ag: 40-0;
cc: 27824-7
valor: 180,84
vencimento 23/02/2025
nosso numero 26173001.
- 1
-
fiz alguns ajustes e comentários na unit.
o cliente não estava conseguindo pagar o boleto, mensagem de código verificador inválido.
O código de barras e a linha digitável estão corretos, comparei com um boleto emitido pelo banco.
O arquivo de remessa ainda estou testando, como vi que estão alterando a unit, estou enviando a minha.
alterei isso tbm
Em 12/09/2019 at 08:52, pauloclv disse:Bom dia.
Na procedure GerarRegistroTransacao400
Foi feita alteração de
PadRight(SeuNumero, 25, ' ') + // 38 a 62 - Uso exclusivo da Empresa
para
Space(25) + // Uso exclusivo da EmpresaIsto faz uma diferença muito grande para nosso projeto porque usamos preferencialmente essa informação no retorno para fazer a baixa dos recebimentos.
Por isso peço que essa linha fique como estava antes da atualização.
Obrigado.
Em 13/09/2019 at 12:50, marcosfbm disse:Boa tarde, um problema que identifiquei na Remessa400 do Safra foi com relação ao Nosso Numero.
Apos atualizar os fontes e fazer os testes, precebi que esta sendo gerado o Nosso numero de formas distintas. Segue exemplo:
No metodo MontarCampoNossoNumero a seguir esta tudo OK;
function TACBrBancoSafra.MontarCampoNossoNumero(const ACBrTitulo: TACBrTitulo): string;
begin
with ACBrTitulo do
begin
Result := PadLeft(RightStr(NossoNumero,9),9,'0');
end;
end;Porem ao gerar a remessa ele gera da seguinte forma:
IfThen(NossoNumero = '000000000', '000000000',
PadLeft(RightStr(NossoNumero,8),8,'0') +
CalcularDigitoVerificador(ACBrTitulo))Ou seja...
Quando mando para a homologação vem uma rejeição, informando que o nossoNumero do boleto difere do NossoNumero da Remessa.
Atenciosamente...
obrigado
-
Em 01/08/2019 at 16:04, Italo Jurisato Junior disse:
Boa tarde a todos,
Encontra-se disponível os novos schemas que não tem mais a palavra "Eletrônico" na descrição do serviço bem como a inversão dos campos nDoc e dhEntrega.
Favor atualizar tudo, pois foi necessário alterar os fontes também.
boa tarde Italo.
estou transmitindo o evento usando o webservice de SP.
o erro que acontece é justamente na inversão dos campos.
(revision acbr 17448, instalado novamente)
-
-
Bom dia.
adicionei a função DescricaoToFormaPagamento na unit pcnconversao.
Caso considerem necessário favor subir ao svn.
obrigado
- 1
-
13 horas atrás, Leandro Vignoto disse:
Boa tarde..
As empresas que atendo tem 100% dos documentos com base no NSU.
Se ocorrer algum erro de "salto de nsu" o sistema apresenta as lacunas e faz as baixas.
Sim, ocorrem erros de comunicação com a sefaz (temporários), atrasos (sincronização sefaz estadual com ambiente nacional), certificados digitais, etc... tudo conforme previstos nas notas técnicas.
Att.
Leandro
Bom dia...
Aqui também funciona muito bem, com as mesmas ressalvas feitas pelo Leandro
att.
- 1
-
bom tarde a todos
sobre o Fortes notei o que o evento rlbItensServicoBeforePrint não estava vinculado ao dfm
segue unit para correção
abraços
- 1
- 1
-
bom dia a todos
ajustei a unit do banco safra para ficar de acordo com o manual.
a alteração no campo Nome Avalista Nome do Sacador Avalista X(30) posição 352 a 381 Vide Nota 6.1.9
Nota 6.1.9 - MENSAGENS Mensagem por título: Para utilização de mensagens no campo "INSTRUÇÔES" no corpo do boleto, será possível a utilização do campo "Nome do Sacador Avalista", sendo necessário a formalização junto ao Banco. Permite o envio de uma mensagem especifica, título a título, sendo impressa no campo instruções do boleto com o conteúdo de somente 28 primeiras posições.
obrigado
-
16 horas atrás, billbarsch disse:
olá pessoal,
emito NFSE (serviços) e mesmo que eu envie uma Razão social tipo: "TESTE"
a prefeitura retorna o nome da empresa que está lá na base deles ou seja retorna:
Empresa D & D Clinica de vacinas... (no xml)
Empresa D & D Clinica de vacinas (no PDF também)
O que devo fazer pra corrigir isso?
Como o xml é assinado eu nao devo alterar o xml manualmente ne, iria corromper o xml autorizado.
Tbm estou com este problema, para o provedor Ginfes (Votuporanga), o meu cliente está cadastrado na prefeitura com & e ao imprimir no Danfse apare amp;
att
- 1
-
boa tarde...
Ao gerar o arquivo do sped fiscal ao gerar o registro d500 a função StrToTpAssinante esta retornando o tipo errado...
segue unit corrigida
- 1
-
41 minutos atrás, mbarsil disse:
Bom dia, tive um problema parecido e usei a função "ConverteXMLtoNativeString" da AcbrUtil.
bom dia ..
tentei usar função ConverteXMLtoNativeString, mas ainda não funcionou.
o estranho é que se eu abrir o xml pelo stringlist do delphi, funciona.
Ex:
xml :TStringlist;
xml := TStringlist.create;
xml.LoadFromFile('Arquivo.xml', TEnconding.UTF8);
Se abrir o xml no i.e. mostra tudo certo, com acentos, mas ao abrir este mesmo arquivo pelo ACBrNFe1.NotasFiscais.LoadFromFile('Arquivo.xml'), fica com caracteres estranhos ex: APÓS SERVIÇO DE CALIBRAÇÃO (APÓS SERVIÇO DE CALIBRAÇÃO)
att.
-
5 minutos atrás, Denis Queiroz disse:
Opa Emerson bom dia, deixa eu ver se entendi, a praça que você acertou é referente ao Bradesco certo?
Bom então beleza, vamos aguardar o pessoal nos responder, a praça que acertei foi a do próprio Safra,
então temos dois "Bancos-Praça de cobrança" a acertar.
Obrigado, só nos resta aguardar.
Bom dia Denis
o ajuste que fiz foi para o banco SAFRA com correspondente BRADESCO
att
-
9 minutos atrás, Denis Queiroz disse:
Up. Desculpa o Flod, segue a unit já corrigida e homologada junto ao banco safra para implementação no SVN assim que possível.
bom dia a todos.
se puderem incluir estes arquivos, foram homologadas pelo banco safra tbm
-
Bom dia.
aqui acontece o seguinte.
tenho um arquivo xml de nf-e que pelo browser abre normal com acentos.
ao usar o ACBrNFe1.NotasFiscais.LoadFromFile();
na propriedate ACBrNFe1.NotasFiscais.Items[N].xml aparecem caracteres estranhos, exemplo no xml esta Acessórios,apos abrir pelo acbr fica Acessórios.
xml foi baixaido pelo site oficial da receita: http://www.nfe.fazenda.gov.br/portal/consultaRecaptcha.aspx?tipoConsulta=completa&tipoConteudo=XbSeqxE8pl8=
Estou usando delphi Tokyo 10.2.2
Homologação Banco SAFRA 422
em ACBrBoleto
Postado
mas nesse caso recomendo passar 0 como digito da agencia, pois pode quebrar a compatibilidade com quem esta usando esta unit.