Gerando os Registros da CAT-52

Bematech

Gerando os Registros da CAT-52

 

Implementamos a função Bematech_FI_GeraRegistrosCAT52MFD que permite a geração manual e retroativa dos registros referente à portaria CAT-52.

 

A geração do arquivo da CAT-52 continua sendo realizada no momento da Redução Z, através da função Bematech_FI_ReducaoZ (executada pela aplicação comercial), automaticamente quando a impressora é ligada no dia seguinte ou automaticamente às 2:00 hrs da manhã quando a impressora permacer ligada, mas caso necessite gerar o arquivo do CAT-52, basta chamar esta função.

 

Observações:

  • No modelo matricial é obrigatório informar o arquivo .rfd como parâmetro. O parâmetro data não é obrigatório e será ignorado caso seja informado. O arquivo da CAT-52 será gerado com as informações contidas no arquivo .rfd.

  • No modelo térmico com MFD temos as seguintes possibilidades:

  1. se não forem informados o arquivo .mfd e a data, a função fará o download da MFD da data atual e fará a geração do arquivo da CAT-52.

  2. se for informado o arquivo .mfd e não for passada a data, a função retornará erro.

  3. se for informada apenas a data, a função fará o download da MFD com base na data informada e fará a geração do arquivo da CAT52.

  4. se forem informados o arquivo .mfd e a data, a função fará a geração do arquivo da CAT-52 com as informações contidas no arquivo .mfd na data informada.

  • No emulador da impressora, para que a função tenha efeito, é obrigatório que a comunicação seja realizada através de um cabo serial fisicamente conectado ao micro (COM1 <-> COM2, por exemplo), pois é realizado o download da MFD na geração do arquivo. A pinagem deste cabo está descrito no arquivo de ajuda do emulador.

Parâmetros:

 

Arquivo: STRING com o nome do arquivo .mfd ou .rfd de onde os registros serão gerados. Informar o caminho completo.

 

Data: STRING com a data que os registros serão gerados, no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

 

Possíveis retornos da Função (INTEIRO):

 

0: Erro de comunicação.

1: OK.

-1 - Erro de execução da função.

-2: Parâmetro inválido na função.

-4: O arquivo de inicialização BemaFI32.ini não foi encontrado no diretório de sistema do Windows.

-5: Erro ao abrir a porta de comunicação.

-27: Status da impressora diferente de 6,0,0 (ACK, ST1 e ST2).

 

Exemplo:

 

' Exemplo em Visual Basic

iRetorno = Bematech_FI_GeraRegistrosCAT52MFD("C:\download.mfd", "30/07/2007")

 

ou

 

iRetorno = Bematech_FI_GeraRegistrosCAT52MFD("C:\BEB00007.M57.rfd", "30/07/2007")

 

// Exemplo em Delphi

Arquivo := 'C:\download.mfd';

Data := '30/07/2007'

iRetorno := Bematech_FI_GeraRegistrosCAT52MFD( pchar( Arquivo ), pchar( Data ) );

 

ou

 

Arquivo := 'C:\BEB00007.M57.rfd';

Data := '30/07/2007'

iRetorno := Bematech_FI_GeraRegistrosCAT52MFD( pchar( Arquivo ), pchar( Data ) );

 

 

Importante:

 

Para que a função Bematech_FI_GeraRegistrosCAT52MFD possa gerar os registros da portaria CAT-52 ou Ato Cotepe 17/04, é necessário que as dlls BemaMFD.dll e BemaMFD2.dll estejam presentes em seu computador, juntamente com a BemaFI32.dll e o BemaFI32.ini previamente configurado (ver tópico "Configurando a DLL").

 

Copie estes arquivos para o diretório de sistema do Windows (exemplo: \WINDOWS\SYSTEM32).

 

 

Também criamos a função Bematech_FI_GeraRegistrosCat52MFDEx que possui um terceiro parâmetro, onde retorna o nome do arquivo gerado.

 

Os parâmetros desta função, são:

 

Arquivo: STRING com o nome do arquivo .mfd ou .rfd de onde os registros serão gerados. Informar o caminho completo.

 

Data: STRING com a data que os registros serão gerados, no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa.

 

ArqDestino: variável STRING com 512 bytes para retornar o path+nome do arquivo gerado.

 

' Exemplo em Visual Basic

cArqDestino = space(512)

iRetorno = Bematech_FI_GeraRegistrosCAT52MFDEx("C:\download.mfd", "30/07/2007", cArqDestino)

 

ou

 

cArqDestino = space(512)

iRetorno = Bematech_FI_GeraRegistrosCAT52MFDEx("C:\BEB00007.M57.rfd", "30/07/2007", cArqDestino)

 

// Exemplo em Delphi

Arquivo := 'C:\download.mfd';

Data := '30/07/2007'

iConta := 1 to 512 do cArqDestino := cArqDestino + ' ';

iRetorno := Bematech_FI_GeraRegistrosCAT52MFDEx( pchar( Arquivo ), pchar( Data ), cArqDestino );

 

ou

 

Arquivo := 'C:\BEB00007.M57.rfd';

Data := '30/07/2007'

for iConta := 1 to 512 do cArqDestino := cArqDestino + ' ';

iRetorno := Bematech_FI_GeraRegistrosCAT52MFDEx( pchar( Arquivo ), pchar( Data ), cArqDestino );