Ir para conteúdo
  • Cadastre-se

gobbo

Membros
  • Total de ítens

    97
  • Registro em

  • Última visita

  • Days Won

    2

Posts postados por gobbo

  1. Daniel

    Com o PATH=pasta do programa, quando tento gerar o PafMF_LMFC_Cotepe1704, os arquivos de log da Bematech não são criados:

    - BematechXXX.log

    - BemaMFD2.log

    O erro trava a minha aplicação fechando-a automaticamente.

    Mas o log do ACBr é gerado até a linha abaixo:

    -- 01:26:48 ArquivoMFD_DLL( 01/03/2012 , 03/03/2012 , C:\Documents and Settings\Priori\Meus documentos\Priori\Projetos\EstoquePDV\Exe\MenuFiscal\BE070771200200000210_01032012_03032012_LMFC_AtoCotepe1704.txt ) 
    
                TX -> [STX][ENQ][NUL][FS]#[11]J[NUL]
    
       01:26:48 RX <- [NUL][1][NUL][NUL][NUL][NUL]

    A aplicação trava na chamada da função "LoadDLLFunctions", gera uma mensagem de "Exceção desconhecida" e fecha meu aplicativo.

    Alguma ideia do que seja?

    Leandro Gobbo

  2. Rodrigo

    Veja o que diz a ER 01.10:

    http://www.fazenda.gov.br/confaz/confaz ... 051_11.htm

    Requisito XXII

    Item 4: ...ECFs autorizados para uso fiscal no estabelecimento, cadastrados em arquivo auxiliar criptografado, que somente poderá ser acessível ao estabelecimento usuário no caso de PAF-ECF exclusivo-próprio, observando-se que o cadastro de ECFs autorizados no arquivo auxiliar deve ser realizado exclusivamente pela empresa desenvolvedora do PAF;

    Item 5: ...a) o registro inicial do valor correspondente ao Totalizador Geral no arquivo auxiliar criptografado deve ser realizado exclusivamente pela empresa desenvolvedora do PAF-ECF;

    Então entendo que você não pode deixar seu cliente usuário do PAF modificar este arquivo auxiliar criptografado, nem para o cadastro inicial do ECF, conforme o Item 5 acima.

    Você desenvolvedor do PAF é o único responsável pelos dados do arquivo auxiliar criptografado.

    No nosso caso, quando instalamos nosso aplicativo num novo cliente, nós vamos pessoalmente no cliente e configuramos cada ECF através de um aplicativo próprio para gerar o AAC em cada computador (muito parecido com o demo AAC na pasta de exemplos do ACBr). Esse aplicativo próprio gerador de AAC não fica no cliente de forma alguma.

    No máximo, quando não é possível irmos pessoalmente no cliente, fazemos esta tarefa via "VNC" em cada ECF instalado, mas também nunca deixamos aquele aplicativo próprio para gerar o AAC nas máquinas do cliente, nem deixamos o cliente utilizar este aplicativo próprio gerador de AAC por conta própria.

    Mas isso é só a minha opinião. Veja com a sua homologadora do PAF-ECF se este seu pensamento também está correto.

    Leandro Gobbo

  3. Andre, acho que você pulou uma etapa da sua homologação.

    Segundo a minha homologadora (Unochapecó/SC), primeiro eu sou obrigado a homologar o meu aplicativo com a autoridade homologadora dos cartões de crédito/débito TEF, e só depois disso passar pela homologação do PAF-ECF.

    Veja uma resposta no blog da Unochapecó sobre este assunto:

    Pergunta:  Posso submeter o PAF-ECF para análise e depois homologar o TEF? Gostaria de poder realizar a analise inicialmente do PAF-ECF e numa segunda etapa realizar o TEF. Isso é possível?
    
    
    Resposta: Não, pois na Análise Funcional do PAF-ECF será testada a função de TEF já homologada.

    fonte: http://pafunochapeco.blogspot.com/2011/ ... efc-e.html

    Sugiro você conversar com a sua homologadora para ver se lá isso também procede.

    Leandro Gobbo

  4. Daniel, boa noite.

    Já baixei o update de hoje (revision 3332) e ambos problemas foram resolvidos:

    - Bematech com a tag (agora com ) em todos os relatórios "PafMF_...";

    - Ordenação dos DAVs no relatório "PafMF_RelDAVEmitidos".

    Obrigado pela imediata ajuda.

    Leandro Gobbo

  5. Kebe, boa noite.

    Assim como o colega Daniel mencionou acima, aqui eu faço todas as chamadas de funções do ACBrECF dentro de um try...except...

    Exemplo:

    try
    
      ACBrECF.AbreCupom();
    
    except
    
      on E: Exception do
    
      begin
    
        ShowMessage( E.Message );
    
        editCodigoCliente.SetFocus;
    
        Abort;
    
      end;
    
    end;
    
    .
    
    .
    
    .
    
    
    try
    
      ACBrECF.VendeItem( ... );
    
    except
    
      on E: Exception do
    
      begin
    
        ShowMessage( E.Message );
    
        editCodigoProduto.SetFocus;
    
        Abort;
    
      end;
    
    end;
    Outra dica exclusivamente sobre a mensagem de "POUCO PAPEL", para que esta mensagem não seja mostrada numa "janela" de erro, eu programei o evento "OnMsgPoucoPapel" do componente ACBrECF para mostrar a mensagem só no rodapé da minha aplicação. O código é mais ou menos assim:
    procedure TfFormPrincipal.ECFMsgPoucoPapel(Sender: TObject);
    
    begin
    
      minhaBarraDeStatus.SimpleText := 'ATENÇÃO: POUCO PAPEL';
    
    end;

    Leandro Gobbo

  6. Agora com a minha ordenação via SQL, como eu "acho" que deveria ficar:

    BEMATECH IND E COM DE EQUIP ELETRONICOS S/A
    
    Estrada de Santa Candida, 263 Santa Candida
    
    82.630-490 Curitiba - Parana
    
    CNPJ:82.373.077/0001-71  
    
    IE:10181465-30         
    
    IM:ISENTO              
    
    ------------------------------------------------
    
    01/03/2012 19:42:09   GNF:000005      COO:000008
    
    GRG:000005  CER:0005
    
                 NÃO É DOCUMENTO FISCAL             
    
      RELATÓRIO GERENCIAL   
    
                   Relatório Geral                  
    
                 NÃO É DOCUMENTO FISCAL
    
                 NÃO É DOCUMENTO FISCAL
    
    
    ================================================
    
                      DAV EMITIDOS                  
    
    ================================================
    
    
               De 01/02/2012 a 01/03/2012           
    
    
    NUMERO  TITULO  EMISSAO COO_DAV COO_CUP VL.TOTAL
    
    ------------------------------------------------
    
    0000000000001 ORCAMENTO                         
    
    28/02/2012 000009 000000 R$               230,00
    
    
    0000000000002 ORCAMENTO                         
    
    28/02/2012 000000 000015 R$               230,00
    
    
    0000000000003 ORCAMENTO                         
    
    28/02/2012 000016 000000 R$               200,00
    
    
    0000000000004 ORCAMENTO                         
    
    28/02/2012 000000 000000 R$               200,00
    
    
    0000000000005 ORCAMENTO                         
    
    29/02/2012 000017 000000 R$               430,00
    
    
    0000000000006 ORCAMENTO                         
    
    29/02/2012 000018 000000 R$               400,00
    
    
    0000000000007 ORCAMENTO                         
    
                 NÃO É DOCUMENTO FISCAL
    
    29/02/2012 000019 000000 R$               350,00
    
    
    0000000000008 ORCAMENTO                         
    
    29/02/2012 000020 000000 R$               200,00
    
    
    0000000000009 ORCAMENTO                         
    
    29/02/2012 000000 000000 R$               200,00
    
    
    0000000000010 ORCAMENTO                         
    
    29/02/2012 000000 000000 R$               400,00
    
    
    ------------------------------------------------
    
    10 DAV listado(s)
    
    
    -------------NÃO É DOCUMENTO FISCAL-------------
    
    ------------------------------------------------
    
    BEMATECH MP-2100 TH FI ECF-IF
    
    VERSÃO:01.00.01 ECF:001 LJ:0001
    
    QQQQQQQQQQQQQQQQQQ 01/03/2012 19:42:14 
    
    FAB:EMULADOR

    Leandro Gobbo

  7. Daniel, não deu certo, o resultado é o mesmo,não há ordenação da numeração dentro do mesmo dia.

    Veja um exemplo abaixo, testei com os 2 códigos-fonte (o original e o seu código sugerido), em ambos o resultado é o mesmo como apresentado abaixo:

    BEMATECH IND E COM DE EQUIP ELETRONICOS S/A
    
    Estrada de Santa Candida, 263 Santa Candida
    
    82.630-490 Curitiba - Parana
    
    CNPJ:82.373.077/0001-71  
    
    IE:10181465-30         
    
    IM:ISENTO              
    
    ------------------------------------------------
    
    01/03/2012 19:21:18   GNF:000003      COO:000006
    
    GRG:000003  CER:0003
    
                 NÃO É DOCUMENTO FISCAL             
    
      RELATÓRIO GERENCIAL   
    
                   Relatório Geral                  
    
                 NÃO É DOCUMENTO FISCAL
    
                 NÃO É DOCUMENTO FISCAL
    
    
    ================================================
    
                      DAV EMITIDOS                  
    
    ================================================
    
    
               De 01/02/2012 a 01/03/2012           
    
    
    NUMERO  TITULO  EMISSAO COO_DAV COO_CUP VL.TOTAL
    
    ------------------------------------------------
    
    0000000000003 ORCAMENTO                         
    
    28/02/2012 000016 000000 R$               200,00
    
    
    0000000000004 ORCAMENTO                         
    
    28/02/2012 000000 000000 R$               200,00
    
    
    0000000000001 ORCAMENTO                         
    
    28/02/2012 000009 000000 R$               230,00
    
    
    0000000000002 ORCAMENTO                         
    
    28/02/2012 000000 000015 R$               230,00
    
    
    0000000000008 ORCAMENTO                         
    
    29/02/2012 000020 000000 R$               200,00
    
    
    0000000000009 ORCAMENTO                         
    
    29/02/2012 000000 000000 R$               200,00
    
    
    0000000000010 ORCAMENTO                         
    
                 NÃO É DOCUMENTO FISCAL
    
    29/02/2012 000000 000000 R$               400,00
    
    
    0000000000005 ORCAMENTO                         
    
    29/02/2012 000017 000000 R$               430,00
    
    
    0000000000006 ORCAMENTO                         
    
    29/02/2012 000018 000000 R$               400,00
    
    
    0000000000007 ORCAMENTO                         
    
    29/02/2012 000019 000000 R$               350,00
    
    
    ------------------------------------------------
    
    10 DAV listado(s)
    
    
    -------------NÃO É DOCUMENTO FISCAL-------------
    
    ------------------------------------------------
    
    BEMATECH MP-2100 TH FI ECF-IF
    
    VERSÃO:01.00.01 ECF:001 LJ:0001
    
    QQQQQQQQQQQQQQQQQQ 01/03/2012 19:21:22 
    
    FAB:EMULADOR

    Leandro Gobbo

  8. Ah sim...

    Esta função "Ordenar" ordena somente pela DATA DE EMISSÃO, mas a NUMERAÇÃO dos DAVs fica toda fora de ordem dentro do mesmo dia.

    Então eliminei esta ordenação do ACBr e eu mesmo ordeno nas busca dos DAVs no banco de dados via SQL, e os incluo (ACBrECFDAVs.new) já na ordem desejada para a impressão do relatório.

    Leandro Gobbo

  9. Veja no "Histórico de Versões.txt" da Bematech:

    *** versão 6.0.0.0 ***

    . Ato Cotepe 17/04: No relatório do tipo "MF" os campos "Nome" e "Endereço" do contribuinte serão preenchidos com espaços, pois estes dados são provenientes da MFD da impressora, não sendo informados para o tipo MF.

    Então acho que não tem o que fazer... Também não sei onde preencher no arquivo INI para informar estes dados de "Nome" e "Endereço" do contribuinte.

    Leandro Gobbo

  10. Experimente mudar as linhas:

    C_ON = #1;

    C_OFF = #0;

    para

    C_ON = '1';

    C_OFF = '0';

    Fazendo esta modificação, o relatório é impresso por completo.

    Porém na primeira linha acaba saindo os strings '1' e '0' mesclado com o título:

    --- 1IDENTIFICACAO DO PAF-ECF0 ---

    Segue o log gerado:

    -- 16:36:33 LinhaRelatorioGerencial( "[ESC]W1IDENTIFICACAO DO PAF-ECF[ESC]W0[CR][LF]================================================[CR][LF]LAUDO NUMERO: [ESC]EUNO123456[ESC]F[CR][LF]", 0 )
    
                TX -> [STX]p[NUL][FS][20][ESC]W1IDENTIFICACAO DO PAF-ECF[ESC]W0[LF]================================================[LF]LAUDO NUMERO: [ESC]EUNO123456[ESC]F[LF][248][25]
    
       16:36:33 RX <- [NUL][NUL][NUL][NUL]

    Leandro Gobbo

  11. Log com ACBrECF original (revision 3324):

    -- 12:42:57 Estado
    
                TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]
    
       12:42:57 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:42:57 
    
                TX -> [STX][ENQ][NUL][FS]#A[128][NUL]
    
       12:42:57 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:42:57 
    
                TX -> [STX][ENQ][NUL][FS]#[ESC]Z[NUL]
    
       12:42:58 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL]
    
    -- 12:42:58 FechaRelatorio
    
                TX -> [STX][4][NUL][FS][NAK]1[NUL]
    
       12:42:58 RX <- [NUL][1]e[NUL]
    
    ----------------- ERRO -----------------
    
    Erro retornado pela Impressora: Bematech
    
    
    Comando não executado
    
    Sem relatório gerencial
    
    
    ----------------------------------------
    
    
    -- 12:42:58 NumSerie
    
                TX -> [STX][ENQ][NUL][FS]#(g[NUL]
    
       12:42:58 RX <- EMULADOR            [NUL][NUL][NUL][NUL]
    
    -- 12:42:58 GrandeTotal
    
                TX -> [STX][ENQ][NUL][FS]#[ETX]B[NUL]
    
       12:42:58 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL]
    
    -- 12:42:58 AbreRelatorioGerencial
    
                TX -> [STX][4][NUL][FS][20]0[NUL]
    
       12:42:59 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:42:59 NumCupom
    
                TX -> [STX][4][NUL][FS][30]:[NUL]
    
       12:42:59 RX <- [NUL][NUL][ENQ][NUL][NUL][NUL][NUL]
    
    -- 12:42:59 LinhaRelatorioGerencial( "[CR][LF]", 0 )
    
                TX -> [STX][ENQ][NUL][FS][20][LF]:[NUL]
    
       12:42:59 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:42:59 LinhaRelatorioGerencial( "[ESC]W[1]IDENTIFICACAO DO PAF-ECF[ESC]W[CR][LF]", 0 )
    
                TX -> [STX]"[NUL][FS][20][ESC]W[1]IDENTIFICACAO DO PAF-ECF[ESC]W[LF]g[BEL]
    
       12:43:00 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:43:00 Estado
    
                TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]
    
       12:43:00 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:43:00 
    
                TX -> [STX][ENQ][NUL][FS]#A[128][NUL]
    
       12:43:00 RX <- [4][NUL][NUL][NUL][NUL]
    
    -- 12:43:00 FechaRelatorio
    
                TX -> [STX][4][NUL][FS][NAK]1[NUL]
    
       12:43:00 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:43:00 Estado
    
                TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]
    
       12:43:01 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:43:01 
    
                TX -> [STX][ENQ][NUL][FS]#A[128][NUL]
    
       12:43:01 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:43:01 
    
                TX -> [STX][ENQ][NUL][FS]#[ESC]Z[NUL]
    
       12:43:01 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL]
    Log com ACBrECF modificado:
    -- 12:50:37 Estado
    
                TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]
    
       12:50:37 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:50:37 
    
                TX -> [STX][ENQ][NUL][FS]#A[128][NUL]
    
       12:50:37 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:50:37 
    
                TX -> [STX][ENQ][NUL][FS]#[ESC]Z[NUL]
    
       12:50:37 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL]
    
    -- 12:50:37 FechaRelatorio
    
                TX -> [STX][4][NUL][FS][NAK]1[NUL]
    
       12:50:38 RX <- [NUL][1]e[NUL]
    
    ----------------- ERRO -----------------
    
    Erro retornado pela Impressora: Bematech
    
    
    Comando não executado
    
    Sem relatório gerencial
    
    
    ----------------------------------------
    
    
    -- 12:50:38 NumSerie
    
                TX -> [STX][ENQ][NUL][FS]#(g[NUL]
    
       12:50:38 RX <- EMULADOR            [NUL][NUL][NUL][NUL]
    
    -- 12:50:38 GrandeTotal
    
                TX -> [STX][ENQ][NUL][FS]#[ETX]B[NUL]
    
       12:50:38 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL]
    
    -- 12:50:38 AbreRelatorioGerencial
    
                TX -> [STX][4][NUL][FS][20]0[NUL]
    
       12:50:39 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:50:39 NumCupom
    
                TX -> [STX][4][NUL][FS][30]:[NUL]
    
       12:50:39 RX <- [NUL][NUL][ACK][NUL][NUL][NUL][NUL]
    
    -- 12:50:39 LinhaRelatorioGerencial( "[CR][LF]", 0 )
    
                TX -> [STX][ENQ][NUL][FS][20][LF]:[NUL]
    
       12:50:39 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:50:39 LinhaRelatorioGerencial( "================================================[CR][LF]            IDENTIFICACAO DO PAF-ECF            [CR][LF]================================================[CR][LF]", 0 )
    
                TX -> [STX][151][NUL][FS][20]================================================[LF]            IDENTIFICACAO DO PAF-ECF            [LF]================================================[LF]v 
    
       12:50:40 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:50:40 LinhaRelatorioGerencial( "[CR][LF]================================================[CR][LF]LAUDO NUMERO: [ESC]EUNO123456[ESC]F[CR][LF]", 0 )
    
                TX -> [STX]R[NUL][FS][20][LF]================================================[LF]LAUDO NUMERO: [ESC]EUNO123456[ESC]F[LF]k[DC2]
    
       12:50:40 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:50:40 LinhaRelatorioGerencial( "================================================[CR][LF][CR][LF][ESC]EEMPRESA DESENVOLVEDORA[ESC]F[CR][LF]", 0 )
    
                TX -> [STX]Q[NUL][FS][20]================================================[LF][LF][ESC]EEMPRESA DESENVOLVEDORA[ESC]F[LF][205][DC2]
    
       12:50:40 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:50:40 LinhaRelatorioGerencial( "------------------------------------------------[CR][LF]CNPJ........: 02363150000195[CR][LF]Razao Social: PRIORI CONSULTORIA E SISTEMAS LTDA[CR][LF]", 0 )
    
                TX -> [STX][131][NUL][FS][20]------------------------------------------------[LF]CNPJ........: 02363150000195[LF]Razao Social: PRIORI CONSULTORIA E SISTEMAS LTDA[LF][195][FS]
    
       12:50:40 RX <- [NUL][NUL][NUL][NUL]
    
    
    => aqui existem várias linhas LinhaRelatorioGerencial(...) que retirei para diminuir este post... todas sem problemas
    
    
    -- 12:50:45 Estado
    
                TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]
    
       12:50:45 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:50:45 
    
                TX -> [STX][ENQ][NUL][FS]#A[128][NUL]
    
       12:50:45 RX <- [4][NUL][NUL][NUL][NUL]
    
    -- 12:50:45 FechaRelatorio
    
                TX -> [STX][4][NUL][FS][NAK]1[NUL]
    
       12:50:45 RX <- [NUL][NUL][NUL][NUL]
    
    -- 12:50:45 Estado
    
                TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]
    
       12:50:46 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:50:46 
    
                TX -> [STX][ENQ][NUL][FS]#A[128][NUL]
    
       12:50:46 RX <- [NUL][NUL][NUL][NUL][NUL]
    
    -- 12:50:46 
    
                TX -> [STX][ENQ][NUL][FS]#[ESC]Z[NUL]
    
       12:50:46 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL]

    Leandro Gobbo

  12. Por algum motivo obscuro (falha na DLL da bematech), se eu alterar o PATH=pasta do programa a cada inicialização, ou deixar somente o ACBr alterar o path lá na função "AbrePortaSerialDLL", as funções que utilizam as DLLs da bematech não funcionam.

    Somente funciona se eu alterar o PATH=C:\ a cada inicialização. Posteriormente o próprio ACBr modifica este path para a pasta do programa, mas ai já não há mais problemas e tudo continua funcionando normalmente.

    Ou seja, caso o INI esteja na pasta do programa, sempre tem que ser iniciado com o PATH=C:\

    Depois, com o programa aberto, este PATH pode ser alterado normalmente (como faz o ACBr "AbrePortaSerialDLL").

    Mas a cada inicialização do aplicativo sou obrigado a resetar o PATH = C:\ novamente.

    A impressão que dá é que a DLL precisa do PATH=C:\ na primeira função a ser executada. Depois esse PATH pode ser mudado sem interferir nas funções da DLL.

    É esquisito, mas aqui foi o único jeito que funcionou para continuar deixando o INI na pasta do programa.

  13. Após algum update no ACBr dos últimos dias, a Bematech (e talvez outras ECFs) não reconhece mais as tags , não imprimindo os seguintes relatórios:

    - PafMF_RelMeiosPagamento

    - PafMF_RelDAVEmitidos

    - PafMF_RelIdentificacaoPafECF

    - DAV_Abrir

    O relatório PafMF_RelParametrosConfiguracao é emitido corretamente, pois é utilizado a tag .

    Substitui todos os por e os por na unit ACBrECF e o problema foi resolvido.

    Leandro Gobbo

  14. Também estava com sérios problemas nestas funções do ACBr que chamam as DLLs da Bematech:

    ACBr: PafMF_MFD_Espelho => DLL: Bematech_FI_EspelhoMFD

    ACBr: PafMF_MFD_Cotepe1704 => DLL: Bematech_FI_ArquivoMFD

    ACBr: PafMF_LMFC_Cotepe1704 => DLL: Bematech_FI_ArquivoMFD

    O meu padrão é sempre deixar todas as DLLs e o arquivo INI na pasta da aplicação, não coloco nada em outras pastas (Windows ou System32):

    - BemaFI32.dll (6.1.0.0)

    - BemaMFD.dll (2.1.0.0)

    - BemaMFD2.dll (2.1.0.0)

    - BemaMFD2_MP4000THFI.dll (2.1.0.0)

    - sign_bema.dll

    - BemaFI32.ini

    - openssl.exe

    - libeay32.dll (0.9.8.1)

    - ssleay32.dll (0.9.8.1)

    Deixando o INI na pasta do aplicativo, o ACBr modifica automaticamente o PATH ao executar a função "AbrePortaSerialDLL".

    Isso funciona somente na PRIMEIRA execução do aplicativo. Após o INI original ter sido modificado, caso eu fechasse o aplicativo e iniciasse novamente, ao tentar executar as funções, lá vinha o erro mencionado.

    Explicando melhor...

    PRIMEIRA EXECUÇÃO:

    - Path = C:\

    ao chamar as funções...

    - Path = diretório conforme parâmetro "NomeArquivo"

    APÓS PRIMEIRA EXECUÇÃO:

    - Path = diretório conforme parâmetro "NomeArquivo" da última execução

    ao chamar as funções...

    - Path = diretório conforme parâmetro "NomeArquivo"

    Então, como a PRIMEIRA EXECUÇÃO sempre dava certo, tive que forçar a gravação do PATH = C:\ a cada inicialização do ECF. Meu código ficou mais ou menos assim:

    ACBrECF.Ativar;
    
    
    Ini := TIniFile.Create( ExtractFilePath( Application.ExeName ) + 'BemaFI32.ini' );
    
    try
    
      Ini.WriteString( 'Sistema', 'Porta', ECF.Porta );
    
      Ini.WriteString( 'Sistema', 'Path', 'C:\' );           // <= AQUI ESTÁ A "GAMBIARRA"
    
    finally
    
      Ini.Free;
    
    end;{try}

    Pronto. Todos os problemas resolvidos.

    P.S. Tentei todas as formas possíveis antes desta solução (INI no System32, gravando ou não o PATH, etc etc). A única forma que funcionou foi esta citada acima.

    Utilizo aqui uma MP-3000 TH FI.

    Leandro Gobbo

  15. ressuscitando o tópico...

    Também senti falta desse campo CNI (Código Nacional de Identificação do ECF) nas propriedades do AAC. Ele só serve para gerar o nome do arquivo no requisito XXV.

    Porém somente temos a chance de cadastrá-lo quando incluímos os dados de um ECF via AAC. É uma propriedade de cada ECF, achei difícil utilizar os campos avulsos do AAC para isso.

    Eu fiz uma modificação nos códigos-fonte para incluir esta propriedade. Se quiserem atualizar o ACBr, fiquem a vontade.

    Leandro Gobbo

    ACBrComum.zip

×
×
  • 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.