Business - Automação Comercial

Bematech: Como gerar o arquivo da CAT-52 / Ato Cotepe 17/04 nas impressoras fiscais Bematech

Ainda há algumas dúvidas em relação à geração do arquivo da portaria CAT-52 e Ato Cotepe 17/04 para o estado de São Paulo. Neste artigo, estaremos detalhando todos os procedimentos de geração deste arquivo, através de nossas ferramentas de comunicação.

por André Luiz R. Munhoz



Ainda há algumas dúvidas em relação à geração do arquivo da portaria CAT-52 e Ato Cotepe 17/04 para o estado de São Paulo.

Nesta edição de nosso artigo, estaremos detalhando todos os procedimentos de geração deste arquivo, através de nossas ferramentas de comunicação.

DLL BEMAFI32 (ambiente Windows)

A Bematech implementou em sua dll de alto-nível BemaFI32.dll, o controle e geração do arquivo da portaria CAT-52 (layout para as impressoras fiscais matriciais) e Ato Cotepe 17/04 (layout para as impressoras fiscais térmicas com MFD) automaticamente. A última versão disponível em nosso site é 5.8.0.0.

Basta atualizar a BemaFI32.dll juntamente com as dlls BemaMFD.dll, BemaMFD2.dll e o arquivo de configuração BemaFI32.ini, no diretório de sistema de seu Windows (C:\Windows\System32, por exemplo).

As chaves das seções [SoftwareHouse] e [ECF], no arquivo BemaFI32.ini, devem ser configuradas da seguinte forma:

[SoftwareHouse]
COO= Informe nesta chave o último COO da impressora, antes da atualização da nova dll, com o tamanho de 6 bytes. Ex: imprima uma Leitura X e coloque o COO desta Leitura X nesta chave.
NumeroAplicativo= Informe nesta chave um Id para sua aplicação, com o tamanho de 2 bytes. Ex: 01
CNPJ= Informe nesta chave o CNPJ/CPF da Software House ou desenvolvedor autônomo, com até 14 bytes. Sem máscara.
IE= Informe nesta chave a Inscrição Estadual da Software House, com até 14 bytes. Caso não possua pode deixar em branco. Sem máscara.
IM= Informe nesta chave a Inscrição Municipal da Software House, com até 14 bytes. Caso não possua pode deixar em branco. Sem máscara.
RazaoSocial= Informe nesta chave a Razão Social da Software House, com até 40 bytes.
NomeAplicativo= Informe nesta chave o nome do aplicativo de automação comercial, com até 40 bytes.
Versao= Informe nesta chave a versão do aplicativo de automação comercial, com até 10 bytes. Ex: 01.00.05
Linha1= Informe nesta chave comentários do programa aplicativo, com até 42 bytes. Caso não possua pode deixar em branco.
Linha2= Informe nesta chave comentários do programa aplicativo, com até 42 bytes. Caso não possua pode deixar em branco.

[ECF]
IM= Informe nesta chave a Inscrição Municipal do estabelecimento que possui a ECF, com até 20 bytes. Sem máscara.
UF= Informe nesta chave a Unidade da Federação do estabelecimento que possui a ECF, com até 2 posições. Esta chave deve possuir o valor SP (UF=SP) obrigatoriamente para que a dll possa gerar o arquivo. Sem máscara.

Exemplo:

[SoftwareHouse]
COO=003351
NumeroAplicativo=01
CNPJ=11111111111111
IE=22222222222222
IM=33333333333333
RazaoSocial=EMPRESA DE SOFTWARE TESTE
NomeAplicativo=APLICATIVO TESTE
Versao=1.0
Linha1=LINHA1 TESTE
Linha2=LINHA2 TESTE

[ECF]
IM=44444444444444
UF=SP

Obs: Se a impressora fiscal utilizada for MP-20 FI II ou MP-40 FI II, a chave Impressora na seção [MFD] deve possuir o valor 0 (Impressora=0), caso contrário esta chave deve possuir o valor 1 (Impressora=1).

Configurando estas chaves, a dll estará controlando os dados para a geração da CAT-52 ou Ato Cotepe 17/04.

Quando é gerado o arquivo final pronto para ser validado?

Existem 3 situações:

1) Quando for executada a Redução Z pela aplicação de automação comercial;
2) Quando a impressora emitir automaticamente a Redução Z às 02:00 horas da manhã e, posteriormente, for aberto o cupom fiscal e;
3) Quando a impressora emitir automaticamente a Redução Z quando for ligada no dia seguinte e, posteriormente, for aberto o primeiro cupom fiscal do dia.

Nas impressoras fiscais matriciais, a dll irá criar e manter um arquivo de extensão .RFD durante o movimento do dia (este arquivo corresponde ao Registro de Fita-Detalhe e seu conteúdo é criptografado).

Quando ocorrer uma das 3 situações acima, a dll irá converter este arquivo em um novo arquivo (sem extensão .RFD) no formato e layout da portaria CAT-52, pronto para ser validado no site da SEFAZ/SP.

Nas impressoras fiscais térmicas, a dll irá gerar o arquivo final diretamente da MFD (Memória de Fita-Detalhe) da impressora, quando ocorrer uma das 3 situações acima, ou seja, a dll fará o download da MFD do dia do movimento, e criará o arquivo no formato e layout do Ato Cotepe 17/04.

Onde é gerado o arquivo final?

O arquivo da portaria CAT-52 ou Ato Cotepe 17/04 é gerado no caminho configurado na chave Path do arquivo BemaFI32.ini. Além do arquivo final, o arquivo .RFD ou .MFD também é gerado neste caminho.

Bematech Monitor (ambiente Windows e DOS)

O driver Bematech Monitor para acesso remoto às impressoras fiscais Bematech também está preparado para a portaria CAT-52 e Ato Cotepe 17/04, pois ele interage com a dll BemaFI32. Então, basta configurar as chaves citadas acima no arquivo BemaFI32.ini da estação.

Aplicações em ambiente DOS (janela DOS) também podem gerar o arquivo da CAT-52 e Ato Cotepe 17/04, comunicando com as impressoras fiscais Bematech, através do Bematech Monitor.

O Bematech Monitor foi criado para acessar às impressoras fiscais Bematech remotamente, porém seu “mecanismo” de comunicação é “troca de arquivos”, ou seja, a dll cria um arquivo com um código e o Bematech Monitor transforma este código na função correspondente da dll. Portanto, sua aplicação em DOS pode criar este arquivo (BemaFI32.cmd) com o código da função correspondente ao processo que deseja executar na impressora e envia-o para o Bematech Monitor, este por sua vez lê o arquivo e realiza todo o processo de envio à impressora, controlando os dados para a geração da CAT-52 e Ato Cotepe 17/04 (veja no arquivo de ajuda BemaFI32.chm, tópico “Utilizando a DLL em aplicações 16 Bits”, mais informações sobre seu uso).

Além disso, se sua aplicação DOS faz acesso às impressoras fiscais Bematech através do Bemafi.exe, você também poderá usar o Bematech Monitor.

O Bematech Monitor reconhece a sintaxe e nomenclatura do arquivo Bemafi.cmd. Então, basta retirar a chamada ao Bemafi.exe e criar o arquivo Bemafi.cmd normalmente, gravando-o na pasta de monitoramento do Bematech Monitor. Se o arquivo BemaFI32.ini estiver configurado para gerar a CAT-52 e Ato Cotepe 17/04, o arquivo final será gerado.

Geração do arquivo CAT-52 / Ato Cotepe 17/04 retroativo

É possível gerar o arquivo da portaria CAT-52 e Ato Cotepe 17/04 retroativo, de duas maneiras:

- pela BemaFI32.dll

Implementamos na dll a função Bematech_FI_GeraRegistrosCAT52MFD que permite gerar o arquivo final, a partir de informações contidas na MFD das impressoras fiscais térmicas ou a partir do arquivo .RFD ou .MFD gerados anteriormente.

A função Bematech_FI_GeraRegistrosCAT52MFD possui os seguintes parâmetros:

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

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

E, funciona da seguinte maneira:

- Para os modelos de impressoras fiscais matriciais é obrigatório informar o arquivo .RFD como parâmetro. O parâmetro que corresponde a 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 informado.

- Para os modelos de impressoras fiscais térmicas com MFD temos as seguintes possibilidades:

a) se não forem informados o arquivo .MFD e a data como parâmetros, a função fará o download da MFD da data atual e fará a geração do arquivo do Ato Cotepe 17/04.

b) se for informado o arquivo .MFD e não for informada a data, a função retornará erro.

c) 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 do Ato Cotepe 17/04.

d) se forem informados o arquivo .MFD e a data, a função fará a geração do arquivo do Ato Cotepe 17/04 com as informações contidas no arquivo .MFD na data informada.

- Para o emulador da impressora fiscal a função terá efeito, se a comunicação com ele for realizada através de seu cabo serial fisicamente conectado ao micro (COM1 <-> COM2, por exemplo), pois é realizado o download da MFD para a geração do arquivo. A pinagem deste cabo está descrito no arquivo de ajuda do emulador.

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 ) );

- pelo WinMFD2

A Bematech disponibiliza em seu site um aplicativo chamado WinMFD2 que possibilita a geração do arquivo da portaria CAT-52 e Ato Cotepe 17/04 retroativo, nas impressoras fiscais matriciais e térmicas.

A utilização deste aplicativo se dá da seguinte maneira:

1) para impressoras fiscais térmicas com MFD

- No menu “Comunicação”, selecione a porta de comunicação (fig. 1) onde a impressora está conectada e neste mesmo menu selecione o modelo da impressora (fig. 2).


fig. 1

fig. 2

- No menu “Arquivo”, selecione a opção CAT-52 (fig. 3).


fig. 3

- Na janela que surgir, selecione as opções desejadas e clique no botão “Gerar Registros”.

A geração do Ato Cotepe 17/04, diretamente da impressora, leva aproximadamente 30 segundos para um dia de movimento fiscal com 350 cupons fiscais emitidos.

- pelo micro-terminal SB-2010/SB-2011/SB-3010

A geração do arquivo para os micro-terminais fiscais Bematech ocorrerá somente se a impressora fiscal utilizada por eles for térmicas (MFD). Desta forma, a impressora deverá ser conectada a um computador com o aplicativo WinMFD2 instalado, e proceder conforme orientações acima (tópico “pelo WinMFD2? ).

Obs: para os micro-terminais que usam impressoras fiscais matriciais a geração do arquivo para a portaria CAT-52 não será possível, pois ambos os equipamentos não possuem memória para armazenamento e emissão dos registros da portaria.

Nomenclatura do arquivo

O arquivo gerado para a portaria CAT-52 e Ato Cotepe 17/04 possui um conteúdo de texto, visível pelo “Bloco de Notas (notepad)” do Windows (por exemplo). Entretanto, sua nomenclatura é definida da seguinte forma:

- Nome do arquivo no formato FFM12345.DMA, sendo:

FF é a identificação do fabricante da impressora fiscal.
M é a identificação do modelo da impressora fiscal.
12345 são os cinco últimos dígitos do número de série da impressora fiscal.
DMA são a identificação do dia, mês e ano do movimento, codificados com números de 1 a 9 para os dias compreendidos entre 01 e 09, e letras de A a Z compreendendo os dias acima de 09, sendo que o dia 10 corresponde a letra A, dia 11 a letra B, dia 12 a letra C e, assim, sucessivamente. Isso também se aplica para o mês e ano.

Exemplo:

BEE28347.1C7, sendo:

BE identifica Bematech.
E identifica o modelo MP-2100 TH FI, onde:
Modelo ECF
Valor
MP 20 FI II
6
MP 40 FI II
8
MP 25 FI
B
MP 50 FI
C
MP 2000 TH FI
D
MP 2100 TH FI
E
MP 3000 TH FI
F
MP 6000 TH FI
G
MP 6100 TH FI
H
28347 cinco últimos dígitos do número de série da impressora fiscal.
1C7 identifica o dia 01 de dezembro de 2007.
André Luiz R. Munhoz

André Luiz R. Munhoz - Bematech: DSP - Desenvolvimento de Software e Parcerias.
Visite o site: http://www.bematech.com.br.