DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login

Geração de arquivos do PAF-ECF

Veja neste artigo onde vamos abordar a geração de arquivos do PAF-ECF, como arredondar e truncar itens, inclusão de logotipo e identificação de dados do consumidor.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo
Olá pessoal,
Veja neste artigo onde vamos abordar a geração de arquivos do PAF-ECF, como arredondar e truncar itens, inclusão de logotipo e identificação de dados do consumidor. Vamos lá.

Recurso: Geração de Arquivos do PAF-ECF

Com a DarumFramework.dll você consegue gerar os arquivos do PAF-ECF de maneira rápida e fácil. Para isto desenvolvemos funções para a geração dos relatórios, contendo estes dados do ECF.

Confira a lista de funções separadas:


rGerarMF_ECF_Daruma
Registros: E01, E02, E03, E04, E05, E06, E07, E08, E09, E10, E11, E12 e E13.

rGerarMFD_ECF_Daruma
Registros: E01, E02, E14, E15, E16, E17, E18, E19, E20 e E21.

rGerarTDM_ECF_Daruma
Registros: E01, E02, E03, E04, E05, E06, E07, E08, E09, E10, E11, E12,E13, E14, E15, E16, E17, E18, E19, 20 E21.

rGerarSPED_ECF_Daruma
Registros: Algumas informações somente do Bloco C, que serão os registros 0220, C400, C405, C420, C425, C460, C470, C490 E C495(apenas para Bahia).

rGerarSINTEGRA_ECF_Daruma
Registros: 10, 11, 60A, 60D, 60M, 60I, 60R, 75 E 90

rGerarNFP_ECF_Daruma
Registros: E01, E02, E14, E15, E16, E17, E18, E19, E20 e E21.

Porém você pode optar também por gerar vários relatórios de uma só vez, como o método: rGerarRelatorio_ECF_Daruma

Onde os parâmetros são:
· Tipo do relatório a ser gerado
· Tipo de Intervalo (DATA, DATAM, COO ou CRZ)
· Intervalo(Inicial)
· Intervalo(Final)

Vejamos na pratica: C#:
[DllImport("DarumaFrameWork.dll")] 
      public static extern int rGerarRelatorio_ECF_Daruma(string pszRelatorio, string pszTipo, 
string pszInicial, string pszFinal); 

DarumaFramework_DLL.DarumaFramework_DeclaracFramework_Declaracoes_CSharp.rGerarRelatorio_
ECF_Daruma ("NFP", "DATAM", "010911", "150911");
VB6:
Public Declare Function rGerarRelatorio_ECF_Daruma Lib "DarumaFramework.dll" 
(ByVal pszRelatorio As String, ByVal pszTipo As String, ByVal pszInicial As String, 
ByVal pszFinal As String) As Integer

iRetorno = rGerarRelatorio_ECF_Daruma("NFP", "DATAM", "070911", "150911")
DELPHI:
function rGerarRelatorio_ECF_Daruma(szRelatorio:string; szTipo:string; szInicial:string;
szFinal:string): Integer; StdCall; External 'DarumaFramework.dll'; 

Int_Retorno:= rGerarRelatorio_ECF_Daruma('NFP', 'DATAM', '070911', '150911');

Bacana né?
Agora só faltava um programa para gerar estes relatórios com interface gráfica simples, de fácil manipulação e que consiga gerar com a rapidez e eficácia da DarumaFramework.dll...
Não falta mais! O GAD(Gerador de Arquivos Daruma), pessoal.

Faça download do GAD(Executável): http://bit.ly/tPXRS1
Faça download do GAD(Com Fontes): http://bit.ly/rANgS2

Recurso: Arredondamento e Truncamento de Itens

Já imaginou trabalhar com arredondamento e truncamento no mesmo Cupom Fiscal?
Com a DarumaFramework.dll esta tarefa é possível! E de maneira muito simples de ser feita.
No DarumaFramework.XML, existe uma chave chamada .

Arredondar Para Arredondarmos o valor do item devemos manter a chave com a seguinte configuração: A
A letra “A” presente na chave, indica que o item deve ser arredondado.

Truncar Para Truncarmos o valor do item devemos manter a chave com a seguinte configuração: T
A letra “T” presente na chave, indica que o item deve ser truncado.

Esta alteração na chave pode ser feita pela função: regAlterarValor_Daruma.
Vamos fazer o teste pratico agora!

Fonte em C (Sharp)

private void button1_Click(object sender, EventArgs e)
        {
                DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFAbrir_ECF_Daruma("123.456.789-00", "João da Silva", "");
                DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.regAlterarValor_Daruma("ECF\\ArredondarTruncar", "T");
                DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFVender_ECF_Daruma("F1", "3", "1,50", "D%", "0,00", "98765432109876", "UN", "REFRI COCA 600ML");
                DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.regAlterarValor_Daruma("ECF\\ArredondarTruncar", "A");
                DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFVender_ECF_Daruma("I1", "0,676", "5,99", "D%", "0,00", "12345678901098", "KG", "CARNE MOIDA");
                DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFTotalizarCupomPadrao_ECF_Daruma();
                DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFEfetuarPagamento_ECF_Daruma("Dinheiro", "10,00", "");
                DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFEncerrar_ECF_Daruma("0", "<bmp>1</bmp> Obrigada e Volte Sempre!");
                
          }

Veja o Cupom Fiscal:



O Arredondamento e Truncamento, são mais alguns exemplos de procedimentos fáceis de serem manipulados na DarumaFramework.dll.

Recurso: Logotipo na mensagem promocional


No exemplo acima você deve ter notado o logo de nossa equipe na mensagem promocional.
O logotipo na mensagem promocional é mais um recurso que só a DarumaFramework.dll disponibiliza para você.



Para carregar o logotipo na impressora, não é necessário ser apenas na inicialização do ECF, e nem tampouco por intervenção técnica.
O logotipo é carregado via comando, por comunicação direta ou via DarumaFramework.dll pela função: eCarregarBitmapPromocional_ECF_Daruma.
Este método nos permite a carga de bitmap promocional na impressora fiscal.
Parâmetros pszPathLogotipo - Path com o caminho onde se encontra a imagem monocromática no formato .bmp que será carregada na Impressora.
pszNumBitmap - Índice que será inserido a imagem (pode ser de 1 até 5)
pszOrientacao - Orientação da imagem, o valor padrão deve ser colocado como "000"

Na prática: C(Sharp)

[DllImport("DarumaFrameWork.dll")]
        public static extern int eCarregarBitmapPromocional_ECF_Daruma(string pszPathLogotipo, string pszNumBitmap, string pszOrientacao);

private void bt_CarregarBitmap_Click(object sender, EventArgs e)
        {

            DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_Declaracoes_CSharp.eCarregarBitmapPromocional_ECF_Daruma("C:\\logo.bmp", "1", "000");

        }
No comando de finalização do Cupom Fiscal, no parâmetro da mensagem promocional indique a tag: índice da imagem e insira a imagem carregada!

Recurso: Identificação do consumidor no Começo ou no Final do Cupom Fiscal

Na DarumaFramework.dll, você tem duas maneiras para identificar o consumidor, na abertura e em qualquer parte do Cupom Fiscal! Por quê?
Porque, caso seu cliente mude de ideia, e queira o CPF no Cupom Fiscal mesmo depois de aberto, você ainda pode inserir sem ter que cancelar o cupom fiscal e iniciar novamente.

Na Abertura: Para identificarmos o consumidor na abertura do Cupom Fiscal utilizaremos o método:
iCFAbrir_ECF_Daruma
Este método possui 3 parâmetros: CPF, NOME, ENDEREÇO.

Na prática:
[DllImport("DarumaFrameWork.dll")]
        public static extern int iCFAbrir_ECF_Daruma(string pszCPF, string pszNome, string pszEndereco);

DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFAbrir_ECF_Daruma("064.032.048-00", "Daruma Developer Community", "Av. Shishima Hifumi - Urbanova");


No cupom acima podemos observar que a passagem do CPF foi feita na abertura do Cupom Fiscal, porém com a DarumaFramework.dll você pode passar em qualquer momento, entre a abertura e a finalização do Cupom Fiscal, com a função: iCFIdentificarConsumidor_ECF_Daruma
Estes método possui 3 parâmetros como no iCFAbrir_ECF_Daruma, só que ordenados da seguinte maneira: CPF, NOME, ENDEREÇO.

Na prática:
[DllImport("DarumaFrameWork.dll")]
        public static extern int iCFIdentificarConsumidor_ECF_Daruma(string pszNome, string pszEndereco, string pszDoc);

DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iCFIdentificarConsumidor_ECF_Daruma(“Daruma Developers Community”, “São José dos Campos”, ”45170289000125”);
Um abraço,
O que você achou deste post?
Conhece a assinatura MVP?
Publicidade
Serviços

Mais posts