Olá pessoal,

Esta é a continuação 02/03 de uma série com três Escovando Bits especiais, sobre os Recursos de Destaques na DarumaFramework.dll.

4º Recurso: Geração de Relatórios 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

5º 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 <ArredondarTruncar>.

Arredondar
Para Arredondarmos o valor do item devemos manter a chave com a seguinte configuração: <ArredondarTruncar>A</ArredondarTruncar>
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: <ArredondarTruncar>T</ArredondarTruncar>
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, explicada na edição anterior do Escovando Bits.
 

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.

6º Recurso: Logotipo na mensagem promocionals

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!

7º 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!

E-mails:
ddc.suporte@daruma.com.br
suporte.ddc@daruma.com.br
desenvolvedores.suporte@daruma.com.br
suporte.desenvolvedores@daruma.com.br
desenvolvedores.daruma@daruma.com.br
suporte@daruma.com.br
suporte.alexandre@daruma.com.br
claudenir@daruma.com.br
Skypes:
ddc_suporte_daruma
suporte_ddc_daruma
desenvolvedores_suporte_daruma
suporte_desenvolvedores_daruma
desenvolvedores_daruma
suporte_daruma
suporte_alexandre_daruma
claudenir_andrade

 

Twitter facebook Linkedln Youtube Google+