Ir para conteúdo
  • Cadastre-se

maycoll

Membros
  • Total de ítens

    45
  • Registro em

  • Última visita

Tudo que maycoll postou

  1. Estou tendo um problema com um cliente onde o responsável pela emissão do boleto é o banco. Neste cliente eu usava uma versão anterior do acbr onde mesmo o banco sendo o responsável pela emissão do boleto, eu informava o nosso número e ele aceitava normalmente. Depois de atualizar o acbr, percebi que o campo nosso número está sendo zerado quando o responsável pela emissão do boleto é o banco. O problema maior é que parece haver uma incoerência no manual do bradesco onde ele fala que se: Perceberam a incoerência, uma hora ele diz que deve ser zerado, mas se você informar o nosso número o banco assume. O acbr esta seguindo a primeira regra. Porem o nosso cliente sempre usou com a configuração:" O banco emite o boleto e informando o nosso número ( inclusive em sistemas anteriores ao nosso )". Eu resolvi o problema aqui da seguinte maneira: Código original: if (ACBrBoleto.Cedente.ResponEmissao = tbBancoEmite) then begin ANossoNumero := StringOfChar('0', wTamNossoNum); DigitoNossoNumero := '0'; end else begin ANossoNumero := ACBrTitulo.NossoNumero; DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo); end; Alterado para: if Trim(ACBrTitulo.NossoNumero) = EmptyStr then begin ANossoNumero := StringOfChar('0', wTamNossoNum); DigitoNossoNumero := '0'; end else begin ANossoNumero := ACBrTitulo.NossoNumero; DigitoNossoNumero := CalcularDigitoVerificador(ACBrTitulo); end; Alguém também já teve esse problema?
  2. Obrigado, vou realizar os precedimentos.
  3. Olá pessoal, Hoje temos o seguinte cenário : Enviamos uma NFCe pra a receita, porém é retornado erro: Erro Interno: 10060Erro HTTP: 0 Neste momento nosso sistema entra em modo de contingencia, criando outro xml com as respectivas tag's e com "uma nova chave". O danfe é impresso e a chave que será inserida no QRCode é a nova. Porém, algumas vezes a receita acaba acatando a nota anterior mesmo dando o erro 10060. Neste caso quando a conexão estabiliza e vamos enviar a nota em contingencia, temos duplicidade. Com isso, tratamos esse erro modificando as informações do sistema para a chave/xml que foi aceita anteriormente. Mas se o cliente for consultar o QRCode do danfe impresso em contingencia, as informações irão apontar para a chave que não foi aceita pela receita. Neste caso, existe a possibilidade de criar os xml's informando a chave que eu deseje? Por exemplo: Quando desse o primeiro erro, eu manteria a chave e criaria o novo xml informando a mesma chave, assim mesmo que a primeira nota tenha sido aceita se o cliente consultar o QRCode apontará para a mesma chave.
  4. Tive um problema com o banco Banestes que não estava aceitando o boleto justamente pela conta/cedente. O problema que o Banestes não usa o digito verificador em agencia e conta do cliente. Porém como uso o AcbrMonitor tenho que passar assim os dados do cedente: BOLETO.ConfigurarDados("[Cedente] Nome=Nome do Cedente CNPJCPF=000000000000 Logradouro=Av. 1 Numero=2 Bairro=Centro Cidade=Guarapari CEP=29.200-00 UF=ES RespEmis=0 TipoPessoa=1 Modalidade=1 CodigoCedente=1234567 LayoutBol=3 [Conta] Conta=123456 DigitoConta=7 Agencia=01740 DigitoAgencia=0 [Banco] Numero=21 CNAB=240 IndiceACBr=11") Reparem que na tag [CONTA] o digito assume o ultimo digito do código do cedente ( se não passar digito, o acbr da erro ). Tive que alterar a função abaixo para que fosse gerado o boleto corretamente para o banco aceitar. function TACBrBancoBanestes.MontarCampoCodigoCedente ( const ACBrTitulo: TACBrTitulo ) : String; begin // Banestes não usa digitos verificadores em agência e conta //Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia+ '/' + // ACBrTitulo.ACBrBoleto.Cedente.Conta; Result := ACBrTitulo.ACBrBoleto.Cedente.Agencia+ '/' + ACBrTitulo.ACBrBoleto.Cedente.Conta + ACBrTitulo.ACBrBoleto.Cedente.ContaDigito; end; Talvez ajude em alguma coisa
  5. Ola Mauricio Bragaia .... tenho outro computadores com outros antivírus aqui na empresa, e já havia testado em outro sem problema nenhum , parece ser um falso positivo do Avast mesmo. O negocio é esperar eles analisarem mesmo.
  6. Já havia realizado este procedimento Daniel ... o negocio é aguardar eles analisarem mesmo .. obrigado pela resposta
  7. hleorj creio que a solução não seja trocar o antivirus .. pois os clientes de nossos clientes usam Avast ... e terão o mesmo problema ao abrir o arquivo. Desabilitei o avast e o pdf foi gerado .. enviei para um cliente que tem avast e quando ele foi abrir o problema tbm ocorreu. E que não da pre entender é que com uns xml's funciona e com outros não
  8. Também estou com este problema. Quando mando o comando para o acbrMonitorPlus ( nfe.imprimirDanfePdf ) o Avast( meus teste aqui e nos clientes foram com este antivirus ) recebo a mensagem de js:Pdfka-gen [Expl]. O problema é que não são em todos os xml's que ocorre isso. Segue dois xml's para analise caso necessário. Obs: Ambos xml's foram gerados pelo acbrMonitorPlus comVirus.xml semVirus.xml
  9. Olá pessoal, Acabei de atualizar os fontes do AcbrMonitorPlus e estou tendo um erro ao criar uma NFe. O problema ocorre pois o campo "número" no endereço do destinatário não esta sendo informado, isso porque o endereço nao possui numero. "Sendo que estou testando com todos os dados do projeto, executando pelo Lazarus mesmo." ERRO: Falha na validação dos dados da nota: 1495 TAG:<dest><enderDest> ID:E07/nro(Número) - Nenhum valor informado. TAG:<dest><enderDest> ID:E07/nro(Número) - Nenhum valor informado. '' viola a restrição pattern de '[!-ÿ]{1}[ -ÿ]*[!-ÿ]{1}|[!-ÿ]{1}'. Falha da análise do elemento '{http://www.portalfiscal.inf.br/nfe}nro' com valor ''. Percebi tambem o que parece ser um erro de UTF-8 no retorno do log, mas acredito que isso não seja o problema. A questão é: Quando o endereço não possuir numero, a tag "numero" deve ser omitida ou informada com algum valor vazio; PS: Log em anexo. lognfe.txt
  10. Olá pessoal, Estou compilando o ACBrPlus Monitor e estou tendo problemas com os componentes TDateEdit. O erro que a aparece é esse: "Error reading deUSUDataCadastro.Text: Unknown property: "Text" " Tanto ao abrir ou compilar o projeto aparece essa mensagem de erro. Não consegui localizar nos fontes do projeto alguma linha que usasse a propriedade text do dateEdit, sendo que o erro também ocorre no componentes deRFDDataSwBasico. Alguém sabe como resolver isso? PS: Lazarus versão 1.2.6 - FPC: 2.6.4 "Fontes atualizado hoje 04/01/2016"
  11. Ola Juliana, Simplesmente quando mando o arquivo de remessa para analise do suporte ele me retorna esse erro. (Suprimi algumas informações do cliente) ======================================== HEADER ======================================== Cedente centralizador: XX NOME DO CLIENTE XX Tipo de remessa: REMESSA-PRODUCAO Convenio: 0000.000.00000000-0 Inscricao: 00.000.000/0000-00 Banco: CAIXA ECONOMICA FEDERAL Geracao: 28/09/2015 as 14:29:08 seq 000001 ======================================== HEADER OK ===================================== ====================================== CAPA DE LOTE ==================================== Num remessa: 00000001 Gravacao: 28/09/2015 Cedente do lote: XX NOME DO CLIENTE XX Convenio: 0000.000.00000000-0 Inscricao: 00.000.000/0000-00 Geracao: 28/09/2015 ===================================== CAPA DE LOTE OK ================================== Linha 3 SEGMENTO P. Codigos de erro: 31.3P Total de registros do lote = 4
  12. Bom dia pessoal, Estou homologando um boleto na Caixa Econômica com o layout SIGCOB pelo ACBrMonitor. Após corrigir a maioria dos erro, tem um que não estou conseguindo resolver, apesar de o arquivo não parecer estar errado segundo o manual. O erro é : "Linha 3 SEGMENTO P. Códigos de erro: 31.3P" Olhando o manual, o código 31.3P é relativo à data do desconto, porém no meu arquivo de remessa o código de desconto é zero(Sem desconto), logo a data e o valor do desconto também são zerados. Alguém sabe como resolver isso. Estou enviando o arquivo de remessa em anexo. 000001.rem
  13. Pessoal, ainda estou com o problema com a remessa da caixa.... A mensagem do validador é esta: "Linha 3 SEGMENTO P. Codigos de erro: Este Título tem que estar marcado para protestar ou devolver. 31.3P" Sendo que, segundo o manual, 31.3P é referente à Data de Desconto. Alguém tem alguma sugestão?
  14. Eu estava tendo este mesmo problema com a função RoundTo5. O problema ocorria quando era feito o calculo do "ValorIss", isso quando dava mais de de duas casas decimais no resultado. No meu caso eu criei um DoAcbrNFSeUnit.pas, que fiz com base no DEMO, onde executo os comando processados. A função correspondente a minha no DEMO é a: "procedure TfrmDemo_ACBrNFSe.AlimentaComponente(NumNFSe: String);" Troquei a linha: Servico.Valores.ValorIss := roundTo(ValorISS, -2); Por estas: ValorISS := StrToFloat(FormatFloat('0.00',ValorISS)); Servico.Valores.ValorIss := ValorISS; Onde, ao invés de arredondar o valor, eu trunco com duas casas decimais.
  15. Ola Juliana, Na verdade a mensagem de erro que recebi do validador foi essa: "Linha 3 SEGMENTO P. Codigos de erro: 27.3P Este Título tem que estar marcado para protestar ou devolver. 31.3P" Apos a alteração do fonte como fiz acima, o erro retornado foi esse: "Linha 3 SEGMENTO P. Codigos de erro: Este Título tem que estar marcado para protestar ou devolver. 31.3P" Ou seja, o erro 27.3P que é relativo ao "Codigo de Juros Mora" não apareceu mais. Estou anexando o arquivo de remessa caro queiram analisar. Obrigado pela atenção. 000001.rem
  16. Olá pessoal, Estou tendo um problema com a geração do arquivo remessa para o banco CAIXA ECONOMICA pelo CNAB240 layout SICOB O erro que estou tendo do validador é: "Codigos de erro: 27.3P Este Título tem que estar marcado para protestar ou devolver ou cancelar protesto." Analizando o post do amigo abaixo e verificando os fontes atualizados, percebi que o problema já foi resolvido no arquivo ACBrBancoCaixa.pas, porém o problema ainda persiste no arquivo ACBrBancoCaixaSICOB.pas, onde o layout permite apenas os numeros: 1,2,3,4. Estou alterando meu fonte na linha 784 da função TACBrCaixaEconomicaSICOB.GerarRegistroTransacao240 para: //ANTERIOR //IfThen(ValorMoraJuros > 0, '1', '0') + // 118 a 118 - Código de juros de mora: Valor por dia //ALTERADO IfThen(ValorMoraJuros > 0, '1', '3') + // 118 a 118 - Código de juros de mora: Valor por dia Gostaria de saber se este procedimento esta correto. Caso esta seja a solução gostaria de saber se pode ser incluido nas futuras correções do acbr. Obrigado.
  17. Olá pessoal, Uma coisa que ajuda bastante na hora de resolver alguns problemas nos clientes são os log's. Como exemplo temos um cliente que demorou "5 horas (isso mesmo)" para realizar a emissão de um cupom com 40 itens. Ao analisar o log do acbrmonitor não dá para saber quanto tempo demorou para o cupom ser realmente impresso. Com isso modificamos o fonte do "AcbrMonitor1.pas" no procedimento "TFrmACBrMonitor.Resposta" para inserir a data/hora de cada comando enviado para o monitor. //procedure TFrmACBrMonitor.Resposta(Comando, Resposta: ansistring); mResp.Lines.Add(FormatDateTime('dd/mm/yy hh:nn:ss', now) + ' ' + Comando + sLineBreak + Resposta); <<--- MODIFICADO PARA MOSTRAR NO MEMO if mResp.Lines.Count > CBufferMemoResposta then begin SL := TStringList.Create; try SL.Assign( mResp.Lines ); SL.BeginUpdate; while SL.Count > CBufferMemoResposta do SL.Delete(0); SL.EndUpdate; mResp.Lines.Assign( SL ); mResp.SelStart := mResp.Lines.Count; finally SL.Free; end ; end ; pTopRespostas.Caption := 'Respostas envidas ('+IntToStr(mResp.Lines.Count)+' linhas)'; if cbLog.Checked then WriteToTXT(ArqLogTXT, FormatDateTime('dd/mm/yy hh:nn:ss', now) + ' ' + Comando + sLineBreak + Resposta, True, True); <<--- MODIFICADO PARA INSERIR NO LOG
  18. Olá Daniel, obrigado pela resposta. Também vejo essa clareza na legislação, porém parece que há uma incoerência na mesma. Sei que o acbr não tem nada a ver com isso e segue o que está escrito. Mas segundo a grande experiencia que vocês tem, não acha que pode ser usado o espaço? Sendo que no exemplo indicado na legislação é feito o uso do espaço (inclusive uma barra). Obrigado pela atenção.
  19. Olá pessoal, Estou usando um ECF Bematech MP4200 com o protocolo EcfEscEcf para fazer alguns teste. Quando vou realizar a gravação de relatórios gerencias a função não aceita espaços no nome dos relatórios procedure TACBrECFEscECF.ProgramaRelatorioGerencial(var Descricao: String; Posicao: String); var PosRel : Integer; begin if not Assigned( fpRelatoriosGerenciais ) then CarregaRelatoriosGerenciais ; Descricao := AjustaDescricao( Descricao ); //<<---- DESCRIÇÃO SÓ RECEBE LETRAS SEM ESPAÇOS EscECFComando.CMD := 86; if Posicao = '' then PosRel := RelatoriosGerenciais.Count + 1 else PosRel := StrToInt( Posicao ); EscECFComando.AddParamInteger( PosRel ) ; EscECFComando.AddParamString( Descricao ) ; EnviaComando; CarregaRelatoriosGerenciais; end; Analisando mais a fundo a função, vi que "AjustaDescricao( Descricao );" chama a função "OnlyAlpha" que só retorna letras. function TACBrECFEscECF.AjustaDescricao(ADescricao : String) : String ; begin { Ajusta uma descrição de acordo com as regras do protocolo EscECF Máximo de 15, Mínimo de 4 caracteres ASCII de posição 65 a 90 (letras maiúsculas) ou 97 a 122 (letras minúsculas) } Result := OnlyAlpha( LeftStr( TiraAcentos( ADescricao ),15) ); end ; Para resolver o meu problema, eu retirei do result da função "AjustaDescricao" a chamada para "OnlyAlpha". Com isso consegui gravar relatórios gerenciais com espaços. Não sei se isso seria o certo ou se há outra maneira de resolver, pois segundo o comentário na função "AjustaDescricao", a mesma é chamada para atender as normas do protocolo EscEcf. E ainda, esta mesma função e usada em outros métodos dentro da Unit EscEcf.
  20. Ola Daniel, O acbrmonitor simplesmente retorna " ERRO: Unable to open file "C:\TMP\ESPELHO.TXT" " Tentando analisar o código, só consigo colocar um breakPoint na linha 904 do função TACBrEAD.AssinarArquivoComEAD. Porém o Lazarus não passa deste ponto: FS := TFileStream.Create(NomeArquivo, fmOpenReadWrite or fmShareDenyWrite); Nenhum breakPoint inserido abaixo deste codigo é executado.
  21. Bom dia pessoal, Estou usando o acbrmonitor para gerar o espelho mfd na ecf Bematech MP-4200 protocolo ecfEscEcf. O espelho é gerado porém ocorre um erro na sua assinatura. Tudo indica que o erro ocorre na função: TACBrEAD.AssinarArquivoComEAD(const NomeArquivo : String ; RemoveEADSeExistir : Boolean) : AnsiString ; Comando: ECF.pafmf_mfd_espelhO("01/03/2015","10/03/2015","C:\TMP\ESPELHO.TXT") Retorno: ERRO: Unable to open file "C:\TMP\ESPELHO.TXT" Ultima linha do arquivo espelho "C:\TMP\ESPELHO.TXT": EAD nao foi possivel gerar a assinatura EAD pois o arquivo original nao possui uma assinatura digital valida! EAD1561B7984B0BB30966605C465C45CFC9315C62E60740FDFEA8FA80B58BF6EAC7CF70C6618EB1269546603C7A635CF2A9C0D9BDD2B520ECF225B27C8A3E73D24E9878852E6D29EE852912EE84A9B67665C1ED805BEB36418C991DFBFD72420E2F8ABB4C1B6E8788DE5BED206829E8229E054C2B94A26DF91691E7B43AFF540634 A assinatura é gerada porem com uma mensagem de erro. Algum sabe o que pode ser feito?
×
×
  • 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.