O Cupom Adicional é um recurso no qual conseguimos a impressão de algumas informações extras após emitir um Cupom Fiscal ou Bilhete de Passagem.
As Impressoras Fiscais tem a capacidade de armazenar informações sobre o último Cupom Fiscal em sua memória. Existem dois tipos de Cupons Adicionais que a impressora é capaz de gerar, o simplificado e o detalhado.
Cupom Adicional Simplificado
Informações Impressas:
- Número do Cupom Fiscal (CCF);
- COO do Cupom Fiscal.
Cupom Adicional Detalhado
Informações Impressas:
- Número do Cupom Fiscal (CCF).
- COO do Cupom Fiscal.
- Valor Total da Operação.
- Totalizador das alíquotas utilizadas no Cupom.
Para muitos, estes comprovantes são úteis e resolvem plenamente sua necessidade de armazenas estas informações, porém, colhemos o feedback que seria interessante resgatar algumas informações extras, tanto no Cupom Fiscal quanto no bilhete de passagem. Nossa equipe atendeu o feedback e implementou na DarumaFramework.dll o Cupom Adicional que quem determina o que será impresso é você, parceiro desenvolvedor!
As informações que deverão sair ou não no Cupom Adicional ficam armazenadas em uma chave no DarumaFramework.xml, e para configurá-lo utilizaremos a função: regCFCupomAdicionalDllConfig_ECF_Daruma. Este método permite configurar a chave no DarumaFramework.xml indicando os dados que serão impressos no cupom adicional após a emissão de cada Cupom Fiscal ou Bilhete de Passagem.
Chave no XML
Parâmetro
String com os 21 valores com a configuração dos dados que serão impressos no Cupom Adicional. Estes dados dos parâmetros são 21 dígitos seguindo a opção desejada conforme a tabela. Veja abaixo a tabela:
Para a emissão do Cupom Adicional podemos utilizar duas funções na DarumaFramework.dll uma delas é o próprio método para o encerramento do Cupom Fiscal, a iCFEncerrar_ECF_Daruma.
- Definição: método finaliza o Cupom Fiscal, com a opção de emitir Cupom Adicional ou não e mensagem promocional.
- Parâmetros: pszCupomAdicional - Indicação através de índice se o Cupom adicional será impresso ou não.
Índices0 - Não Imprime Cupom Adicional 1 - Imprime Cupom Adicional Simplificado (CCF e COO). 2 - Imprime Cupom Adicional Detalhado(CCF, COO, Valor do CF e Totalizadores de Alíquotas no CF). 3 - Imprime Cupom Adicional DLL(Imprime os campos conforme a configuração do DarumaFramework.xml).
- pszMensagem - Mensagem Promocional em até 8 linhas.
O texto informado pode ser formatado, para isso você pode utilizar as tags de formatação D-HTML.
C (Sharp)
private void encerramentoToolStripMenuItem_Click(object sender, EventArgs e)
{
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFAbrirPadrao_ECF_Daruma();
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFVenderResumido_ECF_Daruma("F1", "4,00", "928203193", "Café");
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFVenderResumido_ECF_Daruma("F1", "2,50", "000232315", "Leite");
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFTotalizarCupomPadrao_ECF_Daruma();
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFEfetuarPagamentoPadrao_ECF_Daruma();
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFEncerrar_ECF_Daruma("1",
"Obrigado\nVolte Sempre!");
}
No exemplo acima é emitido o Cupom Fiscal e finalizado com a função iCFEncerrar_ECF_Daruma com a Impressão do Cupom Adicional Simplificado.
Delphi
function iCFEncerrar_ECF_Daruma(pszCupomAdicional:string;pszMensagem:string):Integer;
StdCall; External 'DarumaFramework.dll';
Int_Retorno := iCFEncerrar_ECF_Daruma('1','Obrigado e volte sempre!!');
VB6
Public Declare Function iCFEncerrar_ECF_Daruma Lib "DarumaFrameWork.dll"
(ByVal pszCupomAdicional As String, ByVal pszMensagem As String) As Integer
Private Sub TB_Numero_Item_Click()
iRetorno = iCFEncerrar_ECF_Daruma(“1”, ” Obrigado e volte sempre!!”)
End Sub
A segunda maneira é após a finalização do Cupom Fiscal chamarmos o método: iCFEmitirCupomAdicional_ECF_Daruma Definição: Emite o Cupom Adicional referente ao último Cupom Fiscal emitido conforme as configurações do DarumaFramework.xml.
C (Sharp)
private void confCupomAdToolStripMenuItem_Click(object sender, EventArgs e)
{
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFAbrirPadrao_ECF_Daruma();
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFVenderResumido_ECF_Daruma("F1", "4,00",
"928203193", "Café");
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFVenderResumido_ECF_Daruma("F1", "2,50",
"000232315", "Leite");
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFTotalizarCupomPadrao_ECF_Daruma();
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFEfetuarPagamentoPadrao_ECF_Daruma();
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFEncerrarPadrao_ECF_Daruma();
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.regCFCupomAdicionalDllConfig_ECF_Daruma("111110111000000002000");
DarumaFramework_Declaracoes_CSharp.iRetorno =
DarumaFramework_Declaracoes_CSharp.iCFEmitirCupomAdicional_ECF_Daruma();
}
Veja como foi Impresso
Cupom fiscal com a mesma estrutura inicial, contudo, no lugar de CUPOM FISCAL temos RELATÓRIO GERENCIAL
Delphi
function iCFEmitirCupomAdicional_ECF_Daruma(): Integer; StdCall; External 'DarumaFramework.dll';
Int_Retorno:= iCFEmitirCupomAdicional_ECF_Daruma();
VB6
Public Declare Function iCFEmitirCupomAdicional_ECF_Daruma Lib "DarumaFrameWork.dll" () As Integer
Private Sub mnuiCFEmitirCupomAdicional_ECF_Daruma_Click()
iRetorno = iCFEmitirCupomAdicional_ECF_Daruma()
End Sub