none
OFF-TOPIC: [Escovando Bits] - Cupom Adicional. RRS feed

  • Discussão Geral


  •  
    Hoje conheceremos neste Escovando Bits, tudo sobre o Cupom Adicional.

    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.

      Informações Impressas
    Cupom Adicional Simplificado Número do Cupom Fiscal (CCF).
      COO do Cupom Fiscal.
    Cupom Adicional Detalhado 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:

    Seq Parâmetro Não imprime Imprime
    1 Data e Hora da Emissão 0 1
    2 CCF - Contador Cupom Fiscal 0 1
    3 COO Contador Ordem Operação 0 1
    4 Quantidade Itens Vendidos 0 1
    5 Quantidade de Itens Cancelados 0 1
    6 Tempo de Impressão 0 1
    7 Valor Total do Cupom 0 1
    8 Alíquotas usadas, exceto Isento, Não Tributado e Substituição Tributária 0 1
    9 Forma de Pagamento x Valor 0 1
    10 Reservado para uso futuro 0 1
    11 Data e Hora Embarque 0 1
    12 Plataforma 0 1
    13 Poltrona 0 1
    14 Cidade de Origem 0 1
    15 Cidade de Destino 0 1
    16 Percurso 0 1
    17 RG do Passageiro 0 1
    18 Aciona Guilhotina entre o Cupom Fiscal e Cupom Adicional 0 1
    19 Imprime código de Barras no cupom adicional, para isso utilize a função 0 1
    20 Imprime um Campo Livre, caso seja previamente executado a função 0 1
    21 Imprime a Identificação do cliente se o valor for 2(dois) 0 1

    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:
    Este 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.

    Índices
    0 - 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.

    Conheça mais sobre a formatação: http://bit.ly/rLb510

    Obs: O método deve ser executado caso o Cupom esteja realmente em fase de finalização, assim o Cupom será finalizado para que o Cupom Adicional possa ser impresso ou não.

    Na prática:

    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

    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



    Um abraço e até a próxima!

    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
     
    quinta-feira, 19 de janeiro de 2012 19:43

Todas as Respostas

  • Olá parceiros,

    Na semana passada lançamos o Escovando Bits – Cupom Adicional.
    Confira também o vídeo sobre este recurso: http://www.youtube.com/watch?v=8j5l8pg6dik 
    Um abraço, 

    terça-feira, 24 de janeiro de 2012 11:42
  • Prezado Social DEveloper

     conforme comunicado peço nao postar conteudo comercial de publicidae aqui no forum. Todos os Fabricantes de Automacao Participam aqui com liberdade de colocar conteudo TECNICO. Temos posts da BEMATECH, SWEDA ELGIN, todos com conteudo TECNICO. Por favor postar apenas informacoes de CODIFICACAO, de programacao, de desenvolvimento relacionado a automacao comercial.

    Todos seus posts anteriores de conho COMERCIAL de MARKETING foram eliminados.

    Aqui no forum todos poderao encontrar postage tecnica de todos os fabricantes, mas apenas e tao somente postagens tecnicas. de cunho tecnico voltado para Automacao Comercial com ferramentas e tecnologia.

     

    Claudenir C. Andrade - Moderador - MVP

     

    quarta-feira, 25 de janeiro de 2012 13:15
    Moderador