Pesquisar na Comunidade
Showing results for tags 'ACBrAAC'.
Encontrado 8 registros
-
Bom dia pessoal, tudo bem? Estou com um problema na geração do relatório de parâmetros de configuração com base no arquivo auxiliar gerado pelo ACBrAAC. Foi feito um teste onde são passadas algumas informações para gravação do arquivo, conforme abaixo: ACBrECF ecf = new ACBrECF(); ecf.setModelo(2); ecf.getDevice().setPorta("COM1"); ACBrAAC lAcbr = new ACBrAAC(); lAcbr.setKey(getChavePrivada()); lAcbr.setNomeArquivoAuxiliar("C:\\teste.txt"); lAcbr.setArqLOG("C:\\log_acbr.txt"); lAcbr.setEfetuarFlush(true); IdenticacaoPaf paf = lAcbr.getIdentPaf(); Empresa emp = paf.getEmpresa(); InfoPaf info = paf.getPaf(); ArquivoListaAutenticados lstAut = paf.getArquivoListaAutenticados(); paf.setNumeroLaudo("Laudo"); paf.setVersaoER("Versao"); lstAut.setMD5("MD5"); lstAut.setNome("Nome"); emp.setRazaoSocial("Razão Social"); emp.setCnpj("123123"); info.setNomeAplicativo("PAF"); info.setVersaoAplicativo("1.0"); AACECF ecfAutoriz = new AACECF(); ecfAutoriz.setCni(1); ecfAutoriz.setCro(1); ecfAutoriz.setNumeroSerie("EMULADOR"); ecfAutoriz.setValorGT(0); paf.getEcfsAutorizados().add(ecfAutoriz); lAcbr.salvarArquivo(); Após a gravação o arquivo foi gerado com sucesso. Porém ao chamar a função para geração do relatório, código abaixo, obtenho erro. ACBrAAC lAcbr = new ACBrAAC(); lAcbr.setKey(getChavePrivada()); lAcbr.setNomeArquivoAuxiliar("C:\\teste.txt"); lAcbr.setArqLOG("C:\\log_acbr.txt"); lAcbr.abrirArquivo(); ACBrECF ecf = new ACBrECF(); ecf.setModelo(2); ecf.getDevice().setPorta("COM1"); ecf.setAAC(lAcbr); ecf.ativar(); ecf.pafMF_RelParametrosConfiguracao(lAcbr.getIdentPaf().getPaf(), 1); ecf.desativar(); Como pode ser visto no primeiro trecho de código a impressora que é ativada foi adicionada no arquivo auxiliar (Emulador Bematech). Sei que ela foi gravada porque quando faço um get para obter as impressoras autorizadas ela vem, porém com a série criptografada. A mensagem de erro é: "ECF de Número de série EMULADOR não encontrado no Arquivo Auxiliar Criptografado.". Em anexo o log do processo. Têm alguma ideia de onde eu esteja errando? Desde já agradeço a ajuda. José Mauro log_acbr.txt
- 4 replies
-
- jAcbrFramework
- java
-
(e 2 mais)
Tags:
-
Saudações pessoal... gostaria de saber como faço para abrir o Arquivo Auxiliar Criptografado para poder alterar ou buscar o GT e as demais informações contidas no arquivo? estou fazendo o seguinte processo, me ajude se estiver errado, esta gerando um erro falando que o arquivo é inválido. Desde já Agradeço ACBrEAD lAcbr = new ACBrEAD(); Chaves lChaves = lAcbr.gerarChaves(); ACBrAAC acbaac = new ACBrAAC(Charset.forName("cp1252")); acbaac.setKey(lChaves.getChavePublica()); acbaac.setNomeArquivoAuxiliar("Nome do Arquivo"); acbaac.abrirArquivo();
-
Saudações Pessoal! Estou com um probleminha... gostaria de saber como faço para gerar o arquivo auxiliar criptografado? qual processo para gerar este arquivo? tem um exemplo no jAcbrFramework, mas não ensina como cria-lo. segue o código de exemplo... public class ProgramTestAac { public static void main(String[] args) { try { ACBrAAC lAcbr = new ACBrAAC(); IdenticacaoPaf paf = lAcbr.getIdentPaf(); Empresa emp = paf.getEmpresa(); ArquivoListaAutenticados lstAut = paf.getArquivoListaAutenticados(); System.out.println("\nLaudo: " + paf.getNumeroLaudo()); System.out.print("setNumeroLaudo -> "); paf.setNumeroLaudo("Laudo"); System.out.println(paf.getNumeroLaudo()); System.out.println("Versão ER: " + paf.getVersaoER()); System.out.print("setVersaoER -> "); paf.setVersaoER("Versao"); System.out.println(paf.getVersaoER()); System.out.println("MD5: " + lstAut.getMD5()); System.out.print("setMD5 -> "); lstAut.setMD5("MD5"); System.out.println(lstAut.getMD5()); System.out.println("Nome: " + lstAut.getNome()); System.out.print("setNome -> "); lstAut.setNome("Nome"); System.out.println(lstAut.getNome()); System.out.println("Razão Social: " + emp.getRazaoSocial()); System.out.print("setRazaoSocial -> "); emp.setRazaoSocial("Razão Social"); System.out.println(emp.getRazaoSocial()); } catch (ACBrException ex) { Logger.getLogger(ProgramTestAac.class.getName()).log(Level.SEVERE, null, ex); } } } Logo abaixo esta o código com que eu estou tentando gerar o arquivo, mas da um erro dizendo (SH_RazaoSocial e/ou SH_CNPJ não informados), oque estou fazendo de errado? AACECF lEcfAutorizada = new AACECF(); lEcfAutorizada.setCro(cro); lEcfAutorizada.setValorGT(valorGt); lEcfAutorizada.setNumeroSerie(numSerie); lAcbrAac.getIdentPaf().getEcfsAutorizados().add(lEcfAutorizada); lAcbrAac.setNomeArquivoAuxiliar("nomeDoArquivo"); lAcbrAac.salvarArquivo();
-
Acbraac - Problema Com Tamanho De Nome De Arquivo
um tópico no fórum postou flaviozg ACBrSintegra/ACBrPAF
Olá a todos. É a primeira vez que estou postando aqui no fórum, pois sempre achei o que tive dúvida em outros tópicos, mas dessa vez não tive essa sorte. Então vou tentar explicar minha dúvida da melhor maneira possível. Estou usando o ACBrAAC + ACBrPAF para criar a lista de arquivos (Anexo III) e também para a impressão da Identificação do PAF-ECF (REQUISITO XXXIII). Porém ao passar o nome do arquivo para a propriedade "ACBrAAC1.IdentPAF.OutrosArquivos.New.Nome" verifiquei que a mesma 'corta' a string para que ela fique com apenas 40 caracteres, e vi que isso é feito na Unit 'ACBrPAFClass' (fsNome := Trim(LeftStr( AValue, 40)); - Linha 348). Teria algum problema eu alterar o código para "fsNome := Trim(LeftStr( AValue, 100));" por exemplo? Obs.: O nome do meu arquivo ficou com mais de 40 caracteres porque estou passando o caminho todo dele. Ex: 'C:\pasta1\pasta2\pasta3\arquivo.exe' -
Devo Armazenar Cro No Banco De Dados?
um tópico no fórum postou luan.lary Dúvidas Gerais sobre o ACBr
Boa tarde, pelo que eu entendi da explicação do regys no post: http://www.regys.com.br/recuperando-numero-de-serie-e-valor-do-get-no-componente-acbraac/ eu devo armazenar o CRO da minha ecf no banco para fazer essa atualização do arquivo auxiliar quando necessário. minha duvida é como gravar este valor no banco, eu devo incrementar o contador a cada redução Z que minha ECF emitir ou devo apenas jogar o CRO que estiver na ECF no banco? -
Paf-Ecf - Acbraac Erro No Arquivo Auxiliar De Configuração
um tópico no fórum postou fabricarneiro ACBrSintegra/ACBrPAF
Prezados, Estou tendo um erro no procedimento "ACBrPAF.SaveFileTXT_N('lista_autenticados.txt')", quando chego nesta linha se eu tenho o arquivo no diretório ele da a exception "Arquivo: Auxiliar.txt inválido" e se eu não tenho ele da a exception "Arquivo: Auxiliar.txt Não encontrado". Gostaria de uma ajuda de como configurar o AcbrAAC e o AcbrEAD corretamente. O componente acbrECF está ligado ao componente acbrACC, no acbrACC está setada a propriedade NomeArquivoAux -> Auxiliar.txt e o arquivo Auxiliar.txt está na pasta setada no caminho. Não encontrei muitas informações no demo do acbrACC e nenhuma referencia no acbrECF. Configurei o acbrACC conforme o exemplo do demo , (troquei apenas o valor da chave mas mantive com 4 digitos), O que pode estar ocorrendo ? Se possível também confirmar se obrigatóriamente no Arquivo Auxiliar Criptografado devo colocar o Número de Série da Impressora e o GT, e como fazer isso (de forma criptografada). Abaixo código que estou usando : Para o acbrEAD: procedure TFDMPafEcf.ACBrEAD1GetChavePrivada(var Chave: String); begin Chave := 'MIICXgIBAAKBgQDawShBJxM0rFLadxR8GSD5DaKVvxtlQ+OnuOZX/vOEP2pQXCiG'; Chave := Chave + 'NpQfNMDm73dWpTaqFLhuFvU+MSF+ys9u6bI2IqOmWUfEaE16cK4nKTbIm69fLDB8'; Chave := Chave + 'SnaocjMfO6LnbdJmG+dSxbLmrHE8BYX17/d7Vbuxcr1BoSDojGpubqP7OQIDAQAB'; Chave := Chave + 'AoGBAK0+F+ExTvaCGsPFVsXJKOHUuJQbW1jhYSPtPQ8nbDep+UpXEgjopHnqT3MU'; Chave := Chave + '5tAJ27bq3fzh1atBQaOmfoz6KxVZHEptcLPlpR+jSrBXyhG/mlvD54ZMKKZQb3qD'; Chave := Chave + 'b1UvHAO2CYRH7f7Y9PEGAvqXCloUVkbKl9rS7MEfaukj3xq5AkEA+Qqi8c1j47Db'; Chave := Chave + 'NyezJULfskNwK1wnxcLaFQBKfzpWD2dD0GS/dzWaB5T6d1zmxfXa8ZYv6WQULvqd'; Chave := Chave + '/BGCs+FMcwJBAODd4aDvQf6py4FocklojYbDhpp040NGUyhsVnj702Gq/oj2HBgI'; Chave := Chave + '4bce/b2H5+HwkyEsSZHMm5d/5HuNY35Y+qMCQQDoWCMTgvLZn8u1loVNkymOb9p7'; Chave := Chave + 'qZu1poe+JiparrtR3Z7oEsaK2mhdAIH40KTBNhHRaLREg8lM1yaD4HZXii+/AkA2'; Chave := Chave + 'L0EfNogAhYm0NSbU6Yyw3Iyiy2e33kpLg0+S95uH/Vw4RJWgdQNuzNj3wrftibrq'; Chave := Chave + 'U3Gm4FbdusOjwf4ng+lhAkEApd6RF3AqJXtmgtZpXrO6P8riEpE1qZXBQwdfeRBX'; Chave := Chave + 'Q22LlhcCq5vxgG78jKWeydtan9ue2ebXav/oUT+37LfHYA=='; end; procedure TFDMPafEcf.ACBrEAD1GetChavePublica(var Chave: String); begin Chave := 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDawShBJxM0rFLadxR8GSD5DaKV'; Chave := Chave + 'vxtlQ+OnuOZX/vOEP2pQXCiGNpQfNMDm73dWpTaqFLhuFvU+MSF+ys9u6bI2IqOm'; Chave := Chave + 'WUfEaE16cK4nKTbIm69fLDB8SnaocjMfO6LnbdJmG+dSxbLmrHE8BYX17/d7Vbux'; Chave := Chave + 'cr1BoSDojGpubqP7OQIDAQAB'; end; Para o ACBRAcc : procedure TFDMPafEcf.ACBrAAC1GetChave(var Chave: String); begin Chave := '7777'; end; procedure TFDMPafEcf.ACBrAAC1VerificarRecomporNumSerie( const NumSerie: String; const ValorGT: Double; var CRO, CNI: Integer); var OK: Boolean; NumCRZ, NumCRO: Integer; VendaBruta: Double; begin // ler os dados da ultima Z no ECF FDMPAFECF.ACBrECF1.DadosUltimaReducaoZ; NumCRO := FDMPAFECF.ACBrECF1.DadosReducaoZClass.CRO; NumCRZ := FDMPAFECF.ACBrECF1.DadosReducaoZClass.CRZ; VendaBruta := FDMPAFECF.ACBrECF1.DadosReducaoZClass.ValorVendaBruta; // comparar os dados obtidos com os dados da ultima redução Z gravada no Banco de dados //OK := Comparar com dados do BD; Aqui deixei sempre como true, para teste. OK:= TRUE; // setar os parametros se os valores (CRZ, CRO e Venda Bruta) forem iguais if OK then begin CRO := NumCRO; CNI := 010101; // codigo nacional de identificação do ECF conforme tabela end; end; procedure TFDMPafEcf.ACBrAAC1VerificarRecomporValorGT( const NumSerie: String; var ValorGT: Double); var OK: Boolean; NumCRZ, NumCRO: Integer; VendaBruta: Double; begin // ler os dados da ultima Z no ECF FDMPAFECF.ACBrECF1.DadosUltimaReducaoZ; NumCRO := FDMPAFECF.ACBrECF1.DadosReducaoZClass.CRO; NumCRZ := FDMPAFECF.ACBrECF1.DadosReducaoZClass.CRZ; VendaBruta := FDMPAFECF.ACBrECF1.DadosReducaoZClass.ValorVendaBruta; // comparar os dados obtidos com os dados da ultima redução Z gravada no Banco de dados //OK := Comparar com dados do BD; Aqui deixei sempre como true, para teste. OK:= TRUE; // setar o parametro se os valores (CRZ, CRO e Venda Bruta) forem iguais if OK then ValorGT := FDMPAFECF.ACBrECF1.GrandeTotal; end; if FileExists(ExtractFilePath(Application.ExeName) + 'Auxiliar.txt') then DeleteFile(ExtractFilePath(Application.ExeName) + 'Auxiliar.txt'); AssignFile(F, ExtractFilePath(Application.ExeName) + 'Auxiliar.txt'); Rewrite(F); closefile(F); // setar o diretório onde vai ser salvo o arquivo FdmPafEcf.ACBrPAF1.Path := ExtractFilePath(Application.ExeName) + 'PAF-ECF\'; // registro dos dados do desenvolvedor //Self.PreencherHeaderArquivo(FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1); // registro dos dados do aplicativo FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.RAZAOSOCIAL := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.RazaoSocial; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.UF := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.Uf; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.CNPJ := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.CNPJ; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.IE := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.IE; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.IM := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.IM; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN2.NOME := FdmPafEcf.ACBrAAC1.IdentPAF.Paf.Nome; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN2.VERSAO := FdmPafEcf.ACBrAAC1.IdentPAF.Paf.Versao; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN2.LAUDO := FdmPafEcf.ACBrAAC1.IdentPAF.NumeroLaudo; // lista dos arquivo executaveis e seus respectivos MD5 with FdmPafEcf.ACBrAAC1.IdentPAF.OutrosArquivos.New do //Aqui só está pegando e processando o ultimo nome (easyconfigurador.exe) begin Nome := 'EmpPafEcf.exe'; end; with FdmPafEcf.ACBrAAC1.IdentPAF.OutrosArquivos.New do //Aqui só está pegando e processando o ultimo nome (easyconfigurador.exe) begin Nome := 'BemaFI32.dll'; end; // Salvar o arquivo de autenticados FdmPafEcf.ACBrPAF1.SaveFileTXT_N('lista_autenticados.txt'); // Carregar o MD5 do arquivo de autenticados FdmPafEcf.ACBrAAC1.IdentPAF.ArquivoListaAutenticados.Nome := 'lista_autenticados.txt'; FdmPafEcf.ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5 := FdmPafEcf.ACBrEAD1.MD5FromFile(ExtractFilePath(Application.ExeName) + 'PAF-ECF\' + 'lista_autenticados.txt'); FdmPafEcf.ACBrAAC1.SalvarArquivo; // setar o MD5 do arquivo de autenticados que deve aparecer no rodapé do cupom // se a impressora for MFD então fazer a programação para que apareça nas informações complementares // se não for MFD setar a propriedade InfoRodapeCupom.MD5 do FdmPafEcf.ACBrECF if FdmPafEcf.ACBrECF1.MFD then begin FdmPafEcf.ACBrECF1.InfoRodapeCupom.MD5 := EmptyStr; if FdmPafEcf.ACBrECF1.Estado = estLivre then begin FdmPafEcf.ACBrECF1.IdentificaPAF( FdmPafEcf.ACBrAAC1.IdentPAF.Paf.Nome + ' v' + FdmPafEcf.ACBrAAC1.IdentPAF.Paf.Versao, 'MD-5: ' + FdmPafEcf.ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5 ); end; end else begin FdmPafEcf.ACBrECF1.InfoRodapeCupom.MD5 := FdmPafEcf.ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5; end; Grato se alguem responder. -
Olá Estou tentando imprimir o relatório de configurações seguindo os demos da pasta exemplo do ACBr e não consigo imprimir um relatorio completo, o PAF envia a ordem de impressão para o ECF porém só sai o cabeçalho e o rodapé. Obs. Se eu usar os métodos AbreRelatorioGerencial e LinhaRelatorioGerencial eu consigo montar o relatorio, porém eu gostaria de fazer como no demo do ACBrECF (ECFTeste.exe) e passar apenas o identPaf. Impressora: Daruma FS700H Desde já muito obrigado!
-
Como gerar o arquivo auxiliar criptografado no ACBr, gerei o arquivo no ACBrAACDemo.exe, mas na minha aplicação quando seto o caminho do arquivo no ACBrAAC.NomeArquivoAux ele diz que o arquivo está inválido. Alguém já passou por isso? Podem me ajudar?
- 1 reply
-
- arquivo auxiliar criptografad
- ACBrAAC
- (e 1 mais)