Ir para conteúdo
  • Cadastre-se

Alexsander

Membros
  • Total de ítens

    383
  • Registro em

  • Última visita

  • Days Won

    2

Tudo que Alexsander postou

  1. O que se deseja é um layout similar ao da foto abaixo. Existe alguma forma de fazer isso na NFCe 3.10?
  2. Ubuntu 14.04 LTS 64 bits com Lazarus 1.6.4 com ACBr via SVN na Revision 13717. Aplicativo emite NFCe versão 3.10 normalmente (Sefaz RS). Ao mudar para a versão 4.00 o StatusServiço funciona (abaixo) mas a emissão não. <nfeResultMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4"> <retConsStatServ versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe"> <tpAmb>2</tpAmb> <verAplic>RS201707181025</verAplic> <cStat>107</cStat> <xMotivo>Servico em Operacao</xMotivo> <cUF>43</cUF> <dhRecbto>2017-08-10T15:12:13-03:00</dhRecbto> <tMed>1</tMed> </retConsStatServ> </nfeResultMsg> Ao tentar emitir o cupom versão 4.00 ocorre a exceção em TACBrNFe.Enviar() com "Erro interno: 0" e "Erro HTTP: 500". Pelo que vi no fórum poderia ser um problema de OpenSSL porém confirmei a versão: $ openssl version OpenSSL 1.0.1f 6 Jan 2014 Alguma pista de onde eu possa procurar este erro?
  3. 1) Onde você consertou isto? Seria no arquivo ACBrNFeServicos.ini ? 2) Está conseguindo enviar NFCe 4.0 no RS (em homologação)?
  4. O problema estava no Ubuntu (tanto 14.04 LTS quanto 16.04 LTS): quem fez o empacotamento da libxmlsec alterou as opções padrão e removeu diversas funções. A solução que encontrei foi recompilar a libxmlsec com as opções default e substituir a versão do repositório.
  5. Apenas para registro, segue código que utilizamos. Nosso certificado está em base64 em CertModA1.certificado: var dados: AnsiString; (...) dados := DecodeStringBase64(CertModA1.certificado); (...) Certificados.DadosPFX := dados;
  6. Como ficou esse feedback? Se precisar de ajuda para implementar isto no componente, avise.
  7. Estou tendo este problema no Ubuntu 16.04 recém instalado (ainda com a libxmlsec 1.2.20 original): ==== EXCEPTION ==== Erro ao ler informações do Certificado. Provavelmente a senha está errada Detalhe: este MESMO executável do meu aplicativo funciona normalmente num Ubuntu 14.04 (que veio com a libxmlsec 1.2.18, porém eu COMPILEI a libxmlsec 1.2.18 com as opções default para funcionar). Acho que a exigência de "libxmlsec 1.2.20" que está no ACBr não é necessária, mas parece que o Ubuntu está empacotando esta lib com algumas opções desligadas. Ainda não testei compilar no 16.04 mas eu achava que o fato de vir com a 1.2.20 eliminaria esta necessidade.
  8. Só para constar, resolvi este problema mandando gerar um arquivo e depois enviando este arquivo para a impressora: var cupom, impressora: TFileStream; arquivo: string; (...) arquivo := '/tmp/cupom.txt'; with ACBrNFe1.NotasFiscais.Items[0].NFe.Ide do ACBrDANFe1.PosPrinter.Porta := arquivo; (...) impressora := TFileStream.Create('/dev/usr/lp0', fmOpenReadWrite); cupom := TFileStream.Create(arquivo, fmOpenRead); impressora.CopyFrom(cupom,cupom.Size);
  9. Sim, eu sei, olhei os fontes. A função TBlockSerial.GetErrorDesc da Synaser retorna este erro. Eles mapearam alguns erros, os demais eles repassam para a SysErrorMessage da SysUtils. A mensagem em questão é o erro ENOTTY, o texto está no arquivo errnostr do FPC (linha 18): /usr/share/fpcsrc/3.0.2/rtl/linux/errnostr.inc Apenas imaginei que alguém poderia ter tido o mesmo problema.
  10. Conforme eu expliquei no post original, o "echo" está funcionando perfeitamente. Por coincidência eu já tinha encontrado esta mesma página em uma pesquisa anterior... PS: Se eu instalar a impressora com os drivers, via CUPS, funciona no ACBrPosPrinter, porém esta opção cria dificuldades para o suporte.
  11. Via linha de comando, echo "Teste" >> /dev/usb/lp0 imprime normalmente. No PosPrinterTeste quando coloco "/dev/usb/lp0" dá erro "Communication error 25: Not a typewriter." De que forma preciso configurar o ACBrPosPrinter (ou o Linux) para funcionar ?
  12. Você conseguiu fazer funcionar no Linux 64 bits?
  13. Eu também gostaria de usar desta forma, tentei converter o certificado PFX em base64 e usar Certificados.DadosPFX := arquivo_pfx_em_base64 mas não funcionou, deu uma exceção no arquivo ACBrDFeOpenSSL, na linha 885 (abaixo). Ao debugar e vi que p12 na linha 921 está retornando nil. 885 if not LerPFXInfo(DadosPFX) then (...) 921 p12 := d2iPKCS12bio(b, nil); O que está faltando fazer? No momento estou simplesmente convertendo o arquivo PFX em base64. Estou usando Lazarus 1.6.4 com FPC 3.0.2 (Linux 64).
  14. Agora é possível instalar no CUPS com os drivers da Argox: http://www.argox.com/content.php?sno=0000033&P_ID=19
  15. Olhei os fontes, daria pra colocar logo após o IF abaixo (colocando nil como valor default para não afetar os programas existentes): procedure TACBrDFe.EnviarEmail(sPara, sAssunto: String; sMensagem: TStrings; sCC: TStrings; Anexos: TStrings; StreamNFe: TStream; NomeArq: String; { AQUI ==> } sBCC: TStrings); (...) if Assigned(sCC) then begin for i := 0 to sCC.Count - 1 do MAIL.AddCC(sCC[i]); end; //--- AQUI if Assigned(sBCC) then begin for i := 0 to sBCC.Count - 1 do MAIL.AddBCC(sBCC[i]); end; //--- fim MAIL.Send; end; Com isso também daria para alterar o ACBrMonitorPLUS para acrescentar a opção CCO no comando NFE.ENVIAREMAIL. Que tal?
  16. Vou testar este upgrade num ambiente de testes. Seria interessante incluir este tipo de requisito na documentação. Enquanto isso, uma alternativa que compilou (não testei se imprime mesmo), junto com a declaração de uma variável tmp_cont integer, foi a seguinte: {$IFDEF FPC_FULLVERSION < 30000} Printer.Write(AString,Length(AString),tmp_cont); {$ELSE} Printer.Write(AString); {$ENDIF}
  17. ACBrDevice.pas(1571,25) Error: Wrong number of parameters specified for call to "Write" procedure TACBrDevice.EnviaStringRaw (...) (...) Printer.Write(AString); (...) Na unit Printers a declaração está assim: function Write(const Buffer; Count:Integer; var Written: Integer): Boolean; virtual; Com SVN blame descobri que esta alteração entrou na release 12443: ~/fontes/ACBr$ svn -r 12442:HEAD log Fontes/ACBrSerial/ACBrDevice.pas ------------------------------------------------------------------------ r12443 | dopi | 2016-10-02 21:47:17 -0300 (Dom, 02 Out 2016) | 18 linhas -- ACBrDevice -- [+] Adicionado o suporte a portas "RAW", permitindo usar o "Nome da Impressora", do sistema operacional, na definição da "Porta" Exemplo: "SWEDA SI-300S" ou "RAW:SWEDA SI-300S" Use "*" para imprimir na impressora Default [+] Nova sintaxe para atribuição de portas do tipo "Arquivo". Exemplo: "C:\TEMP\saida.prn" ou "FILE:C:\TEMP\saida.prn" [+] Adicionada nova propriedade "DeviceType: TACBrDeviceType", sendo que TACBrDeviceType = (dtFile, dtSerial, dtTCP, dtRawPrinter, dtHook) Essa propriedade é detectada automaticamente, na atribuição da propriedade "Porta", mas pode ser atribuída posteriormente, caso a detecção automática não esteja correta. -- ACBrPosPrinter -- [-] Ajuste para ignoarar as tags '</corte_parcial> e </corte_total> quanto propriedade "CortaPapel" for False. [-] Correção na exibição de mensagens de erro com acentuação. (por: DSA) ------------------------------------------------------------------------ Estou compilando com Lazarus 1.4.4 e FPC 2.6.4 num Ubuntu 14.04 LTS.
  18. Requisito mínimo para o ACBr no Lazarus é a versão 1.6?
  19. Também tive este erro, mas será que está correto comentar uma linha Printer.Write num componente que deve IMPRIMIR alguma coisa?
  20. Ocorreu no Lazarus 1.4.4, existe algum workaround para contornar o problema?
  21. Tenho um caso onde o mesmo ACBrMonitorPlus é usado por empresas com 3 certificados diferentes. Antes de enviar cada NFe o aplicativo chama a "SetCertificado" da empresa correspondente. Pelo menos uma vez por dia uma NFe é rejeitada por "CNPJ difere do CNPJ do certificado digital". Parece que, entre o SetCertificado e o EnviarNFe, alguma outra conexão vem e troca o certificado. Não seria interessante haver algum comando novo do monitor para ajudar a evitar este problema?
  22. Fiz o rebuild, agora parece estar OK. Obrigado.
  23. Mas nem executei meu projeto, que na verdade é um form novo, vazio, apenas com o ACBrMail. Nem salvei, diga-se de passagem: Abri um novo projeto (Project -> New Project -> OK) Inseri o ACBrMail no meio do form Fechei o Lazarus, ele perguntou "Save changes to project project1?" Cliquei no botão "No" e ficou travado por uns 30 segundos.
  24. Com esta alteração não trava mais ao fechar a janela, porém agora ao fechar o Lazarus depois de colocar o ACBrMail no Form (mesmo sem executar), fica cerca de 30 segundos "travado".
×
×
  • 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.

The popup will be closed in 10 segundos...