-
Total de ítens
45 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por 7Master
-
-
Olá Juliana, tudo bem?
Estive conversando com o Regys e ele me pediu pra abrir um post aqui para correção do ACBrBancoNordeste.pas e tb ajudar as pessoas que não conseguiram homologar o BNB.
O layout deles realmente é bem confuso, no campo carteira eles informam que deve ter 1 posição. Ex: se a carteira for 21 informar 4 na remessa, porém no boleto tem que aparecer 21 na carteira. Só questão de estética, pois não ira influenciar em nada, mas por conta disso eles não homologam.
Então fiz a seguinte alteração:
constructor TACBrBancoNordeste.create(AOwner: TACBrBanco); begin inherited create(AOwner); fpDigito := 3; fpNome := 'Banco do Nordeste'; fpNumero := 4; fpTamanhoMaximoNossoNum := 7; fpTamanhoAgencia := 4; fpTamanhoConta := 7; fpTamanhoCarteira := 2; {alterei para 2, anteriormente valor 1} fSequencia := 1; end;
E pronto, os arquivos foram homologados.
A nota está em anexo.
-
3 minutos atrás, José M. S. Junior disse:
Bom dia,
Poderia anexar a página do manual onde apresenta essa divergência, para a possível correção.
Olá Junior, bom dia. Descobri que o problema não era na carteira e sim na função PadLeft, ela não esta 100%. Nesta função temos os parâmetros (string, qtde, caracter), ou seja, se quiser adicionar 5 zeros a esquerda, preencho PADLEFT('12345', 5,'0'), porém se essa string ja tiver 5 caracters ou mais ele ignora e deixa somente os zeros. Neste exemplo o retorno correto seria: 12345 mas ele retora 00000. Então quando ele vai montar o código de barra e pega a conta do cedente, o acbr ja traz ela com 7 dígitos, e ai quando uso PADLEFT(cedente.conta, 7, '0') ele retorna 0000000. No meu caso eu acrescentei a função RemoveZerosEsquerda .
Os atributos sempre estão vindo com zeros a esquerda mesmo sem ter. ex: Cedente.Conta, Cedente.Agencia. isso antes de montar o código de barras.
Class ACBrBancoNordeste CodigoBarras := IntToStrZero( Numero, 3 )+'9'+ FatorVencimento + IntToStrZero(Round(ACBrTitulo.ValorDocumento*100),10) + PadLeft(OnlyNumber(RemoveZerosEsquerda(Cedente.Agencia)),4,'0') + PadLeft(OnlyNumber(RemoveZerosEsquerda(Cedente.Conta)),7,'0') + PadLeft(Cedente.ContaDigito,1,'0') + ACBrTitulo.NossoNumero + CalcularDigitoVerificador(ACBrTitulo) + CarteiraToTipoOperacao(ACBrTitulo.Carteira) + '000';
-
Em 07/05/2018 at 09:32, 7Master disse:
Pessoal, estou homologando junto ao banco BNB boletos com a carteira 21 e layout 400. Os mesmos foram rejeitados na linha digitável. Quando fui verificar a function MontarCodigoBarras ela tem uma outra function chamada CarteiraToTipoOperacao, nesta função é onde está o problema.
function TACBrBancoNordeste.CarteiraToTipoOperacao(const Carteira: string):String; begin if Carteira = '1' then Result:= '21' else if Carteira = '2' then Result:= '21' //*Result:= '41' <--- Errado* else if Carteira = '4' then Result:= '21' else if Carteira = '5' then Result:= '41' else if Carteira = '6' then Result:= '31' else if Carteira = 'I' then Result:= '51' else Result:= Carteira; end;
-
Pessoal, estou homologando junto ao banco BNB boletos com a carteira 21 e layout 400. Os mesmos foram rejeitados na linha digitável. Quando fui verificar a function MontarCodigoBarras ela tem uma outra function chamada CarteiraToTipoOperacao, nesta função é onde está o problema.
function TACBrBancoNordeste.CarteiraToTipoOperacao(const Carteira: string):String; begin if Carteira = '1' then Result:= '21' else if Carteira = '2' then Result:= '21' //*Result:= '41' <--- Errado* else if Carteira = '4' then Result:= '21' else if Carteira = '5' then Result:= '41' else if Carteira = '6' then Result:= '31' else if Carteira = 'I' then Result:= '51' else Result:= Carteira; end;
-
Estou usando OpenSSL no Acbr, e o certificado A3, porém esta dando esse erro na hora de pegar os dados do certificado "TDFeOpenSS não suporta carta de certificado pelo número de série".
Minha configuração é a seguinte:
if CdsParametrosPATH_CERTIFICADO.AsString <> EmptyStr then
ACBrNFe.Configuracoes.Certificados.ArquivoPFX := CdsParametrosPATH_CERTIFICADO.AsString;
ACBrNFe.Configuracoes.Certificados.Senha := CdsParametrosSENHA_CERTIFICADO.AsString;
ACBrNFe.Configuracoes.Certificados.NumeroSerie := CdsParametrosSERIAL.AsString;
ACBrNFe.SSL.DescarregarCertificado;ACBrNFe.Configuracoes.Geral.ModeloDF := moNFe;
ACBrNFe.Configuracoes.Geral.VersaoDF := ve400;
ACBrNFe.Configuracoes.Geral.ExibirErroSchema := False;
ACBrNFe.Configuracoes.Geral.FormatoAlerta := 'TAG:%TAGNIVEL% ID:%ID%/%TAG%(%DESCRICAO%) - %MSG%.';ACBrNFe.Configuracoes.Geral.SSLLib := libOpenSSL; //libWinCrypt;
ACBrNFe.Configuracoes.Geral.SSLCryptLib := cryOpenSSL;//cryWinCrypt;
ACBrNFe.Configuracoes.Geral.SSLXmlSignLib := xsMsXml;
ACBrNFe.Configuracoes.Geral.SSLHttpLib := httpOpenSSL; //httpWinHttp;
ACBrNFe.SSL.SSLType := StrToSSLType('LT_TLSv1_2'); -
Ola amigo, eu preenchi assim ACBrIBGE1.BuscarPorNome(edtCidade.Text,edtuf.text, ok); mas ele esta retornando valores errados, ja coloquei as dlls novas tb. Pode postar aqui como vc fez?
-
Olá fiz todas as alterações que vi aqui e não tive sucesso, inclusive foi formatado o PC, meu estado é CE. Liguei para SEFAZ para saber existia alguma instabilidade e fui informado que está tudo ok, também perguntei alguns amigos que emitem a 4.0 e tb estava ok.
-
Descobrir o que era, vai a dica pra quem estiver com o mesmo problema.
ACBrNFe.Configuracoes.WebServices.TimeOut := 10000;
ACBrNFe.Configuracoes.WebServices.AguardarConsultaRet := 5000; // tempo padrão que vai aguardar para consultar após enviar a NF-e
ACBrNFe.Configuracoes.WebServices.IntervaloTentativas := 3000; // Intervalo entre as tentativas de envio
ACBrNFe.Configuracoes.WebServices.Tentativas := 10; // quantidade de tentativas de envio
ACBrNFe.Configuracoes.WebServices.AjustaAguardaConsultaRet := True; // ajustar "AguardarConsultaRet" com o valor retornado pelo webservice
-
Bom dia pessoal, ontem atualizei o ACBR e não sei se foi coincidência mas estou conseguindo enviar NFe em homologação CE. Ele consulta o Status normalmente mas na hora de enviar dar o erro: 12002 - O tempo limite da operação foi atingido... (segue imagem em anexo)
Li vários post aqui, já fiz configuração SSL no IE, desabilitei antivírus e firewall e nada.
Minhas configurações do ACBR estão assim:
procedure TDmNFe.AtualizaConfigAcBr; function StrToSSLType(const ASSLType: String): TSSLType; begin Result := TSSLType(GetEnumValue(TypeInfo(TSSLType), ASSLType)); end; var OK : Boolean; begin // Repassa Dados para componente AcBrNFe {$IFDEF AcBrMFeOpenSSL} ACBrNFe.configuracoes.Certificados.Certificado := CdsParametrosPATH_CERTIFICADO.AsString;; ACBrNFe.Configuracoes.Certificados.Senha := CdsParametrosSENHA_CERTIFICADO.AsString; {$ELSE} ACBrNFe.Configuracoes.Certificados.NumeroSerie := CdsParametrosSERIAL.AsString; {$ENDIF} // Geral {novas mudanças} ACBrNFe.Configuracoes.Geral.SSLLib := libWinCrypt; ACBrNFe.Configuracoes.Geral.SSLXmlSignLib := xsMsXml; ACBrNFe.SSL.SSLType := StrToSSLType('LT_all'); ACBrNFe.Configuracoes.Geral.FormaEmissao := StrToTpEmis(OK,IntToStr(CdsParametrosFORMA_ENVIO.AsInteger)); if CdsParametrosSALVAR_ARQUIVO.AsString = 'sim' then ACBrNFe.Configuracoes.Geral.Salvar := true else ACBrNFe.Configuracoes.Geral.Salvar := false; //respostas ACBrNFe.Configuracoes.Arquivos.Salvar := True; //ACBrNFe.Configuracoes.Geral.PathSalvar := CdsParametrosPATH_ARQUIVO.AsString; ACBrNFe.Configuracoes.Arquivos.PathSalvar := CdsParametrosPATH_ARQUIVO.AsString; ACBrNFe.Configuracoes.Arquivos.PathNFe := CdsParametrosPATH_ARQUIVO.AsString; ACBrNFe.Configuracoes.Arquivos.PathEvento := CdsParametrosPATH_ARQUIVO.AsString; // ACBrNFe.Configuracoes.Arquivos.PathCan := CdsParametrosPATH_CANCELADAS.AsString; ACBrNFe.Configuracoes.Arquivos.PathInu := CdsParametrosPATH_INUTILIZADAS.AsString; // ACBrNFe.Configuracoes.Arquivos.PathDPEC := CdsParametrosPATH_DPEC.AsString; // WebServices ACBrNFe.Configuracoes.WebServices.UF := CdsParametrosUFWS.AsString; if CdsParametrosAMBIENTE.AsInteger = 1 then ACBrNFe.Configuracoes.WebServices.Ambiente := taProducao else if CdsParametrosAMBIENTE.AsInteger = 2 then ACBrNFe.Configuracoes.WebServices.Ambiente := taHomologacao; //ACBrNFe.Configuracoes.WebServices.Ambiente := StrToTpAmb(OK,IntToStr(sAmbiente)); // ACBrNFe.WebServices.Retorno. := StrToTpAmb(OK,IntToStr(sAmbiente)); ACBrNFe.Configuracoes.WebServices.Visualizar := True; ACBrNFe.Configuracoes.WebServices.ProxyHost := CdsParametrosHOST.AsString; ACBrNFe.Configuracoes.WebServices.ProxyPort := CdsParametrosPORTA.AsString; ACBrNFe.Configuracoes.WebServices.ProxyUser := CdsParametrosUSUARIO.AsString; ACBrNFe.Configuracoes.WebServices.ProxyPass := CdsParametrosSENHA.AsString; ACBrNFe.Configuracoes.Geral.ModeloDF := moNFe; ACBrNFe.Configuracoes.Geral.VersaoDF := ve310; ACBrNFe.Configuracoes.Geral.ExibirErroSchema := True; // {nova config} ACBrNFe.Configuracoes.WebServices.AguardarConsultaRet := 15000; ACBrNFe.Configuracoes.WebServices.AjustaAguardaConsultaRet := True; ACBrNFe.Configuracoes.WebServices.IntervaloTentativas := 1000; ACBrNFe.Configuracoes.WebServices.TimeOut := 10000; // if ACBrNFe.DANFE <> nil then begin ACBrNFe.DANFE.TipoDANFE := StrToTpImp(OK,'1'); ACBrNFe.DANFE.Logo := CdsParametrosLOGO.AsString; end;
O erro acontece ao enviar : ACBrNFe.Enviar(vNumLote,False, true) ;
Se alguém puder me ajudar, agradeço muito.
-
Leonardo, fiz a substituição das dlls, mas quando pesquiso "fortaleza" ele retorna:
1 Cidade(s) encontrada(s)
Cod UF: 15
UF: PA
Cod.Município: 1500347
Município: Água Azul do Norte
Área: 0,00
--------------------Resposta HTTP:
nenhuma pesquisa sai correta
-
Isso já fiz, postei acima. o Problema é o retorno da consulta
-
Depois que eu instalei (não deu nenhum erro na instalação) apresentou o seguinte erro: [DCC Error] uFrmPesquisaIBGE.pas(58): E2003 Undeclared identifier: 'CodMunicio'
linha dos fontes: Memo1.Lines.Add('Cod.Município: '+IntToStr(CodMunicio) );
Vi aqui, basta corrigir a variável CodMunicipio
Apresenta esse erro ao consultar:
Efetuando consulta HTTP em:
https://servicodados.ibge.gov.br/api/v1/localidades/estados/Erro HTTP: 500
Socket Error: 10091 error:140A90C4:SSL routines:SSL_CTX_new:null ssl method passed
URL: https://servicodados.ibge.gov.br/api/v1/localidades/estados/Resposta HTTP:
-
Pessoal, notei que a consulta do IBGE parou de funcionar, fui atualizar o ACBR e quando fui compilar ele dar o seguinte erro: [DCC Fatal Error] ACBrIBGE.pas(270): F1026 File not found: 'Jsons.dcu'. Já procurei nos fontes este arquivo e não encontro.
-
Em 20/07/2017 at 15:43, evandromira disse:
Eu estou recebendo esta resposta pelo satteste.exe
Uma exceção foi acionada pelo destino de uma chamada.
mesmo com internet e executando como administrador
Integrador versão 1.6.86
Alguém pode dar uma dica?
Desconsiderem o post, eu não tinha configurado os dados de emitente e SH igual ao integrador, depois que configurei veio a resposta ao comando normal.
Obrigado
Amigo, basta vc reiniciar os serviços mfe-server-https e Comunicador.
-
Boa noite, galera alguém sabe se existe algum parâmetro no ACBR para mostrar todas as mensagens para o usuário? Vi que tem um parâmetro mas não mostra todas as mensagens.
Lembrando que o parâmetro que me refiro é o ACBrNFe.Configuracoes.Geral.ExibirErroSchema := True;
Mas mesmo assim não mostra todas as mensagens.
-
Deu certo amigo, obrigado
-
1
-
-
Obrigado, vou testar
-
Galera, estou tentando gerar a remessa para o Santander mas esta dando algumas inconsistências:
CitarCampo inválido na linha 3. Tipo de registro [Detalhe - Segmento P]. O campo [Tipo de cobrança], posição 58 a 58, deve ser [5. Definido em Cadastros > Empresas]. Valor atual [1]. Campo inválido na linha 3. Tipo de registro [Detalhe - Segmento P]. O campo [Nº do documento], posição 63 a 77, deve ser [Diferente de brancos]. Valor atual [ ]. Não consegui identificar no Componente as Tags para preenchimento.
No manual tem 058 - 058 Tipo de cobrança ja coloquei cobSantander porém ele gera o código 1, e seu colocar codigo 5 ele da erro ao gerar a remessa. 063 - 077 Nº do documento já preencho a tag NumeroDocumento mas mesmo assim ele informa que esta vazio.
Será que são essas tags mesmo?
var i,iTitulo:integer; vrMulta,vrJuros,vrDoc:Currency; Para : String; CC: Tstrings; SMTP,PORTA,LOGIN,SENHA,EMAIL:string; begin try with DmBoleto do begin while not CdsBoleto.Eof do begin iTitulo := 1; vrDoc := vrDoc + i; Boleto.ListadeBoletos.Clear; Titulo:= Boleto.CriarTituloNaLista; Boleto.Cedente.Nome := CdsBancoBoletoCEDENTE.AsString; Boleto.Cedente.TipoInscricao := pJuridica; Boleto.Cedente.CNPJCPF := QryInfoEmpresaLOJ_CNPJ.AsString; Boleto.Cedente.Agencia := CdsBancoBoletoNUMERO_AGENCIA.AsString; Boleto.Cedente.AgenciaDigito := CdsBancoBoletoDIGITO_AGENCIA.AsString; Boleto.Cedente.Conta := CdsBancoBoletoNUMERO_CONTA.AsString; Boleto.Cedente.ContaDigito := CdsBancoBoletoDIGITO_CONTA.AsString; Boleto.Cedente.CodigoCedente := CdsBancoBoletoCOD_CEDENTE.AsString; Boleto.Cedente.Logradouro := QryInfoEmpresaENDERECO.AsString; Boleto.Cedente.CodigoTransmissao := '396200007597045'; Boleto.Cedente.TipoCarteira := tctRegistrada; {Correção do Bug do Componente para pegar o numero da carteira} Boleto.Cedente.Modalidade := CdsBoletoConfigCARTEIRA.AsString; if Trim(CdsBancoBoletoNUMERO_BANCO.AsString) = '033' then Boleto.Banco.TipoCobranca := cobSantander else if Trim(CdsBancoBoletoNUMERO_BANCO.AsString) = '237' then Boleto.Banco.TipoCobranca := cobBradesco else if Trim(CdsBancoBoletoNUMERO_BANCO.AsString) = '341' then Boleto.Banco.TipoCobranca := cobItau; vrJuros := TruncaValor((((EdtValorBoleto.Value*CdsBoletoConfigJUROS.AsFloat)/100)/30),2); vrMulta := TruncaValor((((EdtValorBoleto.Value*CdsBoletoConfigMULTA.AsFloat)/100)),2); with Titulo do begin //Cliente Sacado.NomeSacado := CdsBoletoCLI_RAZAO.AsString; Sacado.Pessoa := pJuridica; Sacado.CNPJCPF := '18523351000142'; Sacado.Logradouro := 'Rua tres, 254'; Sacado.Bairro := 'Bairro'; Sacado.Cidade := 'Fortaleza'; Sacado.UF := 'Ce'; Sacado.CEP := '60000000'; Sacado.Email := '[email protected]'; NumeroDocumento := CdsBoletoBOL_NUMER_DOC.AsString; LocalPagamento := CdsBoletoConfigLOCAL_PAGTO.AsString; Vencimento := now; DataDocumento := now; EspecieDoc := CdsBoletoConfigESPECIE.AsString; Aceite := atNao; DataProcessamento := Now; DataProtesto := Now + CdsBoletoConfigDIAS_PROTESTO.AsInteger; if Trim(CdsBancoBoletoNUMERO_BANCO.AsString) = '341' then NossoNumero := IntToStrZero(iTitulo,8) else NossoNumero := IntToStrZero(iTitulo,10); Carteira := CdsBoletoConfigCARTEIRA.AsString; //ValorMoraJuros := CdsBoletoConfigJUROS.AsFloat; // DataMoraJuros := Vencimento; ValorDocumento := CdsBoletoBOL_VALOR.AsFloat; ValorAbatimento := 0; DataAbatimento := 0; Instrucao1 := ''; Instrucao2 := ''; Mensagem.Text := CdsBoletoConfigMENSAGEM.AsString+ chr(13)+chr(10)+ 'Após o vencimento cobrar multa de R$'+FloatToStr(vrMulta)+ ' e juros de R$ '+FloatToStr(vrJuros)+' ao dia.'; end; inc(iTitulo); CdsBoleto.Next; end; end; Boleto.LayoutRemessa := c240; Boleto.DirArqRemessa := 'C:\REMESSA\'; Boleto.GerarRemessa(1); except MessageDlg('Erro ao gerar arquivo de remessa. Verifique!',mtWarning,[mbOK],0); end;
-
Galera estou lendo um arquivo de retorno do Santander pelo o componente ACBR BOLETO, mas quando ele vai ler a ocorrência da linha do título, ai vem o famoso erro: First chance exception at $75EAC41F. Exception class EAccessViolation with message 'Access violation at address 011E2ECA in module 'Teste.exe'. Read of address 00000014'. Process Teste.exe (4624)
Quando eu debuguei ele deu o erro nessa linha Titulo.OcorrenciaOriginal , ele não consegue acessa a variável Titulo: TACBrTitulo, alguém pode me ajudar?
CONSULTA Ficha Cadastral SINTEGRA anti-robô
em ACBrTCP
Postado
Olá Galera, tudo em paz?
Recentemente o SINTEGRA atualizou as paginas com o anti-robô eu tinha criado uma unit para consultar via webbrowser para que o usuário visualizasse a Ficha Cadastral do CNPJ, mas o webbrowser não dá suporte ao anti-robô. Existe algum componente do ACBR que faça essa consulta, ou alguém poderia me dar um dica de como solucionar.
Desde já agradeço a todos.
Abç