Professional Documents
Culture Documents
Daruma Automao
Title page 1
Use this page to introduce the product
by <AUTHOR>
This is "Title Page 1" - you may use this page to introduce your product, show title, author, copyright, company logos, etc. This page intentionally starts on an odd page, so that it is on the right half of an open book from the readers point of view. This is the reason why the previous page was blank (the previous page is the back side of the cover)
Daruma Framework
Daruma Automao
All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, or mechanical, including photocopying, recording, taping, or information storage and retrieval systems - without the written permission of the publisher. Products that are referred to in this document may be either trademarks and/or registered trademarks of the respective owners. The publisher and the author make no claim to these trademarks. While every precaution has been taken in the preparation of this document, the publisher and the author assume no responsibility for errors or omissions, or for damages resulting from the use of information contained in this document or from the use of programs and source code that may accompany it. In no event shall the publisher and the author be liable for any loss of profit or any other commercial damage caused or alleged to have been caused directly or indirectly by this document. Printed: junho 2007 in (whereever you are located)
Publisher ...enter name... Managing Editor ...enter name... Technical Editors ...enter name... ...enter name... Cover Designer ...enter name... Team Coordinator ...enter name... Production ...enter name...
Special thanks to: All the people who contributed to this document, to mum and dad and grandpa, to my sisters and brothers and mothers in law, to our secretary Kathrin, to the graphic artist who created this great product logo on the cover page (sorry, don't remember your name at the moment but you did a great work), to the pizza service down the street (your daily Capricciosas saved our lives), to the copy shop where this document will be duplicated, and and and... Last not least, we want to thank EC Software who wrote this great help tool called HELP & MANUAL which printed this document.
Daruma Framework
Table of Contents
Foreword 1
1 Algumas informaes sobre este manual ................................................................................................................................... 3 2 Lista dos Mtodos disponveis na DLL e seus ndices ................................................................................................................................... 4 3 Configurando a Daruma32.DLL ................................................................................................................................... 11 4 Configurando a Daruma32.SO ................................................................................................................................... 12 5 Utlizando o FlagShip com Impressoras Daruma ................................................................................................................................... 13
Fazendo um Cupom Fiscal com o FlagShip com Impressoras Daruma .......................................................................................................................................................... 17
6 Configurando a Daruma32.DLL para trabalhar com W.T.S. ................................................................................................................................... 18 7 Configurando a Daruma32.SO para trabalhar com LTSP ................................................................................................................................... 19 8 Driver Daruma Observer para Aplicativos DOS/Win 16 Bits ................................................................................................................................... 23
O Qu o Driver Daruma Observer? .......................................................................................................................................................... 23 Graficamente.......................................................................................................................................................... 25 como Funciona o Observer Instalando o Driver Observer .......................................................................................................................................................... 25 Instalando o Driver Linux Observer 2.0 .......................................................................................................................................................... 27 Preparando seu Aplicativo para o Observer .......................................................................................................................................................... 29 Trabalhando com Comandos em Lote, usando o Mapeamento de Unidade .......................................................................................................................................................... 32 Trabalhando com o Observer linux em rede .......................................................................................................................................................... 33 Observer ......................................................................................................................................................... 33 com Network File System (NFS) Mtodos para.......................................................................................................................................................... 34 o Observer de Configurao do Registry Configurao do Observer ......................................................................................................................................................... 34 Daruma_Observer_Registry_Execucao (ndice 53) ......................................................................................................................................................... 35 Daruma_Observer_Registry_Log (ndice 58) ......................................................................................................................................................... 35 Daruma_Observer_Registry_Log_Path (ndice 59) ......................................................................................................................................................... 35 Daruma_Observer_Registry_Entrada (ndice 50) ......................................................................................................................................................... 36 Daruma_Observer_Registry_Saida (ndice 52) ......................................................................................................................................................... 36 Daruma_Observer_Registry_Produto (ndice 61) ......................................................................................................................................................... 37
Contents
II
Daruma_FI_IdentificaConsumidor(ndice 1013) ......................................................................................................................................................... 51 Daruma_FI_EmitirCupomAdicional(ndice 1018) ......................................................................................................................................................... 52 Daruma_FI_UsaUnidadeMedida(ndice 1016) ......................................................................................................................................................... 52 Daruma_FI_AumentaDescricaoItem(ndice 1015) ......................................................................................................................................................... 53 Mtodos de Recebimentos, No Fiscais e Vinculados .......................................................................................................................................................... 54 Daruma_FI_AbreComprovanteNaoFiscalVinculado(ndice 1203) ......................................................................................................................................................... 54 Daruma_FI_UsaComprovanteNaoFiscalVinculado(ndice 1204) ......................................................................................................................................................... 54 Daruma_FI_FechaComprovanteNaoFiscalVinculado(ndice 1205) ......................................................................................................................................................... 55 Daruma_FI_AbreRelatorioGerencial(ndice 1208) ......................................................................................................................................................... 55 Daruma_FI_FechaRelatorioGerencial(ndice 1201) ......................................................................................................................................................... 56 Daruma_FI_AbreRecebimentoNaoFiscal(ndice 1210) ......................................................................................................................................................... 56 Daruma_FI_EfetuaFormaPagamentoNaoFiscal(ndice 1211) ......................................................................................................................................................... 58 Daruma_FI_FundoCaixa(ndice 1212) ......................................................................................................................................................... 58 Daruma_FI_LeituraMemoriaFiscalData(ndice 1102) ......................................................................................................................................................... 59 Daruma_FI_LeituraMemoriaFiscalReducao(ndice 1103) ......................................................................................................................................................... 60 Daruma_FI_LeituraMemoriaFiscalSerialData(ndice 1104) ......................................................................................................................................................... 60 Daruma_FI_LeituraMemoriaFiscalSerialReducao(ndice 1105) ......................................................................................................................................................... 61 Daruma_FI_LeituraX(ndice 1101) ......................................................................................................................................................... 62 Daruma_FI_RecebimentoNaoFiscal(ndice 1202) ......................................................................................................................................................... 62 Daruma_FI_ReducaoZ(ndice 1100) ......................................................................................................................................................... 63 Daruma_FI_ReducaoZAjustaDataHora(ndice 11006) ......................................................................................................................................................... 64 Daruma_FI_RelatorioGerencial(ndice 1200) ......................................................................................................................................................... 64 Daruma_FI_Sangria(ndice 1206) ......................................................................................................................................................... 65 Daruma_FI_Suprimento(ndice 1207) ......................................................................................................................................................... 66 Mtodos Gaveta Autenticao e Outras .......................................................................................................................................................... 66 Daruma_FI_VerificaDocAutenticacao(ndice 1301) ......................................................................................................................................................... 66 Daruma_FI_Autenticacao(ndice 1300) ......................................................................................................................................................... 67 Daruma_FI_AutenticacaoStr(ndice 1302) ......................................................................................................................................................... 67 Daruma_FI_VerificaEstadoGaveta(ndice 1311) ......................................................................................................................................................... 68 Daruma_FI_VerificaEstadoGavetaStr(ndice 1312) ......................................................................................................................................................... 69 Daruma_FI_AcionaGaveta(ndice 1310) ......................................................................................................................................................... 69 Daruma_FI_AbrePortaSerial(ndice 600) ......................................................................................................................................................... 70 Daruma_FI_FechaPortaSerial(ndice 601) ......................................................................................................................................................... 70 Daruma_FI_AberturaDoDia(ndice 603) ......................................................................................................................................................... 71 Daruma_FI_FechamentoDoDia(ndice 604) ......................................................................................................................................................... 71 Daruma_FI_ImprimeConfiguracoesImpressora(ndice 607) ......................................................................................................................................................... 72 Mtodos Pogramao e Configurao .......................................................................................................................................................... 72 Daruma_FI_ProgramaAliquota(ndice 302) ......................................................................................................................................................... 73 Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms(ndice 304) ......................................................................................................................................................... 73 Daruma_FI_ProgramaFormasPagamento(ndice 301) ......................................................................................................................................................... 74 Daruma_FI_ProgramaOperador(ndice 310) ......................................................................................................................................................... 75 Daruma_FI_ProgramaArredondamento(ndice 305) ......................................................................................................................................................... 75 Daruma_FI_ProgramaTruncamento(ndice 306) ......................................................................................................................................................... 76 Daruma_FI_LinhasEntreCupons(ndice 307) ......................................................................................................................................................... 76 Daruma_FI_EspacoEntreLinhas(ndice 308) ......................................................................................................................................................... 77 Daruma_FI_ProgramaHorarioVerao(ndice 303) ......................................................................................................................................................... 77 Daruma_FI_EqualizaFormasPgto(ndice ???) ......................................................................................................................................................... 78 Daruma_FI_ProgramaVinculados(ndice 312) ......................................................................................................................................................... 79 Daruma_FI_ProgramaFormasPgtoSemVincular(ndice 313) ......................................................................................................................................................... 79 Daruma_FI_CfgFechaAutomaticoCupom(ndice 400) ......................................................................................................................................................... 80 Daruma_FI_CfgRedZAutomatico(ndice 401) ......................................................................................................................................................... 81 Daruma_FI_CfgImpEstGavVendas(ndice 411) ......................................................................................................................................................... 81 Daruma_FI_CfgLeituraXAuto(ndice 402) ......................................................................................................................................................... 82 Daruma_FI_CfgCalcArredondamento(ndice 403) ......................................................................................................................................................... 82 Daruma Automao
III
Daruma Framework
Daruma_FI_CfgHorarioVerao(ndice 404) ......................................................................................................................................................... 83 Daruma_FI_CfgSensorAut(ndice 405) ......................................................................................................................................................... 83 Daruma_FI_CfgCupomAdicional(ndice 412) ......................................................................................................................................................... 84 Daruma_FI_CfgEspacamentoCupons(ndice 407) ......................................................................................................................................................... 84 Daruma_FI_CfgHoraMinReducaoZ(ndice 408) ......................................................................................................................................................... 85 Daruma_FI_CfgLimiarNearEnd(ndice 409) ......................................................................................................................................................... 86 Daruma_FI_CfgPermMensPromCNF(ndice 410) ......................................................................................................................................................... 86 Regra de ......................................................................................................................................................... 87 Configurao do Registry Valores do Registry para o ECF ......................................................................................................................................................... 88 Daruma_Registry_AlteraRegistry (ndice 17) ......................................................................................................................................................... 91 Daruma_Registry_Porta(ndice 1) ......................................................................................................................................................... 91 Daruma_Registry_Path(ndice 2) ......................................................................................................................................................... 92 Daruma_Registry_Status(ndice 3) ......................................................................................................................................................... 93 Daruma_Registry_StatusFuncao(ndice 4) ......................................................................................................................................................... 93 Daruma_Registry_Retorno(ndice 5) ......................................................................................................................................................... 94 Daruma_Registry_ControlePorta(ndice 6) ......................................................................................................................................................... 94 Daruma_Registry_ModoGaveta(ndice 7) ......................................................................................................................................................... 94 Daruma_Registry_ConfigRede(ndice 8) ......................................................................................................................................................... 95 Daruma_Registry_Log(ndice 9) ......................................................................................................................................................... 95 Daruma_Registry_NomeLog(ndice 10) ......................................................................................................................................................... 95 Daruma_Registry_Separador(ndice 11) ......................................................................................................................................................... 96 Daruma_Registry_SeparaMsgPromo(ndice 12) ......................................................................................................................................................... 96 Daruma_Registry_Vende1Linha(ndice 13) ......................................................................................................................................................... 97 Daruma_Registry_XAutomatica(ndice 14) ......................................................................................................................................................... 97 Daruma_Registry_ZAutomatica(ndice 15) ......................................................................................................................................................... 98 Daruma_Registry_TerminalServer(ndice 21) ......................................................................................................................................................... 98 Daruma_Registry_AbrirDiaFiscal(ndice 23) ......................................................................................................................................................... 99 Daruma_Registry_IgnorarPoucoPapel(ndice 24) ......................................................................................................................................................... 99 Daruma_Registry_ImprimeRegistry(ndice 18) ......................................................................................................................................................... 100 Daruma_Registry_RetornaValor(ndice 19) ......................................................................................................................................................... 100 Daruma_Registry_Default(ndice 20) ......................................................................................................................................................... 101 Daruma_Registry_ErroExtendidoOk(ndice 22) ......................................................................................................................................................... 102 Daruma_Registry_Velocidade(ndice 28) ......................................................................................................................................................... 102 Daruma_Registry_Produto(ndice 34) ......................................................................................................................................................... 103 Daruma_Registry_AplMensagem1(ndice 36) ......................................................................................................................................................... 103 Daruma_Registry_AplMensagem2(ndice 37) ......................................................................................................................................................... 104 Daruma_Registry_TEF_NumeroLinhasImpressao(ndice 38) ......................................................................................................................................................... 104 Daruma_Registry_NumeroSerieNaoFormatado(ndice 42) ......................................................................................................................................................... 105 Daruma_Registry_NumeroLinhasImpressao(ndice 38) ......................................................................................................................................................... 105 Daruma_Registry_MFD_ProgramarSinalSonoro(ndice 52) ......................................................................................................................................................... 106 Daruma_Registry_MFD_LeituraMFCompleta(ndice 49) ......................................................................................................................................................... 107 Daruma_Registry_CupomAdicionalDll(ndice 56) ......................................................................................................................................................... 107 Daruma_Registry_CupomAdicionalDllConfig(ndice 57) ......................................................................................................................................................... 108 Daruma_Registry_ComandosEmLote(ndice 58) ......................................................................................................................................................... 109 Daruma_Registry_FinalLote(ndice 59) ......................................................................................................................................................... 110 Daruma_Registry_PathLote(ndice 60) ......................................................................................................................................................... 110 Daruma_Registry_PCExpanionLogin(ndice 63) ......................................................................................................................................................... 110 Daruma_Registry_MFDValorFinal(ndice 66) ......................................................................................................................................................... 111 Daruma_Registry_LogTamMaxMB(ndice 69) ......................................................................................................................................................... 112 Daruma_Registry_SintegraSeparador(ndice 70) ......................................................................................................................................................... 113 Daruma_Registry_SintegraPath(ndice 71) ......................................................................................................................................................... 114 Daruma_Registry_MaxFechamentoAutomatico(ndice 72) ......................................................................................................................................................... 114 Mtodos de .......................................................................................................................................................... 115 Informao, Status e Retornos Daruma ......................................................................................................................................................... 115 FrameworkTabela de Retornos ST1 e ST2 Daruma Automao
Contents
IV
Daruma_FI_StatusCupomFiscal(ndice 1404) ......................................................................................................................................................... 116 Daruma_FI_StatusRelatorioGerencial(ndice 1405) ......................................................................................................................................................... 117 Daruma_FI_StatusComprovanteNaoFiscalVinculado(ndice 1403) ......................................................................................................................................................... 117 Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado(ndice 1471) ......................................................................................................................................................... 118 Daruma_FI_VerificaImpressoraLigada(ndice 1400] ......................................................................................................................................................... 118 Daruma_FI_VerificaModeloECF(ndice 1469) ......................................................................................................................................................... 119 Daruma_FI_VerificaHorarioVerao(ndice 1500) ......................................................................................................................................................... 119 Daruma_FI_VerificaDiaAberto(ndice 1484) ......................................................................................................................................................... 120 Daruma_FI_VerificaZPendente(ndice 1489) ......................................................................................................................................................... 121 Daruma_FI_VerificaXPendente(ndice 1488) ......................................................................................................................................................... 121 Daruma_FI_VerificaTipoImpressora(ndice 1444) ......................................................................................................................................................... 122 Daruma_FI_VerificaDescricaoFormasPagamento(ndice 1470) ......................................................................................................................................................... 122 Daruma_FI_VerificaFormasPagamento(ndice 1442) ......................................................................................................................................................... 123 Daruma_FI_VerificaFormasPagamentoEx(ndice 1448) ......................................................................................................................................................... 123 Daruma_FI_VerificaEstadoImpressora(ndice 1401) ......................................................................................................................................................... 124 Daruma_FI_VerificaAliquotasIss(ndice 1440) ......................................................................................................................................................... 125 Daruma_FI_VerificaIndiceAliquotasIss(ndice 1445) ......................................................................................................................................................... 126 Daruma_FI_VerificaTotalizadoresNaoFiscais(ndice 1436) ......................................................................................................................................................... 126 Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(ndice 1486) ......................................................................................................................................................... 126 Daruma_FI_VerificaEpromConectada(ndice 1432) ......................................................................................................................................................... 127 Daruma_FI_VerificaRecebimentosNaoFiscal(ndice 1443) ......................................................................................................................................................... 127 Daruma_FI_VerificaTruncamento(ndice 1439) ......................................................................................................................................................... 128 Daruma_FI_VerificaModoOperacao(ndice 1431) ......................................................................................................................................................... 129 Daruma_FI_VerificaTotalizadoresParciais(ndice 1407) ......................................................................................................................................................... 130 Daruma_FI_ClicheProprietario(ndice 1424) ......................................................................................................................................................... 130 Daruma_FI_ClicheProprietarioEx(ndice 1467) ......................................................................................................................................................... 131 Daruma_FI_NumeroCaixa(ndice 1425) ......................................................................................................................................................... 131 Daruma_FI_NumeroLoja(ndice 1426) ......................................................................................................................................................... 132 Daruma_FI_NumeroSerie(ndice 1411) ......................................................................................................................................................... 132 Daruma_FI_RegistraNumeroSerie(ndice 1491) ......................................................................................................................................................... 133 Daruma_FI_VerificaNumeroSerie(ndice 1492) ......................................................................................................................................................... 133 Daruma_FI_RetornaSerialCriptografada(ndice ????) ......................................................................................................................................................... 134 Daruma_FI_VersaoFirmware(ndice 1412) ......................................................................................................................................................... 134 Daruma_FI_CGC_IE(ndice 1413) ......................................................................................................................................................... 135 Daruma_FI_NumeroCupom(ndice 1417) ......................................................................................................................................................... 135 Daruma_FI_COO(ndice 1468) ......................................................................................................................................................... 136 Daruma_FI_MinutosImprimindo(ndice 1430) ......................................................................................................................................................... 137 Daruma_FI_MinutosLigada(ndice 1429) ......................................................................................................................................................... 137 Daruma_FI_NumeroSubstituicoesProprietario(ndice 1422) ......................................................................................................................................................... 138 Daruma_FI_NumeroIntervencoes(ndice 1421) ......................................................................................................................................................... 138 Daruma_FI_NumeroReducoes(ndice 1420) ......................................................................................................................................................... 139 Daruma_FI_NumeroCuponsCancelados(ndice 1419) ......................................................................................................................................................... 139 Daruma_FI_NumeroOperacoesNaoFiscais(ndice 1418) ......................................................................................................................................................... 140 Daruma_FI_DataHoraImpressora(ndice 1434) ......................................................................................................................................................... 140 Daruma_FI_DataHoraReducao(ndice 1437) ......................................................................................................................................................... 141 Daruma_FI_DataMovimento(ndice 1438) ......................................................................................................................................................... 141 Daruma_FI_ContadoresTotalizadoresNaoFiscais(ndice 1435) ......................................................................................................................................................... 142 Daruma_FI_LerAliquotasComIndice(ndice 1483) ......................................................................................................................................................... 142 Daruma_FI_VendaBruta(ndice 1490) ......................................................................................................................................................... 143 Daruma_FI_VendaBrutaAcumulada(ndice 1498) ......................................................................................................................................................... 143 Daruma_FI_GrandeTotal(ndice 1414) ......................................................................................................................................................... 144 Daruma_FI_Descontos(ndice 1415) ......................................................................................................................................................... 144 Daruma_FI_Acrescimos(ndice 1441) ......................................................................................................................................................... 145 Daruma_FI_Cancelamentos(ndice 1416) ......................................................................................................................................................... 146 Daruma Automao
Daruma Framework
Daruma_FI_DadosUltimaReducao(ndice 1410) ......................................................................................................................................................... 146 Daruma_FI_SubTotal(ndice 1408) ......................................................................................................................................................... 147 Daruma_FI_Troco(ndice 1450) ......................................................................................................................................................... 148 Daruma_FI_SaldoAPagar(ndice 1449) ......................................................................................................................................................... 148 Daruma_FI_RetornoAliquotas (ndice 1406) ......................................................................................................................................................... 149 Daruma_FI_ValorPagoUltimoCupom (ndice 1433) ......................................................................................................................................................... 149 Daruma_FI_UltimaFormaPagamento (ndice 1473) ......................................................................................................................................................... 150 Daruma_FI_ValorFormaPagamento (ndice 1446) ......................................................................................................................................................... 150 Daruma_FI_ValorTotalizadorNaoFiscal (ndice 1447) ......................................................................................................................................................... 151 Daruma_FI_UltimoItemVendido (ndice 1423) ......................................................................................................................................................... 152 Daruma_FI_TipoUltimoDocumento (ndice 1493) ......................................................................................................................................................... 152 Daruma_FI_MapaResumo(ndice 602) ......................................................................................................................................................... 153 Daruma_FI_RelatorioTipo60Analitico(ndice 605) ......................................................................................................................................................... 154 Daruma_FI_RelatorioTipo60Mestre(ndice 606) ......................................................................................................................................................... 155 Daruma_FI_FlagsFiscais(ndice 1428) ......................................................................................................................................................... 156 Daruma_FI_PalavraStatus(ndice 1481) ......................................................................................................................................................... 157 Daruma_FI_FlagsFiscaisStr(ndice 1479) ......................................................................................................................................................... 159 Daruma_FI_SimboloMoeda(ndice 1427) ......................................................................................................................................................... 160 Daruma_FI_RetornoImpressora(ndice 1402) ......................................................................................................................................................... 160 Daruma_FI_RetornaErroExtendido(ndice 1472) ......................................................................................................................................................... 161 Daruma_FI_RetornaAcrescimoNF(ndice 1451) ......................................................................................................................................................... 163 Daruma_FI_RetornaCFCancelados(ndice 1452) ......................................................................................................................................................... 163 Daruma_FI_RetornaCNFCancelados(ndice 1453) ......................................................................................................................................................... 164 Daruma_FI_RetornaCLX(ndice 1454) ......................................................................................................................................................... 164 Daruma_FI_RetornaCNFNV(ndice 1455) ......................................................................................................................................................... 165 Daruma_FI_RetornaCNFV(ndice 1456) ......................................................................................................................................................... 165 Daruma_FI_RetornaDescicaoCNFV(ndice 1497) ......................................................................................................................................................... 166 Daruma_FI_RetornaCRO(ndice 1457) ......................................................................................................................................................... 167 Daruma_FI_RetornaCRZ(ndice 1458) ......................................................................................................................................................... 167 Daruma_FI_RetornaCRZRestante(ndice 1459) ......................................................................................................................................................... 168 Daruma_FI_RetornaCancelamentoNF(ndice 1460) ......................................................................................................................................................... 168 Daruma_FI_RetornaDescontoNF(ndice 1461) ......................................................................................................................................................... 169 Daruma_FI_RetornaGNF(ndice 1462) ......................................................................................................................................................... 169 Daruma_FI_RetornaTempoImprimindo(ndice 1463) ......................................................................................................................................................... 170 Daruma_FI_RetornaTempoLigado(ndice 1464) ......................................................................................................................................................... 170 Daruma_FI_RetornaTotalPagamentos(ndice 1465) ......................................................................................................................................................... 171 Daruma_FI_RetornaTroco(ndice 1466) ......................................................................................................................................................... 171 Daruma_FI_RetornaRegistradoresNaoFiscais(ndice 1499) ......................................................................................................................................................... 172 Daruma_FI_RetornaRegistradoresFiscais(ndice 1485) ......................................................................................................................................................... 174 Daruma_FI_RetornaValorComprovanteNaoFiscal(ndice 1495) ......................................................................................................................................................... 174 Daruma_FI_RetornaIndiceComprovanteNaoFiscal(ndice 1496) ......................................................................................................................................................... 175 Daruma_FI_RetornarVersaoDLL(ndice 1502) ......................................................................................................................................................... 176
Contents
VI
Daruma_FIMFD_EmitirCupomAdicional (ndice 6016) .......................................................................................................................................................... 192 Daruma_FIMFD_AcionarGuilhotina (ndice 6017) .......................................................................................................................................................... 193 Daruma_FIMFD_EqualizarVelocidade (ndice 6018) .......................................................................................................................................................... 194 Daruma_FIMFD_AbreRecebimentoNaoFiscal(ndice ????) .......................................................................................................................................................... 195 Daruma_FIMFD_RecebimentoNaoFiscal(ndice ????) .......................................................................................................................................................... 196 Daruma_FIMFD_IniciaFechamentoNaoFiscal(ndice ????) .......................................................................................................................................................... 197 Daruma_FIMFD_EfetuaFormaPagamentoNaoFiscal(ndice ????) .......................................................................................................................................................... 198 Daruma_FIMFD_TerminaFechamentoNaoFiscal(ndice ????) .......................................................................................................................................................... 199 Daruma_FIMFD_ProgramarGuilhotina(ndice 6019) .......................................................................................................................................................... 199
Daruma Automao
VII
Daruma Framework
Daruma_FIR_CancelarVenda(ndice 3045) ......................................................................................................................................................... 226 Daruma_FIR_TransferirVenda(ndice 3051) ......................................................................................................................................................... 226 Daruma_FIR_TransferirMesa(ndice 3052) ......................................................................................................................................................... 227 Daruma_FIR_ImprimePrimeiroCupomDividido(ndice 3040) ......................................................................................................................................................... 227 Daruma_FIR_RestanteCupomDividido(ndice 3041) ......................................................................................................................................................... 228 Daruma_FIR_EmitirCupomAdicional(ndice 3018) ......................................................................................................................................................... 229 Daruma_FIR_RelatotioMesasAbertas(ndice 3050) ......................................................................................................................................................... 229 Mtodos de .......................................................................................................................................................... 230 Recebimentos, No Fiscais e Vinculados Daruma_FIR_AbreComprovanteNaoFiscalVinculado(ndice 3203) ......................................................................................................................................................... 230 Daruma_FIR_UsaComprovanteNaoFiscalVinculado(ndice 3204) ......................................................................................................................................................... 230 Daruma_FIR_FechaComprovanteNaoFiscalVinculado(ndice 3205) ......................................................................................................................................................... 231 Daruma_FIR_FechaRelatorioGerencial(ndice 3201) ......................................................................................................................................................... 231 Daruma_FIR_AbreRecebimentoNaoFiscal(ndice 3210) ......................................................................................................................................................... 232 Daruma_FIR_EfetuaFormaPagamentoNaoFiscal(ndice 3211) ......................................................................................................................................................... 233 Daruma_FIR_FundoCaixa(ndice 3207) ......................................................................................................................................................... 233 Daruma_FIR_LeituraMemoriaFiscalData(ndice 3102) ......................................................................................................................................................... 234 Daruma_FIR_LeituraMemoriaFiscalReducao(ndice 3103) ......................................................................................................................................................... 234 Daruma_FIR_LeituraMemoriaFiscalSerialData(ndice 3104) ......................................................................................................................................................... 235 Daruma_FIR_LeituraMemoriaFiscalSerialReducao(ndice 3105) ......................................................................................................................................................... 236 Daruma_FIR_LeituraX(ndice 3101) ......................................................................................................................................................... 236 Daruma_FIR_RecebimentoNaoFiscal(ndice 3202) ......................................................................................................................................................... 237 Daruma_FIR_ReducaoZ(ndice 3100) ......................................................................................................................................................... 237 Daruma_FIR_ReducaoZAjustaDataHora(ndice 3106) ......................................................................................................................................................... 238 Daruma_FIR_RelatorioGerencial(ndice 3200) ......................................................................................................................................................... 239 Daruma_FIR_Sangria(ndice 3206) ......................................................................................................................................................... 239 Daruma_FIR_Suprimento(ndice 3207) ......................................................................................................................................................... 240 Mtodos Gaveta Autenticao e Outras .......................................................................................................................................................... 240 Daruma_FIR_VerificaDocAutenticacao(ndice 3301) ......................................................................................................................................................... 240 Daruma_FIR_AutenticacaoStr(ndice 3302) ......................................................................................................................................................... 241 Daruma_FIR_VerificaEstadoGaveta(ndice 3311) ......................................................................................................................................................... 242 Daruma_FIR_AcionaGaveta(ndice 3310) ......................................................................................................................................................... 242 Mtodos para Cardpio .......................................................................................................................................................... 243 Daruma_FIR_AdicionaProdutoCardapio (ndice 555) ......................................................................................................................................................... 243 Daruma_FIR_ZeraCardapio(ndice 650) ......................................................................................................................................................... 243 Daruma_FIR_ImprimeCardapio(ndice 651) ......................................................................................................................................................... 244 Daruma_FIR_CardapioSerial(ndice 652) ......................................................................................................................................................... 244 Mtodos Pogramao e Configurao .......................................................................................................................................................... 244 Daruma_FIR_ProgramaAliquota(ndice 550) ......................................................................................................................................................... 245 Daruma_FIR_NomeiaTotalizadorNaoSujeitoIcms(ndice 551) ......................................................................................................................................................... 245 Daruma_FIR_ProgramaFormasPagamento(ndice 554) ......................................................................................................................................................... 246 Daruma_FIR_ProgramaRelatorioGerencial(ndice 559) ......................................................................................................................................................... 246 Daruma_FIR_ProgramaOperador(ndice 552) ......................................................................................................................................................... 247 Daruma_FIR_ProgramaMsgTaxaServico(ndice 553) ......................................................................................................................................................... 247 Daruma_FIR_CfgHorarioVerao(ndice 504) ......................................................................................................................................................... 248 Daruma_FIR_CfgLimiarNearEnd(ndice 509) ......................................................................................................................................................... 249 Daruma_FIR_CfgEspacamentoCupons(ndice 507) ......................................................................................................................................................... 249 Mtodos de .......................................................................................................................................................... 250 Informao, Status e Retornos Daruma_FIR_StatusCupomFiscal(ndice 3404) ......................................................................................................................................................... 250 Daruma_FIR_StatusRelatorioGerencial(ndice 3405) ......................................................................................................................................................... 250 Daruma_FIR_StatusComprovanteNaoFiscalVinculado(ndice 3403) ......................................................................................................................................................... 251 Daruma_FIR_StatusComprovanteNaoFiscalNaoVinculado(ndice ) ......................................................................................................................................................... 251 Daruma_FIR_VerificaImpressoraLigada(ndice 3400] ......................................................................................................................................................... 252 Daruma_FIR_VerificaModeloECF(ndice 3469) ......................................................................................................................................................... 252 Daruma_FIR_VerificaHorarioVerao(ndice ????) ......................................................................................................................................................... 253 Daruma Automao
Contents
VIII
Daruma_FIR_VerificaZPendente(ndice 3488) ......................................................................................................................................................... 254 Daruma_FIR_VerificaXPendente(ndice 3489) ......................................................................................................................................................... 254 Daruma_FIR_VerificaFormasPagamentoEx(ndice 3448) ......................................................................................................................................................... 255 Daruma_FIR_VerificaEstadoImpressora(ndice 3401) ......................................................................................................................................................... 256 Daruma_FIR_VerificaAliquotasIss(ndice 3440) ......................................................................................................................................................... 256 Daruma_FIR_VerificaIndiceAliquotasIss(ndice 3445) ......................................................................................................................................................... 257 Daruma_FIR_VerificaTotalizadoresNaoFiscais(ndice 3436) ......................................................................................................................................................... 257 Daruma_FIR_VerificaEpromConectada(ndice 3432) ......................................................................................................................................................... 258 Daruma_FIR_VerificaRecebimentoNaoFiscal(ndice 3443) ......................................................................................................................................................... 258 Daruma_FIR_VerificaTruncamento(ndice 3439) ......................................................................................................................................................... 259 Daruma_FIR_VerificaModoOperacao(ndice 3431) ......................................................................................................................................................... 260 Daruma_FIR_VerificaTotalizadoresParciais(ndice 3407) ......................................................................................................................................................... 260 Daruma_FIR_NumeroCaixa(ndice 3425) ......................................................................................................................................................... 261 Daruma_FIR_NumeroSerie(ndice 3411) ......................................................................................................................................................... 262 Daruma_FIR_CGC_IE(ndice 3413) ......................................................................................................................................................... 262 Daruma_FIR_NumeroCupom(ndice 3417) ......................................................................................................................................................... 263 Daruma_FIR_NumeroIntervencoes(ndice 3421) ......................................................................................................................................................... 263 Daruma_FIR_NumeroReducoes(ndice 3420) ......................................................................................................................................................... 264 Daruma_FIR_NumeroCuponsCancelados(ndice 3419) ......................................................................................................................................................... 264 Daruma_FIR_NumeroOperacoesNaoFiscais(ndice 3418) ......................................................................................................................................................... 265 Daruma_FIR_DataHoraImpressora(ndice 3434) ......................................................................................................................................................... 265 Daruma_FIR_DataHoraReducao(ndice 3437) ......................................................................................................................................................... 266 Daruma_FIR_DataMovimento(ndice 3438) ......................................................................................................................................................... 266 Daruma_FIR_ContadoresTotalizadoresNaoFiscais(ndice 3435) ......................................................................................................................................................... 267 Daruma_FIR_LerAliquotasComIndice(ndice 3483) ......................................................................................................................................................... 267 Daruma_FIR_GrandeTotal(ndice 3414) ......................................................................................................................................................... 268 Daruma_FIR_Descontos(ndice 3415) ......................................................................................................................................................... 268 Daruma_FIR_Cancelamentos(ndice 3416) ......................................................................................................................................................... 269 Daruma_FIR_DadosUltimaReducao(ndice 3410) ......................................................................................................................................................... 269
IX
Daruma Framework
Mtodos para Impresso na DUAL .......................................................................................................................................................... 298 Trabalhando com a DUAL NA PARALELA (LPT1, LPT2) ......................................................................................................................................................... 298 Resolvendo Problemas de Comunicao com a PARALELA ......................................................................................................................................................... 299 Utilizando as Tags de Impresso de Texto e Formatao ......................................................................................................................................................... 300 Teste Completo com as Tags de Impresso de Texto ......................................................................................................................................................... 307 10 Exemplos utilizando as tags de formatacao ......................................................................................................................................................... 313 Exemplo DUAL 01 ......................................................................................................................................... 313 Exemplo DUAL 02 ......................................................................................................................................... 315 Exemplo DUAL 03 (Tabulaes) ......................................................................................................................................... 316 Exemplo DUAL 04 ......................................................................................................................................... 317 Exemplo DUAL 05 ......................................................................................................................................... 318 Exemplo DUAL 06 ......................................................................................................................................... 319 Exemplo DUAL 07 ......................................................................................................................................... 321 Exemplo DUAL 08 ......................................................................................................................................... 322 Exemplo DUAL 09 ......................................................................................................................................... 323 Exemplo DUAL 10 ......................................................................................................................................... 324 Mtodos para a DUAL de Configurao do Registry .......................................................................................................................................................... 325 Daruma_Registry_DUAL_Enter (ndice 30) ......................................................................................................................................................... 325 Daruma_Registry_DUAL_Espera (ndice 32) ......................................................................................................................................................... 326 Daruma_Registry_DUAL_ModoEscrita (ndice 33) ......................................................................................................................................................... 326 Daruma_Registry_DUAL_Porta (ndice 31) ......................................................................................................................................................... 327 Daruma_Registry_DUAL_Tabulacao (ndice 34) ......................................................................................................................................................... 328 Daruma_Registry_DUAL_Velocidade (ndice 46) ......................................................................................................................................................... 329 Daruma_Registry_DUAL_Termica (ndice 48) ......................................................................................................................................................... 329
Daruma Automao
Contents
Daruma_Sintegra_GerarRegistro11(ndice 6024) ......................................................................................................................................................... 355 Daruma_Sintegra_GerarRegistro60M (ndice 6025) ......................................................................................................................................................... 356 Daruma_Sintegra_GerarRegistro60A (ndice 6026) ......................................................................................................................................................... 357 Daruma_Sintegra_GerarRegistro60D (ndice 6027) ......................................................................................................................................................... 358 Daruma_Sintegra_GerarRegistro60I (ndice 6028) ......................................................................................................................................................... 358 Daruma_Sintegra_GerarRegistro60R (ndice 6029) ......................................................................................................................................................... 359 Daruma_Sintegra_GerarRegistro90 (ndice 6030) ......................................................................................................................................................... 360 Mtodos de .......................................................................................................................................................... 361 Baixo Nvel para Gerar o Sintegra Daruma_FIMFD_RetornarInfoDownloadMFD (ndice 6020) ......................................................................................................................................................... 361 Daruma_FIMFD_RetornarInfoDownloadMFDArquivo (ndice 6021) ......................................................................................................................................................... 363
Index
367
Daruma Automao
Foreword
Foreword
This is just another title page placed between table of contents and topics
Daruma Automao
Part
Daruma Framework
1
1.1
Daruma Framework
Algumas informaes sobre este manual
Este manual e nico para toda a nossa linha de impressoras e terminais, no importando a linguagem de seu software, tampouco o sistema operacioal. Porque somos hoje o nico fabricante que oferece suporte para Windows e Linux em total Igualdade, onde este manual atende as duas plataformas.
A nossa dll tambm nica ou seja um FRAMEWORK, que voc pode utilizar para qualquer um de nossos produtos, seja Impressora Fiscal Matricial ou Trmica, Mini-Impressoras Matricial ou Trmica, qualquer que seja nosso produto voce poder se basear por este manual.
Se voc desenvolvedor em linguagem DOS ou WIN 16b, poder utilizar o Odserver, que o nosso driver voltado para linguagens 16b e tambm voltado para a Comunidade Clipper, Cobol, desenvolvedores que desejam utilizar a DLL mas no conseguem pela Limitao que a linguagem impes, para isso esta comunidade conta com o Observer2, que j est em sua Segunda Gerao nsta edio j se possvel a troca de arquivos em ambiente linux facilitando para voc desenvolvedor que tem uma aplicao que roda em linux, porm no consegue instnciar a Dauma32.SO.
Alguns motivos para voc participar do nosso programa de Incentivo ao Desenvolvedor e adquirir hoje mesmo ECF para desenvolvimento e preo subsidiado: 1. Porque tendo uma impressora na hora de corrigir bugs muito mais rpido; 2. Quando for apresentar o SW para um cliente ou at mesma em uma feira impressiona muito mais; 3. No caso de homologaco de TEF, no seria aceito um emulador; 4. Nos estados de MG, ES e Bahia o SW tem de ser homologado e no aceito
Daruma Automao
Daruma Framework
5.
emulador durante a homologao; Porque como ECF ao lado meu desenvolvimento ser exatamente o que vai acontecer no ponto de venda, e com um emulador eu no tenho esta certeza.
Outras Generalidades deste manual: 100% auto-explicativo, de fcil pesquisa. Objetivo, dinmico. Auto-suficiente. Atende a todos os produtos. Funes nicas para Windows e Linux.
Por email suporte@daruma.com.br suporte.desenvolvedores@daruma.com.br desenvolvedores.suporte@daruma.com.br suporte.alexandre@daruma.com.br Via site http://www.daruma.com.br/ Por telefone (41)3361-6005 (41)3361-6076 (41)3361-6787
1.2
Daruma Automao
Daruma Framework
26 - Daruma_Registry_CNFNV_Personalizado 27 - Daruma_Registry_IgnoraCupomAberto 28 - Daruma_Registry_Velocidade 30 - Daruma_Registry_DUAL_Enter 31 - Daruma_Registry_DUAL_Porta 32 - Daruma_Registry_DUAL_Espera 33 - Daruma_Registry_DUAL_ModoEscrita 34 - Daruma_Registry_Produto 35 - Daruma_Registry_FS2000_CupomAdicional 36 - Daruma_Registry_Ap lMensagem1 37 - Daruma_Registry_AplMensagem2 38 - Daruma_Registry_TEF_NumeroLinhasImpressao 42 - Daruma_Registry_NumeroSerieNaoFormatado 45 - Daruma_Registry_FS2000_TempoEsperarCheque 46 - Daruma_Registry_DUAL_Velociade 47 - Daruma_Registry_DUAL_Tabulacao 48 - Daruma_Registry_DUAL_Termica 49 - Daruma_Registry_MFD_LeituraMFCompleta 52 - Daruma_Registry_MFD_ProgramarSinalSonoro 53 - Daruma_FIMFD_SinalSonoro 56 - Daruma_Registry_CupomAdicionaDll 57 - Daruma_Registry_CupomAdicionaDllConfig 60 - Daruma_Registry_MFDValorFinal 63 - Daruma_Registry_PCExpanionLogin 69 - Daruma_Registry_LogTamMaxLogMB 72 - Daruma_Registry_MaxFechamentoAutomatico 301 - Daruma_FI_ProgramaFormasPagamento 302 - Daruma_FI_ProgramaAliquota 303 - Daruma_FI_ProgramaHorarioVerao 304 - Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms 305 - Daruma_FI_ProgramaArredondamento 306 - Daruma_FI_ProgramaTruncamento 307 - Daruma_FI_LinhasEntreCupons 308 - Daruma_FI_EspacoEntreLinhas 310 - Daruma_FI_ProgramaOperador 312 - Daruma_FI_ProgramaVinculados 314 - Daruma_FI_ConfiguraHorarioVerao 313 - Daruma_FI_ProgFormasPagtoSemVincular 400 - Daruma_FI_CfgFechAutomaticoCupom 401 - Daruma_FI_CfgRedZAutomatico 402 - Daruma_FI_CfgLeituraXAuto 403 - Daruma_FI_CfgCalcArredondamento 404 - Daruma_FI_CfgHorarioVerao 405 - Daruma_FI_CfgSensorAut 407 - Daruma_FI_CfgEspacamentoCupons 408 - Daruma_FI_CfgHoraMinReducaoZ 409 - Daruma_FI_CfgLimiarNearEnd 410 - Daruma_FI_CfgPermMensPromCNF 411 - Daruma_FI_CfgImpEstGavVendas 412 - Daruma_FI_CfgCupomAdicional 504 - Daruma_FIR_CfgHorarioVerao 507 - Daruma_FIR_CfgEspacamentoCupons 509 - Daruma_FIR_CfgLimiarNearEnd 550 - Daruma_FIR_ProgramaAliquota 551 - Daruma_FIR_NomeiaTotalizadorNaoSujeitoIcms 552 - Daruma_FIR_ProgramaOperador 553 - Daruma_FIR_ProgramaMsgTaxaServico 554 - Daruma_FIR_ProgramaFormasPagamento 555 - Daruma_FIR_AdicionaProdutoCardapio 600 - Daruma_FI_AbrePortaSerial 601 - Daruma_FI_FechaPortaSerial 602 - Daruma_FI_MapaResumo 603 - Daruma_FI_AberturaDoDia 604 - Daruma_FI_FechamentoDoDia 605 - Daruma_FI_RelatorioTipo60Analitico 606 - Daruma_FI_RelatorioTipo60Mestre
Daruma Automao
Daruma Framework
650 - Daruma_FIR_ZeraCardapio 651 - Daruma_FIR_ImprimeCardapio 652 - Daruma_FIR_CardapioSerial 1000 - Daruma_FI_AbreCupom 1001 - Daruma_FI_VendeItem 1004 - Daruma_FI_VendeItemDepartamento 1005 - Daruma_FI_CancelaItemAnterior 1006 - Daruma_FI_CancelaItemGenerico 1007 - Daruma_FI_IniciaFechamentoCupom 1008 - Daruma_FI_EfetuaFormaPagamento 1009 - Daruma_FI_EfetuaFormaPagamentoDescricaoForma 1010 - Daruma_FI_TerminaFechamentoCupom 1011 - Daruma_FI_FechaCupom 1012 - Daruma_FI_FechaCupomResumido 1013 - Daruma_FI_IdentificaConsumidor 1014 - Daruma_FI_CancelaCupom 1015 - Daruma_FI_AumentaDescricaoItem 1016 - Daruma_FI_UsaUnidadeMedida 1017 - Daruma_FI_EstornoFormasPagamento 1018 - Daruma_FI_EmitirCupomAdicional 1019 - Daruma_FI_VendeItemTresDecimais 1100 - Daruma_FI_ReducaoZ 1101 - Daruma_FI_LeituraX 1102 - Daruma_FI_LeituraMemoriaFiscalData 1103 - Daruma_FI_LeituraMemoriaFiscalReducao 1104 - Daruma_FI_LeituraMemoriaFiscalSerialData 1105 - Daruma_FI_LeituraMemoriaFiscalSerialReducao 1200 - Daruma_FI_RelatorioGerencial 1201 - Daruma_FI_FechaRelatorioGerencial 1202 - Daruma_FI_RecebimentoNaoFiscal 1203 - Daruma_FI_AbreComprovanteNaoFiscalVinculado 1204 - Daruma_FI_UsaComprovanteNaoFiscalVinculado 1205 - Daruma_FI_FechaComprovanteNaoFiscalVinculado 1206 - Daruma_FI_Sangria 1207 - Daruma_FI_Suprimento 1208 - Daruma_FI_AbreRelatorioGerencial 1210 - Daruma_FI_AbreRecebimentoNaoFiscal 1212 - Daruma_FI_FundoCaixa 1011 - Daruma_FI_EfetuaFormaPagamentoNaoFiscal 1300 - Daruma_FI_Autenticacao 1301 - Daruma_FI_VerificaDocAutenticacao 1302 - Daruma_FI_AutenticacaoStr 1310 - Daruma_FI_AcionaGaveta 1311 - Daruma_FI_VerificaEstadoGaveta 1312 - Daruma_FI_VerificaEstadoGavetaStr 1400 - Daruma_FI_VerificaImpressoraLigada 1401 - Daruma_FI_VerificaEstadoImpressora 1402 - Daruma_FI_RetornoImpressora 1403 - Daruma_FI_StatusComprovanteNaoFiscalVinculado 1404 - Daruma_FI_StatusCupomFiscal 1405 - Daruma_FI_StatusRelatorioGerencial 1406 - Daruma_FI_RetornoAliquotas 1407 - Daruma_FI_VerificaTotalizadoresParciais 1408 - Daruma_FI_SubTotal 1410 - Daruma_FI_DadosUltimaReducao 1411 - Daruma_FI_NumeroSerie 1412 - Daruma_FI_VersaoFirmware 1413 - Daruma_FI_CGC_IE 1414 - Daruma_FI_GrandeTotal 1415 - Daruma_FI_Descontos 1416 - Daruma_FI_Cancelamentos 1417 - Daruma_FI_NumeroCupom 1418 - Daruma_FI_NumeroOperacoesNaoFiscais 1419 - Daruma_FI_NumeroCuponsCancelados 1420 - Daruma_FI_NumeroReducoes 1421 - Daruma_FI_NumeroIntervencoes
Daruma Automao
Daruma Framework
1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1473 1479 1481 1482 1483 1484 1485 1486 1488 1489 1490 1493 1494 1495 1496 1497 1498
Daruma_FI_NumeroSubstituicoesProprietario Daruma_FI_UltimoItemVendido Daruma_FI_ClicheProprietario Daruma_FI_NumeroCaixa Daruma_FI_NumeroLoja Daruma_FI_SimboloMoeda Daruma_FI_FlagsFiscais Daruma_FI_MinutosLigada Daruma_FI_MinutosImprimindo Daruma_FI_VerificaModoOperacao Daruma_FI_VerificaEpromConectada Daruma_FI_ValorPagoUltimoCupom Daruma_FI_DataHoraImpressora Daruma_FI_ContadoresTotalizadoresNaoFiscais Daruma_FI_VerificaTotalizadoresNaoFiscais Daruma_FI_DataHoraReducao Daruma_FI_DataMovimento Daruma_FI_VerificaTruncamento Daruma_FI_VerificaAliquotasIss Daruma_FI_Acrescimos Daruma_FI_VerificaFormasPagamento Daruma_FI_VerificaRecebimentoNaoFiscal Daruma_FI_VerificaTipoImpressora Daruma_FI_VerificaIndiceAliquotasIss Daruma_FI_ValorFormaPagamento Daruma_FI_ValorTotalizadorNaoFiscal Daruma_FI_VerificaFormasPagamentoEx Daruma_FI_SaldoAPagar Daruma_FI_Troco Daruma_FI_RetornaAcrescimoNF Daruma_FI_RetornaCFCancelados Daruma_FI_RetornaCNFCancelados Daruma_FI_RetornaCLX Daruma_FI_RetornaCNFNV Daruma_FI_RetornaCRO Daruma_FI_RetornaCRZ Daruma_FI_RetornaCRZRestante Daruma_FI_RetornaCancelamentoNF Daruma_FI_RetornaDescontoNF Daruma_FI_RetornaGNF Daruma_FI_RetornaTempoImprimindo Daruma_FI_RetornaTempoLigado Daruma_FI_RetornaTotalPagamentos Daruma_FI_RetornaTroco Daruma_FI_ClicheProprietarioEx Daruma_FI_COO Daruma_FI_VerificaModeloECF Daruma_FI_VerificaDescricaoFormasPagamento Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado Daruma_FI_UltimaFormaPagamento Daruma_FI_FlagsFiscaisStr Daruma_FI_PalavraStatus Daruma_FI_PalavraStatusBinario Daruma_FI_LerAliquotasComIndice Daruma_FI_VerificaDiaAberto Daruma_FI_RetornaRegistradoresFiscais Daruma_FI_VerificaTotalizadoresNaoFiscaisEx Daruma_FI_VerificaXPendente Daruma_FI_VerificaZPendente Daruma_FI_VendaBruta Daruma_FI_TipoUltimoDocumento Daruma_FI_VerificaHorarioVerao Daruma_FI_RetornaValorComprovanteNaoFiscal Daruma_FI_RetornaIndiceComprovanteNaoFiscal Daruma_FI_RetornaDescricaoCNFV Daruma_FI_VendaBrutaAcumulada
Daruma Automao
Daruma Framework
1499 1502 1900 1901 1902 1903 1904 1905 2000 2001 3000 3007 3008 3009 3013 3010 3011 3012 3014 3018 3018 3040 3041 3042 3048 3045 3046 3048 3049 3050 3051 3052 3054 3055 3070 3071 3100 3101 3102 3104 3103 3105 3200 3201 3202 3203 3204 3205 3206 3207 3210 3211 3310 3311 3300 3301 3400 3401 3402 3403 3485 3404 3405 3406 3407 3408
Daruma_FI_RetornaRegistradoresNaoFiscais Daruma_FI_RetornarVersaoDLL Daruma_TEF_EsperarArquivo Daruma_TEF_ImprimirResposta Daruma_TEF_SetFocus Daruma_TEF_TravarTeclado Daruma_TEF_FechaRelatorio Daruma_TEF_ImprimirRespostaCartao Daruma_FIB_AbreBilhetePassagem Daruma_FIB_VendeItem Daruma_FIR_AbreCupomRestaurante Daruma_FIR_IniciaFechamentoCupom Daruma_FIR_EfetuaFormaPagamento Daruma_FIR_EfetuaFormaPagamentoDescricaoForma Daruma_FIR_IdentificaConsumidor Daruma_FIR_TerminaFechamentoCupom Daruma_FIR_FechaCupomRestaurante Daruma_FIR_FechaCupomRestauranteResumido Daruma_FIR_CancelaCupom Daruma_FIR_EmitirCupomAdicional Daruma_FIR_AbreCupomBalcao Daruma_FIR_ImprimePrimeiroCupomDividido Daruma_FIR_RestanteCupomDividido Daruma_FIR_IniciaFechamentoCupomComServico Daruma_FIR_RegistrarVenda Daruma_FIR_CancelarVenda Daruma_FIR_ConferenciaMesa Daruma_FIR_RegistrarVenda Daruma_FIR_RegistroVendaSerial Daruma_FIR_RelatorioMesasAbertas Daruma_FIR_TranferirVenda Daruma_FIR_TranferirMesa Daruma_FIR_VendeItemBalcao Daruma_FIR_CancelaItemBalcao Daruma_FIR_VendeItem Daruma_FIR_CancelaItem Daruma_FIR_ReducaoZ Daruma_FIR_LeituraX Daruma_FIR_LeituraMemoriaFiscalData Daruma_FIR_LeituraMemoriaFiscalSerialData Daruma_FIR_LeituraMemoriaFiscalReducao Daruma_FIR_LeituraMemoriaFiscalSerialReducao Daruma_FIR_RelatorioGerencial Daruma_FIR_FechaRelatorioGerencial Daruma_FIR_RecebimentoNaoFiscal Daruma_FIR_AbreComprovanteNaoFiscalVinculado Daruma_FIR_UsaComprovanteNaoFiscalVinculado Daruma_FIR_FechaComprovanteNaoFiscalVinculado Daruma_FIR_Sangria Daruma_FIR_Suprimento Daruma_FIR_AbreRecebimentoNaoFiscal Daruma_FIR_EfetuaFormaPagamentoNaoFiscal Daruma_FIR_AcionaGaveta Daruma_FIR_VerificaEstadoGaveta Daruma_FIR_AutenticacaoStr Daruma_FIR_VerificaDocAutenticacao Daruma_FIR_VerificaImpressoraLigada Daruma_FIR_VerificaEstadoImpressora Daruma_FIR_RetornoImpressora Daruma_FIR_StatusComprovanteNaoFiscalVinculado Daruma_FIR_StatusComprovanteNaoFiscalNaoVinculado Daruma_FIR_StatusCupomFiscal Daruma_FIR_StatusRelatorioGerencial Daruma_FIR_RetornoAliquotas Daruma_FIR_VerificaTotalizadoresParciais Daruma_FIR_SubTotal
Daruma Automao
Daruma Framework
3410 3411 3412 3414 3415 3416 3417 3418 3419 3420 3421 3424 3425 3428 3429 3430 3431 3432 3433 3434 3435 3436 3439 3440 3448 3443 3445 3446 3447 3469 3470 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3468 3471 3472 3473 3475 3476 3477 3478 3479 3481 3482 3484 3488 3489 3050 4001 4002 4003 4004
Daruma_FIR_DadosUltimaReducao Daruma_FIR_NumeroSerie Daruma_FIR_VersaoFirmware Daruma_FIR_GrandeTotal Daruma_FIR_Descontos Daruma_FIR_Cancelamentos Daruma_FIR_NumeroCupom Daruma_FIR_NumeroOperacoesNaoFiscais Daruma_FIR_NumeroCuponsCancelados Daruma_FIR_NumeroReducoes Daruma_FIR_NumeroIntervencoes Daruma_FIR_ClicheProprietario Daruma_FIR_NumeroCaixa Daruma_FIR_FlagsFiscais Daruma_FIR_TempoOperacional Daruma_FIR_MinutosEmititindoDocFiscal Daruma_FIR_VerificaModoOperacao Daruma_FIR_VerificaEpromConectada Daruma_FIR_ValorPagoUltimoCupom Daruma_FIR_DataHoraImpressora Daruma_FIR_ContadoresTotalizadoresNaoFiscais Daruma_FIR_VerificaTotalizadoresNaoFiscais Daruma_FIR_VerificaTruncamento Daruma_FIR_VerificaAliquotasIss Daruma_FIR_VerificaFormasPagamentoEx Daruma_FIR_VerificaRecebimentoNaoFiscal Daruma_FIR_VerificaIndiceAliquotasIss Daruma_FIR_ValorFormaPagamento Daruma_FIR_ValorTotalizadorNaoFiscal Daruma_FIR_VerificaModeloECF Daruma_FIR_RetornaErroExtendido Daruma_FIR_RetornaAcrescimoNF Daruma_FIR_RetornaCFCancelados Daruma_FIR_RetornaCNFCancelados Daruma_FIR_RetornaCLX Daruma_FIR_RetornaCNFNV Daruma_FIR_RetornaCNFV Daruma_FIR_RetornaCRo Daruma_FIR_RetornaCRZ Daruma_FIR_RetornaCRZRestante Daruma_FIR_RetornaCancelamentoNF Daruma_FIR_RetornaDescontoNF Daruma_FIR_RetornaGNF Daruma_FIR_RetornaTempoImprimindo Daruma_FIR_RetornaTempoLigado Daruma_FIR_RetornaTotalPagamentos Daruma_FIR_RetornaTroco Daruma_FIR_COO Daruma_FIR_MesasLivres Daruma_FIR_RegistroVendaLivre Daruma_FIR_DescontosNaoFiscais Daruma_FIR_CancelamentoNaoFiscais Daruma_FIR_TotalTroco Daruma_FIR_ReducoesRestantes Daruma_FIR_CooComecoDia Daruma_FIR_NumeroCancelamentoNaoFiscal Daruma_FIR_PalavraStatus Daruma_FIR_PalavraStatusBinario Daruma_FIR_VendaBruta Daruma_FIR_VerificaZPendente Daruma_FIR_VerificaXPendente Daruma_FIR_RelatorioMesasAbertasSerial Daruma_DUAL_ImprimirTexto Daruma_DUAL_VerificaStatus Daruma_DUAL_VerificaDocumento Daruma_DUAL_Autenticar
Daruma Automao
Daruma Framework
10
4005 4008 4009 4012 4014 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5311 5350 5351 5352 5360 5361 5362 5363 5364 5365 5366 5370 5371 5372 5400 5401 5402 5403 5410 5411 5412 5420 5421 5422 5430 5431
Daruma_DUAL_AcionaGaveta Daruma_DUAL_ImprimirArquivo Daruma_DUAL_StatusGaveta Daruma_DUAL_ImprimirCodigoBarras Daruma_DUAL_VerificarGuilhotina Daruma_FI2000_SelecionaBanco Daruma_FI2000_SelecionaCidade Daruma_FI2000_SelecionaData Daruma_FI2000_SelecionaFavorecido Daruma_FI2000_SelecionaValorChequeH Daruma_FI2000_SelecionaValorChequeV Daruma_FI2000_SelecionaTextoVersoCheque Daruma_FI2000_LeituraCodigoMICr Daruma_FI2000_LiberarCheque Daruma_FI2000_CarregarCheque Daruma_FI2000_CorrigirGeometriaCheque Daruma_FI2000_CriaRelatorioGerencial Daruma_FI2000_AbreRelatorioGerencial Daruma_FI2000_VerificaRelatorioGerencial Daruma_FI2000_StatusCheque Daruma_FI2000_ImprimirCheque Daruma_FI2000_ImprimirVersoCheque Daruma_FI2000_DescontoSobreItemVendido Daruma_FI2000_SegundaViaCNFVinculado Daruma_FI2000_CancelamentoCNFV Daruma_FI2000_AcrescimosICMSISS Daruma_FI2000_CancelamentosICMSISS Daruma_FI2000_DescontosICMSISS Daruma_FI2000_LeituraInformacaoUltimoDoc Daruma_FI2000_LeituraInformacaoUltimosCNF Daruma_Registry_TA1000_Cursor Daruma_Registry_TA1000_Produto Daruma_Registry_TA1000_Convenio Daruma_Registry_TA1000_Usuario Daruma_Registry_TA1000_Banco Daruma_Registry_TA1000_PrioridadeThread Daruma_Registry_TA1000_PathProdutos Daruma_Registry_TA1000_PathConvenios Daruma_Registry_TA1000_PathUsuarios Daruma_Registry_TA1000_Porta Daruma_Registry_TA1000_NumeroItensEnviados Daruma_TA1000_EnviarBancoProdutos Daruma_TA1000_EnviarBancoUsuarios Daruma_TA1000_EnviarBancoConvenio Daruma_TA1000_ReceberBancoProdutos Daruma_TA1000_ReceberBancoUsuarios Daruma_TA1000_ReceberBancoConvenio Daruma_TA1000_ReceberProdutosVendidos Daruma_TA1000_ReceberR60r Daruma_TA1000_ReceberR60d Daruma_TA1000_ReceberR60Ma Daruma_TA1000_CancelaComunicacao Daruma_TA1000_LeStatusTransferencia Daruma_TA1000_LeStatusRecebimento Daruma_TA1000_ListaProdutos Daruma_TA1000_ListaUsuarios Daruma_TA1000_ListaConvenios Daruma_TA1000_ListaProdutosVendidos Daruma_TA1000_AlterarProdutos Daruma_TA1000_AlterarConvenios Daruma_TA1000_AlterarUsuarios Daruma_TA1000_CadastrarProdutos Daruma_TA1000_CadastrarConvenios Daruma_TA1000_CadastrarUsuarios Daruma_TA1000_EliminarProdutos Daruma_TA1000_EliminarConvenios
Daruma Automao
11
Daruma Framework
5432 5440 5441 5442 5443 5450 5451 5452 5453 5454 5455 5456 5460 6000 6001 6002 6003 6004 6008 6009 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6026 6027 6028 6029 6030
Daruma_TA1000_EliminarUsuarios Daruma_TA1000_ConsultarProdutos Daruma_TA1000_ConsultarProdutosVendidos Daruma_TA1000_ConsultarConvenios Daruma_TA1000_ConsultarUsuarios Daruma_TA1000_ZerarProdutos Daruma_TA1000_ZerarConvenios Daruma_TA1000_ZerarUsuarios Daruma_TA1000_ZerarR60MA Daruma_TA1000_ZerarR60R Daruma_TA1000_ZerarR60D Daruma_TA1000_ZerarProdutosVendidos Daruma_TA1000_LerProdutos Daruma_FIMFD_RetornaInformacao Daruma_FIMFD_ImprimeCodigoBarras Daruma_FIMFD_CasasDecimaisProgramada Daruma_FIMFD_IndicePrimeiroVinculado Daruma_FIMFD_DownloadDaMFD Daruma_FIMFD_StatusCupomFiscal Daruma_FIMFD_ProgramarGuilhotina Daruma_FIMFD_ProgramaRelatoriosGerenciais Daruma_FIMFD_AbreRelatorioGerencial Daruma_FIMFD_VerificaRelatoriosGerenciais Daruma_FIMFD_EmitirCupomAdicional Daruma_FIMFD_AcionarGuilhotina Daruma_FIMFD_EqualizarVelocidade Daruma_FIMFD_ProgramarGuilhotina Daruma_FIMFD_RetornarInfoDownloadMFD Daruma_FIMFD_RetornarInfoDownloadMFDArquivo Daruma_Sintegra_GerarRegistrosArq Daruma_Sintegra_GerarRegistro10 Daruma_Sintegra_GerarRegistro11 Daruma_Sintegra_GerarRegistro60M Daruma_Sintegra_GerarRegistro60A Daruma_Sintegra_GerarRegistro60I Daruma_Sintegra_GerarRegistro60R Daruma_Sintegra_GerarRegistro90
1.3
Configurando a Daruma32.DLL
Criamos mtodos, para que voc mesmo possa criar sua tela de configurao da dll direto em seu aplicativo de Automao Comercial, com isso voce poder padronizar o processo de como so configuradas as opes da dll permitindo que o usuario faa isso atravs de seu aplicativo de Automao Comercial, com a identidade visual de seu aplicativo e nao atravs de um editor padro, isso porporciona maior controle do software nas configuraes que devem ser realizadas, oferecendo maior segurana e acesso a estas configuraes somente atravs de seu software. A DLL Daruma32.dll possui sua configurao atravs do Registry do windows, possibilitando maior segurana ao aplicativo e maior rapidez na configurao da dll. Proporciona maior velocidade ao aplicativo porque nao necessita trabalhar com acesso a disco para ler as configuraes e sim com o registry que esta em area de memoria e seu acesso 0.760 Milisegundos mais rpido!!. Para isso existem Funes que permitem que seu software de frente de caixa configure a dll DARUMA32.DLL, ou voc poder utilizar-se do Configurador que est disponivel em nossa pagina permitindo que independente do software de Automao Comercial voc possa configurar a dll de Comunicao.
Daruma Automao
Daruma Framework
12
Se voc estiver utilizando a dll de comunicao pela primeira vez para desenvolvimento No necessrio Criar as Chaves no Registry ou registrar a DLL, porque estas chaves sero criadas automaticamente na primeira vez em que voc chamar qualquer funo da dll, sendo assim no necessario que voce crie estas chaves atravs de seu software e tampouco na mo, nada disso necessario, apenas execute qualquer funo da dll atravs de seu software - Daruma_FI_LeituraX( ) por exemplo que as chaves sero criadas com valores DEFAULT. Porm, se voce desejar criar as chaves na mo para que seja instalado a dll no cliente com algum tipo de configurao especfica, poder utilizar-se de dos recursos: 1) Chame qualquer funco da dll de comunicao e aps isso configure as chaves do registry com as funes de configurao existente na dll, Daruma_Registry_Porta("COM1"), por exemplo. 2) Ou, execute o arquivo DARUMA.REG que ele criar as chaves no Registry e voc podera utilizar o proprio Windows ( com o executavel REGEDIT) ou poder utiliar nosso configurador para modificar em tempo de desenho do software as chaves do Registry. Veja Abaixo a estrutura Registry e o Significado de Cada uma de suas Chaves, Veja o Significado de Cada uma destas Chaves nos Tpicos deste help relacionados ao Produto. [HKEY_LOCAL_MACHINE \SOFTWARE \ DARUMA] [HKEY_LOCAL_MACHINE \ SOFTWARE \ DARUMA \ ECF] [HKEY_LOCAL_MACHINE \ SOFTWARE \ DARUMA \ Observer] [HKEY_LOCAL_MACHINE \ SOFTWARE \ DARUMA \ DPosXmlBr]
Chaves: DARUMA\ECF - Nesta Chave Voc encontrar as configuraes para que a dll trabalhe com nosso ECF. DARUMA\Observer - Nesta Chave Voc configura para se trabahar com o Driver OBSERVER que interliga seu aplicativo DOS com o windows. DARUMA\DPosXmlBr - Nesta Chave voc encontra valores referente ao Protocolo XML de Automao Comercial.
1.4
Configurando a Daruma32.SO
A share library da Daruma veio para oferecer as mesmas funcionalidades e facilidades da Dll para Windows. 1. INSTALAO A Share Library utiliza o mesmo processo de Registry para Windows, assim para se manter a compatibilidade e o source unificado ser necessrio os seguintes procedimentos: mkdir -p /usr/local/share/Daruma chmod 2777 /usr/local/share/Daruma chown -R root.users /usr/local/share/Daruma No se esquea de dar permisso de leitura e escrita para a porta que ser utilizada, por exemplo ttyS0, para o usurio que ir utilizar a library. Ou para facilitar:
chmod 777 /dev/ttyS0 O diretrio /usr/local/share/Daruma ir conter o "registry" da share library intitulado Daruma32.conf, o qual conter todas as variveis de utilizao da biblioteca.
Daruma Automao
13
Daruma Framework
Por exemplo: cp libDaruma32.so /usr/local/lib ln -s /usr/local/lib/libDaruma32.so /usr/local/lib/libDaruma32.so ldconfig -v | grep libDaruma32.so Fazendo isso teremos um link simblico para a share library com o nome de libDaruma32.so, isso facilita quando for linkar o seu software com a library. library para o diretrio correspondente e criar o atalho padro, sem ser necessrio recompilar o seu software. Muito similar a Dll Windows. Se voc conseguir ver a library carregada com o comando ldconfig -v | grep libDaruma32.so acima a parte mais "difcil" foi feita. Caso no veja a libDaruma32.so com o comando ldconfig, verifique se o caminho /usr/local/lib est contido no arquivo /etc/ld.so.conf. Agora s linkar o seu programa com a library. g++ -fwritable-strings seu_programa -lDaruma32 Pronto agora voc vai poder usar toda a estrutura da share library de alto nvel, usando as mesmos mtodos da Dll para Windows, como por exemplo: Daruma_FI_AbreCupom, Daruma_FI_VendeItem, Daruma_FI_NumeroCupom e assim por diante.
1.5
Instrues de Instalao 1. Introduo; Este manual de instalao do FlagShip, voltado a voc que desenvolvedor em FlagShip e est interessado em desenvolver um aplicativo comercial, que se comunique com as nossas Impressoras Fiscais. 2. Pr-requisitos; 1) necessrio instalarmos a lib Daruma32.so. Para baixar a lib acesse o seguinte link: Daruma32.so. ("Esta biblioteca ser utilizada pelo driver Observer2 para Linux"), para voc intalar ela, dever realizar o procedimento: 2.1 Crie o seguinte diretrio; mkdir -p usr/local/share/Daruma 2.2 D as permisses para este diretrio e usurios; chmod 2777 usr/local/share/Daruma chown -R root.users /usr/local/share/Daruma 2.3 Dadas as permisses, hora de instalarmos e registramos a Daruma32.so; 2.3.1Importante! O diretrio /usr/local/share/Daruma ir conter o "registry" da Daruma32.so, este arquivo se chama Daruma32.conf, o qual conter todas as variveis de utilizao da biblioteca; Daruma Automao
Daruma Framework
14
2.3.2 Copie a lib para o diretrio criado anteriormente: cp Daruma32.so /usr/local/lib ln -s /usr/local/lib/libDaruma32.so /usr/local/lib/libDaruma32.so; 2.3.3 Em seguida digite ldconfig -v | grep libDaruma32.so. 2.3.4 Se voc conseguir ver a Daruma32.so carregada com o comando: ldconfig -v | grep libDaruma32.so acima a parte mais "difcil" foi feita. Caso no veja a Daruma32.so com o comando ldconfig, verifique se o caminho /usr/local/lib est contido no arquivo /etc/ld.so.conf 2.4 Concluda a instalao da lib hora de voc baixar o Observer2linux para baix-lo acesse: Observer2linux; O Observer2linux uma ferramenta criada para permitir a utilizao das facilidades implementadas na lib Daruma32.so, por programas escritos em linguagens que no acessam shared objects (.so). Seu funcionamento baseado na troca de informaes, utilizando arquivos texto, veremos mais a fundo este assunto mais pra frente. 2.4.1 Crie o diretrio para posterioemente copiar o Observer2linux: mkdir -p Observer2linux; 2.4.2 Copie o Observer2linux para o diretrio que acaba de ser criado: cp Observer2linux /Observer2linux; 2.4.3 Uma vez copiado o Observer2linux, hora de fazermos um teste, e ver se esta tudo certo. 2.5 Criando um arquivo com um comando para Observer2linux; 2.5.1 Estando no diretrio do Observer2linux, entre em qualquer editor disponvel em seu Linux; 2.5.2 J no editor digite: 1101; ou Daruma_FI_LeituraX; 2.5.3 Salve o arquivo com o nome:Daruma.cmd, se neste exatato momento a impressora comear a imprimir uma LeituraX, bom sinal, funcionou o Observer2linux est pronto para ser usado. Ateno se nada acontecer, hora de verificar tudo, fazer um Check List! 2.5.4 Verifique se a Impressora esta on-line e com o cabo conectado nela e no micro; 2.5.5 Verifique se no esqueceu de dar alguma permisso ao usurio 2.5.6 Verifique tambm dentre os processos pelo comando ps -A | grep Observer2; 2.5.7 Verifique se o nome e extenso do arquivo, que contm o comando esto corretos, se ele foi realmente salvo e onde; 2.5.8 Se mesmo com tudos estando ok, no funcionou, por favor entre em contato com o nosso suporte ao desenvolvedor (41)3361-6005/3361-6076 ou mande-nos um e-mail para:suporte@daruma.com.br. D preferncia entre em contato por telefone, ou ainda se preferir nos informe o seu telefone, que entraremos em contato. 2.6 Executando o Observer2linux em modo de teste; 2.6.1 Para isto deve-se primeiramente matar o processo do Observer2linux anteriormente executado e iniciar o Observer2linux da seguinte maneira: ./Observer --teste &, se estiver tudo devidamente instalado "Daruma32.so"+"Observer2linux", teremos como resultado uma LeituraX e o seguinte retorno do comando: 001;006;000;000 3. Instalando, testando o exemplo em FlagShip; Quando baixar e abrir o fonte do exemplo em FlagShip, voc notar que o nome do Prg o mesmo do usado no exemplo em Clipper, isso porque h uma semelhana muito grande entre o Clipper e o FlagShip. Na verdade o exemplo em FlagShip re-utiliza todo o cdigo escrito em Clipper. Pois bem sendo assim voc que j escreveu um aplicativo para nossas impressoras em clipper poder re-utilizar o cdigo em FlagShip, alterando apenas na rotina de envio e espera de arquivo o path onde gravado o arquivo de comando Daruma.cmd e onde o Observerlinux ir gravar o arquivo de retorno Daruma.ret, acompanhe essa mudana nos trechos tirados dos exemplos logo abaixo: 4. Exemplo em Clipper; /*//////////////////////////////////////Funo que envia os dados para o ECF////////////////////////////////////////*/ static function COMUNICA_COM_ECF(VAR_COMANDO_ECF) Delete Delete Delete Delete File("c:\DARUMA.CMD") File("c:\STATUS.TXT") File("c:\RETORNO.TXT") File("c:\DARUMA.RET")
Daruma Automao
15
Daruma Framework
/*Escreve comandos no Arquivo*/ H_Handle := fcreate("c:\DARUMA.CMD" ) FWrite( H_Handle , @VAR_COMANDO_ECF, Len( VAR_COMANDO_ECF) ) FClose( H_Handle ) VAR_ESPERA:=1 /*Espera que o Arquivo de Resposta Seja Criado*/ do while VAR_ESPERA > 0 if File("c:\DARUMA.RET") VAR_ESPERA :=0 else loop end if enddo RET_TAM:=0 /*Espera o Arquivo ter um conteudo*/ do While RET_TAM = 0 H_Handle := Fopen("c:\DARUMA.RET") RET_TAM = FSeek( H_Handle, 0, FS_END ) Fclose(H_Handle) enddo
H_Handle:= Fopen("c:\DARUMA.RET") POS_RET = 0 VAR_RET_CMD=" " VAR_AUX =" " if RET_TAM > 0 for POS_RET = 1 to RET_TAM - 1 fread( H_Handle, @VAR_AUX, 1) if VAR_AUX <> chr(13) VAR_RET_CMD= VAR_RET_CMD + VAR_AUX end if next endif fclose(H_Handle) set color to n/bg @ 23,0 clear to 23,80 @23,0 say "Comando Enviado: " + VAR_COMANDO_ECF @24,0 say "Retorno: " + VAR_RET_CMD VAR_BUFFER_RETORNO:=VAR_RET_CMD /* if VAR_ESPERARTECLA <> 1 inkey(0) end if */ return NIL /*//////////////////////////////////Fim da Funo que envia os dados para o ECF///////////////////////////////////*/
5. Exemplo em FlagShip; /*//////////////////////////////////////Fun?o que envia os dados para o ECF///////////////////////////////////////*/ static function COMUNICA_COM_ECF(VAR_COMANDO_ECF) Delete File("/Observer2/Daruma.cmd")
Daruma Automao
Daruma Framework
16
Delete File("/Observer2/Status.txt") Delete File("/Observer2/Retorno.txt") Delete File("/Observer2/Daruma.ret") /*Escreve comandos no Arquivo*/ H_Handle := fcreate("/Observer2/Daruma.cmd" ) FWrite( H_Handle , @VAR_COMANDO_ECF, Len( VAR_COMANDO_ECF) ) FClose( H_Handle ) VAR_ESPERA:=1 /*Espera que o Arquivo de Resposta Seja Criado*/ do while VAR_ESPERA > 0 if File("/Observer2/Daruma.ret") VAR_ESPERA :=0 else loop end if enddo RET_TAM:=0 /*Espera o Arquivo ter um conteudo*/ do While RET_TAM = 0 H_Handle := Fopen("/Observer2/Daruma.ret") RET_TAM = FSeek( H_Handle, 0, FS_END ) Fclose(H_Handle) enddo H_Handle:= Fopen("/Observer2/Daruma.ret") POS_RET = 0 VAR_RET_CMD=" " VAR_AUX =" " if RET_TAM > 0 for POS_RET = 1 to RET_TAM - 1 fread( H_Handle, @VAR_AUX, 1) if VAR_AUX <> chr(13) VAR_RET_CMD= VAR_RET_CMD + VAR_AUX end if next endif fclose(H_Handle) set color to n/bg @ 23,0 clear to 23,80 @23,0 say "Comando Enviado: " + VAR_COMANDO_ECF @24,0 say "Retorno: " + VAR_RET_CMD VAR_BUFFER_RETORNO:=VAR_RET_CMD if VAR_ESPERARTECLA <> 1 inkey(0) end if return NIL /*//////////////////////////////////Fim da Fun?o que envia os dados para o ECF///////////////////////////////////*/
*Muito bem agora que voc j viu o que mudou e foi apenas o pah (caminho), em relao ao trecho de cdigo de escrita e leitura de arquivo de comando. Vejamos como instalar o exemplo e test-lo.
Daruma Automao
17
Daruma Framework
6. Compilando o ".PRG" com FlagShip; Para voc compilar o aplicativo Daruma32.prg, com o compilador FlagShip para Linux, observe a seguinte mudana no cdigo: Foi alterado somente o Path, onde o Aplicativo em FlagShip ir criar, e apagar, os seguintes arquivos: Daruma.cmd, Daruma.ret, Status.txt, Retorno.txt * Ateno: O arquivo Daruma.cmd, deve ser criado no mesmo diretrio, onde o Observer2 para Linux est configurado. possvel compilar de duas formas, na forma dinmica e esttica, conforme a parametrizao. 6.1 Compilando o Daruma32.prg de forma dinmica; Para rodar o executvel necessrio ter o FlagShip instalado em seu computador. Para compilar o projeto digite os comando abaixo: # FlagShip Daruma32.prg -o Daruma32 6.2 Compilando o Daruma32.prg de forma esttica; Para rodar o executvel no necessrio ter o FlagShip instalado, pois as lib's necessrias j esto incorporadas, neste caso, o FlagShip roda sem problemas, desde que a verso do GLib_C, seja a mesma, veja no item 5.3 como verificar a verso da Glib_C, para compilar digite os comandos abaixo: # FlagShip Daruma32.prg -stat -o Daruma32 *Ateno: recomendado ter a verso "glibc-2.3.3" ou superior 6.2.1 Verificando a verso da GLib_C; Para verificar se o GLib_C est instalado, e qual sua verso, execute a linha de comando abaixo: # rpm -qa | grep -i glib ==> "a minha por exemplo glibc-2.3.3" 7. Como executar nosso programa em FlagShip; possvel executar o aplicativo tanto modo grfico, como em modo terminal (texto) Para rodar o aplicativo, entre no diretrio onde se encontra o aplicativo, e digitar os comandos abaixo: # ./Daruma32 7.1 Como executar no modo texto; Essa opo ir executar o aplicativo, no terminal de comandos, para fazer essa escolha basta digitar os comandos abaixo: # ./Daruma32 -io=t
1.5.1
Daruma Automao
Daruma Framework
18
2.1 1000; (parmetro opcional); ou Daruma_FI_AbreCupom;(parmetro opcional); 2.2 1001;123;mamao;FF;I;1,00;2;0,10;%;0,00; ou Daruma_FI_VendeItem;123;mamao;FF;I;1,00;2;0,10;%;0,00; 2.3 1012;dinheiro;Obrigado, Volte Sempre!!!; ou Daruma_FI_FechaCupomResumido;dinheiro;Obrigado, Volte Sempre!!!; O exemplo posto anteriormente suficiente para que seja emitido um cupom fiscal, lebrando que trata-se de um exemplo, e cada comando dever ser preferncialmente escrito em um arquivo, visando facilitar o tratamento dos arquivos de retorno. Por consequncia teremos trs arquivos de retorno, porm voc dever abrir cada um e certificar-se de que o retorno est ok, como o que mostrado a seguir. 3. Lendo o arquivo de retorno e verificando se correu tudo dentro do esperado, durante a execuo do arquivo de comando Daruma.cmd; 3.1 Para cada comando Daruma.cmd enviado, voc receber um arquivo de retorno Daruma.ret, que conter a seguinte estrutura. exemplo: 001;006;000;000 3.2 Onde 001 o byte do tipo inteiro que nos indica que o mtodo foi enviado com sucesso para o ECF. Importante!!! Qualquer valor diferente de 1(um), chame o mtodo Daruma_FI_RetornoImpressora(ndice 1402). 3.3 006 o ACK. 3.4 000: Equivale ao byte de Status 1, para ver a tabela de valores deste byte, clique aqui:Daruma FrameworkTabela de Retornos ST1 e ST2. 3.5 000: Equivale ao byte de Status 2, para ver a tabela de valores deste byte, clique aqui:Daruma FrameworkTabela de Retornos ST1 e ST2.
1.6
Uma vez criada a pasta Daruma devemos alterar o valor da chave Terminal Server para 1(um). Voc poder clicar com o boto direito do mouse e escolhendo a opo modificar ou ainda dando um duplo clique, que tambm permitir alterar o valor da chave.
Alterada essa chave o nosso servidor j esta configurado. 2)Preparando a nossa estao. 2.1 Baixar a Daruma32.dll Verso Client, que est disponvel em nossa pgina para download no link:http://www.daruma.com.br/suporte/download/daruma32.zip. Daruma Automao
19
Daruma Framework
2.2 Baixar o Observer2 (driver) que fica monitorando o Endereo IP do Servidor. Para baixlo basta acessar o link:http://www.daruma.com.br/suporte/download/observer.zip 2.3 Copie a Dll e o Observer2 para a mesma pasta em sua mquina. Entre no Observer2 e faa um teste de comunicao local vendendo apenas 1 item, isso para ter a certeza de que a comunicao local est 100% Ok.
2.4 Tendo conseguido efetuar a venda sem maiores problemas, s rsta configurar o Observer2 para passar a monitorar o End IP pblico do Servidor e tambm a Porta que ser usada, que por Default 1002. Conforme nos mostra a figura abaixo:
2.4 Concluda a configurao. Pronto agora voc j pode logar-se no servidor e entrar no aplicativo de automao comercial e enviar os primeiros comandos. Observao: O endereo de IP a ser configurado no Observer2, deve ser o IP quente. Outro detalhe que necessariamente ao dar um ping partir do servidor e vice-versa, servidor e cliente devero responder, caso isso no acontea, ento reveja as configuraes de sua Ethernet ou VPN.
1.7
Daruma Automao
Daruma Framework
20
O LTSP uma soluo mais usada para a criao de terminais leves com o Linux. Ele utiliza uma combinao de DHCP, TFTP, NFS e XDMCP para permitir que as estaes no apenas rodem aplicativox instalados no servidor. No preciso ter HD nem CD-ROM nas estaes, apenas um disquete (ou CD) de boot ou ainda um chip de boot conectando placa de rede.
BREVE HISTRICO Arquitetura necessria: 1. 2. Um Servidor de aplicao dotado de recurso de HD e Mmoria Ram; Uma ou mais estaes de trabalho, enxutas sem HD, tambm chamadas de (diskless);
Como funciona? A placa de rede que ser utilizada na estao de trabalho, deve possuir o PXEBoot na prpria placa ou um disco de boot (Etherboot). Exemplo: se a sua placa de rede for uma realtek, ento acesse o site: http://www.etherboot.org/, e baixe o disco de boot; Observao: alguns modelos de placas me atuais, j posuem suporte ao PXEBoot, por isso verifique se a sua placa me pussui e se sim, habilite-o. Ao ligar a estao de trabalho, a mquina cliente atravs do Protocolo DHCP, solicita ao servidor o endereo IP, uma vez com o Endereo IP, hora de saber o local de onde est armazenado o kernell no Servidor para em seguida fazer down-load, com o TFTP. Depois que o Kernel carregado via TFTP, comea o boot "real" da estao. O TFTP substitudo ento por um cliente NFS (um protocolo muito mais robusto), que usado para montar a pasta "/opt/ltsp/i386" do servidor (em modo somente leitura) como diretrio raiz. A estao pode ento carregar o sistema do LTSP, que se encarrega de detectar o hardware da estao e abrir o X. Todos os arquivos de configurao e alteraes gerados nesta fase so salvos num ramdisk. Concluda esta etapa, agora j temos uma estao de trabalho que no possui HD, totalmente funcional, porm o SO esta rodando em Memria.
E o nosso driver, como ir funcionar? Requisitos: 1. 2. LTSP - Funcional libDaruma32.so e Observer2 linux instalados no LTSP.
Preparando o Servidor para trabalhar com a libDaruma32.so e o Observer2 linux Abaixo veremos como ir ser feita a instalao, atravs do instalador desenvolvido especificamente para isso: Observao1: Tanto o scritpt ltsp_daruma_install, como a liDaruma32.so e o Observer2, devem estar no mesmo diretrio: Observao2: Para executar o script digite: ./ltsp_daruma_install
Daruma Automao
21
Daruma Framework
O Prximo passo ser informar o endereo de IP do Servidor. Lembrando que o IP do servidor em hiptese alguma poder ser dinmico.
Com a mscara de rede configurada, nessessrio, editar o seguinte arquivo: # etc/exports, voc dever incluir a seguinte linha no seguinte path: /var/opt/ltsp 192.168.1.0/255.255.255.0(rw,no_rrot_squash,sync).
Daruma Automao
Daruma Framework
22
Aps ter editado a linha, voc dever incluir as seguintes linhas no arquivo lts.conf /opt/ltsp/i386/etc/lts.conf.
23
Daruma Framework
Note que apenas o nome da mquina foi o que modou, mais nada.
1.8
1.8.1
Aps isso este driver ficar Observando um diretrio pr-configurado em busca de Arquivos de mtodos, o Valor DEFAULT deste Diretorio e deste Arquivo C:\DARUMA.CMD, porm voc poder configurar no Men do Proprio Driver ou atravs de Comandos. Sua aplicao fica no Aguardo do Arquivo de Resposta, o Nome e Path DEFAULT deste arquivo de Reposta C:\DARUMA.RET, porm voc poder configurar no Men do Prprio Driver ou atravs de Comandos. RET;ACK;ST1;ST2; ou RET;ACK;ST1;ST2;INFORMAO; RET - Retorno do Mtodo. ACK - Byte Indicativo de Recebimento OK de Comunicao com a Impressora.
Daruma Automao
Daruma Framework
24
ST1 - Primeiro Byte que contm Erros ou avisos do ECF. ST2 - Segundo Byte que contm Erros ou aviosos do ECF. INFORMAO - Informao desejada caso o mtodo enviado requera uma informao alm do ACK ST1 e ST2, como por exemplo, Nmero de Srie do ECF, Data e Hora do ECF, SubTotal, Nmero do Cupom.. 4) SEMPRE o valor ser terminado em ; (ponto e Virgula) e no formato de 3 Dgitos, por exemplo: Exemplo 1) 001;006;064;001; 001 - Indica que o Mtodo Devolveu 1(indicativo de OK). 006 - ACK indica que o Protocolo de Comunicao est OK. 064 - Indica que o ECF est com Pouco Papel - Veja Tabela de Erro. 001 - Indica que o Mtodo no Foi Executado - Veja Tabela de Erro. Exemplo 2) -27;006;064;000; -27 - Indica que o Mtodo conseguiu enviar o comando para o ECF porm o ECF contm erro ou avisos, isso acontece porque a chave StatusFuno est ligada. 006 - ACK indica que o Protocolo de Comunicacao est OK. 064 - Indica que o ECF esta com Pouco Papel - Veja Tabela de Erro. 001 - Indica que o Mtodo no Foi Executado - Veja Tabela de Erro. Exemplo 3) Exemplo de Resposta a um mtodo de Solicitao do Nmero do Cupom do ECF: 001;006;000;000;00028; 001 - Indica que a Funo Devolveu 1(indicativo de OK). 006 - ACK indica que o Protocolo de Comunicao est OK. 000 - Indica que No Existe Erro - Veja Tabela de Erro. 000 - Indica que No Existe Erro - Veja Tabela de Erro. 00028 - Nmero do Cupom.
Daruma Automao
25
Daruma Framework
1.8.2
O Driver Observer2 basicamente Varre o Diretrio que nele foi configurado, no Menu TOOLS-> CONFIGURAES voc pode configurar o nome do arquivo que voc deseja que seja o arquivo de comado e o nome do arquivo que voc deseja que seja o arquivo de resposta, poder configurar tambm o path de entrada (onde os arquivos de comandos sero criados) e o path de saida (onde os arquivos de resposta do Observer2) sero criados.
1.8.3
Daruma Automao
Daruma Framework
26
3) Dando um duplo-clique sobre o .exe o Observer2 j estar sendo startado, no necesitando mais de um processo do tipo next-->>next e finish. DARUMA32_CLIPPER.ZIP - Contm um exemplo completo em Clipper utilizando o Obsever. Exemplo completo com Fonte Aberto. Para baix-lo acesse:http://www.daruma.com.br/suporte/download/Clipper_Observer.zip DARUMA32_Help.ZIP - Contm o Help da Dll com os ndices dos mtodos que voc deve chamar desde seu aplicativo DOS/Win 16 bits. Para baix-lo acesse:http://www.daruma.com.br/suporte/download/daruma32help.zip Para baixar o Observer2 acesse:http://www.daruma.com.br/suporte/download/observer.zip 3) Descompacte os Arquivos Zipados (Daruma32_CLIPPER.ZIP e Daruma_HELP.ZIP). 4) Faa dois clicks no Arquivo Observer22.EXE. Se voc desejar poder colocar o Obsever2 para Startar Automaticamente com seu Windows, basta colocar o OBSEVER.EXE no menu Iniciar de seu computador. Ao Iniciar o voc ver que o mesmo ficar executado na Barra de Notificaes do Windows, conforme figura Abaixo.
Para Configurar o Observer2 basta dar um duplo-clique no cone (conforme fgura acima):
Daruma Automao
27
Daruma Framework
Voc poder customizar o path para troca de arquivos de comando, bem como os nomes dos mesmos. Dica muito importate o Observer2 dever permanecer o tempo todo com a opo Modo Arquivo setada, caso contrrio ele para de varrer o diretrio e passa para o Modo Terminal erver.
1.8.4
1. Introduo; O Linux Observer 2.0 uma ferramenta criada para permitir a utilizao das facilidades implementadas na Daruma32.so, por programas escritos em linguagens que no acessam shared objects (.so). Seu funcionamento baseado na troca de informaes utilizando arquivos texto. 2. Pr-requisitos; Para que o Observer funcione adequadamente, e necessrio certificar-se que a Daruma32.so est corretamente instalada. Para isto, como root, deve-se executar o seguinte comando: ldconfig -v | grep Daruma32 O retorno experado : Daruma Automao
Daruma Framework
28
libDaruma32.so -> libDaruma32.so No caso de no aparecer ao menos uma vez o retorno acima, voc deve seguir as instrues de instalacao especficas da Daruma32.so, contida no arquivo LEIAME.txt da SO Configurando a Daruma32.SO. 3. Instalao e Inicializacao do Observer; Para utilizar o Observer no necessrio nenhum procedimento de instalao ou compilao. Deve-se apenas dar permisso de execucao ao arquivo binrio Observer da seguinte forma: chmod 777 Observer Em seguida deve-se executar o Observer conforme mostrado abaixo: ./Observer & Este comando far com que o Observer seja executado em segundo plano, e retornara o ID do Processo (PID). [1] 123 (Supondo que o ID gerado seja 123) Para certificar-se de que o Observer est sendo executado, deve-se executar no shell a seguinte linha de comando: ps -A | grep Observer O retorno esperado : 123 pts/1 00:01:00 Observer
Com isto o Observer ir esperar no mesmo diretrio onde ele se encontra um arquivo chamado Daruma.cmd, que dever ser gerado pelo seu software para comunicacao com a SO. Este arquivo dever conter o nome do mtodo ou seu ndice, e os parmetros separados por ";", como mostrado no exemplo abaixo: Se voc deseja chamar a funcao Daruma_FI_AbreCupom que possui como parmetro apenas o CGC (opcional), deve-se escrever no arquivo Daruma.cmd a seguinte linha: Daruma_FI_AbreCupom;01234561234-00; Este mtodo ser executado pela impressora, e gerar um arquivo de retorno (Daruma.ret). Este arquivo contm o retorno da chamada, Ack,ST1 ST2, e algum retorno adicional, caso o mtodo possua. Sempre separados por ";". Abaixo segue um exemplo de um arquivo de Retorno: 001;006;000;000; 4. Verificando a verso; Para verificar a verso do Observer deve-se executar o Observer com a opo --versao(sem acento) da seguinte forma: ./Observer --versao 5. Execuo em modo teste; Quando o Observer e executado em modo teste, inicialmente ele emite uma LeituraX, e em seguida, a cada comando, o retorno e mostrado na shell onde foi executado o Observer. Para isto deve-se iniciar o Observer da seguinte maneira: ./Observer --teste & 6. Alterando o caminho dos arquivos de entrada e sada; Para alterar o caminho onde sera lido o arquivo de entrada e gerado o arquivo de sada deve-se iniciar o Observer, passando como parametro o path, da seguinte maneira: ./Observer /path_de_entrada/nome_arquivo_cmd /path_de_saida/nome_arquivo_ret & Exemplifimando melhor:
Daruma Automao
29
Daruma Framework
Imagine que voc configurou o diretrio de entrada como sendo DarumaIn e o diretrio de sada DarumaOut, e os nomes dos arquivos dos arquivos, (entrada) Daruma.cmd e Daruma (sada) Daruma.ret, ficaria assim: ./Observer /DarumaIn/Daruma.cmd /DarumaOut/Daruma.ret &
OBS: o Sinal de "&" para deixar o Observer em back ground, liberando o console para voc trabalhar.
7. Parando o Observer; Voc poder apenas escrever um arquivo de comando contendo a palavre exit exemplo:exit; Com isso voc ter o processo matado, da mesma forma que acontece utilizando o kill do linux, com a diferena de no ter que se preocupar com o ID. Para parar o Observer e necessrio matar o processo iniciado anteriormente. Para isto, devemos inicialmente descobrir qual o ID do processo, utilizando o comando abaixo: ps -A | grep Observer O retorno gerado devera mostrado no padrao abaixo: 123 pts/1 01:05:56 Observer | |---------------------------> ID do Processo Em seguida deve-se matar o processo utilizando o comando kill conforme exemplo abaixo: kill 123
1.8.5
2) Segundo Passo criar o Arquivo de Comando no Diretrio Configurado para a Recepo de Arquivos de Comando. Para enviar um mtodo para o ECF, use este mesmo manual. Basta voc passar o ndice do Mtodo desejado com os Parmetros separados por ; (ponto-e-vrgula) e terminado por ; (ponto-evirgula). Por exemplo: Voc pode simplesmente entrar com a descrio do mtodo ou o seu respectivo ndice. Daruma_FI_AbreCupom;10.123.154-98; ou ento 1000;10.123.154-98; (Indica que esta desejando abrir o Cupom fiscal e o Parmetro o CNPJ ou CPF) Daruma_FI_AbreCupom;; 1000;; (indica que deseja abrir o cupom fiscal e no deseja passar o parmetro, ou seja o parmetro opcional) Daruma_FI_VendeItem;123;Lapis;FF;I;10;2;0,25;%;0000; ou ento 1001;123;Lapis;FF;I;10;2;0,25;%;0000; (Exemplo de VENDA DE ITEM) Daruma_FI_CancelaItemAnterior; ou ento 1005; (Indica que desejo cancelar o Item Anterior, ou seja, com os mtodos sem parmetros, apenas coloca-se o ndice do Mtodo desejado e finaliza-se com ;
Daruma Automao
Daruma Framework
30
Assinando individualmente os arquivos com os comandos: Antes de abordar este assunto, vou dar um histrico do motivo que levou-nos a disponibilizar este recurso. A necessidade de saber se o arquivo retornado Daruma.ret, pertence ao ltimo arquivo de comando escrito anteriormente, foi que levou-nos a criar esta funcionalidade. Alm disso a possibilidade de validar com uma criptografia, tambm foi um dos motivos. Vejamos ento como que podemos utilizar este recurso: 1. 2. 3. 4. O que obrigatrio na assinatura? R: Deve estar entre colchetes. O que no pode fazer parte da assinatura? R: No pode-se interir mais que 50 caracteres. Onde a assinatura deve estar dentro do arquidvo de comando? R: Sempre antes do ndice, ou Descritivo. A assinatura obrigatria? R: No, no obrigatria.
Na prtica voc escreve o arquivo de comando Daruma.cmd com o seguinte contedo: [assinatura]+indice ou descritivo+parmetros. [abc123]1101; ou [abc123]Daruma_FI_LeituraX; Como podemos ver anteriormente, a assinatura deve estar entre [colchetes], outro detalhe importante que a assinatura pode conter caracteres alfa e tembm numricos, ou seja, com isso, voc poder fazer uma assinatura para cada arquivo de Comando. Misturando estas combinaes possvel criar centenas de assinaturas e/ou criptografias, deixando ainda mais segura a troca de arquivos. Na sequncia vejamos alguns exemplos: 1)[a1]Daruma_FI_AbreCupom;; 2)[b2]Daruma_FI_VendeItem;123;caneta;II;I;1,00;2;1,00;%;0,00; 3)[c3]Daruma_FI_FechaCupomResumido;Dinheiro;Agradecemos pela preferncia; Contedo dos arquivos que sero devolvidos pelo Observer: 1)[a1]001;006;000;000; 2)[b2]001;006;000;000; 3)[c3]001;006;000;000; O exemplo anterior o objetivo foi mostrar em trs arquivos de comando, que para cada arquivo foi criada uma assinatura, e a mesma assinatura, foi inserida no arquivo retornado pelo Observer, dessa forma, torna-se fcil saber a que arquivo de comando pertence o arquivo de retorno. Observao: Utilize na assinatura no mximo 50 carcteres.
Outras informaes indispensveis para utilizao do driver Observer Neste Manual voc indentifica o ndice dos Mtodos que deseja Assim como na DLL, aqui tambm voc no necessita passar a quantidade exata de casas, pois o Observer2 utiliza-se da dll e preenche para voc!!! CADA MTODO CONTM UM NDICE QUE VOC ENCONTRA AQUI NESTE MESMO MANUAL. POR EXEMPLO O MTODO DE ABERTURA DE CUPOM:, EXEMPLO QUE UTILIZAMOS ACIMA COM O INDICE 1000:
Daruma Automao
31
Daruma Framework
3) Sua aplicao dever esperar um retorno do ECF, no memo formato da dll de comunicao (Retorno.txt). RET;ACK;ST1;ST2; ou RET;ACK;ST1;ST2;INFORMAO; RET - Retorno do Mtodo (SEMPRE UM INTEIRO). ACK - Byte Indicativo de Recebimento OK de Comunicao com a Impressora. ST1 - Primeiro Byte que contm Erros ou avisos do ECF. ST2 - Segundo Byte que contm Erros ou aviosos do ECF. INFORMAO - Informao desejada caso o mtodo enviado requera uma informao alm do ACK ST1 e ST2, como por exemplo, Nmero de Srie do ECF, Data e Hora do ECF, SubTotal, Nmero do Cupom.. 4) SEMPRE o valor ser terminado em ; (ponto e Virgula) e no formato de 3 Dgitos, por exemplo: Exemplo 1)001;006;064;001; 001 - Indica que o Mtodo Devolveu 1(indicativo de OK). 006 - ACK indica que o Protocolo de Comunicao est OK. 064 - Indica que o ECF est com Pouco Papel - Veja Tabela de Retornos. 001 - Indica que o Mtodo no Foi Executado - Veja Tabela de Retornos. Exemplo 2)-27;006;064;000; -27 - Indica que o Mtodo conseguiu enviar o comando para o ECF porm o ECF contm erro ou avisos, isso acontece porque a chave StatusFuno est ligada. 006 - ACK indica que o Protocolo de Comunicacao est OK. 064 - Indica que o ECF esta com Pouco Papel - Veja Tabela de Retornos. 001 - Indica que o Mtodo no Foi Executado - Veja Tabela de Retornos. Exemplo 3) Exemplo de Resposta a um mtodo de Solicitao do Nmero do Cupom do ECF: 001;006;000;000;00028; 001 - Indica que a Funo Devolveu 1(indicativo de OK). 006 - ACK indica que o Protocolo de Comunicao est OK. 000 - Indica que No Existe Erro - Veja Tabela de Retornos. 000 - Indica que No Existe Erro - Veja Tabela de Retornos. 00028 - Nmero do Cupom.
5) Saindo o Observer2. Para sair do Observer2, basta voc escrever um arquivo de comando contendo apenas a palavra exit, exemplo:exit; - Apenas isso e pronto o Observer2 ser finalizado. Outra maneira para sair do Observer2, seria apenas dar um duplo clique em seu cone na barra de tarefas e clicar no boto Sair, como nos mostra a figura a seguir:
Daruma Automao
Daruma Framework
32
1.8.6
Daruma Automao
33
Daruma Framework
7. 8.
Daruma_Registry_PathLote(ndice 60) para alterar a chave PathLote para a letra que voc escolheu para o mapeamento; Agora s executar o mtodo Daruma_Registry_ComandosEmLote(ndice 58) e passar todos os comandos que iro estar no arquivo de lote; Para finalizar o lote, utilize o mtodo Daruma_Registry_FinalLote(ndice 59), quando for executado este mtodo, pronto, o lote ser enviado para a unidade mapeada e o Observer, na mquina cliente ir executar os comandos na impressora.
Pr-Requisitos: 1. Observer2 devidamente instalado no PDV, sem este driver torna-se impossvel: veja mais sobre o Observer2:Instalando o Driver Observer2; E os procedimentos de criao, permisso do compartilhamento; O PDV(ponto de venda)dever uma impressora fiscal ou no fiscal Daruma.
2. 3.
1.8.7
2.
3.
4. 5.
1.8.7.1
Daruma Automao
Daruma Framework
34
Configurando o(s) PDV (ponto de venda): 1)Criar o seguinte diretrio (aqui apenas um nome sugestivo de exemplo); 1.1)mkdir /mnt/Compartilhado_PDV1; 2)Dar permisso todal para o mesmo; 2.1)chmod 777 /mnt/Compartilhado_PDV1; 3)Copie o Observer para o diretrio que acaba de ser criado - veja mais sobre o Observer clicando no link a seguir:Instalando o Driver Linux Observer 2.0; 4)Compartilhe o diretrio criado anteriormente, editando o seguite arquivo; 4.1)vi /etc/exports, adicionando a seguinte linha: /mnt/Compartilhado_PDV1 *(rw,no_root_squash); 5)Para que as configuraes tenham efeito, re-inicie o sistema NFS, se preferir o SO; 5.1)Confira se o diretrio foi compartilhado, utilizando o comando:exportfs; 6)Execute o Observer; 6.1) ./Observer &; 7)Teste para ver se o Observer linux esta ok; 7.1)no diretrio criado/compartilhado anteriormente crie um arquivo contendo o seguinte comando: vi /Compartilhado_PDV1/Daruma.cmd; 7.2)Escreva o seguite dentro dele:Daruma_FI_LeituraX; Se como resultado dessa ao for impressa uma LeituraX bom sinal, ento daqui em diante ser com seu aplicativo. Lembrando que o gerenciamento de onde ser escrito o comando, fica 100% por conta do aplicativo comercial. Por exemplo se voc quizer escrever um arquivo de comando para o PDV1 ento dever fazlo:Compartilhado_PDV1, caso queira no PDV2 ento Compartilhado_PDV2. Para facilitar o controle de pra quem enviar o comando, procure sempre nomear os diretrios conforme o nmero do PDV(ponto de venda), dessa forma quando enviado um arquivo de comando no ODV1 por exemplo, a reposta devolvida pelo Observer, ser escrita no mesmo diretrio, ou seja neste nosso exemplo PDV1.
1.8.8
1.8.8.1
O Driver Observer2 o nico driver Desenvolvido no mercado de automao comercial, que permite o uso de um nico Protocolo entre os aplicativos DOS e Windows. Este Driver reside no windows, permitindo que Aplicativos DOS/Win 16 bits, possam Acessar ao ECF com maior Facilidade tendo em vista a necessidade de se ter windows nos Equipamentos para a Realizao do TEF. Com isso Desenvolvemos o Observer2 que ficar residente na rea de Relgio do Windows esperando que seja enviado mtodos para ele. O Driver Totalmente configurvel atravs do Registry, porm voce poder setar as configuraes do Observer2 no Incio de seu aplicativo, basta chamar os mtodos de Configurao do Registry. Estas so as Chaves Existentes para a Configurao do Observer2 e estes so os seus Valores DEFAULT: [HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA] [HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\OBSERVER] Local_Execucao Log =1 =0
Daruma Automao
35
Daruma Framework
= = = = = = =
1.8.8.2
1.8.8.3
1.8.8.4
Daruma Automao
Daruma Framework
36
-4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: Valor default da Chave = C:\Observer.log
1.8.8.5
1.8.8.6
Daruma Automao
37
Daruma Framework
1.8.8.7
1.9
1.9.1
1.9.1.1
Retorno do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Data_Entrada As String Dim Str_Data_Saida As String Dim Str_Controle As String Str_Data_Entrada = Data_Entrada.Text Str_Data_Saida = Data_Saida.Text Str_Controle = Controle.Text Int_Retorno = Daruma_FI_ConfiguraHorarioVerao(Str_Data_Entrada, Str_Data_Saida, Str_Controle) Exemplo em Delphi 7.0: var
Daruma Automao
Daruma Framework
38
Str_Data_Entrada: String; Str_Data_Saida: String; Str_Controle: String; begin Str_Data_Entrada:= Data_Entrada.Text; Str_Data_Saida:= Data_Saida.Text; Str_Controle:= Controle.Text; Int_Retorno:= Daruma_FI_ConfiguraHorarioVerao(pchar(Str_Data_Entrada), pchar(Str_Data_Saida), pchar(Str_Controle));
1.9.2
1.9.2.1
1.9.2.2
Daruma_FI_VendeItem(ndice 1001)
Definio do Mtodo: Vende o item na impressora fiscal. Parmetros do Mtodo: (9 Parmetros). 1. Cdigo: String com at 13 caracteres contendo o cdigo do produto. 2. Descrio: String at 29 caracteres com a descrio do produto. 3. Alquota: String com o valor ou o ndice da alquota tributria. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vrgula. Se for o ndice da alquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o ndice). 4. Tipo Quantidade: 1 (um) carctere indicando o tipo de quantidade. 'I' - Inteira e 'F' - Fracionria. 5. Quantidade: String com at 4 dgitos para quantidade inteira e 7 dgitos para quantidade fracionria. Na quantidade fracionria so 3 casas decimais. 6. Casas Decimais: Inteiro indicando o nmero de casas decimais para o valor unitrio (2 ou 3). 7. Valor Unitrio: String at 8 dgitos para valor unitrio. 8. Tipo Desconto: 1 (um) carctere indicando a forma do desconto. '$' desconto por valor e '%' desconto percentual. 9. Valor Desconto: String com at 8 dgitos para desconto por valor (2 casas decimais) e 4 dgitos para desconto percentual (2 casas decimais). Importante! Caso seja passado um sinal de subtrao antes do valor exemplo: (-1,00), ser aplicada a lgica inversa e ao invz de um desconto ser feito um acrscimo.
Daruma Automao
39
Daruma Framework
Retorno do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: Arredondamento: As impressoras MFD FS600 E 2100T, apenas truncam. Sendo assim foi criado o mdodo Daruma_Registry_MFDValorFinal(ndice 66). Com este mtodo, o problema de divergir o valor da impressora, comparando-o com o valor da balana (supermercados), ou bomba de combustvel (posto de gasolina), pode ser contornado. - No ltimo paramtro (Valor Desconto), caso seja passado um valor negativo exe.:(-1,00), ser aplicada a lgica inversa e ao invz de um desconto, ser feito um acrscimo no valor do tem. - Acentuao e/ou caracteres especiais, no so aceitos na descrio do item. - Na impressora Duas Estaes FS2000, para se vender em apenas uma linha voce no poder ter um Cdigo maior que 6 digitos e a descrio maior que 14 caracteres. EX.:Cdigo->123456 Descrio>Laranja Baiana. Uma combinao dessas permitira que a venda sai em uma nica linha. - O valor do desconto nunca poder ser igual ou maior do que o valor do item. - Caso a venda seja de um ou mais itens, porm todos com alquota de servio e o ECF no esteja habilitado para desconto em servio, ento o desconto no ser permitido. Importante para habilitar o desconto sobre servio preciso que seja feito por meio de IT(interveo tcnica) e isso s pode ser feito por uma assistncia tcnica autorizada Daruma. - Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alquota de servio e o ECF no esteja habilitado para o desconto, ento o desconto incidir sobre os itens com alquota de ICMS. - E caso o ECF esteja hebilitado para desconto em servio ento para um cupom onde os itens sejam com alcota de servio e tambm alquota de ICMS o desconto ser sobre todos os itens independentemente da alquota. - Alquotas de mesmo valor: Imagine que h duas alquotas com o valor 12% cadastradas na impressora. A primeira cadastrada na posio 01 como ICMS e a outra na posio 05 como ISS. Se voc informar o valor 1200 ou 12,00 no parmetro "alquota" o Mtodo ir imprimir o item usando a alquota 01 de ICMS. o Mtodo l as alquotas da impressora e usa o ndice da primeira ocorrncia. Para usar a alquota de ISS voc dever passar o ndice 05 e no o valor 1200 ou 12,00. Se voc no tiver duas alquotas com o mesmo valor cadastradas na impressora use sempre o valor no parmetro alquota. - Outra maneira de fazer quando voc tiver duas alquotas de mesmo valor Ex: duas de 10,00% sendo que uma refere-se a ICMS e a outra a ISS e voc quizer usar a que vem na 2 (segunda) posio, ou seja a de ISS neste caso ento voc poder fazer isto passando apenas a letra 'I' para ICMS ou 'S' para ISS, Ex: "I10,00" ou "S10,00". - Na FS345 verso 1.11 (somente nesta verso), voc deve passar no parmetro descrio at 7 caracteres e no podera dar desconto, para dar desconto e vender um item que tenha uma descrio maior do que 7 caracteres, tenha desconto no item use o Mtodo Daruma_FI_VendeItemTresDecimais. Esta regra s vlida para a verso 1.11. - Para vender item em uma nica linha voc dever passar o item com o cdigo de at 13 caracteres e a descrio de at 6 caracteres ou vice-versa. Caso no se cumpra sta condio, ento ser vendido automticamente em 2 linhas. - Caso o item tenha desconto ou trs decimais tambm ser vendido automticamente em 2 linhas. - Se o cupom estiver fechado o Framework abrir o cupom para voc. - Para dar um desconto sobre servio, a impressora dever ser programada por meio de I.T.(interveo tcnica), caso contrrio no ser possvel. - Isento (duas letras II maisculas). - No tributado (duas letras NN maisculas). - Substituio tributria (duas letras FF maisculas). Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Codigo As String Dim Str_Descricao As String Dim Str_Aliquota As String Dim Str_Tipo_de_Quantidade As String Dim Str_Quantidade As String Dim Int_Casas_Decimais As Integer Dim Str_Valor_Unitario As String Dim Str_Tipo_de_Desconto As String Dim Str_Valor_do_Desconto As String
Daruma Automao
Daruma Framework
40
Dim Int_Retorno as Integer Str_Codigo = "987654" Str_Descricao = "bolacha" Str_Aliquota = "II" Str_Tipo_de_Quantidade = "I" Str_Quantidade = "1" Int_Casas_Decimais = "2" Str_Valor_Unitario = "0,10" Str_Tipo_de_Desconto = "$" Str_Valor_do_Desconto = "0,00" Int_Retorno = Daruma_FI_VendeItem(Str_Codigo, Str_Descricao, Str_Aliquota, Str_Tipo_de_Quantidade, _ Str_Quantidade, Int_Casas_Decimais, Str_Valor_Unitario, _ Str_Tipo_de_Desconto, Str_Valor_do_Desconto) Exemplo em Delphi 7.0: var Str_Codigo: String; Str_Descricao: String; Str_Aliquota: String; Str_Tipo_de_Quantidade: String; Str_Quantidade: String; Int_Casas_Decimais: Integer; Str_Valor_Unitario: String; Str_Tipo_de_Desconto: String; Str_Valor_do_Desconto: String; begin Str_Codigo := '987654'; Str_Descricao := 'bolacha'; Str_Aliquota := 'II'; Str_Tipo_de_Quantidade := 'I'; Str_Quantidade := '1'; Int_Casas_Decimais := 2; Str_Valor_Unitario := '0,10'; Str_Tipo_de_Desconto := '$'; Str_Valor_do_Desconto := '0,00'; Int_Retorno := Daruma_FI_VendeItem(pchar( Str_Codigo ), pchar( Str_Descricao ), pchar( Str_Aliquota ), pchar( Str_Tipo_de_Quantidade ), pchar( Str_Quantidade ), Int_Casas_Decimais, pchar( Str_Valor_Unitario ), pchar( Str_Tipo_de_Desconto ), pchar( Str_Valor_do_Desconto ) );
1.9.2.3
Daruma_FI_VendeItemDepartamento(ndice 1004)
Definio do Mtodo: Vende o item na impressora fiscal, podendo indicar a unidade de medida e tambm um ndice para o departamento . Parmetros do Mtodo: (9 Parmetros). 1. Cdigo: STRING at 49 caracteres com o cdigo do produto. 2. Descrio: STRING at 201 caracteres com a descrio do produto. 3. Alquota: STRING com o valor ou o ndice da alquota tributria. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vrgula. Se for o ndice da alquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o ndice) 4. Valor Unitrio: STRING com at 9 dgitos para o valor (tres casas decimais). 5. Quantidade: STRING com at 7 dgitos para a quantidade. Na venda com departamento a quantidade fracionria e so 3 casas decimais. 6. Desconto: STRING com o desconto por valor com at 10 dgitos (2 casas decimais). 7. Acrscimo: STRING com o acrscimo por valor com at 10 dgitos (2 casas decimais). 8. Indce Departamento: STRING com o ndice do departamento com 2 dgitos. 9. Unidade Medida: STRING com no mximo 2 caracteres para a unidade de medida. Caso no seja passado nenhum caracter a unidade no impressa. Retornos do Mtodo:
Daruma Automao
41
Daruma Framework
0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Acentuao e/ou caracteres especiais, no so aceitos na descrio do item. - Para o caso de voc ter 2 alquotas de com o mesmo valor, sendo uma de ICMS e a outra ISS voc dever passar da seguinte maneira: 1 - Indicando o seu ndice Ex: TA ou SB. 2 - Indicando direto no valor da alquota, tipo "I" para ICMS ou "S" para ISS Ex: I18,00 ou S18,00. 3 - Na impressora Duas Estaes FS2000 tamanho mximo para o cdigo do produto poder ser de 6 digitos. - O valor do desconto "nunca" poder ser igual ou maior do que o valor do item. - Caso a venda seja de um ou mais itens, porm todos com alquota de servio e o ECF no esteja habilitado para desconto em servio, ento o desconto no ser permitido. Importante para habilitar o desconto sobre servio preciso que seja feito por meio de uma IT(interveo tcnica) e isso s pode ser feito por uma assistncia tcnica autorizada Daruma. - Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alquota de servio e o ECF no esteja habilitado para o desconto, ento o desconto incidir sobre os itens com alquota de ICMS. - E caso o ECF esteja habilitado para desconto em servio ento para um cupom onde os itens sejam com alquota de servio e tambm alquota de ICMS o desconto ser sobre todos os itens independentemente da alquota. - Na FS345 verso 1.11(somente nesta verso), voc deve passar no parmetro descrio at 7 caracteres e no podera dar desconto, para dar desconto e vender um item que tenha uma descrio maior do que 7 caracteres, tenha desconto no item use o Mtodo Daruma_FI_VendeItemTresDecimais. Esta regra s vlida para a verso 1.11. - Para vender item em uma nica linha voc dever passar o item com o cdigo de at 13 caracteres e a descrio de at 6 caracteres ou vice-versa. Caso no se cumpra sta condio, ento ser vendido automticamente em 2 linhas. - Caso o item tenha desconto ou trs decimais tambm ser vendido automticamente em 2 linhas. - Se o cupom estiver fechado a dll abrir o cupom para voc. - Isento (duas letras II maisculas). - No tributado (duas letras NN maisculas). - Substituio tributria (duas letras FF maisculas). Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Codigo As String Dim Str_Descricao As String Dim Str_Aliquota As String Dim Str_Valor_Unitario As String Dim Str_Quantidade As String Dim Str_Valor_do_Acrescimo As String Dim Str_Valor_do_Desconto As String Dim Str_Indice_Departameto As String Dim Str_Unidade_de_Medida As String Str_Codigo = "987654" Str_Descricao = "bolacha" Str_Aliquota = "FF" Str_Valor_Unitario = "0,090" Str_Quantidade = "1,000" Str_Valor_do_Acrescimo = "0,01" Str_Valor_do_Desconto = "0" Str_Indice_Departameto = "01" Str_Unidade_de_Medida = "UN" Int_Retorno = Daruma_FI_VendeItemDepartamento(Str_Codigo, _ Str_Descricao, Str_Aliquota, Str_Valor_Unitario, Str_Quantidade, _ Str_Valor_do_Acrescimo, Str_Valor_do_Desconto, Str_Indice_Departameto, _ Str_Unidade_de_Medida) Exemplo em Delphi 7.0:
Daruma Automao
Daruma Framework
42
var Str_Codigo: String; Str_Descricao: String; Str_Aliquota: String; Str_Valor_Unitario: String; Str_Quantidade: String; Str_Valor_do_Desconto: String; Str_Valor_do_Acrescimo: String; Str_Indice_Departamento: String; Str_Unidade_de_Medida: String; begin Str_Codigo := '987654'; Str_Descricao := 'bolacha'; Str_Aliquota := 'FF'; Str_Valor_Unitario := '0,090'; Str_Quantidade := '1,000'; Str_Valor_do_Desconto := '0,01'; Str_Valor_do_Acrescimo := '0'; Str_Indice_Departamento := '01'; Str_Unidade_de_Medida := 'UN'; Int_Retorno := Daruma_FI_VendeItemDepartamento( pchar( Str_Codigo ), pchar( Str_Descricao ), pchar( Str_Aliquota ), pchar( Str_Valor_Unitario ) , pchar( Str_Quantidade ), pchar( Str_Valor_do_Desconto ), pchar( Str_Valor_do_Acrescimo ), pchar( Str_Indice_Departamento ), pchar( Str_Unidade_de_Medida ) );
1.9.2.4
Daruma_FI_VendeItemTresDecimais(ndice 1019)
Definio do Mtodo: Vende o item na impressora fiscal, 1.11. Parmetros do Mtodo: (7 Parmetros). 1. Cdigo: String com at 13 caracteres contendo o cdigo do produto. 2. Descrio: String at 170 caracteres com a descrio do produto. 3. Alquota: String com o valor ou o ndice da alquota tributria. Se for o valor deve ser informado com o tamanho de 4 caracteres ou 5 com a vrgula. Se for o ndice da alquota deve ser 2 caracteres. Ex. (18,00 para o valor ou 05 para o ndice). 4. Quantidade: String com at 4 dgitos para quantidade inteira e 7 dgitos para quantidade fracionria. Na quantidade fracionria so 3 casas decimais. 5. Valor Unitrio: String at 8 dgitos para valor unitrio. 6. Acrscimo Desconto: String "A" para Acrscimo e "D" para Desconto. 7. Percentual Acrscimo Desconto: String com at 4 dgitos para o acrscimo ou desconto (2 casas decimais). Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF.
Observaes: - Acentuao e/ou caracteres especiais, no so aceitos na descrio do item. - Este Mtodo foi implementado para vender item com trs decimais na FS345 veso 1.11. - Este Mdoto exclusivo da FS345 verso 1.11. - O valor do acrscimo ou desconto nunca poder ser igual ou maior do que o valor do item. - Caso a venda seja de um ou mais itens, porm todos com alquota de servio e o ECF no esteja habilitado para desconto em servio, ento o desconto no ser permitido. Importante para habilitar o desconto sobre servio preciso que seja feito por meio de IT(interveo tcnica) e isso s pode ser feito por uma assistncia tcnica autorizada Daruma. - Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alquota de servio e o ECF no esteja habilitado para o desconto, ento o desconto incidir sobre os itens com alquota de ICMS. - E caso o ECF esteja habilitado para desconto em servio ento para um cupom onde os itens sejam com
Daruma Automao
43
Daruma Framework
alquota de servio e tambm alquota de ICMS o desconto ser sobre todos os itens independentemente da alquota. - Isento (duas letras II maisculas). - No tributado (duas letras NN maisculas). - Substituio tributria (duas letras FF maisculas). Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Codigo As String Dim Str_Descricao As String Dim Str_Aliquota As String Dim Str_Quantidade As String Dim Str_Valor_Unitario As String Dim Str_Acrescimo_ou_Desconto As String Dim Str_Percentual_Acrescimo_ou_Desconto As String Str_Codigo = "1234567890123" Str_Descricao = "coca-cola" Str_Aliquota = "NN" Str_Quantidade = "0,500" Str_Valor_Unitario = "1,999" Str_Acrescimo_ou_Desconto = "D" Str_Percentual_Acrescimo_ou_Desconto = "05,00" Int_Retorno = Daruma_FI_VendeItemTresDecimais(Str_Codigo, Str_Descricao, _ Str_Aliquota, Str_Quantidade, Str_Valor_Unitario, Str_Acrescimo_ou_Desconto, _ Str_Percentual_Acrescimo_ou_Desconto) Exemplo em Delphi 7.0: var Str_Codigo: String; Str_Descricao: String; Str_Aliquota: String; Str_Quantidade: String; Str_Valor_Unitario: String; Str_Desconto_ou_Acrescimo: String; Str_Percentual_de_Desconto_ou_Acrescimo: String; begin Str_Codigo := '1234567890123'; Str_Descricao := 'coca-cola'; Str_Aliquota := 'NN'; Str_Quantidade := '0,500'; Str_Valor_Unitario := '1,999'; Str_Desconto_ou_Acrescimo := 'D'; Str_Percentual_de_Desconto_ou_Acrescimo := '05,00'; Int_Retorno := Daruma_FI_VendeItemTresDecimais( pchar( Str_Codigo ), pchar( Str_Descricao ), pchar( Str_Aliquota ), pchar( Str_Quantidade ) , pchar( Str_Valor_Unitario ), pchar( Str_Desconto_ou_Acrescimo ), pchar( Str_Percentual_de_Desconto_ou_Acrescimo ) );
1.9.2.5
Daruma_FI_CancelaCupom(ndice 1014)
Definio do Mtodo: Cancela o ltimo cupom emitido. Parmetros do Mtodo: No h. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF
Daruma Automao
Daruma Framework
44
sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - No poder ter ocorrido ReduoZ e nem LeituraX aps a emisso do cupom. - Voc no podera ter emitido um outro cupom fiscal, sangria, suprimento. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CancelaCupom() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_CancelaCupom();
1.9.2.6
Daruma_FI_CancelaItemAnterior(ndice 1005)
Definio do Mtodo: Cancela o ltimo item vendido. Parmetros do Mtodo: No h. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: O cupom fiscal deve estar aberto. Ao menos um item deve ter sido vendido. No deve ter sido cancelado nenhum item imediatamente anterior. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CancelaItemAnterior Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_CancelaItemAnterior();
1.9.2.7
Daruma_FI_CancelaItemGenerico(ndice 1006)
Definio do Mtodo: Cancela qualquer item dentre os cem (100) ltimos itens vendidos. Parmetros do Mtodo: (1 Parmetro) Nmero Item: String com o nmero do item a ser cancelado com no mximo 3 dgitos. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O cupom fiscal deve estar aberto
Daruma Automao
45
Daruma Framework
- Ao menos 1(um) item deve ter sido vendido - O item no pode ter sido cancelado anteriormente e nem fora da faixa dos ltimos itens vendidos. Exemplos: Exemplo em Visual Basic 6.0: Dim Numero_Item As String Numero_Item = "01" Int_Retorno = Daruma_FI_CancelaItemGenerico(Numero_Item) Exemplo em Delphi 7.0: var Str_NumeroItem: String; begin Str_NumeroItem := '01'; Int_Retorno:=Daruma_FI_CancelaItemGenerico( pchar( NumeroItem ) ); FormPrincipal.Daruma_Analisa_Retorno();
1.9.2.8
Daruma_FI_IniciaFechamentoCupom(ndice 1007)
Definio do Mtodo: Inicia o fechamento do cupom com o uso das formas de pagamento. Parmetros do Mtodo: (3 Parmetros) 1. Acrscimo Desconto: Indica se haver acrscimo ou desconto no cupom. 'A' para acrscimo e 'D' para desconto. 2. Tipo Acrscimo Desconto: Indica se o acrscimo ou desconto por valor ou por percentual. '$' para desconto por valor e '%' para percentual. 3. Valor Acrscimo Desconto: String com no mximo 14 dgitos para acrscimo ou desconto por valor e 4 dgitos para acrscimo ou desconto por percentual (2 casas decimais). Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O valor do desconto "nunca" poder ser igual ou maior do que o valor do cupom. - Caso a venda seja de 1(um) ou mais itens, porm todos com alquota de servio e o ECF no esteja habilitado para desconto em servio voc poder receber erro 24 ou 44, ento o desconto no ser permitido. Importante para habilitar o desconto sobre servio preciso que seja feito por meio de IT(interveo tcnica) e isso s pode ser feito por uma assistncia tcnica autorizada Daruma. - Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alquota de servio e o ECF no esteja habilitado para o desconto, ento o desconto incidir sobre os itens com alquota de ICMS. - E caso o ECF esteja habilitado para desconto em servio ento para um cupom onde os itens sejam com alquota de servio e tambm alquota de ICMS o desconto ser sobre todos os itens independentemente da alquota.
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Acrescimo_ou_Desconto As String Dim Str_Tipo_do_Acrescimo_ou_Desconto As String Dim Str_Valor_do_Acrescimo_ou_Desconto As String Str_Acrescimo_ou_Desconto = "D" Str_Tipo_do_Acrescimo_ou_Desconto = "$" Str_Valor_do_Acrescimo_ou_Desconto = "0,01" Int_Retorno = Daruma_FI_IniciaFechamentoCupom(Str_Acrescimo_ou_Desconto, _
Daruma Automao
Daruma Framework
46
Str_Tipo_do_Acrescimo_ou_Desconto, Str_Valor_do_Acrescimo_ou_Desconto) Exemplo em Delphi 7.0: var Str_Acrescimo_ou_Desconto: String; Str_Tipo_do_Acrescimo_Desconto: String; Str_Valor_do_Acrescimo_Desconto: String; begin Str_Acrescimo_ou_Desconto:='D'; Str_Tipo_do_Acrescimo_Desconto:='$'; Str_Valor_do_Acrescimo_Desconto:='0,01'; Int_Retorno =: Daruma_FI_IniciaFechamentoCupom( pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Tipo_do_Acrescimo_Desconto ), pchar( Str_Valor_do_Acrescimo_Desconto ) );
1.9.2.9
Daruma_FI_EfetuaFormaPagamento(ndice 1008)
Definio do Mtodo: Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma. Parmetros do Mtodo: (2 Parmetros) 1. Forma Pagamento: String com a forma de pagamento com no mximo 16 caracteres. 2. Valor Forma Pagamento: String com o valor da forma de pagamento com at 14 dgitos. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O fechamento do cupom com formas de pagamento deve ter sido iniciado. - Se a forma de pagamento no estiver cadastrada na impressora, o Mtodo retorna erro. Para cadastrar a forma de pagamento voc deve usar o Mtodo:Daruma_FI_ProgramaFormasPagamento(ndice 301) e isso emediatamente aps uma ReduoZ. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao_da_Forma_Pagamento As String Dim Str_Valor_da_Forma_Pagamento As String Str_Descrica_da_Forma_Pagamento = "Dinheiro" Str_Valor_da_Forma_Pagamento = "0,50" Int_Retorno = Daruma_FI_EfetuaFormaPagamento(Str_Descricao_da_Forma_Pagamento, _ Str_Valor_da_Forma_Pagamento) Exemplo em Delphi 7.0: var Str_Descricao_da_Forma_Pagamento: String; Str_Valor_da_Forma_Pagamento: String; begin Str_Descricao_da_Forma_Pagamento := 'Dinheiro'; Str_Valor_da_Forma_Pagamento := '0,50'; Int_Retorno := Daruma_FI_EfetuaFormaPagamento( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ) );
Daruma Automao
47
Daruma Framework
Parmetros do Mtodo: (3 Parmetros) 1. Forma Pagamento: String com a forma de pagamento com no mximo 16 caracteres. 2. Valor Forma Pagamento: String com o valor da forma de pagamento com at 14 dgitos. 3. Descrio Forma Pagamento: String com a descrio da forma de pagamento com no mximo 48 caracteres. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O fechamento do cupom com formas de pagamento deve ter sido iniciado. - O texto livre ser impresso 1(uma) linha aps a forma de pagamento. - Se a forma de pagamento no estiver cadastrada na impressora, o Mtodo retorna erro. Para cadastrar a forma de pagamento voc deve usar o Mtodo:Daruma_FI_ProgramaFormasPagamento(ndice 301) e isso emediatamente aps uma ReduoZ. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao_da_Forma_Pagamento As String Dim Str_Valor_da_Forma_Pagamento As String Dim Str_Texto_Livre As String Str_Descricao_da_Forma_Pagamento = "Dinheiro" Str_Valor_da_Forma_Pagamento = "0,50" Str_Texto_Livre = "Texto Livre com ate 48 caracteres!!!" Int_Retorno = Daruma_FI_EfetuaFormaPagamentoDescricaoForma _ (Str_Descricao_da_Forma_Pagamento, Str_Valor_da_Forma_Pagamento, Str_Texto_Livre) Exemplo em Delphi 7.0: var Str_Descricao_da_Forma_Pagamento: String; Str_Valor_da_Forma_Pagamento: String; Str_Texto_Livre: String; begin Str_Descricao_da_Forma_Pagamento := 'Dinheiro'; Str_Valor_da_Forma_Pagamento := '0,50'; Str_Texto_Livre := 'Texto Livre com ate 48 caracteres!!!'; Int_Retorno := Daruma_FI_EfetuaFormaPagamentoDescricaoForma( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ), pchar( Str_Texto_Livre ) );
Daruma Automao
Daruma Framework
48
Observaes: - Acentuao e/ou caracteres especiais, no so aceitos na mensagem promocional. - O cupom deve estar aberto. - Pelo menos 1 (um) item deve ter sido vendido e no pode ter sido cancelado. - A utilizao desse Mtodo elimina a obrigatoriedade de uso das Mtodo Daruma_FI_IniciaFechamentoCupom, Daruma_FI_EfetuaFormaPagamento e Daruma_FI_TerminaFechamentoCupom, que esto implementadas internamente no Mtodo. - Se a forma de pagamento no estiver cadastrada na impressora, o Mtodo retorna erro. Para cadastrar a forma de pagamento voc deve usar o Mtodo:Daruma_FI_ProgramaFormasPagamento(ndice 301) e isso emediatamente aps uma ReduoZ. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao_da_Forma_de_Pagamento As String Dim Str_Mensagem_Promocional As String Str_Descricao_da_Forma_Pagamento = "Dinheiro" Str_Mensagem_Promocional = "Obrigado Volte Sempre!!!" Int_Retorno = Daruma_FI_FechaCupomResumido(Str_Descricao_da_Forma_Pagamento, Str_Mensagem_Promocional) Exemplo em Delphi 7.0: var Str_Descricao_da_Forma_de_Pagamento: String; Str_Mensagem_Promocional: String; begin Str_Descricao_da_Forma_de_Pagamento := 'Dinheiro'; Str_Mensagem_Promocional:= 'Obrigado Volte Sempre'; Int_Retorno:=Daruma_FI_FechaCupomResumido( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_Mensagem_Promocional ) );
Daruma Automao
49
Daruma Framework
Daruma_FI_TerminaFechamentoCupom, que esto implementadas internamente no Mtodo. - O valor do acrscimo ou desconto nunca poder ser igual ou maior do que o valor do item. - Caso a venda seja de um ou mais itens, porm todos com alquota de servio e o ECF no esteja habilitado para desconto em servio voc poder receber erro 24 ou 44, ento o desconto no ser permitido. Importante para habilitar o desconto sobre servio preciso que seja feito por meio de IT(interveo tcnica) e isso s pode ser feito por uma assistncia tcnica autorizada Daruma. - Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alquota de servio e o ECF no esteja habilitado para o desconto, ento o desconto incidir sobre os itens com alquota de ICMS. - E caso o ECF esteja habilitado para desconto em servio ento para um cupom onde os itens sejam com alcota de servio e tambm alquota de ICMS o desconto ser sobre todos os itens independentemente da alquota. - Se a forma de pagamento no estiver cadastrada na impressora, o Mtodo retorna erro. Para cadastrar a forma de pagamento voc deve usar o Mtodo:Daruma_FI_ProgramaFormasPagamento(ndice 301) e isso emediatamente aps uma ReduoZ.
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao_da_Forma_Pagamento As String Dim Str_Acrescimo_ou_Desconto As String Dim Str_Tipo_Acrescimo_ou_Desconto As String Dim Str_Valor_Acrescimo_ou_Desconto As String Dim Str_Valor_Pago As String Dim Str_Mensagem_Promocional As String Str_Descricao_da_Forma_Pagamento = "Dinheiro" Str_Acrescimo_ou_Desconto = "D" Str_Tipo_Acrescimo_ou_Desconto = "$" Str_Valor_Acrescimo_ou_Desconto = "0,01" Str_Valor_Pago = "0,50" Str_Mensagem_Promocional = "Obrigado Volte Sempre!!!" Int_Retorno = Daruma_FI_FechaCupom(Str_Descricao_da_Forma_Pagamento, _ Str_Acrescimo_ou_Desconto, Str_Tipo_Acrescimo_ou_Desconto, _ Str_Valor_Acrescimo_ou_Desconto, Str_Valor_Pago, Str_Mensagem_Promocional) Exemplo em Delphi 7.0: var Str_Descricao_da_Forma_Pagamento: String; Str_Acrescimo_ou_Desconto: String; Str_Tipo_Acrescimo_ou_Desconto: String; Str_Valor_Acrescimo_ou_Desconto: String; Str_Valor_Pago: String; Str_Mensagem_Promocional: String; begin Str_Descricao_da_Forma_Pagamento: = 'Descricao'; Str_Acrescimo_ou_Desconto := 'D'; Str_Tipo_Acrescimo_ou_Desconto := '$'; Str_Valor_Acrescimo_ou_Desconto := '0,01'; Str_Valor_Pago := '0,50'; Str_Mensagem_Promocional := 'Obrigado Volte Sempre!!!'; Int_Retorno := Daruma_FI_FechaCupom( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_AcrescimoDesconto ), pchar( Str_Tipo_Acrescimo_ou_Desconto ), pchar( Str_Valor_Acrescimo_ou_Desconto ), pchar( Str_Valor_Pago ), pchar( Str_Mensagem_Promocional ) );
Daruma Automao
Daruma Framework
50
Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: Acentuao e/ou caracteres especiais, no so aceitos na mensagem promocional. A forma de pagamento deve ter sido efetuada. Na impressora fiscal Daruma, sero impressas 8 linhas de texto. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Mensagem_Promocional As String Str_Mensagem_Promocional = "Obrigado Volte Sempre!!!" Int_Retorno = Daruma_FI_TerminaFechamentoCupom(Str_Mensagem_Promocional) Exemplo em Delphi 7.0: var Str_Mensagem_Promocional: String; begin Str_Mensagem_Promocional := 'Obrigado Volte Sempre!!!'; Int_Retorno := Daruma_FI_TerminaFechamentoCupom( pchar( Str_Mensagem_Promocional ) );
Daruma Automao
51
Daruma Framework
Exemplo em Delphi 7.0: var Str_Forma_de_Origem: String; Str_Nova_Forma: String; Str_Valor_Total_Pago: String; begin Str_Forma_de_Origem:= 'Dinheiro'; Str_Nova_Forma:= 'Cheque'; Str_Valor_Total_Pago:= '0,50'; Int_Retorno := Daruma_FI_EstornoFormasPagamento( pchar( Str_Forma_de_Origem ), pchar( Str_Nova_Forma ), pchar( Str_Valor_Total_Pago ) );
Daruma Automao
Daruma Framework
52
Daruma Automao
53
Daruma Framework
Dim Str_Unidade_de_Medida As String Str_Unidade_de_Medida = "UN" Int_Retorno = Daruma_FI_UsaUnidadeMedida(Str_Unidade_de_Medida) Exemplo em Delphi 7.0: var Str_UnidadeMedida: String; begin Str_Unidade_de_Medida := 'UN'; Int_Retorno := Daruma_FI_UsaUnidadeMedida( pchar( Str_Unidade_de_Medida ) );
Daruma Automao
Daruma Framework
54
1.9.3
1.9.3.1
1.9.3.2
Daruma_FI_UsaComprovanteNaoFiscalVinculado(ndice 1204)
Definio do Mtodo: Imprime o comprovante no fiscal vinculado. Parmetros do Mtodo: (1 Parmetro) Texto: String com o Texto a ser impresso no comprovante no fiscal vinculado com at 618 caracteres.
Daruma Automao
55
Daruma Framework
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Na impressora fiscal Daruma, s pode ser usado durante 2(dois) minutos aps a abertura do comprovante no fiscal vinculado. Se esse tempo for ultrapassado o comprovante fechado automaticamente. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Texto_Livre As String Str_Texto_Livre = "Texto Livre com at 618 caracteres" Int_Retorno = Daruma_FI_UsaComprovanteNaoFiscalVinculado(Str_Texto_Livre) Exemplo em Delphi 7.0: var Str_Texto_Livre: String; begin Str_Texto_Livre := 'Texto Livre com at 618 caracteres'; Int_Retorno := Daruma_FI_UsaComprovanteNaoFiscalVinculado( pchar( Str_Texto_Livre ) ); end;
1.9.3.3
Daruma_FI_FechaComprovanteNaoFiscalVinculado(ndice 1205)
Definio do Mtodo: Encerrar o comprovante no fiscal vinculado. Parmetros do Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O comprovante no fiscal vinculado deve ter sido aberto. Voc poder verificar o status atravs do mtodo:Daruma_FI_StatusComprovanteNaoFiscalVinculado(ndice 1403). Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_FechaComprovanteNaoFiscalVinculado() Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_FechaComprovanteNaoFiscalVinculado();
1.9.3.4
Daruma_FI_AbreRelatorioGerencial(ndice 1208)
Definicao do Mtodo: Abre o Relatrio Gerencial. Parmetros do Mtodo: No h.
Daruma Automao
Daruma Framework
56
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo apenas Abre o Relatrio Gerencial, deixando-o pronto para que seja utilizado o Mtodo Daruma_FI_RelatorioGerencial. - Nas Impressoras FS345 e FS2000 o gerencial uma vez aberto permanecer 10(dez) Minutos e se autofechara. - Nas Impressoras FS600 e FS2000T o gerencial permanecer apenas 2(dois) Minutos aberto. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_AbreRelatorioGerencial() Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_AbreRelatorioGerencial();
1.9.3.5
Daruma_FI_FechaRelatorioGerencial(ndice 1201)
Definio do Mtodo: Encerra o Relatrio Gerencial. Parmetros do Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O relatrio gerencial deve estar aberto. Voc poder verificar o status atravs do mtodo:Daruma_FI_StatusRelatorioGerencial(ndice 1405). Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_FechaRelatorioGerencial() Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_FechaRelatorioGerencial();
1.9.3.6
Daruma_FI_AbreRecebimentoNaoFiscal(ndice 1210)
Definio do Mtodo: Abre o recebimento no fiscal "CNFNV". Parmetros do Mtodo: (6 Parmetros) 1. Descrio do Totalizador: Neste parmetro voc deve passar o descrio do totalizador. 2. Acrscimo Desconto: Indica se haver acrscimo ou desconto no cupom. 'A' para acrscimo e 'D' para desconto. 3. Tipo Acrscimo Desconto: Indica se o acrscimo ou desconto por valor ou por percentual. '$' para desconto por valor e '%' para percentual. 4. Valor Acrscimo Desconto: String com no mximo 14 dgitos para acrscimo ou desconto por valor e 4 dgitos para acrscimo ou desconto por percentual. 5. Valor do Recebimento: String com o valor da forma de pagamento com at 14 dgitos.
Daruma Automao
57
Daruma Framework
6.
Texto Livre. String com at 7 linhas 48 caracteres, totalizando 336. Importante! O texto passado neste parmetro, sair impresso no fechamento do recebimento. Outra coisa que podero serem usadas as tags DHTML. Por exemplo para negrito <b></b>, e x p a n d i d o <e></e> e sublinhado <s></s>, uma de cada vez, at mesmo qualquer combinao entre elas, ex.:<b><e><s>Observao</s></e></b>. - Na impressora FS345 (matricial), o parmetro sexto, no suporta as 7 linhas de texto e sim somente 40 caracteres.
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este mtodo no poder ser aplicado para Sangria ou Suprimento. - Este Mtodo abre o recebimento no fiscal que permanece aberto at que seja chamado o Mtodo Daruma_FI_EfetuaFormaPagamentoNaoFiscal. Importante! verifique o status do recebimento antes de tentar abr-lo atravs do Mtodo:Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado(ndice 1471). - Este Mtodo dever ser usado sempre que for preciso informar mais de uma forma de pagamento, no Recebimento. - No existe Mtodo para fechamento deste Mtodo, o mesmo se fechar automaticamente, quando o total do recebimento for pago. - Caso seja passado no parmetro ndice do Totalizador Sangria, o Mtodo ser executado, porm o cupom ser fechado automaticamente. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao_do_Totalizador As String Dim Str_Acrescimo_ou_Desconto As String Dim Str_Tipo_Acrescimo_ou_Deconto As String Dim Str_Valor_do_Acrescimo_ou_Desconto As String Dim Str_Valor_do_Recebimento As String Dim Str_Texto_Livre As String Str_Descricao_do_Totalizador = "Conta de Luz" Str_Acrescimo_ou_Desconto = "D" Str_Tipo_Acrescimo_ou_Deconto = "$" Str_Valor_Acrescimo_ou_Desconto = "0,01" Str_Valor_do_Recebimento = "0,09" Str_Texto_Livre = "Referente ao pagamento da 1 primeira parcela." Int_Retorno = Daruma_FI_AbreRecebimentoNaoFiscal(Str_Descricao_do_Totalizador, Str_Acrescimo_ou_Desconto, Str_Tipo_Acrescimo_ou_Deconto, Str_Valor_Acrescimo_ou_Desconto, Str_Valor_do_Recebimento, Str_Texto_Livre) Exemplo em Delphi 7.0: var Str_Descricao_do_Totalizador: String; Str_Acrescimo_ou_Desconto: String; Str_Tipo_Acrescimo_ou_Desconto: String; Str_Valor_Acrescimo_ou_Desconto: String; Str_Valor_do_Recebimento: String; Str_Texto_Livre: String; begin Str_Descricao_do_Totalizador := 'Conta de Luz'; Str_Acrescimo_ou_Desconto := 'D'; Str_Tipo_Acrescimo_ou_Desconto := '$'; Str_Valor_Acrescimo_ou_Desconto := '0,01'; Str_Valor_do_Recebimento := '0,09'; Str_Texto_Livre := 'Referente ao pagamento da 1 primeira parcela.'; Int_Retorno := Daruma_FI_AbreRecebimentoNaoFiscal( pchar( Str_Descricao_do_Totalizador ), pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Tipo_Acrescimo_ou_Desconto ), pchar( Str_Valor_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Recebimento ), pchar( Str_Texto_Livre ) );
Daruma Automao
Daruma Framework
58
1.9.3.7
Daruma_FI_EfetuaFormaPagamentoNaoFiscal(ndice 1211)
Definio do Mtodo: Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma. Parmetros do Mtodo: (3 Parmetros) 1. Forma Pagamento: String com a forma de pagamento com no mximo 16 caracteres. 2. Valor Forma Pagamento: String com o valor da forma de pagamento com at 14 dgitos. 3. Observao Livre: String com at 48 caracteres, na FS345 e at 82 na FS600/FS2100T. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O fechamento do comprovante no fiscal acontecer automaticamente assim que o total do comprovante no fiscal seja atingido. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Forma_de_Pagamento As String Dim Str_Valor_da_Forma_Pagamento As String Dim Str_Texto_Livre As String Str_Forma_de_Pagamento = "Dinheiro" Str_Valor_da_Forma_Pagamento = "0,09" Str_Texto_Livre = "Parcela paga em 28/12/2004" Int_Retorno = Daruma_FI_EfetuaFormaPagamentoNaoFiscal(Str_Forma_de_Pagamento, _ Str_Valor_da_Forma_Pagamento, Str_Texto_Livre) Exemplo em Delphi 7.0: var Str_Forma_de_Pagamento: String; Str_Valor_da_Forma_Pagamento: String; Str_Texto_Livre: String; begin Str_Forma_de_Pagamento := 'Dinheiro'; Str_Valor_da_Forma_Pagamento := '0,09'; Str_Texto_Livre := '28/12/2004'; Int_Retorno := Daruma_FI_EfetuaFormaPagamentoNaoFiscal( pchar( Str_Forma_de_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ), pchar( Str_Texto_Livre ) );
1.9.3.8
Daruma_FI_FundoCaixa(ndice 1212)
Definio do Mtodo: Faz um suprimento na impressora (entrada de dinheiro). Parmetros do Mtodo: (2 Parmetros) 1. Valor: String com o Valor do suprimento com at 14 dgitos (2 casas decimais). 2. Forma Pagamento: String com a Forma de pagamento com at 16 caracteres. Se no for informada, o suprimento ser feito em Dinheiro. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF.
Daruma Automao
59
Daruma Framework
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Valor_do_Fundo_Caixa As String Dim Str_Forma_de_Pagamento As String Str_Valor_Fundo_Caixa = "0,10" Str_Forma_de_Pagamento = "Dinheiro" Int_Retorno = Daruma_FI_FundoCaixa(Str_Valor_do_Fundo_Caixa, Str_Forma_de_Pagamento) Exemplo em Delphi 7.0: var Str_Valor_do_Fundo_Caixa: String; Str_Forma_de_Pagamento: String; begin Str_Valor_do_Fundo_Caixa := '0,10'; Str_Forma_de_Pagamento := 'Dinheiro'; Int_Retorno := Daruma_FI_FundoCaixa( pchar( Str_Valor_do_Fundo_Caixa ), pchar( Forma_de_Pagamento ) );
1.9.3.9
Daruma_FI_LeituraMemoriaFiscalData(ndice 1102)
Definio do Mtodo: Emite a leitura da memria fiscal da impressora por intervalo de datas. Parmetros do Mtodo: (2 Parmetros) 1. Data Inicial: String com a Data inicial no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa. 2. Data Final: String com a Data final no formato ddmmaa, dd/mm/aa, ddmmaaaa ou dd/mm/aaaa. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O cupom fiscal deve estar fechado. Voc poder verificar o status atravs do mtodo:Daruma_FI_StatusCupomFiscal(ndice 1404). Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Data_Inicial As String Dim Str_Data_Final As String Str_Data_Inicial = "28/12/2004" Str_Data_Final = "28/12/2004" Int_Retorno = Daruma_FI_LeituraMemoriaFiscalData(Str_Data_Inicial, Str_Data_Final) Exemplo em Delphi 7.0: var Str_Data_Inicial: String; Str_Data_Final: String; begin Str_Data_Inicial := '28/12/2004'; Str_Data_Final := '28/12/2004'; Int_Retorno := Daruma_FI_LeituraMemoriaFiscalData( pchar( Str_Data_Inicial ), pchar( Str_Data_Final ) );
Daruma Automao
Daruma Framework
60
Exemplo em Visual Basic 6.0: Dim Str_Reducao_Inicial As String Dim Str_Reducao_Final As String Str_Reducao_Inicial = "01" Str_Reducao_Final = "02" Int_Retorno = Daruma_FI_LeituraMemoriaFiscalReducao _ (Str_Reducao_Inicial, Str_Reducao_Final) Exemplo em Delphi 7.0: var Str_Reducao_Inicial: String; Str_Reducao_Final: String; begin Str_Reducao_Inicial := '01'; Str_Reducao_Final := '02'; Int_Retorno := Daruma_FI_LeituraMemoriaFiscalReducao( pchar( Str_Reducao_Inicial ), pchar( Str_Reducao_Final ) );
Daruma Automao
61
Daruma Framework
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Data_Inicial As String Dim Str_Data_Final As String Str_Data_Inicial = "28/12/2004" Str_Data_Final = "28/12/2004" Int_Retorno = Daruma_FI_LeituraMemoriaFiscalSerialData _ (Str_Data_Inicial, Str_Data_Final) Shell "notepad C:\retorno.txt", vbMaximizedFocus Exemplo em Delphi 7.0: var Str_Data_Inicial: String; Str_Data_Final: String; begin Str_Data_Inicial := '28/12/2004'; Str_Data_Final := '28/12/2004'; Int_Retorno := Daruma_FI_LeituraMemoriaFiscalSerialData( pchar( Str_Data_Inicial ), pchar( Str_Data_Final ) );
Exemplo em Visual Basic 6.0: Dim Str_Reducao_Inicial As String Dim Str_Redcucao_Final As String Str_Rd_Inicial = "01" Str_Rd_Final = "02" Int_Retorno = Daruma_FI_LeituraMemoriaFiscalSerialReducao _ (Str_Reducao_Inicial, Str_Reducao_Final) Shell "notepad C:\retorno.txt", vbMaximizedFocus Exemplo em Delphi 7.0: var Str_Reducao_Inicial: String; Str_Reducao_Final: String;
Daruma Automao
Daruma Framework
62
begin Str_Reducao_Inicial := '01'; Str_Reducao_Final := '02'; Int_Retorno := Daruma_FI_LeituraMemoriaFiscalSerialReducao( pchar( Str_Reducao_Inicial ), pchar( Str_Reducao_Final ) );
Daruma Automao
63
Daruma Framework
Str_Descricao_do_Totalizador = "Conta de Luz" Str_Valor_do_Recebimento = "0,10" Str_Forma_de_Pagamento = "Dinheiro" Int_Retorno = Daruma_FI_RecebimentoNaoFiscal(Str_Descricao_do_Totalizador, Str_Valor_do_Recebimento, Str_Forma_de_Pagamento) Exemplo em Delphi 7.0: var Str_Descricao_do_Totalizador: String; Str_Valor_do_Recebimento: String; Str_Forma_de_Pagamento: String; begin Str_Indice_do_Totalizador := 'Conta de Luz'; Str_Valor_do_Recebimento := '0,10'; Str_Forma_de_Pagamento := 'Dinheiro'; Int_Retorno := Daruma_FI_RecebimentoNaoFiscal( pchar( Str_Descricao_do_Totalizador ), pchar( Str_Valor_do_Recebimento ), pchar( Str_Forma_de_Pagamento ) );
Daruma Automao
Daruma Framework
64
Observaes: - Importantssimo este mtodo no aceita separadores, voc dever passar apenas 12bytes. - Se os valores estiverem fora dessa faixa sero limitados a 5 minutos.
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Data As String Dim Str_Hora As String Str_Data = " " Str_Hora = " " Int_Retorno = Daruma_FI_ReducaoZAjustaDataHora(Str_Data, Str_Hora) Exemplo em Delphi 7.0: var Str_Data: String; Str_Hora: String; begin Str_Data := ' '; Str_Hora := ' '; Int_Retorno := Daruma_FI_ReducaoZAjustaDataHora( pchar( Str_Data ), pchar( Str_Hora ) );
Daruma Automao
65
Daruma Framework
continuar imprimindo mais texto, continue Chamando este Mtodo, que uma vez aberto o Gerencial, o mesmo no ser Aberto novamente at que seja chamada a Mtodo. - Para fechar o Relatrio, chame o Mtodo:Daruma_FI_FechaRelatorioGerencial. - Se qualquer Mtodo diferente da Daruma_FI_RelatorioGerencial for chamado com o relatrio aberto, efetuar seu fechamento automaticamente. - Uma vez aberto o Relatrio Gerencial, voc ter 10(dez) minutos para a impresso de Texto Livre. - Caso voc se esquea de fechar o Relatrio Gerencial o mesmo ser fechado automaticamente aps 10(dez) minutos contando a partir de sua abertura. - Nas Impressoras Trmicas FS600 e FS2000T o gerencial permanecer aberto por 2(dois) Minutos. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Texto_Livre As String Str_Texto_Livre = "Texto Livre com at 600 caracteres" Int_Retorno = Daruma_FI_RelatorioGerencial(Str_Texto_Livre) Exemplo em Delphi 7.0: var Str_Texto_Livre: String; begin Str_Texto_Livre := 'Texto Livre com at 600 caracteres'; Int_Retorno := Daruma_FI_RelatorioGerencial( pchar( Str_Texto_Livre ) );
Daruma Automao
Daruma Framework
66
Exemplos:
Exemplo em Visual Basic 6.0: Dim Str_Valor_do_Suprimento As String Dim Str_Forma_de_Pagamento As String Str_Valor_do_Suprimento = "0,10" Str_Forma_de_Pagamento = "Dinheiro" Int_Retorno = Daruma_FI_Suprimento(Str_Valor_do_Suprimento, Str_Forma_de_Pagamento) Exemplo em Delphi 7.0: var Str_Valor_do_Suprimento: String; Str_Forma_de_Pagamento: String; begin Str_Valor_do_Suprimento := '0,10'; Str_Forma_de_Pagamento := 'Dinheiro'; Int_Retorno := Daruma_FI_Suprimento( pchar( Str_Valor_do_Suprimento ), pchar( Str_Forma_de_Pagamento ) );
1.9.4
1.9.4.1
Daruma Automao
67
Daruma Framework
1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_VerificaDocAutenticacao() If Int_Retorno = 1 Then MsgBox "1 = Documento Posicionado" Else MsgBox "0 = Documento Ausente" End If Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_VerificaDocAutenticacao(); if Int_Retorno = 1 Then begin Application.MessageBox('1 = Documento Posicionado!', 'Daruma Framework', mb_ok); end else begin Application.MessageBox('0 = Documento No Posicionado!', 'Daruma Framework', mb_ok); end;
1.9.4.2
Daruma_FI_Autenticacao(ndice 1300)
Definio do Mtodo: Permite a autenticao de documentos. Parmetros do Mtodo: No H. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Para autenticar documentos na impressora fiscal FS2100T, voc deve estar com o cupom fiscal aberto. - Dever ser executada imediatamente aps um recebimento no fiscal ou o trmino de um cupom fiscal. - Poder ser repetido at 4 vezes para cada recebimento, aps isso o mtodo ser ignorado. - Na impressora fiscal Daruma, sero aguardados 5 segundos para o posicionamento do documento e autenticar no documento a data, hora, nmero da loja, nmero do caixa e o nmero do ltimo cupom fiscal. Se decorrido os 5 segundos sem o posicionamento do documento. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_Autenticacao() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_Autenticacao(); end;
1.9.4.3
Daruma_FI_AutenticacaoStr(ndice 1302)
Definio do Mtodo: Permite a autenticao de documentos com a adio de uma String de at 13 caracteres. Parmetros do Mtodo: (1 Parmetro)
Daruma Automao
Daruma Framework
68
String: de at 13 caracteres. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Para autenticar documentos na impressora fiscal FS2100T, voc deve etar com o cuporm fiscal aberto. - Este Mtodo permite ao usurio entrar com at 13 caracteres onde poder utilizar para texto livre, observaes ou at mesmo uma criptografia. - Dever ser executada imediatamente aps um recebimento no fiscal ou o trmino de um cupom fiscal. - Poder ser repetido at 4 vezes para cada recebimento, aps isso o mtodo ser ignorado. - Na impressora fiscal Daruma, sero aguardados 5 segundos para o posicionamento do documento e autenticar no documento a data, hora, nmero da loja, nmero do caixa e o nmero do ltimo cupom fiscal. Se decorrido os 5 segundos sem o posicionamento do documento. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_AutenticacaoStr As String Str_AutenticacaoStr = "Framework" Int_Retorno = Daruma_FI_AutenticacaoStr(Str_AutenticacaoStr) Exemplo em Delphi 7.0: var Str_Autenticacao_Str: String; begin Str_AutenticacaoStr := AutenticacaoStr.Text; Int_Retorno := Daruma_FI_AutenticacaoStr( pchar( Str_AutenticacaoStr ) );
1.9.4.4
Daruma_FI_VerificaEstadoGaveta(ndice 1311)
Definio do Mtodo: Retorna se a gaveta est fechada ou aberta. Parmetros da Mtodo: Estado: INTEIRO com a Varivel para receber o estado da gaveta, onde: - Estado = 0 sensor em nvel 0 (fechada) - Estado = 1 sensor em nvel 1 (aberta) Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Dim Int_Estado_Gaveta As Integer Int_Estado_Gaveta = 0 Int_Retorno = Daruma_FI_VerificaEstadoGaveta(Int_Estado_Gaveta) If Int_Estado_Gaveta = 1 Then MsgBox "1 = Gaveta Aberta" Else MsgBox "0 = Gaveta Fechada" End If Exemplo em Delphi 7.0: var Int_Estado_Gaveta: Integer;
Daruma Automao
69
Daruma Framework
begin Int_Estado_Gaveta := 0; Int_Retorno := Daruma_FI_VerificaEstadoGaveta( Int_Estado_Gaveta); if Int_Estado_Gaveta = 1 Then begin Application.MessageBox('1 = Gaveta Aberta!', 'Daruma Framework', mb_ok); end else begin Application.MessageBox('0 = Gaveta Fechada!', 'Daruma Framework', mb_ok); end;
1.9.4.5
Daruma_FI_VerificaEstadoGavetaStr(ndice 1312)
Definio do Mtodo: Retorna se a gaveta est fechada ou aberta. Parmetros da Mtodo: Estado: String com a Varivel para receber o estado da gaveta, onde: - Estado = 0 sensor em nvel 0 (fechada) - Estado = 1 sensor em nvel 1 (aberta) Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Estado_Gaveta As String Str_Estado_Gaveta = Space(1) Int_Retorno = Daruma_FI_VerificaEstadoGavetaStr(Str_Estado_Gaveta) If Str_Estado_Gaveta = 1 Then MsgBox "1 = Gaveta Aberta!" Else MsgBox "0 = Gaveta Fechada!" End If Exemplo em Delphi 7.0: var Str_Estado_Gaveta: String; begin SetLength (Str_Estado_Gaveta,1); Int_Retorno := Daruma_FI_VerificaEstadoGavetaStr( Str_Estado_Gaveta ); if Str_Estado_Gaveta = '1' Then begin Application.MessageBox('1 = Gaveta Aberta!', 'Daruma Framework', mb_ok);
1.9.4.6
Daruma_FI_AcionaGaveta(ndice 1310)
Definio do Mtodo: Abre a gaveta de dinheiro. Parmetros do Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo:
Daruma Automao
Daruma Framework
70
1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_AcionaGaveta() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_AcionaGaveta();
1.9.4.7
Daruma_FI_AbrePortaSerial(ndice 600)
Definio do Mtodo: Abre a porta serial para comunicao com a impressora. Parmetros da Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. 0: No foi possvel abrir a Porta Serial. Observaes: - A Mtodo l o nome da porta a ser aberta no Na Chave do Registry Se o parmetro "porta" estiver configurado com a palavra "Default" a Mtodo localiza onde a impressora est conectada e configurado no Registry. Voc poder alterar o valor da chave controle porta atravs do mtodo:Daruma_Registry_ControlePorta(ndice 6). - Caso voc tenha uma impressora no fiscal conectada ao micro ou at mesmo uma impressora de qualquer outro fabricante, ento dever estar com o flag Porta setado para DS300. - Por Default a Daruma32.dll faz o gerenciamento de fluxo de dados, evitando dessa maneira de ter que abrir a porta serial. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_AbrePortaSerial() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_AbrePortaSerial();
1.9.4.8
Daruma_FI_FechaPortaSerial(ndice 601)
Definio do Mtodo: Fecha a porta serial. Parmetros da Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. 0: No foi possvel fechar a Porta Serial. Observaes: - Caso voc tenha uma impressora no fiscal conectada ao micro ou at mesmo uma impressora de qualquer outro fabricante, ento dever estar com o flag Porta setado para DS300. - Por Default a Daruma32.dll faz o gerenciamento de fluxo de dados. Exemplos: Exemplo em Visual Basic 6.0:
Daruma Automao
71
Daruma Framework
1.9.4.9
Daruma_FI_AberturaDoDia(ndice 603)
Definio do Mtodo: Faz a abertura do caixa emitindo um suprimento e uma LeituraX. Obs.: Na FS600 (MFD), no ser emitida a LeituraX. Parmetros da Mtodo: (2 Parmetros) 1. Valor: String com o Valor do suprimento com at 14 dgitos (2 casas decimais). Informe o valor "0" para no fazer suprimento. 2. Forma Pagamento: String com a Forma de pagamento com at 16 caracteres. Se no for informado, o suprimento ser feito em Dinheiro. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - No caso de ter sido emitida uma LeituraX, no dia ento ser feito apenas um suprimento. - Nas Impressoras Trmicas MFDs FS600 e FS2000T a abertura do dia da-se partir da emisso de qualquer documento salvo uma LeituraX. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Valor_do_Suprimento As String Dim Str_Forma_de_Pagamento As String Str_Valor_do_Suprimento = "0,10" Str_Forma_de_Pagamento = "Dinheiro" Int_Retorno = Daruma_FI_AberturaDoDia(Str_Valor_do_Suprimento, Str_Forma_de_Pagamento) Exemplo em Delphi 7.0: var Str_Valor_do_Suprimento: String; Str_Forma_de_Pagamento: String; begin Str_Valor_do_Suprimento := '0,10'; Str_Forma_de_Pagamento := 'Dinheiro'; Int_Retorno := Daruma_FI_AberturaDoDia( pchar( Str_Valor_do_Suprimento ), pchar( Str_Forma_de_Pagamento ) );
Daruma Automao
Daruma Framework
72
-27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo dever ser aplicado sempre antes do encerramento do dia fiscal. - Nunca emita nenhum relatrio, antes de executar este Mtodo. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_FechamentoDoDia() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_FechamentoDoDia();
Observaes: Sero impressas as seguintes configuraes: Data da impressora Hora da impressora Verso do firmware Verso da dll log da dll Lin. Imp. aps pouco papel 0000 Tipo Impressora fiscal + gaveta+autenticao GravaStatus Grava Retorno Status Mtodo Controle Porta Modo gaveta 27/06/2001 11:38:37 120 1.9 Desabilitado
NO NO NO NO 0
Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_ImprimeConfiguracoesImpressora() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_ImprimeConfiguracoesImpressora();
1.9.5
Daruma Automao
73
Daruma Framework
1.9.5.1
Daruma_FI_ProgramaAliquota(ndice 302)
Definio do Mtodo: Programa alquota tributria na Impressora Fiscal. Parmetros do Mtodo: (2 Parmetros) 1. Alquota: String com o valor da alquota a ser programada. 2. Vnculo: INTEIRO com o valor 0 (zero) para vincular a alquota ao ICMS e 1 (um) para vincular ao ISS. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo s ser executado aps uma ReduoZ e antes de uma LeituraX, ou qualquer outro documento. - Nas Impressoras Daruma, voc "no precisa" carregar diariamente as Alquotas. - Na hora de passar o valor da alquota voc, no deve utilizar nenhum tipo de separador. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Valor_da_Aliquota As String Dim Int_Tipo_da_Aliquota As Integer Str_Valor_da_Aliquota = "1800" Int_Tipo_da_Aliquota = "0" Int_Tipo_da_Aliquota = CInt(TX_Tipo_da_Aliquota.Text) Int_Retorno = Daruma_FI_ProgramaAliquota(Str_Valor_da_Aliquota, _ Int_Tipo_da_Aliquota) Exemplo em Delphi 7.0: var Str_Valor_da_Aliquota: String; Int_Tipo_da_Aliquota: Integer; begin Str_Valor_da_Aliquota := '1800'; Int_Tipo_da_Aliquota :='0' Int_Tipo_da_Aliquota := StrToInt(Trim(Tipo_da_Aliquota.Text)); Int_Retorno := Daruma_FI_ProgramaAliquota( pchar( Str_Valor_da_Aliquota ), Int_Tipo_da_Aliquota );
1.9.5.2
Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms(ndice 304)
Definio do Mtodo: Programa Totalizador No Sujeito ao ICMS. Equivale a por exemplo Conta de Luz, gua, Telefone, etc. Parmetros do Mtodo: (2 Parmetros) 1. Indice: INTEIRO com a posio em que o totalizador ser programado. 2. Totalizador: String at 21 caracteres com o nome do totalizador. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O cupom fiscal deve estar fechado. - Nas impressoras fiscais FS600(MFD) e FS2100T(MFD), s sero aceitos no mximo 15 carcteres na descrio do totalizador no fiscal.
Daruma Automao
Daruma Framework
74
Exemplos:
Exemplo em Visual Basic 6.0: Dim Int_Indice_do_Totalizador As Integer Dim Str_Nome_do_Totalizador As String Int_Indice_do_Totalizador = "00" Int_Indice_do_Totalizador = CInt(TX_Indice_do_Totalizador.Text) Str_Nome_do_Totalizador = "Conta de Luz" Int_Retorno = Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms _ (Int_Indice_do_Totalizador, Str_Nome_do_Totalizador) Exemplo em Delphi 7.0: var Int_Indice_do_Totalizador: Integer; Str_Nome_do_Totalizador: String; begin Int_Indice_do_Totalizador :='00' Int_Indice_do_Totalizador := StrToInt(Trim(Indice_do_Totalizador.Text)); Str_Nome_do_Totalizador := 'Conta de Luz'; Int_Retorno := Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms( Int_Indice_do_Totalizador, pchar( Str_Nome_do_Totalizador ) );
1.9.5.3
Daruma_FI_ProgramaFormasPagamento(ndice 301)
Definio do Mtodo: Realiza o casdastro das formas de pagamento na impressora fiscal, este Mtodo deve ser enviado somente aps a realizao de uma ReduoZ que efetuado pela DLL de forma Automtica dependendo de como estiver a Chave do Registry Daruma_Registry_ZAutomatica. Parmetros do Mtodo: (1 Parmetro) String contendo as formas de Pagamento desejadas, separadas por PONTO-E-VRGULA, cada forma de pagamento deve ter o tamanho de at 16 caracteres. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Nas Impressoras Trmicas MFDs FS600 e FS2000T as descries das formas de pagamentos podero ser de no mximo 15 caracteres. - Quando executado este mtodo automaticamente a dll cria o compravente no fiscal vinculado para cada forma de pagamento programada. Dispensando com isso a programao dos Comprovantes No Fiscais Vinculados. - O cupom fiscal deve estar fechado. - Este Mtodo s ser executado aps uma ReduoZ e antes de uma LeituraX ou qualquer outro documento. - Nas Impressoras Trmicas MFDs FS600 e FS2000T as formas no sero vinculveis. Para torn-las a vinculveis na preciso que seja feita uma Interveno Tcnica. Vide connio 85/01. Exemplos:
Exemplo em Visual Basic 6.0: Dim Str_Descricao_das_Formas_Pagamento As String Str_Descricao_das_Formas_Pagamento = "Cartao;Cheque;Redecard;" Int_Retorno = Daruma_FI_ProgramaFormasPagamento(Str_Descricao_das_Formas_Pagamentto) Exemplo em Delphi 7.0: var
Daruma Automao
75
Daruma Framework
1.9.5.4
Daruma_FI_ProgramaOperador(ndice 310)
Definio do Mtodo: Programa o Operador no ECF, essa programao pode ser feita a qualquer momento do dia. Parmetros do Mtodo: (1 Parmetro) Operador: String com at 20 caracteres. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo poder ser chamado a qualquer momento do dia. Exemplos:
Exemplo em Visual Basic 6.0: Dim Str_Nome_do_Operador As String Str_Nome_do_Operador = "Operador 01" Int_Retorno = Daruma_FI_ProgramaOperador(Str_Nome_do_Operador) Exemplo em Delphi 7.0: var Str_Nome_do_Operador: String; begin Str_Nome_do_Operador := 'Operador 01'; Int_Retorno := Daruma_FI_ProgramaOperador( pchar( Str_Nome_do_Operador ) );
1.9.5.5
Daruma_FI_ProgramaArredondamento(ndice 305)
Definio do Mtodo: Programa o modo arrendondamento na impressora. Parmetros do Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: O cupom fiscal deve estar fechado. Ser executada somente aps uma ReduoZ. Este mtodo no est disponvel para a FS2000, vide convnio 85/01. Este mtodo no est disponvel para a FS600, vide convnio 85/01. Este mtodo no est disponvel para a FS2100T, vide convnio 85/01.
Daruma Automao
Daruma Framework
76
Exemplos:
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_ProgramaArredondamento() Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_ProgramaArredondamento();
1.9.5.6
Daruma_FI_ProgramaTruncamento(ndice 306)
Definio do Mtodo: Programa o modo truncamento na impressora. Parmetros do Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O cupom fiscal deve estar fechado. - Ser executada somente aps uma ReduoZ. - Este mtodo no est disponvel para a FS2000, pelo fato da mesma no permitir arredondamento, vide convnio 85/01. - Este mtodo no est disponvel para a FS600, pelo fato da mesma no permitir arredondamento, vide convnio 85/01. - Este mtodo no est disponvel para a FS2100T, pelo fato da mesma no permitir arredondamento, vide convnio 85/01. Exemplos:
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_ProgramaTruncamento() Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_ProgramaTruncamento();
1.9.5.7
Daruma_FI_LinhasEntreCupons(ndice 307)
Definio do Mtodo: Programa o espaamento de linhas entre os cupons. Parmetros do Mtodo: (1 Parmetro) Linhas: INTEIRO entre 0 e 15 indicando o nmero de linhas. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O espaamento ideal entre os cupons de 7 linhas. Exemplos:
Daruma Automao
77
Daruma Framework
Int_Linhas_Entre_Cupons = "15" Int_Linhas_Entre_Cupons = CInt(TX_Linhas_Entre_Cupons.Text) Int_Retorno = Daruma_FI_LinhasEntreCupons(Int_Linhas_Entre_Cupons) Exemplo em Delphi 7.0: var Int_Linhas_Entre_Cupons: Integer; begin Int_Linhas_Entre_Cupons :='15' Int_Linhas_Entre_Cupons := StrToInt(Trim(Linhas_Entre_Cupons.Text)); Int_Retorno := Daruma_FI_LinhasEntreCupons( Int_Linhas_Entre_Cupons );
1.9.5.8
Daruma_FI_EspacoEntreLinhas(ndice 308)
Definio do Mtodo: Programa o espaamento entre as linhas impressas no cupom. Parmetros do Mtodo: (1 Parmetro) Dots: INTEIRO entre 0 e 255 indicando o espao (dots) entre as linhas. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O espaamento ideal entre linhas de 15 (dots). Exemplos:
Int_Espaco_Entre_linhas = "15" Int_Espaco_Entre_Linhas = CInt(TX_Espaco_Entre_Linhas.Text) Int_Retorno = Daruma_FI_EspacoEntreLinhas(Int_Espaco_Entre_linhas) Exemplo em Delphi 7.0: var Int_Espaco_Entre_Linhas: Integer; begin Int_Espaco_Entre_Linhas :='15' Int_Espaco_Entre_Linhas := StrToInt(Trim(Espaco_Entre_Linhas.Text)); Int_Retorno := Daruma_FI_EspacoEntreLinhas( Int_Espaco_Entre_Linhas );
1.9.5.9
Daruma_FI_ProgramaHorarioVerao(ndice 303)
Definio do Mtodo: Programa e desprograma o horrio de vero. Se a impressora j estiver no horrio de vero o mesmo ser desprogramado atrasando o relgio em 1 (uma) hora, caso contrrio ser adiantado 1 (uma) hora. Parmetros do Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF.
Daruma Automao
Daruma Framework
78
Observaes: - A programao do horrio de vero ser realizada somente aps uma ReduoZ. Para desprogramar, o Mtodo somente ser aceito, 1 (uma) hora aps a ReduoZ e no pode ter havido movimento na impressora nesse perodo. - Voc poder deixar a entrada e sada do horrio de vero automatizada. Para isso basta seguir as instrues abaixo: 1. Entre no registry no seguinte path: HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF; 2. Sete o flag ControlaHorarioVerao para 1(um); 3. Insira uma data vlida no flag:DataEntradaHorarioVerao ex.:091205; 4. Insira uma data vlida no flag:DataSaidadaHorarioVerao ex.:091205. Dessa maneira conforme voc programou a Daruma32.dll quando verificar que chegou a data prevista em sua programao, ir fazer o ajuste automaticamente, tanto para a entrada quanto para a sada do mesmo. Importante: Para que a sada do horrio de vero seja aceita, fundamental que a ReduoZ que antecede a data de sada do horrio de vero seja feita ao final do perodo do dia anterior ao retorno ao horrio normal. Exemplificando melhor: se o horrio de vero for terminar no dia 100306, ento a ReduoZ do dia 090306 deve ter sido emitida ainda no dia 090306. Exemplos:
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_ProgramaHorarioVerao() Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_ProgramaHorarioVerao();
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_EqualizaFormasPgto() Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_EqualizaFormasPgto();
Daruma Automao
79
Daruma Framework
Exemplo em Visual Basic 6.0: Dim Str_Descricao_do_Vinculado As String Str_Descricao_do_Vinculado = "TEF" Int_Retorno = Daruma_FI_ProgramaVinculados(Str_Descricao_do_Vinculado) Exemplo em Delphi 7.0: var Str_Descricao_do_Vinculado: String; begin Str_Descricao_do_Vinculado := 'TEF'; Int_Retorno := Daruma_FI_ProgramaVinculados( pchar( Str_Descricao_do_Vinculado ) );
Daruma Automao
Daruma Framework
80
com a mesma descrio, deixando-a em concomitncia com o vinculado, para que voc possa gerar um CNFV, a partir da forma de pagamento. Exemplos:
Exemplo em Visual Basic 6.0: Dim Str_Descricao_da_Forma_Pagamento As String Str_Descricao_da_Forma_Pagamento = "Redecard" Int_Retorno = Daruma_FI_ProgFormasPagtoSemVincular(Str_Descricao_da_Forma_Pagamento) Exemplo em Delphi 7.0: var Str_Descricao_da_Forma_Pagamento: String; begin Str_Descricao_da_Forma_Pagamento := 'Redecard'; Int_Retorno := Daruma_FI_ProgFormasPagtoSemVincular( pchar( Str_Descricao_da_Forma_Pagamento ) );
Parmetros do Mtodo: (1 Parmetro) 1 - No fecha o Cupom Fiscal Automacamente, isso fica a cargo do aplicativo. 0 - Fecha o Cupom Fiscal Automaticamente ao Ligar e Desligar o ECF. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo s ser executado aps uma ReduoZ e antes de uma LeituraX ou qualquer outro documento. - Este Mtodo ir configurar diretamente a impressora. - O Default da dll ir setar pra 0 este recurso. Para habilit-lo, voc dever chamar este mtodo no startup de sua aplicao. - Este mtodo incompatvel com a impressora FS2000. Exemplos:
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgFechaAutomaticoCupom("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_CfgFechaAutomaticoCupom('1');
Daruma Automao
81
Daruma Framework
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgRedZAutomatico("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_CfgRedZAutomaticoCupom('1');
Daruma Automao
Daruma Framework
82
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgLeituraXAuto("1") Exemplo em Delphi 7.0: Int_Retorno = Daruma_FI_CfgImpEstGavVendas('1');
Daruma Automao
83
Daruma Framework
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgHorarioVerao("1") Exemplo em Delphi 7.0: Int_Retorno = Daruma_FI_CfgHorarioVerao('1');
Daruma Automao
Daruma Framework
84
Parmetros do Mtodo: (1 Parmetro) 0 - Sensor de Autenticao Desabilitado. 1- Sensor de Autenticao Habilitado. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo ir configurar diretamente a impressora. - Este Mtodo s ser executado aps uma ReduoZ e antes de uma LeituraX ou qualquer outro documento. - Este mtodo imcompatvel com a impressora FS2000. Exemplos:
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgSensorAut("1") Exemplo em Delphi 7.0: Int_Retorno = Daruma_FI_CfgSensorAut('1')
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgCupomAdicional("1") Exemplo em Delphi 7.0: Int_Retorno = Daruma_FI_CfgCupomAdicional('1')
Daruma Automao
85
Daruma Framework
Parmetros do Mtodo: (1 Parmetro) 2(Dois) dgitos com o nmero de linhas que voc deseja avanar aps a emisso de qualquer Documento. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: -Este Mtodo ir configurar diretamente a impressora. Exemplos:
Exemplo em Visual Basic 6.0: Dim Str_Valor As String Str_Valor = InputBox("Entre com o nmero de linhas", "Daruma_Framework", "15") Int_Retorno = Daruma_FI_CfgEspacamentoCupons(Str_Valor) Exemplo em Delphi 7.0:
Exemplo em Visual Basic 6.0: Dim Str_Hora_Min_para_ReducaoZ As String Int_Valor = InputBox("Entre com o Horario para recucaoZ:", "Daruma Framework", "08") If Str_Hora_Min_para_ReducaoZ = "" Then Exit Sub End If Int_Retorno = Daruma_FI_CfgHoraMinReducaoZ(Str_Hora_Min_para_ReducaoZ) Exemplo em Delphi 7.0: var Str_Valor: String; begin Str_Valor := InputBox('Entre com o horrio para RecuoZ:', 'Daruma Framework', '08'); if Str_Valor = '' Then Exit;
Daruma Automao
Daruma Framework
86
Int_Retorno := Daruma_FI_CfgHoraMinReducaoZ(Str_Valor);
Exemplo em Visual Basic 6.0: Dim Str_Numero_Linhas As String Str_Numero_Linhas = InputBox("Entre com o nmero de linhas para o aviso de Pouco Papel:", "Daruma Framework", "0450") Int_Retorno = Daruma_FI_CfgLimiarNearEnd(Str_Numero_Linhas) Exemplo em Delphi 7.0: var Str_Numero_Linhas: String; begin Str_Numero_Linhas := InputBox('Entre com o nmero de linhas para o aviso de Pouco Papel:', 'Daruma Framework', '0450'); if Str_Numero_Linhas = '' Then Exit; Int_Retorno := Daruma_FI_CfgLimiarNearEnd(Str_Numero_Linhas);
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF
Daruma Automao
87
Daruma Framework
sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo ir configurar diretamente a impressora. - O Default da dll ir setar pra 0 este recurso. Para habilit-lo, voc dever chamar este mtodo no startup de sua aplicao. - Este mtodo no compatvel com a impressora FS2000. Exemplos:
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgPermMensPromCNF("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_CfgPermMensPromCNF('1');
Daruma Automao
Daruma Framework
88
CHAVE: DARUMA\ECF - Nesta Chave Voc encontrar as configuraes para que a dll trabalhe com nosso ECF. VALORES: Observao Geral: Caso queira alterar o valor de qualquer Chave da Pasta Daruma no Registry, ento pode-se usar de forma genrica o mtodo Daruma_Registry_AlteraRegistry (ndice 17), bastando passa o nome da Chave a ser alterada e o seu novo valor.
Porta: Indica a porta serial de comunicao entre a impressora e o micro. Se o valor for igual a "DEFAULT", a DLL buscar a porta onde estiver a impressora, automaticamente. Caso voc esteja trabalhando com uma Impressora de outro fabricante ento este flag dever estar com DS300 setado como produto; Path: Configura o diretrio onde ser criado o arquivo "STATUS.TXT", "RETORNO.TXT" e "Daruma32.LOG". O path default o diretrio raiz na unidade C:\; Separador: Permite que voc configure o carctere separador dos dados que sero retornados, como formas de Pagamento, etc.. permitindo maior flexibilidade do software de frente de caixa obter os dados sem que tenha que obedecer uma formatao especifica da dll, com tamanhos fixos pois ao configurar o separador voc programara a busca e separao dos dados pelo separador e no mais pelo tamanho fixo definido pela dll. O Default "," (Virgula); Status: Se essa opo estiver com o valor 1, os Mtodos da DLL iro gravar o status da impressora (ACK,
Daruma Automao
89
Daruma Framework
ST1 e ST2) no arquivo chamado "STATUS.TXT". O valor default dessa opo 0, com o status da impressora sendo retornado atravs da Mtodo Daruma_FI_RetornoImpressora; Retorno: Se essa opo estiver com o valor 1, os Mtodos de Informaes da dll como Daruma_FI_NumeroCupom( Str_NumeroCupom) da DLL iro gravar o retorno no arquivo chamado "RETORNO.TXT ". O valor default dessa opo 0, com as informaes sendo retornadas atravs das variveis passadas como parmetro nos Mtodos; StatusFuncao: Esta chave configura a DLL para retornar o valor 27 nas Mtodo, quando o status da impressora (ACK, ST1, ST2) for diferente de 006,000,000. Com essa configurao a Mtodo Daruma_FI_RetornoImpressora poder ser executada somente quando o retorno for 27. O valor um "1" habilita e o valor zero "0" desabilita essa configurao. O valor default zero "0"; ControlePorta: Se estiver com o valor 0, a abertura e o fechamento da porta sero controlados pelo programador. Se estiver com o valor 1, sero controlados pela DLL. A DLL ir abrir e fechar a porta automaticamente em cada Mtodo. recomendvel que o controle da porta seja realizado pela DLL; ModoGaveta: Em alguns modelos de gaveta, este sinal poder vir invertido, ou seja, o sinal que corresponde a "gaveta aberta", pode ser o sinal para "gaveta fechada". Neste caso habilite esta chave, substituindo o valor 0 (zero) para (1) um. Veja a Mtodo Daruma_FI_VerificaEstadoGaveta para maiores informaes; Log: Se essa opo estiver com o valor 1, a DLL ir criar um arquivo de log chamado "Daruma32.LOG" com todas os Mtodos executados, seus parmetros e valores de retorno; NomeLog: Nome do Arquivo de Log que voc deseja Criar, possibilitando que o Arquivo de Log seja Personalizado de acordo com seu aplicativo. Este arquivo ser gravado no path indicado no value Path e somente ser vlido que o value Log for igual a 1(um); SeparaMsgPromo: Por questes de layout do cupom, adicionamos antes da mensagem promocional uma linha separatoria deixando mais clara o que mensagem promoicional e o que Total do Cupom, caso voc necessite utilizar o buffer de 620 bytes da mensagem promocional e no deseja que aparea esta linha separatria, configure esta chave para "0" (zero), seu Default "1"(um); Vende1Linha: Permite que a Mtodo Daruma_FI_VendeItem tente imprimir a venda item em uma linha apenas, com isso voc ter uma econmia no cupom fiscal de at 40%, ou seja, com esta chave a 1(um) esta "inteligncia" ativada, caso contrrio todos os itens sero vendidos em duas linhas. O Valor default desta Chave 1(um); XAutomatica: A Dll ir efetuar uma LeituraX automaticamente ao perceber que existe esta necessidade, por qu? porque no ECF Daruma existe o conceito da Abertura de Dia, ou seja, o Dia na Impressora aberto com uma LeituraX, e ao enviar o primeiro mtodo que gera impresso para o ECF, e o ECF tiver uma ReduoZ Pendente e esta chave estiver a 1(um) ento a dll ir efetuar a LeituraX automaticamente. Importante! Nas Impressoras Trmicas MFDs FS600 eFS2000T a abertura do dia no acontece por meio de impresso de uma LeituraX e sim por qualquer dopcumentos ex.: sangria suprimento ou at mesmo um cupom fiscal; ZAutomatica: O Mesmo que acontece com a ReduoZ, a Impressora Daruma trabalha com o Conceito de no permitir que a ReduoZ acontea automaticamente, por isso voc deve "setar" esta chave para 1(um) caso voc deseje que a ReduoZ passe a ser executada de forma automatica; AbrirDiaFiscal: A Impressora Daruma, necessita que seja efetuado uma LeituraX para a emisso do primeiro Cupom Fiscal, por isso foi criado esta chave para que voc possa configurar o que deseja, se a dll faz a LeituraX automaticamente ou no, voc poder escolher a opo desejada apenas colocando 0(nao) ou 1(um) nesta chave. Com a Chave a 1(um) ao solicitar uma Venda, atravs das Mtodo Daruma_FI_AbreCupom ou Daruma_FI_VendeItem. Importante! Nas Impressoras Trmicas MFDs FS600 eFS2000T a abertura do dia no acontece por meio de impresso de uma LeituraX e sim por qualquer dopcumentos ex.: sangria suprimento ou at mesmo um cupom fiscal; ErroExtendidoOk: A Mtodo Daruma_FI_RetornaErroExtendido, devolve para o aplicativo o erro sinalizado pelo ECF, com esta chave voc poder configurar qual o valor que voc deseja retornar caso o ECF retorne OK, o default desta chave "000" para Tudo OK com o ECF na chamada da Mtodo Daruma_FI_RetornaErroExtendido; IgnorarPoucoPapel: Esta Chave tem por Default o Valor 1(um) ou seja, no trata o pouco papel, assim sendo quando o ECF indicar Pouco Papel a dll no ira retonar o -27 (caso seja programado para isso no
Daruma Automao
Daruma Framework
90
Mtodo. Daruma_Registry_StatusFuncao) e tampouco retornar 64 no Byte de Status 2, conforme tabela de decodificao de Erro; AplMensagem1: Esta Chave armazena uma mensagem com a identificao do aplicativo exemplo:Aplicativos Comerciais verso 1.00. Ela esta presente no final de todos os documentos emitidos nas MFD (impressoras trmicas), e uma exigncia do fisco. Caso voc ainda no tenha programado esta mensagem podera fazer isso atravs do mtodo Daruma_Registry_AplMensagem1(ndice 36); AplMensagem2: Esta Chave armazena uma mensagem com a identificao do aplicativo exemplo:Aplicativos Comerciais verso 1.00. Ela esta presente no final de todos os documentos emitidos nas MFD (impressoras trmicas), e uma exigncia do fisco. Caso voc ainda no tenha programado esta mensagem podera fazer isso atravs do mtodo Daruma_Registry_AplMensagem2(ndice 37); TipoUltimoDocumento: Sempre que houver a secessidade de voc saber qual o tipo do ltimo documento emitido, bastara ler o conteudo desta Chave com a funo Daruma_Registry_RetornaValor(ndice 19), alguns exemplo de siglas: CNV(Comprovante No Vinculado), LXX(LeituraX), CPF(Cupom Fiscal); Velocidade: Esta Chave visa permitir ao aplicativo poder trabalhar com uma velocidade maior ou menor na porta serial somente nas impressoras MFDs. A velocidade default na FS600 9600, caso queira alterar para 38400 "velocidade mxima", basta executar o mtodo Daruma_Registry_Velocidade(ndice 28); TerminalServer: Esta Chave tem por default valor 0(zero), caso seja alterado para 1, eto a Dll (server), passar a no mais escrever na porta local e sim no EndereoIP, que inviou o mtodo. Importante o valor dessa Chave dever permanecer setedo sempre em 0(zero) e somente se voc estiver em uma mquina com sistema operacional windows verso server e de fato for trabalhar com comunicao via Terminal Serever, ai sim voc dever alterar o valor da mesma; PortaServidor: Caso vec esteja comunicando com o ECF via Terminal Server, ento poder customizar a porta de comunicao que por default 1002; TempoEsperaCheque: Nesta Configurado o tempo que a funo Daruma_FI2000_ImprimirCheque(ndice 5016), ir aguardar pelo posicionamento do cheque na hora da impresso. Tarantella: Esta Chave dever ser setada em concomitncia com a Chave Terminal Server. Porm ao invs de trabalhar por endereamento de IP, voc trabalha com mapeamento de unidade e com troca de arquivos. Nesta modalidade, o Observer necessariamente ira aguardar por comandos, que sero escritos pela dll server, na unidade mapeada no servidor. MFDTamMinDescProd: Nas MFDs FS600 e FS2110T. possvel determinar o tamanho mnimo que se quer obter na descrio. Quando definido que a venda ser feita em 1Linha, ento tambm h uma tolerncia em relao ao tamanho a ser mantido na descrio, se voc definir que ir trabalhar com uma descrio de no mnimo 15 caracteres, ento a Dll para manter a descrio com no mnimo 15 caracteres e cortar os caracteres que excederem o nmero previamente definido nesta Chave. Importante: Nas MFDs FS600 e FS2100T para um cdigo de 13 caracteres o tamanho mximo que poder ter uma descrio, visando economia de bobina e por isso manter a venda em uma linha dever ser de at 20 caracteres e para um cdigo de 1 caractere a descrio poder ter at 32 caracteres; ThreadNoStartUp: Esta chave setada em 1(um) tem por objetivo libarar o processo para o aplicativo durante o StartUp da Dll. Caso seja setada pra 0(zero) ento quando o aplicativo for startado o processo ser bloqueado pela Dll e devolvido somente aps o StartUp da Dll. NumeroSerioNaoFormatado: Esta chave setada em 1(um) tem por objetivo devolver o nmero do srie da impressora sem a formatao "zeros esquerda", caso esteja setada para 0 (zero) ento quando solicitdado o nmero de srie, ser devolvido com a formatao "zeros esquerda". LinhasTEF: O nmeto de linhas que estiver setado nesta chave, ser o nmero de linhas impressas por buffer no mtodo Daruma_TEF_ImprimirResposta, o valor default para esta chave 2. MFDLeituraMFCompleta: Esta chave setada em 1(um) tem por objetivo permitir que a leitura da memria fiscal nos ECF's FS600 e FS2100T, ocorra de forma completa, do contrrio ser simplificada. CupomAdicionaDll: Esta chave setada em 1(um) tem por objetivo fazer a impresso do cupom
Daruma Automao
91
Daruma Framework
adicional. Obs.: Este cupom adicional criado pela dll, sendo assim se voc faz comunicao direta, infelizmente no ter como imprim-lo. CupomAdicionaDllConfig: Esta chave possui um nico parmetro, que composto de 10(dez)bytes, sendo que o dcimo esta reservado para uso futuro, para ver os valores de configurao clique no link a seguir:Daruma_Registry_CupomAdicionalDllConfig(ndice 57) MaxFechamentoAutomatico: Este mtodo permite que seja fixado um valor mnimo, visando suprir o saldo devedor em casos onde pequenas difernas no fechamento do cupom, como por exemplo 0,01 centavo.
1.9.5.28 Daruma_Registry_Porta(ndice 1)
Definio do Mtodo: Este Mtodo permite Configurar a porta serial da impressora, ou simplesmente indicar para a dll que busque para voc onde a impressora est conectada, a dll buscar da COM1 at a COM15.
Daruma Automao
Daruma Framework
92
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada
Observaes: (1 Parmetro) Valor default da Chave = "DEFAULT". Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Porta As String Str_Porta = InputBox("Entre com o Nome da Porta onde est a Impressora:", "Daruma Framework", "Default") If Str_Porta = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_Porta(Str_Porta) Exemplo em Delphi 7.0: var Str_Porta: String; begin Str_Porta := InputBox('Entre com o nome da Porta onde est a Impressora:', 'Daruma Framework', 'Default'); if Str_Porta = '' Then Exit; Int_Int_Retorno := Daruma_Registry_Porta( pchar(Str_Porta) );
1.9.5.29 Daruma_Registry_Path(ndice 2)
Definio do Mtodo: Configura o Path onde ser criado os arquivos de retorno, resposta, relatorios Tipo 60, Log da dll, sempre e quando a dll tiver como dispositivo de "OutPut" um arquivo texto este ser criado no path em que est configurado nesta chave. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: (1 Parmetro) Valor default da Chave = "C:\". Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Path As String Str_Path = InputBox("Entre com o Path:", "Daruma Framework", "C:\") If Str_Path = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_Path(Str_Path) Exemplo em Delphi 7.0: var Str_Path: String; begin Str_Path := InputBox('Entre com o Path:', 'Daruma Framework', 'C:\');
Daruma Automao
93
Daruma Framework
1.9.5.30 Daruma_Registry_Status(ndice 3)
Definio do Mtodo: Configura se o status da Impressora ser retornado na Varivel (por referncia) ou em arquivo Texto (STATUS.txt). Parmetros do Mtodo: 0 - No Retornar em Arquivo Texto. 1 - Retorna em Arquivo Texto. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: (1 Parmetro) Valor default da Chave = "0". Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_Status("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_Status('1')
1.9.5.31 Daruma_Registry_StatusFuncao(ndice 4)
Definio do Mtodo: Este mtodo possibilita a voc um tratameto dos retornos (erros)de maneira simplificada. Por exemplo ao invz de voc ler o inteiro que retornado em cada mtodo e tambm o ACK, ST1 e ST2, voc le-r apenas o iRetorno e smente se o iRetorno for diferente de 1(um) ai sim voc ter de ler os demais bytes com o detalhe que para ler os demais bytes voc usar o mtodo:Daruma_FI_RetornoImpressora(ndice 1402). Parmetros do Mtodo: (1 Parmetro) 0 - A Mtodo ter sua tabela de Retorno normal. 1 - A Mtodo retornar -27 caso o ECF sinalize valores de status diferentes de OK. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: - Caso o Mtodo envie o mtodo para o ECF e seja detectado um Erro na execuo do mtodo sinalizado pelo ECF ou um Warning sinalizado pelo ECF (Pouco Papel, por Exemplo), isso ser sinalizado no retorno da propria Mtodo, com o valor de -27 - Valor default da Chave = "0". Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_StatusFuncao("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_StatusFuncao('1');
Daruma Automao
Daruma Framework
94
1.9.5.32 Daruma_Registry_Retorno(ndice 5)
Definio do Mtodo: Permite configurar como ser o retorno de informaes da impressora, por Exemplos, nmero de srie do ECF poder vir na Varivel por Referncia ou em arquivo texto, RETORNO.TXT. Parmetros do Mtodo: (1 Parmetro) 0 - Retorna as informaes na Varivel. 1 - No retorna as informaes na Varivel passada e sim no arquivo Texto RETORNO.TXT. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: Valor default da Chave = "0". Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_Retorno("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_Retorno('1');
1.9.5.33 Daruma_Registry_ControlePorta(ndice 6)
Definio do Mtodo: Permite configurar como ser realizado o controle da Porta Serial, pelo Aplicativo ou pela Dll aconselhado que seja sempre pela dll pois isso possibilita trabalhar sem problemas em tempo de DEBUG do software. Parmetros do Mtodo: (1 Parmetro) 1 - Todo este controle fica a cargo da dll de comunicao Daruma32.dll. 0 - O Aplicativo Controla a porta Serial e deve chamar as Mtodo de Abertura e Fechamento de porta. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: Valor default da Chave = "1". Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_ControlePorta("1") Exemplo em Delphi 7.0: Int__Retorno := Daruma_Registry_ControlePorta('1');
1.9.5.34 Daruma_Registry_ModoGaveta(ndice 7)
Definio do Mtodo: Permite inverter o sinal da Gaveta com a Lgica Negativa, se a gaveta estiver devolvendo o sinal de Aberta mesmo que ela estaja fechada, inverta o valor desta chave para obter o resultado correto, isso foi implementado devido o fato de muitas gavetas estarem saindo com problemas no sinal lgico. Parmetros do Mtodo: (1 Parmetro) 1 - Lgica Invertida. Daruma Automao
95
Daruma Framework
0 - Lgica normal. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: Valor default da Chave = "0". Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_ModoGaveta("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_ModoGaveta('1');
1.9.5.36 Daruma_Registry_Log(ndice 9)
Definio do Mtodo: Configura se deseja que a dll faa log de todas as aes, parmetros e retornos. Ser criado o Arquivo Daruma32.log no Path que esta configurado como valor da Chave Path. Parmetros do Mtodo: (1 Parmetro) 0 - No Cria o Log. 1 - Cria Log com todas as aes. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: - Valor Default da Chave = "0". Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_Log("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_Log('1');
Daruma Framework
96
Exemplo em Visual Basic 6.0: Dim Str_Nome_Log As String Str_Nome_Log = InputBox("Entre com um Nome para o Log:", "Daruma Framework", "Daruma32.log") If Str_Nome_Log = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_NomeLog(Str_Nome_Log) Exemplo em Delphi 7.0: var Str_Nome_Log: String; begin Str_Nome_Log := InputBox('Entre com um Nome para o Log:', 'Daruma Framework', 'Daruma32.log'); if Str_Nome_Log = '' Then Exit; Int_Retorno := Daruma_Registry_NomeLog( pchar(Str_Nome_Log) );
Daruma Automao
97
Daruma Framework
deixar mais claro no cupom fiscal o que mensagem promocional e o que subtotal. Parmetros do Mtodo: (1 Parmetro) 0 - No inclui a linha Separadora na Mensagem Promocional. 1 - Inclui a linha Separadora na Mensagem Promocional. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: O Valor Default desta chave 1(um). Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_SeparaMsgPromo("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_SeparaMsgPromo('1');
Daruma Automao
Daruma Framework
98
-4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Observaes: - O Valor Default desta chave 1(um). - Nas Impressoras Trmicas MFDs FS600 e FS2000T o dia no aberto partir de uma LeituraX e sim partir do primeiro documento ser emitido seja ele fiscal ou no. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_XAutomatica("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_XAutomatica('1');
Daruma Automao
99
Daruma Framework
- O Valor Default desta chave 0(Zero). - Esta Chave s deve ser alterada quando utilizada a DLL Verso SERVER, que dever ser Copiada no Servidor. Para Mais informao em como utilizar o ECF com Terminal Sever verifique o topido especfico neste Help. - Caso esta Chave esteja "setada" para 1(um) e voc no estiver utilizando-se da Arquitetura Terminal Server, ento a - Comunicao no poder ser efetuada com o ECF devolvendo (ZERO) mas Mtodo que voc chamar, ou seja, Erro de Comunicao.
Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_TerminalServer("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_TerminalServer('1');
Definio do Mtodo: Esta Chave tem por Default o Valor 1(um) ou seja, no trata o pouco papel, sendo assim quando o ECF indicar Pouco Papel a dll nao ira retonar o -27 (caso seja programado para isso na Funcao Daruma_Registry_StatusFuncao) e tampouco retornar 64 no Byte de Status 2, conforme tabela de decodificao de Erro. Parmetros da Mtodo: (1 Parmetro) 0 - Passa a considerar o Sinal de Pouco Papel, devolvendo -27 na Funcao ou 64 no Bit de Status. 1 - Passa a No considerar o sinal de pouco papel, devolvendo sempre 1(um) na Mtodo quando o ECF sinalizar POUCO PAPEL. Observaes: - O Valor Default desta chave 1(UM).
Daruma Automao
Daruma Framework
100
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada 1: OK, Sucesso ao Configurar o Registry. -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_IgnorarPoucoPapel("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_IgnorarPoucoPapel('1');
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Produto As String Str_Produto = InputBox("Entre com o nome do Produto a ser impresso:", "Daruma Framework", "ECF") If Str_Produto = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_ImprimeRegistry(Str_Produto) Exemplo em Delphi 7.0: var Str_Produto: String; begin Str_Produto := InputBox('Entre com o nome do Produto a ser impresso:', 'Daruma Framework', 'ECF' ); if Str_Produto = '' Then Exit; Int_Retorno := Daruma_Registry_ImprimeRegistry( pchar(Str_Produto) );
Daruma Automao
101
Daruma Framework
DUAL - Refere-se a Impressora No Fiscal, Miniimpressora. ECFR - Refere-se a Impressora Fiscal para Restaurantes. ECFB - Refere-se a Impressora Fiscal para Bilhete de Passagem Rodoviaria TA1000 - Refere-se ao MicroTerminal TA1000 1. 2. String com o Nome da Chave do produto String por Referencia com 50 espaos alocados para que possa retornar na varivel o valor da Chave que voc deseja.
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Nome_do_Produto As String Dim Str_Chave As String Dim Str_Retorno As String Str_Retorno = Space(50) Str_Nome_do_Produto = InputBox("Entre com o Nome do Produto:", "Daruma Framework", "ECF") Str_Chave = InputBox("Entre com o Nome da Chave para Saber o seu Valor:", "Daruma Framework", "Log") If Str_Nome_do_Produto = "" Or Str_Chave = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_RetornaValor(Str_Nome_do_Produto, Str_Chave, Str_Retorno) MsgBox Str_Nome_do_Produto + " \ " + Str_Chave + " = " + Str_Retorno, vbInformation, "Daruma Framwork" Exemplo em Delphi 7.0: var Str_Nome_do_Produto: String; Str_Chave: String; Str_Retorno: String; begin Str_Retorno := StringOFChar(#0,50); Str_Nome_do_Produto := InputBox('Entre com o Nome do Produto:', 'Daruma Framework', 'ECF'); Str_Chave := InputBox('Entre com o Nome da Chave para Saber o seu Valor:', 'Daruma Framework', 'Log'); if (Str_Nome_do_Produto = '')or(Str_Chave = '') Then Exit; Int_Retorno := Daruma_Registry_RetornaValor(Str_Nome_do_Produto, Str_Chave, Str_Retorno); Application.MessageBox(pchar(Str_Nome_do_Produto + ' \ ' + Str_Chave + ' = ' + Str_Retorno), 'Daruma Framework', mb_ok + 32);
Daruma Automao
Daruma Framework
102
Daruma Automao
103
Daruma Framework
-4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_Velocidade("9600") Exemplo em Delphi 7.0: Int_Retorno: = Daruma_Registry_Velocidade('9600')
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_AplMensagem_1 As String Str_AplMensagem_1 = InputBox("Entre com a Mensagem de seu Aplicativo:", "Daruma Framework", "DARUMA32 FrameWork Mensagem No Programada") If Str_AplMensagem_1 = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_AplMensagem1(Str_AplMensagem_1) Exemplo em Delphi 7.0: var
Daruma Automao
Daruma Framework
104
Str_AplMensagem_1: String; begin Str_AplMensagem_1:= InputBox('Entre com a Mensagem de seu Aplicativo:', 'Daruma Framework', 'DARUMA32 FrameWork Mensagem No Programada'); If Str_AplMensagem_1 = '' Then Exit; Int_Retorno := Daruma_Registry_AplMensagem1(pchar(Str_AplMensagem_1));
Exemplos: Exemplo em Visual Basic 6.0: Private Sub MN_Daruma_Registry_AplMensagem_2_Click() Dim Str_AplMensagem_2 As String Str_AplMensagem_2 = InputBox("Entre com a Mensagem de seu Aplicativo:", "Daruma Framework", "DARUMA32 FrameWork Mensagem No Programada") If Str_AplMensagem_2 = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_AplMensagem2(Str_AplMensagem_2) Exemplo em Delphi 7.0: var Str_AplMensagem_2: String; begin Str_AplMensagem_2:= InputBox('Entre com a Mensagem de seu Aplicativo:', 'Daruma Framework', 'DARUMA32 FrameWork Mensagem No Programada'); If Str_AplMensagem_2 = '' Then Exit; Int_Retorno := Daruma_Registry_AplMensagem1(pchar(Str_AplMensagem_2));
Daruma Automao
105
Daruma Framework
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Numero_Linhas_Impressao As String Str_Numero_Linhas_Impressao = InputBox("Entre com o Numero de Linhas para Impressao:", "Daruma Framework", "2") If Str_Numero_Linhas_Impressao = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_TEF_NumeroLinhasImpressao(Str_Numero_Linhas_Impressao) Exemplo em Delphi 7.0: var Str_Numero_Linhas_Impressao: String; begin Str_Numero_Linhas_Impressao:= InputBox('Entre com o Numero de Linhas para Impressao:', '2'); If Str_Numero_Linhas_Impressao = '' Then Exit; Int_Retorno := Daruma_Registry_TEF_NumeroLinhasImpressao(pchar(Str_Numero_Linhas_Impressao));
Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_NumeroSerieNaoFormatado("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_NumeroSerieNaoFormatado('1');
Exemplos:
Daruma Automao
Daruma Framework
106
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Chave As String Dim Str_Valor As String Str_Chave = InputBox("Entre com o indice da Chave que voc deseja habilitar o sinal sonoro ex.:Se passado 1=(BuzzerCF), 2=(BuzzerCNFV), 3=(BuzzerCNF) ou 4=(BuzzerRG)::", "Daruma Framework", "1") Str_Valor = InputBox("Entre com o nmero de beeps, podendo ser de 1 a 99 beeps:", "Daruma Framework", "1") If Str_Chave = "" Or Str_Valor = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_MFD_ProgramarSinalSonoro(Str_Chave, Str_Valor) Exemplo em Delphi 7.0: var Str_Chave:string; Str_Valor:string; begin Str_Chave := InputBox('Daruma Framework', 'Entre com o indice da Chave que voc deseja habilitar o sinal sonoro ex.:Se passado 1=(BuzzerCF), 2=(BuzzerCNFV), 3=(BuzzerCNF) ou 4=(BuzzerRG):', '1'); Str_Valor := InputBox('Daruma Framework', 'Entre com o nmero de beeps, podendo ser de 1 a 99 beeps:', '1'); if (Str_Chave = '')or(Str_Valor = '') Then Exit; Int_Retorno := Daruma_Registry_MFD_ProgramarSinalSonoro(Str_Chave,Str_Valor);
Daruma Automao
107
Daruma Framework
DARUMA TELEC. INFORMTICA S/A DARUMA TESTES AV. INDEPENDNCIA,3500 TAUBAT-SP CEP:12032-000 TEL:(12)3609-5000 CNPJ: 45.170.289/0001-25 IE: 688.023.460.111 23/12/2006 15:33:55V GNF:000018 COO:000204 GRG:000010 CER:0005 RELATRIO GERENCIAL Cupom Adicional 1)23/12/2006 15:33:41 2)CCF:000125 3)COO:000203
Daruma Automao
Daruma Framework
108
4)Qt Itens Vend:001 5)Qt Itens Canc:000 6)Tempo:00011s 7)Valor:R$ 4,90 8)Aliquotas:18,00 9)Dinheiro:R$ 4,90 10)23/12/2006 15:33:41 11)Plataf:PT14 12)Poltr:13C 13)Orig:Taubat 14)Dest:Foz do Iguau 15)Percurso:740KM 16)RG:72009528 DARUMA32 FrameWork Mensagem No Programada DARUMA32 FrameWork Mensagem No Programada DARUMA AUTOMAO FS600 ECF-IF VERSO:01.03.00 ECF:001 Lj:A-01 AAAAAAAAAAAAACIJGF 23/12/2006 15:33:57V FAB:DR0206BR000000090258
Como pode ser visto no exemplo acima, as informaes contidas no cupom adicional so: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Data e Hora da Emisso; CFF Contador Cupom Fiscal; COO Contador Ordem Operao; Qtde Itens Vendidos; Qtde de Itens Cancelados; Tempo de Impresso; Valor Total do Cupom; Alquotas usadas, menos Isento, No Tributado e Substituio Tributria; Forma de Pagamento x Valor; Reservado para uso futuro; Data e Hora Embarque; Plataforma; Poltrona; Cidade de Origem; Cidade de Destino; Percurso; RG do Passageiro.
Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_CupomAdicionalDll('1');
Daruma Automao
109
Daruma Framework
14. Cidade de Origem; 15. Cidade de Destino; 16. Percurso; 17. RG do Passageiro. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Exemplo de um cupom adicional, recuperado da MFD:
1)23/12/2006 15:33:41 2)CCF:000125 3)COO:000203 4)Qt Itens Vend:001 5)Qt Itens Canc:000 6)Tempo:00011s 7)Valor:R$ 4,90 8)Aliquotas:18,00 9)Dinheiro:R$ 4,90 10)23/12/2006 15:33:41 11)Plataf:PT14 12)Poltr:13C 13)Orig:Taubat 14)Dest:Foz do Iguau 15)Percurso:740KM 16)RG:72009528 DARUMA32 FrameWork Mensagem No Programada DARUMA32 FrameWork Mensagem No Programada DARUMA AUTOMAO FS600 ECF-IF VERSO:01.03.00 ECF:001 Lj:A-01 AAAAAAAAAAAAACIJGF 23/12/2006 15:33:57V FAB:DR0206BR000000090258 FAB:DR0206BR000000080835
Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_CupomAdicionalDllConfig('11111111111111111');
Daruma Automao
Daruma Framework
110
111
Daruma Framework
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Flag_Login As String Str_Flag_Login = InputBox("Entre com o Login:", "Daruma Framework", "PDV1") If (Str_Flag_Login = " ") Then Exit Sub Int_Retorno = Daruma_Registry_PCExpanionLogin(Str_Flag_Login) Daruma_MostrarRetorno
Exemplo em Delphi 7.0: var Str_Flag_Login: String; begin Str_Flag_Login:= InputBox('Daruma Framework','Entre com o Login:', 'PDV1'); if (Str_Flag_Login= ' ') then Exit; Int_Retorno := Daruma_Registry_PCExpanionLogin(pchar(Str_Flag_Login)); Daruma_Analisa_Retorno(); end;
Exemplo de utilizao: Suponha que voc tm um tem que custa 1,556 e a impressora esteja programada para trabalhar com 4 casas decimais na quantidade e a quantidade seja de 1,9568. Se multiplicarmos um pelo outro temos: R$:3,0447808 ao truncar a impressora deixa o valor de calcula o valor R$3,04.
Daruma Automao
Daruma Framework
112
J se observarmos na balana ou na bomba, aps arredondado o valor, obten-se o valor R$3,05. Por fazer o arredondamento, o valor no bate com o valor calculado pela impressora, mas se antes de enviar o comando de venda de tem voc passar o valor que se pretende alcanar neste mtodo, a dll ir incrementar a quantidade, de maneira a alcanar o valor passado como parmetro. No exemplo citado acima, ficaria assim: Daruma_Registry_MFDValorFinal('3,05') Daruma_FI_VendeItem('123','teste','II','F','1,9568',2,'1,556','%','0,10')
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_ValorFinal As String Str_ValorFinal = InputBox("Entre com o Valor Final:", "Daruma Framework", "00000000000000000,00") If (Str_ValorFinal = " ") Then Exit Sub Int_Retorno = Daruma_Registry_MFDValorFinal(Str_ValorFinal) Daruma_MostrarRetorno
Exemplo em Delphi 7.0: var Str_ValorFinal: String; begin Str_ValorFinal:= InputBox('Daruma Framework','Entre com o Valor Final:', '00000000000000000,00'); if (Str_ValorFinal= ' ') then Exit; Int_Retorno := Daruma_Registry_MFDValorFinal(pchar(Str_ValorFinal)); Daruma_Analisa_Retorno(); end;
113
Daruma Framework
Exemplo em Visual Basic 6.0: Dim Str_LogTamMaxMB As String Str_LogTamMaxMB = InputBox("Entre com o Tamanho Mximo que voc quer que tenha o Daruma32.log:", "Daruma Framework", "5") If (Str_LogTamMaxMB = "") Then Exit Sub End If Int_Retorno = Daruma_Registry_LogTamMaxMB(Str_LogTamMaxMB) Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_LogTamMaxMB: String; begin Str_LogTamMaxMB:= InputBox('Daruma Framework','Entre com o Tamanho Mximo que voc quer que tenha o Daruma32.log:', '5'); if (Str_LogTamMaxMB= ' ') then Exit; Int_Retorno := Daruma_Registry_LogTamMaxMB(pchar(Str_LogTamMaxMB)); Daruma_Analisa_Retorno(); end;
Daruma Automao
Daruma Framework
114
Daruma Automao
115
Daruma Framework
1.9.6
1.9.6.1
Lgica de Tratamento Cada byte composto de 8 bits. Cada bit, dentro do byte, tem um valor, conforme a tabela acima: O valor recebido da impressora para ST1(status 1) e/ou ST2(status 2) deve ser comparado com cada bit. As linhas abaixo so uma forma de voc desenvolver um pedao de cdigo para saber quais bits esto "setados":
Codificando o ST1 If St1 >= 128 Then // bit 7 St1 = St1 - 128 sMsg = "O papel acabou" End If If St1 >= 64 Then // bit 6 St1 = St1 - 64 sMsg = "O papel esta acabando" End If If St1 >= 32 Then // bit 5 St1 = St1 - 32 sMsg = "Erro no relgio da impressora" End If If St1 >= 16 Then // bit 4 St1 = St1 - 16 sMsg = "Impressora em erro" End If If St1 >= 8 Then // bit 3 Daruma Automao
Daruma Framework
116
St1 = St1 - 8 sMsg = "Primeiro dado do mtodo no foi ESC" End If If St1 >= 4 Then // bit 2 St1 = St1 - 4 sMsg = "Mtodo inexistente" End If If St1 >= 2 Then // bit 1 St1 = St1 - 2 sMsg = "Cupom fiscal aberto" End If If St1 >= 1 Then // bit 0 St1 = St1 - 1 sMsg = "Nmero de parmetro(s) invlido(s)" End If
Codificando o ST2 If St2 >= 128 Then // bit 7 St2 = St2 - 128 sMsg = "Tipo de parmetro do mtodo invlido" End If If St2 >= 64 Then // bit 6 St2 = St2 - 64 sMsg = "Memria fiscal cheia" End If If St2 >= 32 Then // bit 5 St2 = St2 - 32 sMsg = "Erro na memria RAM" End If If St2 >= 16 Then // bit 4 St2 = St2 - 16 sMsg = "Alquota no definida" End If If St2 >= 8 Then // bit 3 St2 = St2 - 8 sMsg = "Capacidade de alquotas esgotada" End If If St2 >= 4 Then // bit 2 St2 = St2 - 4 sMsg = "Este cancelamento no permitido" End If If St2 >= 2 Then // bit 1 St2 = St2 - 2 sMsg = "CNPJ/IE do Proprietrio no definidos" End If If St2 >= 1 Then // bit 0 St2 = St2 - 1 sMsg = "Mtodo no executado" End If Teste o exemplo acima com ST1 = 66, e repare que voc ter dois erros, o papel est acabando (64) e cupom aberto (2).
1.9.6.2
Daruma_FI_StatusCupomFiscal(ndice 1404)
Definio do Mtodo: Retorna o status Cupom Fiscal, se o mesmo esta Aberto ou Fechado. Parmetros do Mtodo: Varivel por refrencia com 2(dois) espaos alocados para escrita do Status. Este Mtodo retornar um dos Valores Inteiros listados Abaixo:
Daruma Automao
117
Daruma Framework
1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF.
Observaes: - Devolver 0(zero) para Cupom Fechado e 1(um) para Cupom Aberto. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(2) Int_Retorno = Daruma_FI_StatusCupomFiscal(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_StatusCupomFiscal( pchar( Str_Informacao ) );
1.9.6.3
Daruma_FI_StatusRelatorioGerencial(ndice 1405)
Definio do Mtodo: Retorna o status do Relatrio Gerencial, se o mesmo esta Aberto ou Fechado. Parmetros do Mtodo: Varivel por refrencia com 2(dois) espaos alocados para escrita do Status. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Devolver 0(zero) para Relatrio Fechado e 1(um) para Relatrio Aberto. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(2) Int_Retorno = Daruma_FI_StatusRelatorioGerencial(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_StatusRelatorioGerencial( pchar(Str_Informacao) );
1.9.6.4
Daruma_FI_StatusComprovanteNaoFiscalVinculado(ndice 1403)
Definio do Mtodo: Retorna o status do Comprovante No Fiscal Vinculado, se o mesmo esta Aberto ou Fechado. Parmetros do Mtodo: Varivel por refrencia com 2(dois) espaos alocados para escrita do Status. Este Mtodo retornar um dos Valores Inteiros listados Abaixo:
Daruma Automao
Daruma Framework
118
1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Devolver 0(zero) para Vinculado Fechado e 1(um) para Vinculado Aberto. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(2) Int_Retorno = Daruma_FI_StatusComprovanteNaoFiscalVinculado(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_StatusComprovanteNaoFiscalVinculado( pchar(Str_Informacao) );
1.9.6.5
Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado(ndice 1471)
Definio do Mtodo: Retorna o status do Comprovante No Fiscal No Vinculado, se o mesmo esta Aberto ou Fechado. Parmetros do Mtodo: Varivel por refrencia com 2(dois) espaos alocados para escrita do Status. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Devolver 0(zero) para Recebimento Fechado e 1(um) para Recebimento Aberto. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(2) Int_Retorno = Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado( pchar(Str_Informacao) );
1.9.6.6
Daruma_FI_VerificaImpressoraLigada(ndice 1400]
Definio do Mtodo: Verifica se a impressora est ligada ou conectada no computador. Parmetros do Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF
Daruma Automao
119
Daruma Framework
sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_VerificaImpressoraLigada() If Int_Retorno = 1 Then TX_Retorno.Text = " 1 - Impressora Ligada !!!" Else TX_Retorno.Text = " 0 - Impressora Desligada !!!" End If Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_VerificaImpressoraLigada(); If Int_Retorno = 1 Then Edit1.Lines.Text:= (' 1 - Impressora Ligada !!') else Edit1.Lines.Text:= (' 0 - Impressora Desligada !!');
1.9.6.7
Daruma_FI_VerificaModeloECF(ndice 1469)
Definio do Mtodo: Retorna no Int_Retorno com Modelo do ECF, conforme lista abaixo. 1 2 3 4 Valores Retornados no Int_Retorno: - FS345 - Impressora de varejo. - FS318 - Impressora para restaurantes. - FS2000 - Impressora de duas estaes. - FS600 - MFD (trmica) - Impressora de varejo .
Parmetros do Mtodo: No H. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_VerificaModeloECF() TX_Retorno.Text = Int_Retorno Int_MostrarRetorno Exemplo em Delphi 7.0: var Int_Informacao: Integer; begin Int_Retorno := Daruma_FI_VerificaModeloECF(); Edit1.Lines.Text := IntToStr(Int_Informacao);
1.9.6.8
Daruma_FI_VerificaHorarioVerao(ndice 1500)
Definio do Mtodo: Retorna se o relgio da impressora est em horrio de vero. 0 - Relgio da Impressora no programado para horrio de vero. 1 - Relgio da Impressora programado para horrio de vero. Parmetros do Mtodo: Varivel por refrencia com 2(dois) espaos alocados para escrita do Status. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF.
Daruma Automao
Daruma Framework
120
Observaes: - A programao do horrio de vero ser realizada somente aps uma ReduoZ. Para desprogramar, o Mtodo somente ser aceito, 1 (uma) hora aps a ReduoZ e no pode ter havido movimento na impressora nesse perodo. - Voc poder deixar a entrada e sada do horrio de vero automatizada. Para isso basta seguir as instrues abaixo: 1. Entre no registry no seguinte path: HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF; 2. Sete o flag ControlaHorarioVerao para 1(um); 3. Insira uma data vlida no flag:DataEntradaHorarioVerao ex.:091205; 4. Insira uma data vlida no flag:DataSaidadaHorarioVerao ex.:091205. Dessa maneira conforme voc programou a Daruma32.dll quando verificar que chegou a data prevista em sua programao, ir fazer o ajuste automaticamente, tanto para a entrada quanto para a sada do mesmo. Importante: Para que a sada do horrio de vero seja aceita, fundamental que a ReduoZ que antecede a data de sada do horrio de vero seja feita ao final do perodo do dia anterior ao retorno ao horrio normal. Exemplificando melhor: se o horrio de vero for terminar no dia 100306, ento a ReduoZ do dia 090306 deve ter sido emitida ainda no dia 090306.
Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(2) Int_Retorno = Daruma_FI_VerificaHorarioVerao(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_VerificaHorarioVerao(Str_Informacao); Edit1.Text := (Str_Informacao);
1.9.6.9
Daruma_FI_VerificaDiaAberto(ndice 1484)
Definio do Mtodo: Retorna se a o dia est aberto. 1(um) Se o dia estiver Aberto e 0(zero) Se o dia estiver Fechado. Parmetros do Mtodo: Varivel por refrencia com 2(dois) espaos alocados para escrita do Status. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observao: - Na FS600 e FS2100T ir retornar Dica: Se voc executar este mtodo aps a 0:00 (meia noite), e ainda no tiver efetuado a ReduoZ (a impressora permite que voc faa a ReduoZ at s 2 da manh), este mtodo ir retornar 0(zero). Chame o mtodo Daruma_FI_DataMovimento, e se voc receber a data do movimento atual e no 6(seis) bytes zerados, porque voc ainda esta com o dia aberto e ainda poder enviar comandos de venda at que o ECF sinalize ReduoZ Pendente.
Exemplos:
Daruma Automao
121
Daruma Framework
Exemplo em Visual Basic 6.0: Str_Informacao = Space(2) Int_Retorno = Daruma_FI_VerificaDiaAberto(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_VerificaDiaAberto(Str_Informacao); Edit1.Text := (Str_Informacao);
Daruma Framework
122
TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_VerificaXPendente(Str_Informacao); Edit1.Text := (Str_Informacao);
Daruma Automao
123
Daruma Framework
Observaes: - Este Mtodo retorna as informaes das formas de pagamento na seguinte ordem: Descrio da forma de pagamento.....................: 16 bytes + 1 carctere Separador, conforme configurado no Registry com o Mtodo Daruma_Registry_Separador. - So retornadas 16 formas de pagamento : Ticket ,Dinheiro ,Cartao ,A vista ,TEF ,Teste1 ,Teste2 ,Pagamento Tipo H,Pagamento Tipo I,Pagamento Tipo J,Pagamento Tipo K,Pagamento Tipo L,Pagamento Tipo M,Pagamento Tipo N,Pagamento Tipo O,Pagamento Tipo P, - A impressora permite programar at 16 formas de pagamento, as formas que no estiverem programadas estaro com os valores zerados e a descrio em branco (veja Exemplos acima). Para programar as formas de pagamento utilize o mtodo :Daruma_FI_ProgramaFormasPagamento(ndice 301). Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(275) Int_Retorno = Daruma_FI_VerificaDescricaoFormasPagamento(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,275); Int_Retorno := Daruma_FI_VerificaDescricaoFormasPagamento(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
124
+ 1 carctere Separador, conforme configurado no Registry com o Mtodo Daruma_Registry_Separador. - So retornadas16 formas de pagamento mais a forma "Valor Recebido" e "Troco" obedecendo a ordem descrita anteriormente. As formas de pagamento so separadas por vrgula. Veja Exemplos a seguir: Ticket Dinheiro Cartao A vista TEF Teste1 Teste2 0000000000000000000000000000000000000000, 0000000000000002000000000000000000010000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, 0000000000000000000000000000000000000000, Valor Recebido 0000000000000002000000000000000000010000, Troco 0000000000000001945000000000000000009725, - A impressora permite programar at 16 formas de pagamento, as formas que no estiverem programadas estaro com os valores zerados e a descrio em branco (veja Exemplos acima). Para programar as formas de pagamento utilize o mtodo:Daruma_FI_ProgramaFormasPagamento(ndice 301). Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(1000) Int_Retorno = Daruma_FI_VerificaFormasPagamentoEx(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,1027); Int_Retorno := Daruma_FI_VerificaFormasPagamentoEx(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
125
Daruma Framework
Exemplo em Visual Basic 6.0: Dim Int_Estado_Ack As Integer Dim Int_Estado_St1 As Integer Dim Int_Estado_St2 As Integer Int_Estado_Ack = 0 Int_Estado_St1 = 0 Int_Estado_St2 = 0 Int_Retorno = Daruma_FI_VerificaEstadoImpressora(Int_Estado_Ack, Int_Estado_St1, Int_Estado_St2) TX_Retorno.Text = " Ack=" + CStr(Int_Estado_Ack) + " St1=" + CStr(Int_Estado_St1) + " St2=" + CStr(Int_Estado_St2) Exemplo em Delphi 7.0: var Int_Daruma_ACK: Integer; Int_Daruma_ST1: Integer; Int_Daruma_ST2: Integer; begin Int_Daruma_ACK := 0; Int_Daruma_ST1 := 0; Int_Daruma_ST2 := 0; Int_Retorno:= Daruma_FI_VerificaEstadoImpressora( Int_Daruma_ACK, Int_Daruma_ST1, Int_Daruma_ST2 ); Edit1.Lines.Text := (' ACK=' + IntToStr(Int_Daruma_ACK) + ' ST1=' + IntToStr(Int_Daruma_ST1) + ' ST2=' + InttoStr(Int_Daruma_ST2));
Exemplo em Visual Basic 6.0: Str_Informacao = Space(79) Int_Retorno = Daruma_FI_VerificaAliquotasIss(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,79); Int_Retorno := Daruma_FI_VerificaAliquotasIss(Str_Informacao);
Daruma Automao
Daruma Framework
126
Daruma Automao
127
Daruma Framework
- Nas impressoras FS600(MFD) e FS2100T(MFD) s retornar 15 caracteres da descrio, isso porqu o mximo de caracteres que permito na descrio, fica limitado a 15. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(300) Int_Retorno = Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,300); Int_Retorno := Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
128
-27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo retorna as informaes para os 50 totalizadores no fiscais no vinculados na seguinte ordem: Valor indicando quantas vezes cada recebimento foi utilizado: 4 bytes Valor acumulado para cada recebimento (2 casas decimais)....: 20 bytes 000100000000000000001000Conta de Luz ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 - A impressora permite programar at 50 totalizadores no fiscais no vinculados, os totalizadores que no estiverem programados estaro com os valores zerados e a descrio em branco (veja Exemplos acima). Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(2200) Int_Retorno = Daruma_FI_VerificaRecebimentoNaoFiscal(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2200); Int_Retorno := Daruma_FI_VerificaRecebimentoNaoFiscal(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
129
Daruma Framework
0 - Impressora programada para Arredondar. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Dispensasse o uso deste mtodo nos seguintes modelos de impressoras: - FS600 MFD; - FS2000; - FS2000T. Isso porque as impressoras citadas acima s truncam e isto esta presvito no convnio 85/01. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(2) Int_Retorno = Daruma_FI_VerificaTruncamento(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_VerificaTruncamento(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
130
if Str_Informacao = '1' Then begin Edit1.Lines.Text := (' 1 - Impressora em Modo Operacional !!'); end else begin Edit1.Lines.Text := (' 0 - Impressora em Modo de Intervencao Tecnica !!'); end;
Daruma Automao
131
Daruma Framework
Daruma Automao
Daruma Framework
132
Daruma Automao
133
Daruma Framework
Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_RegistraNumeroSerie() Exemplo em Delphi 7.0: Int_Retorno:= Daruma_FI_RegistraNumeroSerie();
Daruma Automao
Daruma Framework
134
Daruma Automao
135
Daruma Framework
Exemplo em Visual Basic 6.0: Str_Informacao = Space(4) Int_Retorno = Daruma_FI_VersaoFirmware(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FI_VersaoFirmware(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
136
sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Quando este mdodo e execudado antes do cupom ser aberto, ento o nmero retornado e o do prximo cupom. - Quando este mtodo e executado com o cupom aberto, ento ser retornado o nmero do cupom enm aberto. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(6) Int_Retorno = Daruma_FI_NumeroCupom(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,6); Int_Retorno := Daruma_FI_NumeroCupom(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
137
Daruma Framework
Daruma Automao
Daruma Framework
138
Daruma Automao
139
Daruma Framework
Daruma Automao
Daruma Framework
140
Daruma Automao
141
Daruma Framework
Int_Retorno := Daruma_FI_DataHoraImpressora(Str_Data, Str_Hora ); Edit1.Lines.Text := Pchar(' Data: ' + Str_Data + ' Hora: ' + Str_Hora);
Exemplos:
Daruma Automao
Daruma Framework
142
Exemplo em Visual Basic 6.0: Dim Str_Data_Mov As String Str_Data_Mov = Space(6) Int_Retorno = Daruma_FI_DataMovimento(Str_Data_Mov) TX_Retorno.Text = " Data:" + Str_Data_Mov Exemplo em Delphi 7.0: var Str_Data_Mov: String; begin SetLength (Str_Data_Mov,6); Int_Retorno := Daruma_FI_DataMovimento(Str_Data_Mov); Edit1.Lines.Text := (' Data: ' + Str_Data_Mov);
Daruma Automao
143
Daruma Framework
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Inicio com S significa que ISS. - Inicio com T significa que ICMS. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(300) Int_Retorno = Daruma_FI_LerAliquotasComIndice(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,300); Int_Retorno := Daruma_FI_LerAliquotasComIndice(Str_Informacao); Edit1.lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
144
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: Este mtodo deve ser executado imediatamente aps o dia fiscal ter sido iniciado. Este mtodo no deve ser utilizado aps o dia fiscal ter sido iniciado. Para pegar a venda bruta aps cada cupom utilize o mtodo:Daruma_FI_VendaBruta(ndice 1490).
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,20); Int_Retorno := Daruma_FI_VendaBrutaAcumulada(Str_Informacao ); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
145
Daruma Framework
casas decimais. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(14) Int_Retorno = Daruma_FI_Descontos(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,14); Int_Retorno := Daruma_FI_Descontos(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Definio do Mtodo: Retorna a valor acumulado dos acrescimos. Parmetros do Mtodo: Descontos: Varivel por refrencia com 14(quatorze) posies para receber o valor dos descontos com 2 casas decimais. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observao: - Este mtodo s ir retornar valores, se a impressora for uma FS600 ou uma FS2100T. Portanto no retornar acrscimos na FS345. - No armazenado o valor dos acrscimos (IOF), na MF do ECF FS345, porque a FS345 foi homologada em um convnio que no exigia que se armazenasse os acrscimos. Assim sendo o valor retornado ser sempre 00000000000000. - Este mtodo ir retornar o valor acumulado dos acrescimos, somente na impressoras FS600 e FS2100T Trmicas, quando houver.
Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(14) Int_Retorno = Daruma_FI_Descontos(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,14); Int_Retorno := Daruma_FI_Descontos(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
146
Daruma Automao
147
Daruma Framework
Observao: O campo Data de Impresso, ir conter a data de impresso, somente quando for uma FS345, quando for uma FS600 ou 2100T, a data retornada ser a data do movimento. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(631) Int_Retorno = Daruma_FI_DadosUltimaReducao(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,631); Int_Retorno := Daruma_FI_DadosUltimaReducao(Str_Informacao); Edit1.lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
148
-27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(14) Int_Retorno = Daruma_FI_SubTotal(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,14); Int_Retorno := Daruma_FI_Subtotal(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
149
Daruma Framework
sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(18) Int_Retorno = Daruma_FI_SaldoAPagar(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,18); Int_Retorno := Daruma_FI_SaldoAPagar(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
150
Observaes: - Valor pago no ltimo cupom diferente do valor total do cupom. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(14) Int_Retorno = Daruma_FI_ValorPagoUltimoCupom(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,14); Int_Retorno := Daruma_FI_ValorPagoUltimoCupom(Str_Informacao); Edit1.lines.Text := (Str_Informacao);
Daruma Automao
151
Daruma Framework
Pagamento que deseja retornar o seu valor. - Valor: Varivel por refrencia com 14(quatorze) posies para receber o total acumulado. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao_Forma As String Dim Str_Valor_Forma As String Str_Descricao_Forma = Space(16) Str_Valor_Forma = Space(14) Str_Descricao_Forma = InputBox("Entre com a Forma de Pagamento a ser consultada:", "Daruma Framework", "Dinheiro") Int_Retorno = Daruma_FI_ValorFormaPagamento(Str_Descricao_Forma, Str_Valor_Forma) TX_Retorno.Text = Str_Descricao_Forma + " = " + Str_Valor_Forma Exemplo em Delphi 7.0: var Str_Descricao_da_Forma: String; Str_Valor_da_Forma: String; begin SetLength (Str_Descricao_da_Forma,16); SetLength (Str_Valor_da_Forma,14); Str_Descricao_da_Forma := InputBox('Entre com a Forma de Pagamento a ser consultada:', 'Daruma Framework', 'Dinheiro'); if Str_Descricao_da_Forma = '' Then Exit; Int_Retorno := Daruma_FI_ValorFormaPagamento((Str_Descricao_da_Forma),(Str_Valor_da_Forma)) ; Edit1.Lines.Text := (pchar(Str_Descricao_da_Forma + ' = ' + Str_Valor_da_Forma));
Daruma Automao
Daruma Framework
152
Str_Valor_do_Totalizador: String; begin SetLength (Str_Totalizador_Nao_Fiscal,19); SetLength (Str_Valor_do_Totalizador,14); Str_Totalizador_Nao_Fiscal := InputBox('Entre com a Descricao do Totalizador a ser consultado:', 'Daruma Framework', 'Conta de Luz'); Int_Retorno := Daruma_FI_ValorTotalizadorNaoFiscal((Str_Totalizador_Nao_Fiscal),(Str_Valor_do_Totalizador) ); Edit1.Lines.Text := pchar(Str_Totalizador_Nao_Fiscal + ' = ' + Str_Valor_do_Totalizador);
Daruma Automao
153
Daruma Framework
1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplo: Se o ltimo documento emitido tiver sido uma ReduoZ ento o retorno ser este:LRZ Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(3) Int_Retorno = Daruma_FI_TipoUltimoDocumento(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FI_TipoUltimoDocumento(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
154
- Aps a linha "Substituio Tributria" sero gravadas as informaes de vendas referente as alquotas de ICMS. Portanto, o nmero de linhas ir variar de acordo com o nmero de alquotas de ICMS cadastradas na impressora. - As informaes contidas no mapa resumo sero referentes aos dados da ltima reduo Z, portanto, para gerar o mapa resumo referente ao movimento do dia voc deve executar essa funo aps a reduo Z, caso contrrio o mapa resumo ser gerado com as informaes referente ao movimento do dia anterior, para isso voc mesmo podera efetuar a Reduo ZDaruma_Registry_ZAutomatica configurando a Chave para o Valor 1(um). Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_MapaResumo() Shell "notepad C:\retorno.txt", vbMaximizedFocus Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_MapaResumo(); WinExec('c:\windows\NOTEPAD.EXE C:\retorno.txt',SW_SHOWNORMAL);
Daruma Automao
155
Daruma Framework
- Aps a linha "N..." sero gravadas as informaes de vendas referentes s alquotas tributrias. Portanto, o nmero de linhas ir variar de acordo com o nmero de alquotas cadastradas na impressora. - As informaes contidas no relatrio Tipo 60 Analtico so referentes aos dados da ltima Reduo Z. Portanto, para gerar o relatrio referente ao movimento do dia voc deve executar esse mtodo aps a Reduo Z, caso contrrio as informaes geradas sero referentes ao movimento do dia anterior, para isso voc mesmo podera efetuar a Reduo Z configurando Daruma_Registry_ZAutomatica o a Chave para o Valor 1(um). Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_RelatorioTipo60Analitico() Shell "notepad C:\retorno.txt", vbMaximizedFocus Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_RelatorioTipo60Analitico(); WinExec('c:\windows\NOTEPAD.EXE C:\retorno.txt',SW_SHOWNORMAL);
Tipo do relatrio.........: Subtipo...................: Data de emisso...........: Nmero de srie...........: Nmero do equipamento.....: Modelo do documento fiscal: COO inicial...............: M
60
Daruma Automao
Daruma Framework
156
COO final.................: Contador de redues......: Reinicio de Operacao......: Venda Bruta...............: Totalizador geral.........:
- As informaes contidas no relatrio Tipo 60 Mestre so alimentadas pelo Mtodo Daruma_FI_AberturaDoDia e pelo outro Mtodo Daruma_FI_FechamentoDoDia: e (veja esses mtodos para maiores informaes). O Mtodo Daruma_FI_RelatorioTipo60Mestre deve ser executado aps Daruma_FI_FechamentoDoDia() e o mtodo ou aps a Reduo Z (caso a reduo tenha sido executada automaticamente pela impressora). Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_RelatorioTipo60Mestre() Shell "notepad C:\retorno.txt", vbMaximizedFocus Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_RelatorioTipo60Mestre(); WinExec('c:\windows\NOTEPAD.EXE C:\retorno.txt',SW_SHOWNORMAL);
Daruma Automao
157
Daruma Framework
Exemplo em Delphi 7.0: var Int_Informacao: Integer; begin Int_Informacao:= 0; Int_Retorno := Daruma_FI_FlagsFiscais( Int_Informacao ); Edit1.Lines.Text := IntToStr(Int_Informacao);
Para Analisar Cada Byte Siga a Seguinte Tabela Abaixo: Bit Descrio de S1 b3 0 = Gaveta do caixa fechada 1 = Gaveta do caixa aberta b2 0 = Impressora operacional 1 = Impressora em falha mecnica b1 0 = Documento posicionado para autenticao 1 = Sem documento em posio de autenticao b0 0 = Papel presente 1 = Fim da bobina de papel Bit Descrio de S2 b3 0 = Impressora On Line 1 = Impressora Off Line b2 0 = Perifrico conectado na Interface Auxiliar 1 = Nenhum perifrico conectado b1 0 = No h reduo Z pendente 1 = Reduo Z do perodo anterior ainda pendente b0 0 = Near End no detectado 1 = Detectado proximidade de Fim de Papel Bit Descrio de S3 b3 0 = Impressora em modo manuteno 1 = Impressora em modo operao b2 0 = Sensor de autenticao desabilitado 1 = Sensor de autenticao ativo
Daruma Automao
Daruma Framework
158
b1 b0
0 1 0 1
= = = =
Guilhotina desabilitada Guilhotina habilitada Fechamento automtico de C.F. desabilitado Fechamento automtico de C.F. habilitado
Bit Descrio de S4 b3 0 = Relatrio gerencial no aberto 1 = Relatrio gerencial aberto b2 0 = Cupom Fiscal no aberto 1 = Cupom Fiscal aberto b1 0 = Buffer de comunicao no vazio 1 = Buffer de comunicao vazio b0 0 = Impresso encerrada 1 = Impresso em andamento Bit Descrio de S5 b3 0 = Jumper de operao instalado 1 = Jumper de operao removido (deslacrado) b2 0 = Impressora operacional 1 = Impressora em Erro Fiscal (bloqueada) b1 0 = MF presente 1 = MF ausente ou no inicializada b0 0 = Modo normal 1 = Modo treinamento Bit Descrio de S6 b3 0 = Configurao da IF habilitada 1 = Configurao da IF inibida at a prxima Reduo Z b2 0 = Leitura X do incio do dia ainda no emitida 1 = Leitura X do incio do dia j emitida b1 0 = Impressora em operao 1 = Reduo Z de hoje j emitido (IF travada at 0h) b0 0 = Fita detalhe OK 1 = Fim do papel da fita detalhe Bit Descrio de S7 b3 Sempre b Sempre b1 Sempre b0 Sempre
Bit Descrio de S8 b3 Sempre zero b2 Sempre zero b1 0 = No ocorreu queda de energia 1 = Ocorreu queda de energia b0 0 = Impresso encerrada 1 = Impresso em andamento ou pendente Bit Descrio de S9 b3 Sempre zero b2 Sempre zero b1 Sempre zero b0 0 = Totalizadores Fiscais OK 1 = Erro nos totalizadores fiscais Bit Descrio de S10 b3 0 = MF OK 1 = Erro na Leitura da MF ou MF substituda b2 0 = Gravao da MF OK 1 = Erro na gravao da MF b1 0 = Relgio interno OK 1 = Erro no relgio interno b0 0 = Clich do proprietrio OK 1 = Clich do proprietrio danificado
Daruma Automao
159
Daruma Framework
Bit Descrio de S11 b3 Sempre zero b Sempre zero b1 Sempre zero b0 Sempre zero Valor Descrio de S12 0 Impressora OK 1 Falha no tacogerador 2 Falha no sensor de margem 4 Falha de guilhotina 5 Firmware invlido Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(12) Int_Retorno = Daruma_FI_PalavraStatus(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,12); Int_Retorno := Daruma_FI_PalavraStatus(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
160
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_FlagsFiscaisStr( Str_Informacao ); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
161
Daruma Framework
Global Int_St2 As Integer Global Str_ErroExtendido As String Public Function Daruma_MostrarRetorno() Int_Ack = 0 Int_St1 = 0 Int_St2 = 0 Daruma_FI_RetornoImpressora Int_Ack, Int_St1, Int_St2 Str_ErroExtendido = Space(4) Daruma_FI_RetornaErroExtendido Str_ErroExtendido MsgBox "Retorno do Mtodo = " + CStr(Int_Retorno) + Chr(13) + Chr(10) _ + "Ack = " + CStr(Int_Ack) + Chr(13) + Chr(10) _ + "St1 = " + CStr(Int_St1) + Chr(13) + Chr(10) _ + "St2 = " + CStr(Int_St2) + Chr(13) + Chr(10) _ + "Erro Extendido = " + Str_ErroExtendido, , "Daruma Framework Retorno do Mtodo" End Function Exemplo em Delphi 7.0: Var Daruma_ACK,Daruma_ST1,Daruma_ST2:Integer; begin Daruma_Ack := 0; Daruma_ST1 := 0; Daruma_ST2 := 0; Int_Retorno:= Daruma_FI_RetornoImpressora( Daruma_ACK, Daruma_ST1, Daruma_ST2 );
Daruma Automao
Daruma Framework
162
20 No existem campos que requerem atualizao 21 Detectado proximidade do final da bobina de papel 22 Cupom de Reduo Z j foi emitido. IF inoperante at 0:00h do prximo dia 23 Reduo Z do perodo anterior ainda pendente. IF inoperante 24 Valor de desconto ou acrscimo invlido (limitado a 100%) 25 Carctere invlido foi encontrado nos Parmetros do Mtodos 26 Mdoto no pode ser executado 27 Impressora fora de Linha/Nenhum perifrico conectado a interface auxiliar 28 Foi encontrado um campo em zero 29 Documento anterior no foi Cupom Fiscal. No pode emitir Cupom Adicional 30 Acumulador No Fiscal selecionado no vlido ou no est disponvel 31 No pode autenticar. Excedeu 4 repeties ou no permitida nesta fase 32 Cupom adicional inibido por configurao 35 Relgio Interno Inoperante 36 Verso do firmware gravada na Memria Fiscal no a esperada 37 Alquota de imposto informada j est carregada na memria 38 Forma de pagamento selecionada no vlida 39 Erro na seqncia de fechamento do Cupom Fiscal 40 IF em Jornada Fiscal. Alterao da configurao no permitida 41 Data invlida. Data fornecida inferior ltima gravada na Memria Fiscal 42 Leitura X inicial ainda no foi emitida 43 No pode emitir Comprovante Vinculado 44 Cupom de Oramento no permitido para este estabelecimento(Mensagem do Aplicativo No Programada) 45 Campo obrigatrio em branco 48 No pode estornar 49 Forma de pagamento indicada no encontrada 50 Fim da bobina de papel 51 Nenhum usurio cadastrado na MF 52 MF no instalada ou no inicializada 56 Documento j aberto 61 Queda de energia durante a emisso de Cupom Fiscal 75 Operao com ISS no permitida (se a sua impressora for uma FS600 ou FS2100T, ento ser preciso ter uma inscrio municipal gravada em sua impressora para que seja possvel programar/utilizar alquota de servio). 76 Desconto em ISS no permitido neste ECF (a programao dever ser feita por meio de interveno tcnica e caso o Estado permita) 77 Acrscimo em IOF inibido 80 Perifrico na interface auxiliar no pode ser reconhecido 81 Solicitado preenchimento de cheque de banco desconhecido 82 Solicitado transmisso de mensagem nula pela interface auxiliar 83 Extenso do cheque no cabe no espao disponvel 84 Erro na comunicao com a interface auxiliar 85 Erro no dgito verificador durante comunicao com a PertoCheck 86 Falha na carga de geometria de folha de cheque 87 Parmetros do Mtodo: invllido para o campo de data do cheque 90 Sequncia de validao de nmero de srie invlida 180 Mensagem do aplicativo no programada. (Esta mensagem no opcional e sim uma exigncia da legislao e dever ser programada para que o ECF seja liberado para a emisso de documentos fiscais. Para programar a mensagem use os mtodos:Daruma_Registry_AplMensagem1(ndice 36) e mtodo:Daruma_Registry_AplMensagem2(ndice 37). 181 No possivel realizar Reduo Z entre 00:00am e 02:00am (Meia Noite e Duas da Manh) nesta verso de firmware da FS600 (est limitao existe nas verses 1.1 pra baixo.
Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(4) Int_Retorno = Daruma_FI_RetornaErroExtendido(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin
Daruma Automao
163
Daruma Framework
Daruma Automao
Daruma Framework
164
Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(4) Int_Retorno = Daruma_FI_RetornaCLX(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,4);
Daruma Automao
165
Daruma Framework
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,304); Int_Retorno := Daruma_FI_RetornaCNFNV(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
Daruma Framework
166
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo retorna os 16 Totalizadodes No Fiscais Vinculados (CNFV) na seguinte Ordem 16 Blocos composto de: 14 bytes. Valor Acumulado no Comprovante No Fiscal Vinculado..........: 14 bytes Contador deste Comprovante indicando a quant. de vezes utilizado.: 4 bytes + 1 carctere Separador, conforme configurado no Registry com o Mtodo Daruma_Registry_Separador. Retorno do Mtodo: 000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000 000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000, 000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000 000000000,000000000000000000,000000000000000000, Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(304) Int_Retorno = Daruma_FI_RetornaCNFV(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,304); Int_Retorno := Daruma_FI_RetornaCNFV(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
167
Daruma Framework
Daruma Automao
Daruma Framework
168
Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(14) Int_Retorno = Daruma_FI_RetornaCancelamentoNF(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,14); Int_Retorno := Daruma_FI_RetornaCancelamentoNF(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
169
Daruma Framework
Daruma Automao
Daruma Framework
170
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FI_RetornaTempoImprimindo(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Definio do Mtodo: Retona o Tempo em que esteve Ligada (tempo em Minutos) Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 4(quatro) posies para receber o tempo em que a impressora permaneceu ligada. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(4) Int_Retorno = Daruma_FI_RetornaTempoLigado(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FI_RetornaTempoLigado(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
171
Daruma Framework
Definio do Mtodo: Retorna o Total contabilizado em Reais nas 16 Formas de Pagamento do ECF. Retorna em Blocos de 14 dgitos o valor acumulado de cada forma de pagamento. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 304(trezentas e quatro) posies para receber os totais acumulados nas formas de pagamento que foram utlizadas no perodo. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este Mtodo retorna o Valor das 14 Formas de Pagamento na seguinte Ordem 16 Blocos composto de: Valor Acumulado na Forma de Pagamento.........: 14 bytes + 1 carctere Separador, conforme configurado no Registry com o Mtodo Daruma_Registry_Separador. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(304) Int_Retorno = Daruma_FI_RetornaTotalPagamentos(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,304); Int_Retorno := Daruma_FI_RetornaTotalPagamentos(Str_Informacao); Edit1.Lines.Text := (pchar(Str_Informacao));
Daruma Automao
Daruma Framework
172
var Str_Informacao: String; begin SetLength (Str_Informacao,14); Int_Retorno := Daruma_FI_RetornaTroco(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
173
Daruma Framework
CAMPO
Tamanho
Separador
Tamanho ToTal
COO Inicial COO Final Contador Geral No Fiscal Nmero de Cupons Fisca Cancelado Nmero de Cupom NFiscal Cancelado Contador de Leitura X Efetuada Zeros Para Uso Futuro Contador de Reinicio de Operao Contador de Reduo Z Reduo Z Restante Total de Cada Forma de Pagamento (16 Formas de Pagamento com 14 Posies cada uma, indicando o Valor Acumulado at o momento) Troco Acumulado
5 5 6 4 4 4 4 4 4 4 16 * 14
1 1 1 1 1 1 1 1 1 1 1
6 Pocies 6 Posies 7 Posies 5 Posies 5 Posies 5 Posies 5 Posies 5 Posies 5 Posies 5 Posies 225 Posies
14
15 Posies
Contador de Uso e Valor Acumulado dos Comprovantes No Fiscais No Vinculado ( 16 Totalizadores, cada um deles com 16 *( 14 + 14 Posies indicando o Valor 4) Acumulado + 4 Posies indicando a Quantidade de Vezes em que foi Utilizado) Valor de Desconto No Fiscal 14 Acrescimo No Fiscal Cancelamento No Fiscal 14 14
289 Posies
1 1 1
Contador de Uso e Valor Acumulado dos Comprovantes No Fiscais Vinculado ( 16 Totalizadores, cada um deles com 16 *( 14 + 14 Posies indicando o Valor 4) Acumulado + 4 Posies indicando a Quantidade de Vezes em que foi Utilizado) Tempo do ECF Ligada (em 4 Minutos) Tempo do ECF Imprimindo Zeros Para Uso Futuro Zeros Para Uso Futuro 4 10 10 Exemplos:
289 Posies
1 1 1 1
Exemplo em Visual Basic 6.0: Str_Informacao = Space(950) Int_Retorno = Daruma_FI_RetornaRegistradoresNaoFiscais(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin
Daruma Automao
Daruma Framework
174
GT Inicial (Grande Total do Comeo do DIA) Valor dos Descontos Valor dos Cancelamentos Valor dos Isentos ( II ) Valor dos No Incidentes ( NN ) Valor da Substituio ( FF ) Valor de Cada Aliquota (16 Aloquotas com 14 Posies cada uma indicando o Valor Acumulado em Cada uma delas) Acrescimo IOF (Imposto Operao Financeira)
18 14 14 14 14 14 16*14
1 1 1 1 1 1 1
14
15 Posies
Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(400) Int_Retorno = Daruma_FI_RetornaRegistradoresFiscais(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,400); Int_Retorno := Daruma_FI_RetornaRegistradoresFiscais(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
Daruma Automao
175
Daruma Framework
Parmetros do Mtodo: String: com o ndice do Comprovante No Fiscal, que se deseja saber o total acumulado. String: com 14(quatroze) posies onde a dll ir retornar o valor acumulado do TOTALIZADOR indicado. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Indice_CNF As String Str_Informacao = Space(14) Str_Indice_CNF = InputBox("Entre com o ndice do Comprovante No Fiscal para saber o Total Acumulado:", "Daruma Framework", "03") Int_Retorno = Daruma_FI_RetornaValorComprovanteNaoFiscal(Str_Indice_CNF, Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Indice_CNF: String; Str_Informacao: String; begin SetLength (Str_Informacao,14); Str_Indice_CNF := InputBox('Entre com o Indice do Comprovante Nao Fiscal para saber o Total Acumulado:', 'Daruma Framework', '03'); Int_Retorno := Daruma_FI_RetornaValorComprovanteNaoFiscal(Str_Indice_CNF, Str_Informacao); Edit1.Lines.Text:= (pchar(Str_Informacao));
Daruma Automao
Daruma Framework
176
1.10
Daruma Automao
177
Daruma Framework
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Inicial As String Dim Str_Final As String Str_Inicial = (TX_Inicial.Text) Str_Final = (TX_Final.Text) Int_Retorno = Daruma_FIMFD_DownloadDaMFD(Str_Inicial, Str_Final) Exemplo em Delphi 7.0: var Str_Inicial: String; Str_Final: String; begin Str_Inicial := Trim(Tx_Inicial.Text); Str_Final := Trim(Tx_Final.Text); Int_Retorno := Daruma_FIMFD_DownloadDaMFD( pchar( Str_Inicial ), pchar( Str_Final ) ); end;
Daruma Automao
Daruma Framework
178
Exemplo: Para receber o nmero de casas decimais que esto programadas para o valor. Varivel String por referncia com 2(dois) espaos alocados para receber o numero de decimais do valor. Varivel String por referncia com 2(dois) espaos alocados para receber o numero de decimais da quantidade. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF.
Exemplos: Exemplo em Visual Basic 6.0: 'Este trecho de cdigo exemplifica o retorno das decimais do valor, quantidade Dim Str_Indice As String Dim Str_Valor As String Dim Int_Tamanho As Integer Int_Tamanho = (CInt(TX_Tamanho.Text) + 1) Str_Indice = TX_Indice.Text Str_Valor = TX_Valor.Text Str_Valor = Space(Int_Tamanho) TX_Valor.Text = "" TX_Valor.Text = Str_Valor Int_Retorno = Daruma_FIMFD_RetornaInformacao(Str_Indice, Str_Valor) //Este trecho de cdigo exemplifica o retorno das decimais do valor, quantidade Exemplo em Delphi 7.0: var Str_Indice: String; Str_Valor: String; Int_Tamanho: Integer; begin Int_Tamanho := StrToInt(Tx_Tamanho.Text) + 1; Str_Indice := Tx_Indice.Text; setlength( Str_valor, Int_Tamanho); Int_Retorno := Daruma_FIMFD_RetornaInformacao( Str_Indice, Str_Valor ); Memo_Valor.Lines.Clear; Memo_Valor.Lines.Append(Str_Valor); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Tipo
N N N
Informao
GT Grande Total GT Do incio do dia T01 a T16 + F1 + F2+ I1 + I2 + N1 + N2 + FS1 + FS2 + IS1 +IS2 + NS1
N N
Totalizadores de Descontos + Acrscimos + Cancelamentos ICMS Totalizadores de Descontos + Acrscimos + Cancelamentos ISS
179
Daruma Framework
6 7 8 9
20 X 13 13 13 19 x 13
N N N N N
Totalizador de Meios de Pagamento 01 a 20 Totalizador de Troco Totalizador No - Fiscal de Sangria Totalizadores No - Fiscais 02 a 20 Totalizadores de Descontos + Acrscimos + Cancelamentos No
10 3 x 13 Fiscais 11 13 12 13 13 13 14 13 15 13 16 13 17 13 18 13 19 13 20 3 + 4 + 4
N N N N N N N N N N
Totalizador de Descontos ICMS Totalizador de Acrscimos ICMS Totalizador de Cancelamentos ICMS Totalizador de Descontos ISS Totalizador de Acrscimos ISS Totalizador de Cancelamentos ISS Totalizador de Descontos No Fiscais Totalizador de Acrscimos No Fiscais Totalizador de Cancelamentos No Fiscais CRO + CRZ + CRZ Restantes
21 11 x 6 N COO + COO Inicial(*) + GNF + GNF Inicial(*) + CCF + CCF Inicial(*) + CVC + GRG + GRG Inicial(*) + CFD + CBP 22 6 x 4 N NFC + CMV + CFC + CNC + CBC + NCN
23 3 N CRO Contador Re-Incio de Operao (Este contador incrementado todas as vezes em que a impressora sofre uma Interveno Tcnica) 24 4 25 4 N N CRZ Contador de ReduoZ CRZ Restantes
26 6 N COO Contador de Ordem de Operao (este contador ser incrementado todas as vezes em que for emitido um documanto quelquer) 27 6 N logo aps a ReduoZ) 28 6 outros) 29 6 30 6 N COO Inicial (este contador traz o nmero do primeiro documento emitido
N N
GNF - Inicial (*) (contador do primeiro comprovante no fiscal do dia) CCF - Contador Cupom Fiscal
Daruma Automao
Daruma Framework
180
31 6 32 6 33 6 34 6 35 6 via na Impressora 36 6 37 4
N N N N N
CCF - Inicial (*) (contador do primeiro cupom fiscal do dia) CVC - Contador Vinculado Cancelado GRG - Geral Relatorio Gerencial (nmero de gerencial emitidos) GRG - Inicial (*) (contador do primeiro relatrio gerencial do dia) CFD - Contador de Fita Detalhe Quantas vezes foram emitidas as segunda
N N
CBP - Contador do Cupom Bilhere de Passagem NFC - No Fiscal Cancelado (nmero de no fiscais cancelados) CMV - Contador de Movimento Vinculado (Nmero de vezes em que foi
38 4 N usado um Vinculado) 39 4 40 4 41 4 N N N
CFC - Contador de Cupom Fiscal Cancelado CNC - Contador de Cupom No Fiscal Cancelado CBC - Contador de Bilhete Cancelado
42 4 N NCN - Nmero Cancelamento No Fiscal - Contador Cancelamento No Fiscal Nmero de No Fiscal Cancelado 43 20 x 4 44 20 x 4 45 4 46 1 47 12 48 12 49 12 50 6 51 6 52 6 53 4 54 4 55 6 56 1 4=RG Daruma Automao N N N N N N N N N N N N N N CON CER CDC - Contador de Dbito e Crdito (antigo No Fiscal Vinculado) Tipo do documento cancelvel (0=nenhum, 1=CF, 2=CNF) Subtotal do documento Soma dos pagamentos aplicados ao documento atual Saldo restante a pagar COO do documento cancelvel CCF do documento cancelvel GNF do documento cancelvel Nmero de CCDs emitidos em relao ao documento cancelvel Nmero de CCDs estornados em relao do documento cancelvel Nmero de itens cancelados no movimento atual Tipo do documento atual 0 = nenhum documento 1= CF 2=CNF 3=CCD
181
Daruma Framework
57 1 N Estado do CF / CNF 0 = fechado 1 = CF em registro de item 2 = CF em totalizao 3 = CF em pagamento 4 = CF em finalizao 5 = CNF em registro de item 6 = CNF em totalizao 7 = CNF em pagamento 8 = CNF em finalizao 58 3 59 11 60 11 61 11 62 11 63 12 64 1 65 12 66 14 67 6 68 6 69 8 70 8 71 8 72 14 73 14 74 14 75 14 76 14 77 20 78 20 + 1 79 7 80 20 81 20 82 6 N N N N N N N N N N N N N N N N N N N A A A A A N Nmero do ltimo item registrado (CF ou CNF) Valor bruto do ltimo item registrado Valor do desconto do ltimo item registrado Valor do acrscimo do ltimo item registrado Valor lquido do ltimo item registrado Troco do documento atual Nmero de autenticaes restantes Valor a autenticar Data atual (DDMMAAAA hhmmss) Tempo emitindo documentos fiscais (segs) Tempo operacional (segs) Dia da tolerncia de 2h para RZ (DDMMAAAA) Data do Movimento (DDMMAAAA) Data com ECF bloqueado at 23:59:59h Data da abertura do ltimo documento (DDMMAAAA hhmmss) Data do fechamento impressa no ltimo documento Data de fechamento do ltimo documento ( no FD ) Data do ltimo registro gravado na MF (DDMMAAAA hhmmss) Data da primeira execuo do SB (DDMMAAAA hhmmss) Nmero de srie da MFDE Nmero de fabricao do ECF Tipo do ECF Marca do ECF Modelo do ECF Cdigo de modelo Daruma
Daruma Automao
Daruma Framework
182
83 6 84 6 85 14 86 2 87 40 88 96 89 69 90 20 91 20 92 20 93 14 + 4 + 3 94 2 95 2 96 14 97 2 98 10 99 14 1002 1014 x 25 (cheques) 102 1035 1048 105 106 1073 1081 1091
N N N N A A A A A A N N A N N A N N A
Verso do SB instalado (firmaware) Verso do SB gravado na MF (firmaware) Data da atualizao da verso do SB (firmaware) Nmero de ordem seqencial da verso do SB (firmaware) Razo Social Nome Fantasia do Usurio Endereo do Usurio CNPJ do usurio atual IE do usurio atual IM do usurio atual Data + CRZ + CRO de cadastro do usurio Nmero de ordem seqencial do usurio Smbolo da moeda atual Data de cadastro do smbolo da moeda atual Nmero de ordem seqencial do smbolo da moeda Smbolos de codificao do GT Data de cadastro dos smbolos atuais de decodificao do GT Nmero de ordem seqencial dos smbolos de decodificao Nome da Moeda: singular + plural + frao singular + frao plural
A N H
CMC-7 % disponvel na MFDE Capacidade da MFDE (em Hex ) SEM USO SEM USO
N N N
Daruma Automao
183
Daruma Framework
1101 1111 no 1121 no 1131 1141 1151 1161 1171 1181 no 1191 1203 1212 1222 1232 1243 x 18 12516 x 5 12620 x 15 12720 x 15 12820 x 15 1294 13020 13184
N N
N N N N N N
Configurao: 1 se guilhotina habilitada Configurao: 1 se Cupom Adicional habilitado Configurao: 1 se mensagem promocional em CNF habilitada Baud Rate da porta do fisco Baud Rate da porta do usurio Configurao: 1 se transmisso pela porta do usurio respeita CTS, 0 se
N N N N N N N A A A N A A
Impresso antecipada de clich: 0 = Sim / 1 = No Atraso entre caracteres na transmisso pela porta do usurio Separao entre linhas em passos de 1/216" Separao entre documentos, em linhas Linha de acionamento da guilhotina Logotipo para autenticao Tipo + carga tributria ( S/T + nnnn ) (**) Meios de Pagamento ( nome ) (**) Nomes dos Totalizadores No-Fiscais (**) Nome dos Relatrios Gerenciais (**) Nmero da Loja Operador programado Identificao do programa aplicativo Clich do proprietrio ndice do primeiro meio de pagamento vinculvel Data do movimento anterior Tamanho til do campo do logotipo Dados do campo do logotipo Configurao dos bits de segurana do controlador da MF Daruma Automao
Daruma Framework
184
A A N
Verso do SB da MFD Modo de compatibilidade Nmero de decimais da quantidade Nmero de decimais do valor
1401164 N Grande Total Grande Total Inicial Descontos ICMS Descontos ISS Cancelamentos ICMS Cancelamentos ISS Acrscimos ICMS Acrscimos ISS Tributados ICMS/ISS F1 ICMS F2 ICMS I1 ICMS I2 ICMS N1 ICMS N2 ICMS F1 ISS F2 ISS I1 ISS I2 ISS N1 ISS N2 ISS Totalizadores NF Descontos NF Cancelamentos NF Acrscimos NF Alquotas CRO CRZ CRZ Restante COO GNF CCF CVC GRG CFD CBP NFC CMV CFC CNC CBC NCN CDC CON CER 1411 N
Daruma Automao
185
Daruma Framework
Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Daruma_FI_RelatorioGerencial ("================================================") Daruma_FI_RelatorioGerencial (Chr(13) + Chr(10) + "CODIGO DE BARRAS Code 11" + Chr(13) + Chr(10)) Daruma Automao
Daruma Framework
186
Daruma_FIMFD_ImprimeCodigoBarras "11", "01 09.04.2005 150,00", "0", "0", "0" Daruma_FIMFD_ImprimeCodigoBarras "11", "7891037778910377", "3", "120", "0" Daruma_FIMFD_ImprimeCodigoBarras "11", "78910377891037", "4", "150", "1" Daruma_FIMFD_ImprimeCodigoBarras "11", "789103789103", "5", "170", "0" Daruma_FIMFD_ImprimeCodigoBarras "11", "7891078910", "0", "200", "1" Daruma_FI_RelatorioGerencial ("================================================") Exemplo em Delphi 7.0: begin Daruma_FI_RelatorioGerencial (pchar('================================================')); Daruma_FI_RelatorioGerencial (Chr(13) + Chr(10) + 'CODIGO DE BARRAS Code MSI' + Chr(13) + Chr(10)); Daruma_FIMFD_ImprimeCodigoBarras (pchar('10'), pchar('01 09.04.2005 150,00'), '0', '0', '0'); Daruma_FIMFD_ImprimeCodigoBarras (pchar('10'), pchar('7891037778910377'), '3', pchar('120'), '0'); Daruma_FIMFD_ImprimeCodigoBarras (pchar('10'), pchar('78910377891037'), '4', pchar('150'), '1'); Daruma_FIMFD_ImprimeCodigoBarras (pchar('10'), pchar('789103789103'), '5', pchar('170'), '0'); Daruma_FIMFD_ImprimeCodigoBarras (pchar('10'), pchar('7891078910'), '0', pchar('200'), '1'); Daruma_FI_RelatorioGerencial (pchar('================================================'));
Daruma Automao
187
Daruma Framework
CODE 11 Tamanho varivel. 0 a 9 As barras so geradas com checksum de dois caracteres CODE 128 Tamanho varivel. Todos os caracteres ASCII Interleaved 2 of 5 Tamanho sempre par. 0 a 9 Standard 2 of 5 Tamanho varivel. 0 a 9 MSI Tamanho varivel. 0 a 9
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Mensagem_Promocional As String Dim Str_String_Codigo As String Dim Str_Posicao As String Dim Str_Tipo As String Dim Str_Largura As String Dim Str_Altura As String Dim Str_Tipo_Codigo As String Str_Mensagem_Promocional = "Obrigado Volte Sempre!!!" Str_String_Codigo = "1234567890123" Str_Altura = "3" Str_Largura = "080" Str_Tipo_Codigo = Tipo_Codigo_Barras.Text Select Case Str_Tipo_Codigo Case "EAN-13" Str_Tipo = "1" Case "EAN-8" Str_Tipo = "2" Case "STANDARD 2 OF 5" Str_Tipo = "3" Case "INTERLEAVED 2 OF 5" Str_Tipo = "4" Case "CODE128" Str_Tipo = "5" Case "CODE39" Str_Tipo = "6" Case "CODE93" Str_Tipo = "7" Case "UPC-A" Str_Tipo = "8" Case "CODEBAR" Str_Tipo = "9" Case "MSI" Str_Tipo = "10" Case "CODE11" Str_Tipo = "11" End Select If Tipo_Sim.Value = True Then Str_Posicao = "1" Else Str_Posicao = "0" End If Int_Retorno = Daruma_FIMFD_TerminaFechamentoCupomCodigoBarras(Str_Mensagem_Promocional, Str_Tipo, Str_String_Codigo, Str_Largura, Str_Altura, Str_Posicao) Exemplo em Delphi 7.0: var Str_Mensagem_Promocional: String; Str_String_Codigo: String; Str_Tipo: String; Str_Posicao: String; Str_Largura: String; Str_Altura: String; j: integer; begin j:=0; Str_Mensagem_Promocional := Trim(Mensagem_Promocional.Text);
Daruma Automao
Daruma Framework
188
Str_String_Codigo := Trim(String_Codigo.Text); for j := 0 to 15 do if Altura.Text=Altura.Items[j] then Case j of 0: Str_Altura:= '050'; 1: Str_Altura:= '060'; 2: Str_Altura:= '070'; 3: Str_Altura:= '080'; 4: Str_Altura:= '090'; 5: Str_Altura:= '100'; 6: Str_Altura:= '110'; 7: Str_Altura:= '120'; 8: Str_Altura:= '130'; 9: Str_Altura:= '140'; 10: Str_Altura:= '150'; 11: Str_Altura:= '160'; 12: Str_Altura:= '170'; 13: Str_Altura:= '180'; 14: Str_Altura:= '190'; 15: Str_Altura:= '200'; end; for j := 0 to 4 do if Largura.Text=Largura.Items[j] then Case j of 0: Str_Largura:='2'; 1: Str_Largura:='3'; 2: Str_Largura:='4'; 3: Str_Largura:='5'; end; for j := 0 to 11 do if tipo_Codigo_Barras.Text=Tipo_Codigo_Barras.Items[j] then Case j of 0: Str_Tipo:='1'; //'EAN-13' 1: Str_Tipo:='2'; //'EAN-8' 2: Str_Tipo:='3'; //'STANDARD 2 OF 5' 3: Str_Tipo:='4'; //'INTERLEAVED 2 OF 5' 4: Str_Tipo:='5'; //'CODE128' 5: Str_Tipo:='6'; //'CODE39' 6: Str_Tipo:='7'; //'CODE93' 7: Str_Tipo:='8'; //'UPC-A' 8: Str_Tipo:='9'; //'CODABAR' 9: Str_Tipo:='10'; //'MSI' 10: Str_Tipo:='11'; //'CODE11' end; if Tipo_Sim.Checked=True then begin Str_Posicao:='1'; end else begin Str_Posicao:='0'; end; Int_Retorno:= Daruma_FIMFD_TerminaFechamentoCupomCodigoBarras( pchar( Str_Mensagem_Promocional ), Str_Tipo, Str_String_Codigo, Str_Largura, Str_Altura, Str_Posicao );
Daruma Automao
189
Daruma Framework
1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(4) Int_Retorno = Daruma_FIMFD_IndicePrimeiroVinculado(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Indice: String; begin SetLength (Str_Indice,5); Int_Retorno:= Daruma_FIMFD_IndicePrimeiroVinculado(Str_Indice); Edit1.Lines.Text := pchar(Str_Indice); end;
Daruma Automao
Daruma Framework
190
Exemplos: Exemplo em Visual Basic 6.0: ? Exemplo em Delphi 7.0: var Str_Informacao: String; begin setlength( Str_Informacao, 2 ); Int_Retorno := Daruma_FIMFD_StatusCupomFiscal(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);
191
Daruma Framework
End If Int_Retorno = Daruma_FIMFD_SinalSonoro(Str_Numero_Beeps) Exemplo em Delphi 7.0: var Str_Numero_Beeps: String; begin Str_Numero_Beeps := InputBox('Daruma Framework', 'Entre com o nmero de beeps desejado, que pode ser de 1 a 99 beeps:', '1'); if (Str_Numero_Beeps = '') then Exit; Int_Retorno := Daruma_FIMFD_SinalSonoro(Str_Numero_Beeps);
Daruma Framework
192
sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Caso prefira antes de enviar o comando de abertura, verificar se o relatrio esta aberto utilize o mtodo: Daruma_FI_StatusRelatorioGerencial(ndice 1405). Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Nome_Relatorio As String Str_Nome_Relatorio = TX_Nome_Relatorio.Text Int_Retorno = Daruma_FIMFD_AbreRelatorioGerencial(Str_Nome_Relatorio) Daruma_MostrarRetorno Exemplo em Delphi 7.0: Var Str_Nome_Relatorio:string; begin Str_Nome_Relatorio:=Nome_Relatorio.Text; Int_Retorno := Daruma_FIMFD_AbreRelatorioGerencial(Str_Nome_Relatorio); end;
193
Daruma Framework
0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplo de um cupom adicional, recuperado da MFD:
1)28/09/2006 03:14:23 2)CCF:000130 3)COO:000233 4)Qt Itens Vend:002 5)Qt Itens Canc:000 6)Tempo:00068s 7)Valor:R$ 0,20 8)Aliquotas:18,00 9)Dinheiro:R$ 0,20 DARUMA32 FrameWork Mensagem No Programada DARUMA32 FrameWork Mensagem No Programada DARUMA AUTOMAO FS600 ECF-IF VERSO:01.03.00 ECF:001 Lj: AAAAAAAAAAAAIBHBJC 28/09/2006 03:15:40 FAB:DR0206BR000000080835
Como pode ser visto no exemplo acima, as informaes contidas no cupom adicional so: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Data e Hora da Emisso; CFF Contador Cupom Fiscal; COO Contador Ordem Operao; Qtde Itens Vendidos; Qtde de Itens Cancelados; Tempo de Impresso; Valor Total do Cupom; Alquotas usadas, menos Isento, No Tributado e Substituio Tributria; Forma de Pagamento x Valor; Reservado para uso futuro.
Observao: - Para alterar a configurao dos tens que sero impressos, voc dever utilizar o mtodo:
Daruma Automao
Daruma Framework
194
Observao: - Este mtodo esclusivo para impressora trmica FS600. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FIMFD_AcionarGuilhotina() Daruma_MostrarRetorno Exemplo em Delphi 7.0: Int_Retorno:= Daruma_FIMFD_AcionarGuilhotina(); Daruma_Analisa_Retorno();
Daruma Automao
195
Daruma Framework
Exemplo em Delphi 7.0: var Str_Nome : string; Str_CPF : string; Str_Endereco : string; begin Str_Nome := 'Jose Ramalho de Souza e Silva'; Str_CPF := '111.111.111-11'; Str_Endereco := 'Rua: Dos Jasmins, 123 - Jardim Primavera'; Int_Retorno := Daruma_FIMFD_AbreRecebimentoNaoFiscal( pchar( Str_Nome ), pchar( Str_CPF ), pchar( Str_Endereco )); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
Daruma Framework
196
Exemplo em Delphi 7.0: var Str_Indice_do_Totalizador_Nao_Fiscal : String; Str_Acresc_ou_Desc : String; Str_Tipo_Acresc_Desc : String; Str_Valor_Acresc_Desc : String; Str_Valor_Recebimento : String; begin Str_Indice_do_Totalizador_Nao_Fiscal:='03'; Str_Acresc_ou_Desc:='A'; Str_Tipo_Acresc_Desc:='%'; Str_Valor_Acresc_Desc:='0,0'; Str_Valor_Recebimento:='0,00';
Daruma Automao
197
Daruma Framework
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Acrescimo_ou_Desconto As String Dim Str_Tipo_do_Acrescimo_ou_Desconto As String Dim Str_Valor_do_Acrescimo_ou_Desconto As String Str_Acrescimo_ou_Desconto = "" Str_Tipo_do_Acrescimo_ou_Desconto = "%" Str_Valor_do_Acrescimo_ou_Desconto = "0,00" Int_Retorno = Daruma_FIMFD_IniciaFechamentoNaoFiscal(Str_Acrescimo_ou_Desconto, Str_Tipo_do_Acrescimo_ou_Desconto, Str_Valor_do_Acrescimo_ou_Desconto) Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_Acrescimo_ou_Desconto: String; Str_Tipo_do_Acrescimo_ou_Desconto: String; Str_Valor_do_Acrescimo_ou_Desconto: String; begin Str_Acrescimo_ou_Desconto := 'A'; Str_Tipo_do_Acrescimo_ou_Desconto := '%'; Str_Valor_do_Acrescimo_ou_Desconto := '0,00';
Daruma Automao
Daruma Framework
198
Int_Retorno := Daruma_FIMFD_IniciaFechamentoNaoFiscal( pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Tipo_do_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Acrescimo_ou_Desconto ) ); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Parmetros do Mtodo: (3 Parmetros) 1. Forma Pagamento: String com a forma de pagamento com no mximo 16 caracteres. 2. Valor Forma Pagamento: String com o valor da forma de pagamento com at 14 dgitos. 3. Observao Livre: String com at 48 caracteres, na FS345 e at 82 na FS600/FS2100T. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O fechamento do comprovante no fiscal acontecer automaticamente assim que o total do comprovante no fiscal seja atingido. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao_da_Forma_Pagamento As String Dim Str_Valor_da_Forma_Pagamento As String Dim Str_Texto_Livre As String Str_Descricao_da_Forma_Pagamento = "Dinheiro" Str_Valor_da_Forma_Pagamento = "1,00" Str_Texto_Livre = "Pagamento referente a primeira parcela." Int_Retorno = Daruma_FIMFD_EfetuaFormaPagamentoNaoFiscal(Str_Descricao_da_Forma_Pagamento, Str_Valor_da_Forma_Pagamento, Str_Texto_Livre) Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_Descricao_da_Forma_Pagamento: String; Str_Valor_da_Forma_Pagamento: String; Str_Texto_Livre: String; begin Str_Descricao_da_Forma_Pagamento := 'Dinheiro'; Str_Valor_da_Forma_Pagamento := '1,00'; Str_Texto_Livre := 'Pagamento referente a primeira parcela.'; Int_Retorno := Daruma_FIMFD_EfetuaFormaPagamentoNaoFiscal( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ), pchar( Str_Texto_Livre ) ); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
199
Daruma Framework
Exemplo em Delphi 7.0: var Str_Mensagem_Promocional: String; begin Str_Mensagem_Promocional := 'Obrigado, volte sempre!'; Int_Retorno := Daruma_FIMFD_TerminaFechamentoNaoFiscal( pchar( Str_Mensagem_Promocional ) ); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Framework
200
Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF.
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Separacao_entre_Documentos As String Dim Str_Linhas_para_Acionamento_Guilhotina As String Dim Str_Status_da_Guilhotina As String Dim Str_Impressao_Antecipada_Cliche As String Str_Separacao_entre_Documentos = "05" Str_Linhas_para_Acionamento_Guilhotina = "05" Str_Status_da_Guilhotina = "0" Str_Impressao_Antecipada_Cliche = "1" Int_Retorno = Daruma_FIMFD_ProgramarGuilhotina(Str_Separacao_entre_Documentos, Str_Linhas_para_Acionamento_Guilhotina, Str_Status_da_Guilhotina, Str_Impressao_Antecipada_Cliche) Daruma_MostrarRetorno
Exemplo em Delphi 7.0: var Str_Separacao_entre_Documentos: String; Str_Linhas_para_Acionamento_Guilhotina: String; Str_Status_da_Guilhotina: String; Str_Impressao_Antecipada_Cliche: String; begin Str_Separacao_entre_Documentos := '05'; Str_Linhas_para_Acionamento_Guilhotina := '05'; Str_Status_da_Guilhotina := '0'; Str_Impressao_Antecipada_Cliche := '1'; Int_Retorno := Daruma_FIMFD_ProgramarGuilhotina( pchar( Str_Separacao_entre_Documentos ), pchar(Str_Linhas_para_Acionamento_Guilhotina),Str_Status_da_Guilhotina,Str_Impressao_Antecipada_Cl iche); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
1.11
Daruma Automao
201
Daruma Framework
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_FS2000_CupomAdicional("1") Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_Registry_FS2000_CupomAdicional('1');
Daruma Framework
202
Exemplo em Visual Basic 6.0: Dim Str_Status_Cheque As String Str_Status_Cheque = Space(2) Int_Retorno = Daruma_FI2000_StatusCheque(Str_Status_Cheque) TX_Retornos_FS2000.Text = Str_Status_Cheque Exemplo em Delphi 7.0: var Str_Status_Cheque: String; begin SetLength (Str_Status_Cheque,2); Int_Retorno := Daruma_FI2000_StatusCheque(pchar(Str_Status_Cheque));
Daruma Automao
203
Daruma Framework
Str_Data_de_Emissao := '12/01/2005'; Str_Favorecido := 'Daruma S.A.'; Str_Valor := '1,00'; Str_Posicao_do_Cheque := 'H'; Int_Retorno := Daruma_FI2000_ImprimirCheque(pchar( Str_Numero_do_Banco ), pchar( Str_Cidade_de_Emissao ), pchar( Str_Data_de_Emissao ), pchar( Str_Favorecido ), pchar( Str_Valor ), pchar( Str_Posicao_do_Cheque ) );
Daruma Framework
204
205
Daruma Framework
Daruma Automao
Daruma Framework
206
Sequncia dos bytes a serem passados para a correo da geometria do cheque. 29 dgitos que definem o cheque conforme: Nmero do banco com 3 dgitos Distncia linha do valor numrico com 2 dgitos (da borda a linha, em mm) Coluna (final) do valor numrico com 2 dgitos Distncia linha do primeiro extenso com 2 dgitos (da borda a linha, em mm) Coluna (inicial) do primeiro extenso com 2 dgitos Distncia linha do segundo extenso com 2 dgitos (da borda a linha, em mm) Coluna (inicial) do segundo extenso com 2 dgitos Distncia linha do favorecido com 2 dgitos (da borda a linha, em mm) Coluna (inicial) do favorecido com 2 dgitos Distncia linha da cidade com 2 dgitos (da borda a linha, em mm) Coluna (final) da cidade com 2 dgitos Coluna (inicial) do dia com 2 dgitos Coluna (inicial) do ms com 2 dgitos Coluna (inicial) do ano com 2 dgitos Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Numero_do_Banco As String Dim Str_Geometria_do_Cheque As String Str_Numero_do_Banco = "001" Str_Geometria_do_Cheque = "04941506230128013560647090" Int_Retorno = Daruma_FI2000_CorrigirGeometriaCheque(Str_Numero_do_Banco, Str_Geometria_do_Cheque) Exemplo em Delphi 7.0: var Str_Numero_do_Banco: String; Str_Geometria_do_Cheque: String; begin Str_Numero_do_Banco := '001'; Str_Geometria_do_Cheque := '04941506230128013560647090'; Int_Retorno := Daruma_FI2000_CorrigirGeometriaCheque(pchar( Str_Numero_do_Banco ), pchar( Str_Geometria_do_Cheque) ); FormPrincipal.Daruma_Analisa_Retorno();
207
Daruma Framework
1. 2.
Nmero Item: String com o nmero do item a ser concedido o desconto, com no mximo 3 dgitos. Tipo Desconto: 1 (um) carctere indicando a forma do desconto. '$' desconto por valor e '%' desconto percentual. 3. Valor Desconto: String com at 8 dgitos para desconto por valor (2 casas decimais) e 4 dgitos para desconto percentual. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Numero_do_Item As String Dim Str_Tipo_do_Desconto As String Dim Str_Valor_do_Desconto As String Str_Numero_do_Item = "01" Str_Tipo_do_Desconto = "$" Str_Valor_do_Desconto = "10" Int_Retorno = Daruma_FI2000_DescontoSobreItemVendido(Str_Numero_do_Item, _ Str_Tipo_do_Desconto, Str_Valor_do_Desconto) Exemplo em Delphi 7.0: var Str_Numero_do_Item: String; Str_Tipo_do_Desconto: String; Str_Valor_do_Desconto: String; begin Str_Numero_do_Item := '01'; Str_Tipo_do_Desconto := '$'; Str_Valor_do_Desconto := '10'; Int_Retorno := Daruma_FI2000_DescontoSobreItemVendido(pchar( Str_Numero_do_Item ), pchar( Str_Tipo_do_Desconto ), pchar( Str_Valor_do_Desconto ));
Daruma Automao
Daruma Framework
208
Exemplo em Delphi 7.0: var Str_AcrescimosICMS: String; Str_AcrescimosISS: String; begin SetLength (Str_AcrescimosICMS,14); SetLength (Str_AcrescimosISS,14); Int_Retorno := Daruma_FI2000_AcrescimosICMSISS(pchar(Str_AcrescimosICMS), pchar(Str_AcrescimosISS));
209
Daruma Framework
1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_DencontosICMS As String Dim Str_DencontosISS As String Str_DencontosICMS = Space(14) Str_DencontosISS = Space(14) Int_Retorno = Daruma_FI2000_DescontosICMSISS(Str_Dencontos_ICMS, Str_DencontosISS) TX_Retornos_FS2000.Text = " ICMS:" + Str_DencontosICMS + " ISS:" + Str_DencontosISS Exemplo em Delphi 7.0: var Str_DescontosICMS: String; Str_DescontosISS: String; begin SetLength (Str_DescontosICMS,14); SetLength (Str_DescontosISS,14); Int_Retorno := Daruma_FI2000_DescontosICMSISS(pchar(Str_DescontosICMS), pchar(Str_DescontosISS));
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Tipo_Ultimo_Doc As String Dim Str_Valor_Ultimo_Doc As String Str_Tipo_Ultimo_Doc = Space(25) Str_Valor_Ultimo_Doc = Space(225) Int_Retorno = Daruma_FI2000_LeituraInformacaoUltimoDoc(Str_Tipo_Ultimo_Doc, Str_Valor_Ultimo_Doc) TX_Retornos_FS2000.Text = Str_Tipo_Ultimo_Doc + Str_Valor_Ultimo_Doc Exemplo em Delphi 7.0: var Str_Tipo_Ultimo_Doc: String; Str_Valor_Ultimo_Doc: String; begin SetLength (Str_Tipo_Ultimo_Doc,25); SetLength (Str_Valor_Ultimo_Doc,225); Int_Retorno := Daruma_FI2000_LeituraInformacaoUltimoDoc(pchar(Str_Tipo_Ultimo_Doc), pchar(Str_Valor_Ultimo_Doc));
Daruma Automao
Daruma Framework
210
211
Daruma Framework
Daruma Automao
Daruma Framework
212
TX_Retornos_FS2000.Text = Str_Gerencial Exemplo em Delphi 7.0: var Str_Gerencial: String; begin SetLength (Str_Gerencial,358); Int_Retorno := Daruma_FI2000_VerificaRelatorioGerencial(pchar(Str_Gerencial));
213
Daruma Framework
1.12
Exemplo em Delphi 7.0: var Str_Numero_da_Mesa: String; begin Str_Numero_da_Mesa := '123'; Int_Retorno := Daruma_FIR_AbreCupomRestaurante( pchar( Str_Numero_da_Mesa ) );
Daruma Automao
Daruma Framework
214
Exemplo em Delphi 7.0: var Str_Mesa: String; Str_Codigo: String; Str_Descricao: String; Str_Aliquota: String; Str_Quantidade: String; Str_Valor_Unitario: String; Str_Acrescimo_ou_Desconto: String; Str_Valor_do_Acrescimo_ou_Desconto: String; begin Str_Mesa := '000'; Str_Codigo := '7896003704549'; Str_Descricao := 'bolacha'; Str_Aliquota := 'II'; Str_Quantidade := '1'; Str_Valor_Unitario := '0,10'; Str_Acrescimo_ou_Desconto := 'A'; Str_Valor_do_Acrescimo_ou_Desconto := '0,00'; Int_Retorno := Daruma_FIR_VendeItem(pchar( Str_Mesa ), pchar( Str_Codigo ), pchar( Str_Descricao ), pchar( Str_Aliquota ), pchar( Str_Quantidade ), pchar( Str_Valor_Unitario ), pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Acrescimo_ou_Desconto ) );
Daruma Automao
215
Daruma Framework
Parmetros do Mtodo: (4 Parmetros). 1. Cdigo: String at 05 caracteres com o cdigo do produto. 2. Quantidade: String com at 6 dgitos considerando trs decimais Ex.: 1,000. 3. Acrscimo Desconto: Indica se haver acrscimo ou desconto no cupom. 'A' para acrscimo e 'D' para desconto. 4. Percentual Acrscimo Desconto: String com no mximo 4 dgitos para apercentual do crscimo ou desconto Ex.: 10,00(dez por cento) Obs.:Desc/Acresc por valor no permitido. Retorno do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Para realizar a venda, necessrio que o item tenha sido previamente adicionado no cardpio, para fazer o cadastro utilize o mtodo: Daruma_FIR_AdicionaProdutoCardapio (ndice 555). - Na verso 1.20, no necessita realizar o cadasdtro do item no cardpio. Pois o mesmo cadastrado no momento em que a venda acontece. Exemplos: Exemplo em Visual Basic 6.0:
Exemplo em Delphi 7.0: var Str_Codigo: String; Str_Quantidade: String; Str_Acrescimo_ou_Desconto: String; Str_Valor_do_Acrescimo_ou_Desconto: String; begin Str_Codigo := '0001'; Str_Quantidade := '4,000'; Str_Acrescimo_ou_Desconto := 'A'; Str_Valor_do_Acrescimo_ou_Desconto := '0,00'; Int_Retorno := Daruma_FIR_VendeItemBalcao( pchar( Str_Codigo ), pchar( Str_Quantidade ), pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Acrescimo_ou_Desconto ));
Daruma Automao
Daruma Framework
216
Retorno do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Para realizar a venda, necessrio que o item tenha sido previamente adicionado no cardpio, para fazer o cadastro utilize o mtodo: Daruma_FIR_AdicionaProdutoCardapio (ndice 555). - Na verso 1.20, no necessita realizar o cadastro do item no cardpio. Pois o mesmo cadastrado no momento em que a venda acontece. Exemplos: Exemplo em Visual Basic 6.0:
Exemplo em Delphi 7.0: var Str_Numero_da_Mesa: String; Str_Codigo: String; Str_Quantidade: String; Str_Acrescimo_ou_Desconto: String; Str_Valor_do_Acrescimo_ou_Desconto: String; begin Str_Numero_da_Mesa := '132'; Str_Codigo := '0001'; Str_Quantidade := '4,000'; Str_Acrescimo_ou_Desconto := 'A'; Str_Valor_do_Acrescimo_ou_Desconto := '0,50'; Int_Retorno := Daruma_FIR_RegistrarVenda( pchar( Str_Numero_da_Mesa ), pchar( Str_Codigo ), pchar( Str_Quantidade ), pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Acrescimo_ou_Desconto ));
Retorno do Mtodo:
Daruma Automao
217
Daruma Framework
0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Para realizar a venda, necessrio que o item tenha sido previamente adicionado no cardpio, para fazer o cadastro utilize o mtodo: Daruma_FIR_AdicionaProdutoCardapio (ndice 555). - Na verso 1.20, no necessita realizar o cadasdtro do item no cardpio. Pois o mesmo cadastrado no momento em que a venda acontece. Exemplos: Exemplo em Visual Basic 6.0:
Exemplo em Delphi 7.0: var Str_Numero_da_Mesa: String; begin Str_Numero_da_Mesa := '123'; Int_Retorno := Daruma_FIR_RegistroVendaSerial( pchar( Str_Numero_da_Mesa ));
Daruma Automao
Daruma Framework
218
Str_Descricao_da_Forma_de_Pagamento := 'Dinheiro'; Str_Mensagem_Promocional := 'Obrigado, volte sempre!'; Int_Retorno:=Daruma_FIR_FechaCupomRestauranteResumido( pchar( Str_Descricao_da_Forma_de_Pagamento ), pchar( Str_Mensagem_Promocional ) );
Exemplo em Delphi 7.0: var Str_Acrescimo_ou_Desconto: String; Str_Tipo_do_Acrescimo_ou_Desconto: String; Str_Valor_do_Acrescimo_ou_Desconto: String; begin Str_Acrescimo_ou_Desconto := 'D'; Str_Tipo_do_Acrescimo_ou_Desconto := '$'; Str_Valor_do_Acrescimo_ou_Desconto := '0,01'; Int_Retorno := Daruma_FIR_IniciaFechamentoCupom( pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Tipo_do_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Acrescimo_ou_Desconto ) );
Daruma Automao
219
Daruma Framework
Parmetros do Mtodo: (4 Parmetros) 1. Acrscimo Desconto: Indica se haver acrscimo ou desconto no cupom. 'A' para acrscimo e 'D' para desconto. 2. Tipo Acrscimo Desconto: Indica se o acrscimo ou desconto por valor ou por percentual. '$' para desconto por valor e '%' para percentual. 3. Valor Acrscimo Desconto: String com com at 14 dgitos para acrscimo ou desconto por valor e 4 dgitos para acrscimo ou desconto por percentual (2 casas decimais). 4. Indicador da Operao de Acrscimo ou Desconto que deseja Realizar, podendo ser um dos indicadores Abaixo: 0 1 2 3 4 5 para para para para para para desconto percentual no rodap; desconto em valor no rodap; acrscimo com incidncia de ICMS em porcentagem; acrscimo com incidncia de ICMS em valor; acrscimo IOF em porcentagem; acrscimo IOF em valor;
Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O valor do desconto "nunca" poder ser igual ou maior do que o valor do cupom. - Caso a venda seja de 1(um) ou mais itens, porm todos com alquota de servio e o ECF no esteja habilitado para desconto em servio voc poder receber erro 24 ou 44, ento o desconto no ser permitido. Importante para habilitar o desconto sobre servio preciso que seja feito por meio de IT(interveo tcnica) e isso s pode ser feito por uma assistncia tcnica autorizada Daruma. - Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alquota de servio e o ECF no esteja habilitado para o desconto, ento o desconto incidir sobre os itens com alquota de ICMS. - E caso o ECF esteja habilitado para desconto em servio ento para um cupom onde os itens sejam com alquota de servio e tambm alquota de ICMS o desconto ser sobre todos os itens independentemente da alquota.
Exemplo em Delphi 7.0: var Str_Acrescimo_ou_Desconto: String; Str_Tipo_do_Acrescimo_ou_Desconto: String; Str_Valor_do_Acrescimo_ou_Desconto: String; Str_Indicador_da_Operacao: String; Str_Taxa_de_Servico: String; begin Str_Acrescimo_ou_Desconto := 'A'; Str_Tipo_do_Acrescimo_ou_Desconto := '%'; Str_Valor_do_Acrescimo_ou_Desconto := '10,00'; Str_Indicador_da_Operacao := '1'; Str_Taxa_de_Servico := '15,00'; Int_Retorno := Daruma_FIR_IniciaFechamentoCupomComServico( pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Tipo_do_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Acrescimo_ou_Desconto ), pchar( Str_Indicador_da_Operacao ), pchar( Str_Taxa_de_Servico ) );
Daruma Automao
Daruma Framework
220
Parmetros do Mtodo: (2 Parmetros) 1. Forma Pagamento: String com a forma de pagamento com no mximo 16 caracteres. 2. Valor Forma Pagamento: String com o valor da forma de pagamento com at 14 dgitos. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O fechamento do cupom com formas de pagamento deve ter sido iniciado. - Se a forma de pagamento no estiver cadastrada na impressora, o Mtodo retorna erro. Para cadastrar a forma de pagamento voc deve usar o Mtodo: Daruma_FIR_ProgramaFormasPagamento(ndice 554) e isso imediatamente aps uma ReduoZ. Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Descricao_da_Forma_Pagamento: String; Str_Valor_da_Forma_Pagamento: String; begin Str_Descricao_da_Forma_Pagamento := 'Dinheiro'; Str_Valor_da_Forma_Pagamento := '0,50'; Int_Retorno := Daruma_FIR_EfetuaFormaPagamento( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ) );
Daruma Automao
221
Daruma Framework
Str_Descricao_da_Forma_Pagamento: String; Str_Valor_da_Forma_Pagamento: String; Str_Texto_Livre: String; begin Str_Descricao_da_Forma_Pagamento := 'Dinheiro'; Str_Valor_da_Forma_Pagamento := '0,50'; Str_Texto_Livre := 'Texto livre com ate 48 caracteres!!!'; Int_Retorno := Daruma_FIR_EfetuaFormaPagamentoDescricaoForma( pchar( Str_Descricao_da_Forma_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ), pchar( Texto_Livre ) );
Exemplo em Delphi 7.0: var Str_Nome_do_Consumidor: String; Str_Endereco: String; Str_CPF_ou_CNPJ: String; begin Str_Nome_do_Consumidor := 'Daruma Automao S.A.'; Str_Endereco := 'Av. Independncia Tatuap'; Str_CPF_ou_CNPJ := '123.456.019-89'; Int_Retorno := Daruma_FIR_IdentificaConsumidor( pchar( Str_Nome_do_Consumidor ), pchar( Str_Endereco ), pchar( Str_CPF_ou_CNPJ ) );
Daruma Automao
Daruma Framework
222
Mensagem Promocional: String com a mensagem promocional com at 384 caracteres (8 linhas X 48 colunas). Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: Acentuao e/ou caracteres especiais, no so aceitos na mensagem promocional. A forma de pagamento deve ter sido efetuada. Na impressora fiscal Daruma, sero impressas 8 linhas de texto. Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Mensagem_Promocional: String; begin Str_Mensagem_Promocional := 'Obrigado, volte sempre!'; Int_Retorno := Daruma_FIR_TerminaFechamentoCupom( pchar( Str_Mensagem_Promocional ) );
Daruma Automao
223
Daruma Framework
Int_Retorno := Daruma_FIR_TerminaFechamentoCupomID( pchar( Str_Mensagem_Promocional ), pchar( Str_Nome_do_Cliente ), pchar( Str_Endereco_do_Cliente ), pchar( Str_Documento_do_Cliente ) );
Exemplo em Delphi 7.0: var Str_Forma_de_Pagamento: String; Str_Acrescimo_ou_Desconto: String; Str_Tipo_Acrescimo_ou_Desconto: String; Str_Valor_Acrescimo_ou_Desconto: String; Str_Valor_Pago: String; Str_Mensagem_Promocional: String; begin Str_Forma_de_Pagamento := 'Dinheiro';
Daruma Automao
Daruma Framework
224
Str_Acrescimo_ou_Desconto := 'D'; Str_Tipo_Acrescimo_ou_Desconto := '$'; Str_Valor_Acrescimo_ou_Desconto := '0,01'; Str_Valor_Pago := '0,50'; Str_Mensagem_Promocional := 'Obrigado, volte sempre!'; Int_Retorno:=Daruma_FIR_FechaCupomRestaurante( pchar( Str_Forma_de_Pagamento ), pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Tipo_Acrescimo_ou_Desconto ), pchar( Str_Valor_Acrescimo_ou_Desconto ), pchar( Str_Valor_Pago ), pchar( Str_Mensagem_Promocional ) );
Daruma Automao
225
Daruma Framework
begin Str_Mesa := '000'; Str_Codigo := '7896003704549'; Str_Descricao := 'bolacha'; Str_Aliquota := 'II'; Str_Quantidade := '1'; Str_Valor_Unitario := '0,10'; Str_Acrescimo_ou_Desconto := 'A'; Str_Valor_do_Acrescimo_ou_Desconto := '0,00'; Int_Retorno := Daruma_FIR_CancelaItem(pchar( Str_Mesa ), pchar( Str_Codigo ), pchar( Str_Descricao ), pchar( Str_Aliquota ), pchar( Str_Quantidade ), pchar( Str_Valor_Unitario ), pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Acrescimo_ou_Desconto ) );
Exemplo em Delphi 7.0: var Str_Codigo_do_Item: String; begin Str_Codigo_do_Item := '0001'; Int_Retorno := Daruma_FIR_CancelaItemBalcao(pchar( Str_Codigo_do_Item ));
Daruma Automao
Daruma Framework
226
- No poder ter ocorrido ReduoZ e nem LeituraX aps a emisso do cupom. - Voc no podera ter emitido um outro cupom fiscal, sangria, suprimento. Exemplos: Exemplo em Visual Basic 6.0:
Exemplo em Delphi 7.0: var Str_Numero_da_Mesa: String; Str_Codigo: String; Str_Quantidade: String; Str_Acrescimo_ou_Desconto: String; Str_Valor_do_Acrescimo_ou_Desconto: String; begin Str_Numero_da_Mesa := '123'; Str_Codigo := '0001'; Str_Quantidade := '4,000'; Str_Acrescimo_ou_Desconto := 'A'; Str_Valor_do_Acrescimo_ou_Desconto := '0,50'; Int_Retorno := Daruma_FIR_CancelarVenda( pchar( Str_Numero_da_Mesa ), pchar( Str_Codigo ), pchar( Str_Quantidade ), pchar( Str_Acrescimo_ou_Desconto ), pchar( Str_Valor_do_Acrescimo_ou_Desconto ));
Daruma Automao
227
Daruma Framework
5. 6.
Acrescimo/Desconto: String com "A"(acrscimo) ou "D"(desconto) Valor Acrescimo/Desconto: String com no mximo 14 dgitos para acrscimo ou desconto por valor e 4 dgitos para acrscimo ou desconto por percentual
Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0:
Ateno: os passos 6, 7, 8 devero ser executados o nmero de vezes que forem necessrias(nmero de cupons dividos). Parmetros do Mtodo: (2 Parmetros)
Daruma Automao
Daruma Framework
228
Numero Mesa: String com 3 dgitos, contendo o nmero da mesa. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este mtodo dever ser executado aps o mtodo:Daruma_FIR_RegistrarVenda.
Ateno: os passos 6, 7, 8 devero ser executados o nmero de vezes que forem necessrias(nmero de cupons dividos). Parmetros do Mtodo: No h. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este mtodo dever ser executado aps o mtodo:Daruma_FIR_TerminaFechamentoCupom(ndice 3010).
Daruma Automao
229
Daruma Framework
Daruma Automao
Daruma Framework
230
Exemplo em Delphi 7.0: var Str_Forma_de_Pagamento: String; Str_Valor_Pago: String; Str_Numero_do_Cupom: String; begin Str_Forma_de_Pagamento := 'Dinheiro'; Str_Valor_Pago := ''; Str_Numero_do_Cupom := ''; Int_Retorno := Daruma_FIR_AbreComprovanteNaoFiscalVinculado( pchar( Str_Forma_de_Pagamento ), pchar( Str_Valor_Pago ), pchar( Str_Numero_do_Cupom ) );
231
Daruma Framework
comprovante no fiscal vinculado. Se esse tempo for ultrapassado o comprovante fechado automaticamente. - O comprovante no fiscal vinculado deve ter sido aberto. Voc poder verificar o status atravs do mtodo:Daruma_FIR_StatusComprovanteNaoFiscalVinculado(ndice 3403). Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Texto_Livre: String; begin Str_Texto_Livre := 'Texto Livre com at 600 caracteres'; Int_Retorno := Daruma_FIR_UsaComprovanteNaoFiscalVinculado( pchar( Str_Texto_Livre ) ); end;
Daruma Automao
Daruma Framework
232
Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: Int_Retorno := Daruma_FIR_FechaRelatorioGerencial();
Daruma Automao
233
Daruma Framework
end;
Daruma Automao
Daruma Framework
234
Exemplo em Delphi 7.0: var Str_Valor_do_Fundo_Caixa: String; Str_Forma_de_Pagamento: String; begin Str_Valor_do_Fundo_Caixa := '0,10'; Str_Forma_de_Pagamento := 'Dinheiro'; Int_Retorno := Daruma_FIR_FundoCaixa( pchar( Str_Valor_do_Fundo_Caixa ), pchar( Forma_de_Pagamento ) ); end;
Daruma Automao
235
Daruma Framework
1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O cupom fiscal deve estar fechado. Voc poder verificar o status atravs do mtodo:Daruma_FIR_StatusCupomFiscal(ndice 3404). Exemplos:
Exemplo em Delphi 7.0: var Str_Reducao_Inicial: String; Str_Reducao_Final: String; begin Str_Reducao_Inicial := '01'; Str_Reducao_Final := '02'; Int_Retorno := Daruma_FIR_LeituraMemoriaFiscalReducao( pchar( Str_Reducao_Inicial ), pchar( Str_Reducao_Final ) ); end;
Exemplo em Delphi 7.0: var Str_Data_Inicial: String; Str_Data_Final: String; begin Str_Data_Inicial := '28/12/04'; Str_Data_Final := '28/12/04'; Int_Retorno := Daruma_FIR_LeituraMemoriaFiscalSerialData( pchar( Str_Data_Inicial ), pchar( Str_Data_Final ) ); WinExec('c:\windows\NOTEPAD.EXE C:\retorno.txt',SW_SHOWNORMAL); end;
Daruma Automao
Daruma Framework
236
Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Reducao_Inicial: String; Str_Reducao_Final: String; begin Str_Reducao_Inicial := '01'; Str_Reducao_Final := '02'; Int_Retorno := Daruma_FIR_LeituraMemoriaFiscalSerialReducao( pchar( Str_Reducao_Inicial ), pchar( Str_Reducao_Final ) ); WinExec('c:\windows\NOTEPAD.EXE C:\retorno.txt',SW_SHOWNORMAL); end;
Daruma Automao
237
Daruma Framework
Daruma Automao
Daruma Framework
238
-27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Importante!!!: Caso ja tenha sido efetuada uma ReducaoZ no dia, caso seja afetuada outra, isso far com que a Impressora fique Inoperante, at s 0:00. Horrio este controlado pelo relgio interno da prpria Impressora. Exemplos: Exemplo em Visual Basic 6.0:
Exemplo em Delphi 7.0: var Int_Confirma: Integer; begin int_Confirma:= Application.MessageBox ('Tem Certeza que Deseja Efetuar a ReducaoZ?' , 'Daruma Framework',mb_YesNo+mb_DefButton2+mb_IconQuestion); if (int_Confirma = 6) then //Int_Confirma = 6(Sim), = 7(No), o valor de retorno do Application.MessageBox Int_Retorno := Daruma_FIR_ReducaoZ(' ', ' ') Else exit; end;
Observaes: - Importantssimo este mtodo no aceita separadores, voc dever passar apenas 12bytes. - Se os valores estiverem fora dessa faixa sero limitados a 5 minutos.
Exemplo em Delphi 7.0: var Str_Data: String; Str_Hora: String; begin Str_Data := ''; Str_Hora := ''; Int_Retorno := Daruma_FIR_ReducaoZAjustaDataHora( pchar( Str_Data ), pchar( Str_Hora ) ); end;
Daruma Automao
239
Daruma Framework
Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Texto_Livre: String; begin Str_Texto_Livre := 'Texto livre com at 600 caracteres'; If Str_Texto_Livre = '' Then Exit; Int_Retorno := Daruma_FIR_RelatorioGerencial( pchar( Str_Texto_Livre ) ); end;
Daruma Automao
Daruma Framework
240
Exemplo em Delphi 7.0: var Str_Valor_da_Sangria: String; begin Str_Valor_da_Sangria := '0,10'; Int_Retorno := Daruma_FIR_Sangria( pchar( Str_Valor_da_Sangria ) ); end;
Exemplo em Delphi 7.0: var Str_Valor_do_Suprimento: String; Str_Forma_de_Pagamento: String; begin Str_Valor_do_Suprimento := '0,10'; Str_Forma_de_Pagamento := 'Dinheiro'; Int_Retorno := Daruma_FIR_Suprimento( pchar( Str_Valor_do_Suprimento ), pchar( Str_Forma_de_Pagamento ) ); end;
Daruma Automao
241
Daruma Framework
Com isso voc garante que o mtodo de Autenticao somente ser chamado quando o documento estiver presente. Parmetros do Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FIR_VerificaDocAutenticacao(); if Int_Retorno = 1 Then begin Application.MessageBox('1 = Documento Posicionado!', 'Daruma Framework', mb_ok); end else begin Application.MessageBox('0 = Documento No Posicionado!', 'Daruma Framework', mb_ok); end; end;
Exemplo em Delphi 7.0: var Str_Autenticacao_Str: String; begin Str_Autenticacao_Str := 'Framework32'; Int_Retorno := Daruma_FIR_AutenticacaoStr( pchar( Str_Autenticacao_Str ) ); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
Daruma Framework
242
Exemplo em Delphi 7.0: var Int_Estado_Gaveta: Integer; begin Int_Estado_Gaveta := 0; Int_Retorno := Daruma_FIR_VerificaEstadoGaveta( Int_Estado_Gaveta); if Int_Estado_Gaveta = 1 Then begin Application.MessageBox('1 = Gaveta Aberta!', 'Daruma Framework', mb_ok); end else begin Application.MessageBox('0 = Gaveta Fechada!', 'Daruma Framework', mb_ok); end; end;
Daruma Automao
243
Daruma Framework
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Na verso 1.20, no necessita realizar o cadastro do item no cardpio. Pois o mesmo cadastrado no momento em que a venda acontece. Exemplos:
Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Codigo: String; Str_Valor_Unitario: String; Str_Aliquota: String; Str_Descricao: String; begin Str_Codigo := '0001'; Str_Valor_Unitario := '02,00'; Str_Aliquota := '1800'; Str_Descricao := 'Fanta Diet'; Int_Retorno := Daruma_FIR_AdicionaProdutoCardapio(pchar( Str_Codigo ), pchar( Str_Valor_Unitario ), pchar( Str_Aliquota ), pchar( Str_Descricao ));
Daruma Framework
244
Daruma Automao
245
Daruma Framework
Exemplos:
Daruma Automao
Daruma Framework
246
Exemplo em Delphi 7.0: var Int_Indice_do_Totalizador: Integer; Str_Nome_do_Totalizador: String; begin Int_Indice_do_Totalizador := StrToInt('00')); Str_Nome_do_Totalizador := 'Conta de Luz'; Int_Retorno := Daruma_FIR_NomeiaTotalizadorNaoSujeitoIcms( Int_Indice_do_Totalizador, pchar( Str_Nome_do_Totalizador ) );
Exemplo em Delphi 7.0: var Str_Descricao_das_Formas_Pagamento: String; begin Str_Descricao_das_Formas_Pagamento := 'Cartao;Cheque;Redecard;'; Int_Retorno := Daruma_FIR_ProgramaFormasPagamento( pchar( Str_Descricao_das_Formas_Pagamento ) );
Daruma Automao
247
Daruma Framework
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Este mtodo s compatvel com a FS318 verso 1.20. - O cupom fiscal deve estar fechado. - Este Mtodo s ser executado aps uma ReduoZ e antes de uma LeituraX ou qualquer outro documento.
Exemplos:
Exemplo em Delphi 7.0: var Str_Titulo_Relatorio_Gerencial: String; begin Str_Titulo_Relatorio_Gerencial := 'Gerencial X'; Int_Retorno := Daruma_FIR_ProgramaRelatorioGerencial( pchar( Str_Titulo_Relatorio_Gerencial ) );
Exemplo em Delphi 7.0: var Str_Nome_do_Operador: String; begin Str_Nome_do_Operador := 'Operador 01'; Int_Retorno := Daruma_FIR_ProgramaOperador( pchar( Str_Nome_do_Operador ) );
Daruma Automao
Daruma Framework
248
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O cupom fiscal deve estar fechado. Exemplos:
Exemplo em Delphi 7.0: var Str_Mensagem_da_Taxa_de_Servico: String; begin Str_Mensagem_da_Taxa_de_Servico := 'O melhor Servico esta aqui!'; Int_Retorno := Daruma_FIR_ProgramaMsgTaxaServico( pchar( Str_Mensagem_da_Taxa_de_Servico ) );
Daruma Automao
249
Daruma Framework
horrio normal. Exemplificando melhor: se o horrio de vero for terminar no dia 100306, ento a ReduoZ do dia 090306 deve ter sido emitida ainda no dia 090306. Exemplos:
Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Numero_Linhas: String; begin Str_Numero_Linhas := InputBox('Entre com o nmero de linhas para o aviso de Pouco Papel:', 'Daruma Framework', '0450'); if Str_Numero_Linhas = '' Then Exit; Int_Retorno := Daruma_FI_CfgLimiarNearEnd(Str_Numero_Linhas);
Daruma Automao
Daruma Framework
250
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: -Este Mtodo ir configurar diretamente a impressora. Exemplos:
Exemplo em Delphi 7.0: var Str_Valor: String; begin Str_Valor := InputBox('Daruma Framework', 'Entre com o nmero de linhas:', '15'); if Str_Valor = '' Then Exit; Int_Retorno := Daruma_FIR_CfgEspacamentoCupons(pchar(Str_Valor));
Observaes: - Devolver 0(zero) para Cupom Fechado e 1(um) para Cupom Aberto.
Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Informacao: String; begin setlength( Str_Informacao, 2 ); Int_Retorno := Daruma_FIR_StatusCupomFiscal(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;
Daruma Automao
251
Daruma Framework
Parmetros do Mtodo: Varivel por refrencia com 2(dois) espaos alocados para escrita do Status. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Devolver 0(zero) para Relatrio Fechado e 1(um) para Relatrio Aberto. Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FIR_StatusRelatorioGerencial(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;
1.12.6.4 Daruma_FIR_StatusComprovanteNaoFiscalNaoVinculado(ndice )
Definio do Mtodo: Retorna o status do Comprovante No Fiscal No Vinculado, se o mesmo esta Aberto ou Fechado. Parmetros do Mtodo: Varivel por refrencia com 2(dois) espaos alocados para escrita do Status. Este Mtodo retornar um dos Valores Inteiros listados Abaixo:
Daruma Automao
Daruma Framework
252
1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Devolver 0(zero) para Recebimento Fechado e 1(um) para Recebimento Aberto. Exemplos: Exemplo em Visual Basic 6.0:
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FIR_StatusComprovanteNaoFiscalNaoVinculado(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FIR_VerificaImpressoraLigada(); If Int_Retorno = 1 Then Memo1.Lines.Text:= (' 1 - Impressora Ligada !!') else Memo1.Lines.Text:= (' 0 - Impressora Desligada !!'); end;
Daruma Automao
253
Daruma Framework
Parmetros do Mtodo: No H. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplos: Exemplo em Visual Basic 6.0:
Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FIR_VerificaModeloEcf(); Memo1.Lines.Text := IntToStr(Int_Retorno); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Informacao: String; begin
Daruma Automao
Daruma Framework
254
Daruma Automao
255
Daruma Framework
Daruma Automao
Daruma Framework
256
Daruma Automao
257
Daruma Framework
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,79); Int_Retorno := Daruma_FIR_VerificaAliquotasIss(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;
Daruma Automao
Daruma Framework
258
Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,300); Int_Retorno := Daruma_FIR_VerificaTotalizadoresNaoFiscais(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FIR_VerificaEpromConectada(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
259
Daruma Framework
Valor indicando quantas vezes cada recebimento foi utilizado: 4 bytes Valor acumulado para cada recebimento (2 casas decimais)....: 20 bytes 000100000000000000001000Conta de Luz ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 ,000000000000000000000000 - A impressora permite programar at 50 totalizadores no fiscais no vinculados, os totalizadores que no estiverem programados estaro com os valores zerados e a descrio em branco (veja Exemplos acima). Exemplos: Exemplo em Visual Basic 6.0:
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2200); Int_Retorno := Daruma_FIR_VerificaRecebimentoNaoFiscal(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;
Daruma Automao
Daruma Framework
260
- FS600 MFD; - FS2000; - FS2000T. Isso porque as impressoras citadas acima s truncam e isto esta previto no convnio 85/01. Exemplos: Exemplo em Visual Basic 6.0:
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FIR_VerificaTruncamento(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FIR_VerificaModoOperacao(Str_Informacao); if Str_Informacao = '1' Then begin Memo1.Lines.Text := (' 1 - Impressora em Modo Operacional !!'); end else begin Memo1.Lines.Text := (' 0 - Impressora em Modo de Intervencao Tecnica !!'); end; Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
261
Daruma Framework
Parmetros do Mtodo: Totalizadores: Varivel String por referncia com o tamanho de 445(quatrocentos e quarenta e cinco) posies para receber os totalizadores parciais cadastrados. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - So retornadas as seguintes informaes separadas por vrgulas: Totalizadores parciais tributados..........: 224 bytes Iseno....................................: 14 bytes No insidncia.............................: 14 bytes Substituo................................: 14 bytes Totalizadores parciais no sujeitos ao ICMS: 126 bytes Sangria....................................: 14 bytes Suprimento.................................: 14 bytes Grande Total...............................: 18 bytes Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,445); Int_Retorno := Daruma_FIR_VerificaTotalizadoresParciais(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
Daruma Framework
262
Daruma Automao
263
Daruma Framework
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,6); Int_Retorno := Daruma_FIR_NumeroCupom(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
Daruma Framework
264
end;
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FIR_NumeroCuponsCancelados(Str_Informacao);
Daruma Automao
265
Daruma Framework
Exemplo em Delphi 7.0: var Str_Data: String; Str_Hora: String; begin SetLength (Str_Data,6); SetLength (Str_Hora,6); Int_Retorno := Daruma_FIR_DataHoraImpressora(Str_Data, Str_Hora ); Memo1.Lines.Text := Pchar(' Data: ' + Str_Data + ' Hora: ' + Str_Hora); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
Daruma Framework
266
Exemplo em Delphi 7.0: var Str_Data_Rdz: String; Str_Hora_Rdz: String; begin SetLength (Str_Data_Rdz,6); SetLength (Str_Hora_Rdz,6); Int_Retorno := Daruma_FIR_DataHoraReducao(Str_Data_Rdz, Str_Hora_Rdz ); Memo1.Lines.Text := pchar(' Data:' + Str_Data_Rdz + ' Hora:' + Str_Hora_Rdz); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Data_Mov: String; begin SetLength (Str_Data_Mov,6); Int_Retorno := Daruma_FIR_DataMovimento(Str_Data_Mov);
Daruma Automao
267
Daruma Framework
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,44); Int_Retorno := Daruma_FIR_ContadoresTotalizadoresNaoFiscais(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
Daruma Framework
268
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,300); Int_Retorno := Daruma_FIR_LerAliquotasComIndice(Str_Informacao); Memo1.lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,18); Int_Retorno := Daruma_FIR_GrandeTotal(Str_Informacao ); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
269
Daruma Framework
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,14); Int_Retorno := Daruma_FIR_Descontos(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,14); Int_Retorno := Daruma_FIR_Cancelamentos(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
Daruma Framework
270
Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(631) Int_Retorno = Daruma_FI_DadosUltimaReducao(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,631); Int_Retorno := Daruma_FI_DadosUltimaReducao(Str_Informacao); Edit1.lines.Text := (Str_Informacao);
1.13
Daruma Automao
271
Daruma Framework
4. 5. 6. 7. 8.
UF Destino: String com 2 caracteres, do estado de destino. Categoria: String com 1 carctere. Sendo: (1->interestadual, 2->intermunicipal e 3->internacional). Modalidade: String com 1 cartere. Sendo: (1->rodovirio, 2->ferrovirio e 3->hidrovirio). Plataforma: String com at 4 carteres, com a descrio da plataforma. Poltrona: String com at 4 carteres, com o nmero da poltrona. Data Hora Embarque: String com 14 carteres, com a data seguida da hora de embarque. Observao! no use separadores, o modelo a ser passado : DDMMAAAA hhmmss, tudo junto
sem espao.
9. 10. 11. 12. Pretadora: String com at 48 caracteres, com o nome da empresa pratadora do servio. RG Passegeiro: String com at 29 caracteres, com o nmero de identidade do passageiro (opcional). Nome Passageiro: String com at 30 caracteres, com o nome do passageiro (opcional). Endereo Passageiro: String com at 79 caracteres, com o endereo do passageiro (opcional).
Retorno do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo. 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF.
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Percurso As String Dim Str_Origem As String Dim Str_Destino As String Dim Str_UF As String Dim Str_Categoria As String Dim Str_Modalidade As String Dim Str_Plataforma As String Dim Str_Poltrona As String Dim Str_DataHora As String Dim Str_Prestadora As String Dim Str_RG_Passageiro As String Dim Str_Nome_Passageiro As String Dim Str_Endereco_Passageiro As String Str_Percurso = "Taubate Foz do Iguacu" Str_Origem = "Taubate" Str_Destino = "Foz do Iguacu " Str_UF = "PR" Str_Categoria = "1" Str_Modalidade = "2" Str_Plataforma = "PT14" Str_Poltrona = "13C" Str_DataHora = "25112005190000" Str_Prestadora = "Itapemirim" Str_RG_Passageiro = "" Str_Nome_Passageiro = "" Str_Endereco_Passageiro = "" Int_Retorno = Daruma_FIB_AbreBilhetePassagem(Str_Origem, Str_Destino, Str_UF, Str_Percurso, Str_Prestadora, _ Str_Plataforma, Str_Poltrona, Str_Modalidade, Str_Categoria, _ Str_DataHora, Str_RG_Passageiro, Str_Nome_Passageiro, Str_Endereco_Passageiro) Exemplo em Delphi 7.0: Var Str_Percurso: String; Str_Origem: String; Str_Destino: String; Str_UF:String; Str_Categoria: String; Str_Modalidade: String; Str_Plataforma: String;
Daruma Automao
Daruma Framework
272
Str_Poltrona: String; Str_DataHora: String; Str_Prestadora: String; Str_RG_Passageiro: String; Str_Nome_Passageiro: String; Str_Endereco_Passageiro: String; begin Str_Percurso:= 'Taubate Foz do Iguacu'; Str_Origem:= 'Taubate'; Str_Destino:= 'Foz do Iguacu'; Str_UF:= 'PR'; Str_Categoria:= '1'; Str_Modalidade:= '2'; Str_Plataforma:= 'PT14'; Str_Poltrona:= '13C'; Str_DataHora:= '25112005190000'; Str_Prestadora:= 'Itapemirim'; Str_RG_Passageiro:= ''; Str_Nome_Passageiro:= ''; Str_Endereco_Passageiro:= ''; Int_Retorno:= Daruma_FIB_AbreBilhetePassagem (pchar(Str_Origem), pchar(Str_Destino), pchar(Str_UF), pchar(Str_Percurso), pchar(Str_Prestadora), pchar(Str_Plataforma), pchar(Str_Poltrona), pchar(Str_Modalidade), pchar(Str_Categoria), pchar(Str_DataHora), pchar(Str_RG_Passageiro), pchar(Str_Nome_Passageiro), pchar(Str_Endereco_Passageiro));
Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao As String Dim Str_Situacao_Tributaria As String Dim Str_Valor As String Dim Str_Acrescimo_Desconto As String Dim Str_Tipo_Acrescimo_Desconto As String Dim Str_Valor_Acrescimo_Desconto As String
Daruma Automao
273
Daruma Framework
Str_Descricao = "Bagagem" Str_Situacao_Tributaria = "II" Str_Valor = "5,00" Str_Acrescimo_Desconto = "D" Str_Tipo_Acrescimo_Desconto = "$" Str_Valor_Acrescimo_Desconto = "0,10" Int_Retorno = Daruma_FIB_VendeItem(Str_Descricao, Str_Situacao_Tributaria, Str_Valor, Str_Acrescimo_Desconto, _ Str_Tipo_Acrescimo_Desconto, Str_Valor_Acrescimo_Desconto)
Exemplo em Delphi 7.0: Var Str_Descricao: String; Str_Situacao_Tributaria: String; Str_Valor:String; Str_Acrescimo_Desconto: String; Str_Tipo_Acrescimo_Desconto: String; Str_Valor_Acrescimo_Desconto: String; begin Str_Descricao:= 'Bagagem'; Str_Situacao_Tributaria:= 'II'; Str_Valor:= '5,00'; Str_Acrescimo_Desconto:= 'D'; Str_Tipo_Acrescimo_Desconto:= '$'; Str_Valor_Acrescimo_Desconto:= '0,10'; Int_Retorno:= Daruma_FIB_VendeItem(pchar(Str_Descricao), pchar(Str_Situacao_Tributaria), pchar(Str_Valor), pchar(Str_Acrescimo_Desconto), pchar(Str_Tipo_Acrescimo_Desconto), pchar(Str_Valor_Acrescimo_Desconto));
1.14
Veja Graficamente como e quando usar as Funes Auxiliares de TEF: clique aqui Daruma_TEF_Tratando os Erros para ver passo-a-passo, como fazer o tratamentos dos erros como: Impressora com pouco papel, sem papel, off-line ou desligada.
Daruma Automao
Daruma Framework
274
Daruma Automao
275
Daruma Framework
Daruma Framework
276
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: Fluxograma bsico de uso desta Mtodo: 1) Retorno = Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001","Dinheiro","1") 2)Retorno Igual a 1(um)? 3)Se Sim, chamar a Mtodo para encerrar a impressao (Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial) 4)Se No, Colocar MSGBOX na Tela "Impressora Nao Responde, deseja Continuar? Sim ou no?" 5)Se Sim, Voltar para o passo 1, s que no passando o parmetro da Forma de Pagamento, passe um espaco em branco. (Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001"," ","1") isso far com que a Mtodo abre o Relatorio Gerencial e volte a imprimir tudo no Relatrio Gerencial. 6)Se no, chamar a Mtodo para encerrar a impressao (Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial) Exemplo: Impresso do Arquivo INTPOS.001 no Comprovante No Fiscal Vinculado. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Path_Arquivo_Resp_TEF As String Dim Str_Forma_de_Pagamento As String Dim Str_Travar_Teclado As String Str_Path_Arquivo_Resp_TEF = TX_Path_Arquivo_Resp_TEF.Text Str_Forma_de_Pagamento = TX_Forma_de_Pagamento.Text Str_Travar_Teclado = TX_Teclado.Text Int_Retorno = Daruma_TEF_ImprimirResposta(Str_Path_Arquivo_Resp_TEF, Str_Forma_de_Pagamento, Str_Travar_Teclado)
Exemplo em Delphi 7.0: var Str_Path_Arquivo_Resp_TEF: String; Str_Forma_de_Pagamento: String; Daruma Automao
277
Daruma Framework
Str_Travar_Teclado: String; begin Str_Path_Arquivo_Resp_TEF := Trim(Path_Arquivo_Resp_TEF.Text); Str_Forma_de_Pagamento := Trim(Forma_de_Pagamento.Text); Str_Travar_Teclado := Trim(Travar_Teclado.Text); Int_Retorno := Daruma_TEF_ImprimirResposta(pchar( Str_Path_Arquivo_Resp_TEF ), pchar( Str_Forma_de_Pagamento ), pchar( Str_Travar_Teclado ) );
Daruma Automao
Daruma Framework
278
Int_Retorno = Daruma_FI_EfetuaFormaPagamento("Dinheiro", "1,00") Int_Retorno = Daruma_FI_TerminaFechamentoCupom("Obrigado, volte sempre!") If Int_Retorno <> 1 Then MsgBox "Erro na venda do item!", vbCritical, "Daruma Framework" Else Str_Path_Arquivo_Resp_TEF = "C:\TEF_Dial\Resp\Intpos.001" Str_Forma_de_Pagamento = "Dinheiro" Str_Travar_Teclado = "1" Str_Valor_da_Forma_Pagamento = "1,00" Int_Retorno = Daruma_TEF_ImprimirRespostaCartao(Str_Path_Arquivo_Resp_TEF, Str_Forma_de_Pagamento, _ Str_Travar_Teclado, Str_Valor_da_Forma_Pagamento) Int_Retorno = Daruma_TEF_FechaRelatorio() If Int_Retorno = 1 Then Int_Retorno = Daruma_TEF_ImprimirRespostaCartao("C:\TEF_Dial\Resp\Intpos.001", "Dinheiro", "1", "1,50") Int_Retorno = Daruma_TEF_FechaRelatorio() End If End If Exemplo em Delphi 7.0: var Str_Path_Arquivo_Resp_TEF: String; Str_Forma_de_Pagamento: String; Str_Travar_Teclado: String; Str_Valor_da_Forma_Pagamento: String; begin Str_Path_Arquivo_Resp_TEF := Trim(Path_Arquivo_Resp_TEF.Text); Str_Forma_de_Pagamento := Trim(Forma_de_Pagamento.Text); Str_Travar_Teclado := Trim(Travar_Teclado.Text); Str_Valor_da_Forma_Pagamento := Trim(Valor_da_Forma_Pagamento.Text); Int_Retorno := Daruma_FI_VendeItem(pchar('0650'), pchar('Sapato'), pchar('NN'), 'I', '1', 2, pchar('2,50'), '%', pchar('0,00')); Int_Retorno := Daruma_FI_IniciaFechamentoCupom('A', '%', pchar('0,00')); Int_Retorno := Daruma_FI_EfetuaFormaPagamento(pchar('Dinheiro'), pchar('1,50')); Int_Retorno := Daruma_FI_EfetuaFormaPagamento(pchar('Dinheiro'), pchar('1,00')); Int_Retorno := Daruma_FI_TerminaFechamentoCupom(pchar('Obrigado, volte sempre!')); if Int_Retorno <> 1 Then begin Application.MessageBox('Erro na venda do item !!!', 'Daruma Framework', mb_ok + 16); end else begin Int_Retorno := Daruma_TEF_ImprimirRespostaCartao(pchar( Str_Path_Arquivo_Resp_TEF ), pchar( Str_Forma_de_Pagamento ), pchar( Str_Travar_Teclado ), pchar( Str_Valor_da_Forma_Pagamento) ); Int_Retorno := Daruma_TEF_FechaRelatorio(); end; if Int_Retorno = 1 Then begin Int_Retorno := Daruma_TEF_ImprimirRespostaCartao(pchar('C:\TEF_Dial\Resp\Intpos.001'), pchar('1,50'), '1', pchar('Dinheiro')); Int_Retorno := Daruma_TEF_FechaRelatorio();
Daruma Automao
279
Daruma Framework
tambm passa como parmetro) e devolve se o Arquivo foi encontrado dentro do tempo especificado, caso contrario devolve TIME-OUT. Este Mtodo de extrema utilidade para o TEF - Transferncia Eletronica de Fundos - onde o aplicativo necessita esperar aquivos de resposta do Gerenciador Padro, passe apenas o PATH com o nome do Arquivo e o tempo que voc deseja que a dll espere o arquivo e pronto, deixe que a dll faa o "contador de tempo" para voc, voc ainda pode escolher se enquanto a dll aguarda a criao do Arquivo o Teclado deve ser Bloqueado ou no. Parmetros do Mtodo: (3 Parmetros) 1. Arquivo: String com o Caminho completo + nome do arquivo que voc deseja esperar, EX: "C:\TEF_DIAL\RESP\INTPOS.001" 2. Tempo: String com o tempo qeu voc deseja que a dll fique esperando o arquivo chegar, este tempo deve ser passado em Segundos, exemplo de espera de 45 Segundos, EX: "45". 3. TravarTeclado = String com "0" ou "1" para travar o teclado enquanto espera a chegada do arquivo. "0" - No Trava, "1" - Trava. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Exemplo: Esperar a chegada do arquivo INTPOS.001 pelos segundos que voc espacificar, sem travar o teclado. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Path_Arquivo_Resp_TEF As String Dim Str_Tempo_Espera As String Str_Path_Arquivo_Resp_TEF = "C:\TEF_Dial\Resp\Intpos.001" Str_Tempo_Espera = Tx_Tempo_de_Espera Int_Retorno = Daruma_TEF_EsperarArquivo(Str_Path_Arquivo_Resp_TEF, Str_Tempo_Espera, "0") If Int_Retorno = 1 Then MsgBox "O Arquivo de Resposta foi localizado com sucesso no seguinte path:" + TX_Path_Nome_Arquivo, vbExclamation, "Daruma Framework" Else MsgBox "Estourou o tempo de:" + Tx_Tempo_de_Espera + " segundos e o arquivo de resposta nao pode ser localizado no seguinte path: " + Str_Path_Resp_TEF, vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0: var Str_Path_Resp_TEF: String; Str_Tempo_Espera: String; begin Str_Path_Resp_TEF := Trim(Path_Resp_TEF.Text); Str_Tempo_Espera := Trim(Tempo_Espera.Text); Int_Retorno := Daruma_TEF_EsperarArquivo( pchar( Str_Path_Resp_TEF ), pchar( Str_Tempo_Espera ), pchar(' 0') ); if Int_Retorno = 1 Then begin Application.MessageBox('O Arquivo de Resposta foi localizado com sucesso !!!', 'Daruma Framework', mb_ok + 32); end else begin Application.MessageBox('O Arquivo de Resposta no foi localizdo, Tempo esgotado !!!', 'Daruma Framework', mb_ok + 16); end;
Daruma Automao
Daruma Framework
280
Daruma Automao
281
Daruma Framework
Daruma Automao
Daruma Framework
282
End If Int_Sts_Func = Daruma_Registry_StatusFuncao("1") Int_Impressao_TEF = 0 Int_Numero_Vias = 2 Do While (Int_Numero_Vias <> 0) 'Inicio do loop que controla o numero do vias Int_Sts_CF = 0 Str_Sts_CF = Space(3) Int_Sts_Func = Daruma_FI_StatusCupomFiscal(Str_Sts_CF) Int_Sts_CF = CInt(Str_Sts_CF) 'Converto a Varivel String em integer evitando assim sujeira Do While (Int_Sts_CF = 1) 'Enquanto o cupom estiver aberto permaneco em loop 'Int_Sts_Func = Daruma_Registry_StatusFuncao("0") Int_Sts_Func = Daruma_FI_IniciaFechamentoCupom("A", "$", "0,00") Int_Sts_Func = Daruma_FI_EfetuaFormaPagamento("Dinheiro", "1,00") Int_Sts_Func = Daruma_FI_TerminaFechamentoCupom("Obrigado, volte sempre!") Int_Sts_Func = Daruma_FI_VerificaImpressoraLigada 'Int_Sts_Func = Daruma_Registry_StatusFuncao("1") If Int_Sts_Func = 1 Then 'Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line Int_Sts_Func = Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2) End If If Int_St1 >= 16 Then Int_Sts_Func = 0 'Aqui eu zero a Varivel para que caia no loop de impressora desligada End If Do While (Int_Sts_Func <> 1) 'Enquanto a impressora estiver desligada permaneo em loop Str_ConfirmInt_Retorno = 0 Str_ConfirmInt_Retorno = MsgBox("Impressora Desligada! Verifique e clique em Sim para reimpresso no Gerencial" _ + Chr(13) + Chr(10) + "ou No para cancelar.", vbCritical + vbQuestion + vbYesNo, "Daruma Framework") If Str_ConfirmInt_Retorno = vbYes Then 'Verificando se o usurio deseja continuar ou no Int_Sts_Func = Daruma_Registry_StatusFuncao("0") Int_Sts_Func = Daruma_FI_VerificaImpressoraLigada Int_Sts_Func = Daruma_Registry_StatusFuncao("1") Else Exit Sub 'Mtodo abortada!!! End If Loop 'Final do Do While Enquanto a impressora estiver desligada permaneo em loop Loop 'Final do Do While Enquanto o cupom estiver aberto permaneco em loop Int_Impressao_TEF = Int_Sts_CNFV = Int_Sts_Gerencial = 0 Do While (Int_Impressao_TEF <> 1) 'Controle de Impresso da resposta de TEF Int_Sts_Func = Daruma_Registry_StatusFuncao("0") Int_Sts_Func = Daruma_FI_VerificaImpressoraLigada If Int_Sts_Func = 1 Then 'Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line Int_Sts_Func = Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2) Int_Contador = 128 'Aqui Verifica se o Bit 16 esta ligado, se estiver ligado e porque esta off line a impressora 'se ele estiver ligado ele sai com 16 na Varivel ST1 Do While (Int_Sts1 > 16 And Int_Sts1 <> 0) If Int_Sts1 >= Int_Contador Then Int_Sts1 = Int_Sts1 - Int_Contador Else Int_Contador = Int_Contador - Int_Sts1 End If Loop If (Int_Sts1 <> 16) Then Int_Sts_Func = 0 'Aqui eu zero a Varivel para que caia no loop de impressora desligada Int_Sts_Func = Daruma_FI_StatusComprovanteNaoFiscalVinculado(Str_Sts_CNFV) Int_Sts_CNFV = CInt(Str_Sts_CNFV) 'Converto a Varivel String em integer evitando assim sujeira Int_Sts_Func = Daruma_FI_StatusRelatorioGerencial(Str_Sts_Gerencial) Int_Sts_Gerencial = CInt(Str_Sts_Gerencial) 'Converto a Varivel String em integer evitando assim sujeira
Daruma Automao
283
Daruma Framework
Int_Sts_Func = Daruma_Registry_StatusFuncao("0") If ((Int_Sts_CNFV = 0 And Int_Sts_Gerencial = 0) Or Int_Flag_Vinculado = 0) Then 'Checando o Status do CNFV e Relatorio Gerencial Int_Impressao_TEF = Daruma_TEF_ImprimirResposta("C:\TEF_Dial\Resp\Intpos.001", "Dinheiro", "1") If Int_Impressao_TEF = 1 Then Int_Flag_Vinculado = 0 Else Int_Flag_Vinculado = 1 End If Else Int_Impressao_TEF = Daruma_TEF_ImprimirResposta("C:\TEF_Dial\Resp\Intpos.001", " ", "1") End If End If Int_Sts_Func = Daruma_Registry_StatusFuncao("1") If (Int_Impressao_TEF <> 1) Then 'Controle de Interrupo na Impresso Str_ConfirmInt_Retorno = MsgBox("Impressora Desligada! Verifique e clique em Sim para reimpresso no Gerencial" _ + Chr(13) + Chr(10) + "ou No para cancelar.", vbCritical + vbQuestion + vbYesNo, "Daruma Framework") If Str_ConfirmInt_Retorno = vbNo Then Int_Impressao_TEF = 1 Int_Numero_Vias = 0 Else ' Int_Numero_Vias = Int_Numero_Vias - 1 End If Else Int_Numero_Vias = Int_Numero_Vias - 1 End If Else Str_ConfirmInt_Retorno = MsgBox("Impressora Desligada! Verifique e clique em Sim para reimpresso no Gerencial" _ + Chr(13) + Chr(10) + "ou No para cancelar.", vbCritical + vbQuestion + vbYesNo, "Daruma Framework") If Str_ConfirmInt_Retorno = vbNo Then Int_Impressao_TEF = 1 Int_Numero_Vias = 0 Else Int_Impressao_TEF = 0 End If End If Loop 'Final do Do While Controle de Impresso da resposta de TEF Loop 'Final do Do While (Int_Numero_Vias <> 0) 'Inicio do loop que controla o numero do vias If (Daruma_FI_VerificaImpressoraLigada) <> 1 Then Exit Sub End If Int_Sts_Func = Daruma_FI_StatusComprovanteNaoFiscalVinculado(Str_Sts_CNFV) Int_Sts_CNFV = CInt(Str_Sts_CNFV) 'Converto a Varivel String em integer evitando assim sujeira Int_Sts_Func = Daruma_FI_StatusRelatorioGerencial(Str_Sts_Gerencial) Int_Sts_Gerencial = CInt(Str_Sts_Gerencial) 'Converto a Varivel String em integer evitando assim sujeira If (Int_Sts_CNFV = 1 Or Int_Sts_Gerencial = 1) Then 'Checando o Status do CNFV e Relatorio Gerencial Int_Sts_Func = Daruma_TEF_FechaRelatorio() 'Fim da Rotina de TEF MsgBox "Impresso de TEF concluda", vbInformation, "Daruma Framework" Exit Sub Else MsgBox "A impresso foi Imterrompida", vbCritical, "Daruma Framework" Exit Sub End If Exemplo em Delphi 7.0:
Daruma Automao
Daruma Framework
284
var Int_Sts_Func: Integer; Int_Impressao_TEF: Integer; Int_Numero_Vias: Integer; Str_Sts_CF: String; Str_Sts_CNFV: String; Str_Sts_Gerencial: String;//Obs: no VB est como String; Str_Confirma: String; Int_Confirma: Integer; Int_Sts_CF: Integer; Int_Sts_CNFV: Integer; Int_Sts_Gerencial: Integer; Int_Flag_Vinculado: Integer; Int_Ack_Retorno: Integer;//Obs: no VB est = Dim Int_Ack_Retorno Int_Sts1: Integer; Int_Sts2: Integer; Int_Contador: Integer; begin Int_Flag_Vinculado:=(0); Int_Contador:=(0); Int_Sts_Func:= (0); SetLength (Str_Sts_CNFV,2); SetLength (Str_Sts_Gerencial,2); Int_Sts_Func:= Daruma_Registry_StatusFuncao('0'); Int_Sts_Func:= (Daruma_FI_VerificaImpressoraLigada); //IF 01 If Int_Sts_Func = 1 Then //Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line Begin Int_Sts_Func:= Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2); Int_Contador:= (128); //Aqui Verifica se o Bit 16 esta ligado, se estiver ligado e porque esta off line a impressora //se ele estiver ligado ele sai com 16 na variavel ST1 //While_01 While ((Int_Sts1 > 16) And (Int_Sts1 <> 0)) Do begin //IF 02 If ((Int_Sts1) >= (Int_Contador)) Then begin Int_Sts1:= (Int_Sts1 - Int_Contador); end Else Begin Int_Contador:= (Int_Contador - Int_Sts1); End; //IF 02 end;//While_01 //IF 03 If Int_Sts1 >= 16 Then begin Int_Sts_Func:= (0); //Aqui eu zero a variavel para que caia no loop de impressora desligada End; //IF 03 end;//IF 01 //IF 04 If Int_Sts_Func <> 1 Then Begin Application.MessageBox('Impressora Desligada ligue para comecar os testes!', 'Daruma Framework', mb_ok + 16); Exit; end; //IF 04 //Aqui fazemos uma venda para que o nosso arquivos de resposta possa ser impresso Int_Sts_Func:= Daruma_FI_VendeItem (pchar('500'), pchar('Caderno'), pchar('FF'), 'I', '1', 2, pchar('1,00'), '$', pchar('0,00')); Int_Sts_Func:= Daruma_FI_FechaCupomResumido(pchar('Dinheiro'), pchar('Tks!!')); //IF 05 If Int_Sts_Func <> 1 Then begin Application.MessageBox('O Cupom Fiscal Esta Aberto Verifique!', 'Daruma Framework', mb_ok + 16);
Daruma Automao
285
Daruma Framework
Exit; End;//IF 05 Int_Sts_Func:= Daruma_Registry_StatusFuncao('1'); Int_Impressao_TEF:= (0); Int_Numero_Vias:= (2); //While_02 While (Int_Numero_Vias <> 0) do //Inicio do loop que controla o numero do vias begin Int_Sts_CF:= 0; SetLength (Str_Sts_CF,3); Int_Sts_Func:= Daruma_FI_StatusCupomFiscal(Str_Sts_CF); Int_Sts_CF:= StrToInt(Str_Sts_CF); //Converto a variavel string em integer evitando assim sujeira //While_03 While (Int_Sts_CF = 1) do //Enquanto o cupom estiver aberto permaneco em loop begin Int_Sts_Func:= Daruma_FI_IniciaFechamentoCupom('A', '$', pchar('0,00')); Int_Sts_Func:= Daruma_FI_EfetuaFormaPagamento(pchar('Dinheiro'), pchar('1,00')); Int_Sts_Func:= Daruma_FI_TerminaFechamentoCupom(pchar('Obrigado, volte sempre!')); //IF 06 If Int_Sts_Func = 1 Then //Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line begin Int_Sts_Func:= Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2); End;//IF 06 //IF 07 If Int_Sts1 >= 16 Then begin Int_Sts_Func:= (0); //Aqui eu zero a variavel para que caia no loop de impressora desligada End; //IF 07 //While_04 While ((Int_Sts_Func) <> (1)) do //Enquanto a impressora estiver desligada permaneco em loop begin Int_Confirma:= (0); Int_Confirma:= Application.MessageBox ('Impressora Desligada! Verifique e clique em Sim para reimpressao no Gerencial' , 'Daruma Framework',mb_YesNo+mb_DefButton2+mb_IconQuestion); //IF 08 If (Int_Confirma = 6) Then //Verificando se o usuario deseja continuar ou nao //Int_Confirma = 6(Sim), = 7(No), o valor de retorno do Application.MessageBox Begin Int_Sts_Func:= Daruma_Registry_StatusFuncao('0'); Int_Sts_Func:= Daruma_FI_VerificaImpressoraLigada; Int_Sts_Func:= Daruma_Registry_StatusFuncao('1'); end Else begin Exit; //Funcao abortada!! end;//if 08 end;//While_04 //Loop Final do Do While Enquanto a impressora estiver desligada permaneco em loop end;//While_3 //Loop Final do Do While Enquanto o cupom estiver aberto permaneco em loop Int_Impressao_TEF:= (0); Int_Sts_CNFV:= (0); //No VB era = Int_Impressao_TEF = Int_Sts_CNFV = Int_Sts_Gerencial =0 Int_Sts_Gerencial:= (0); //While_05 While (Int_Impressao_TEF <> 1) do //Controle de Impressao da resposta de TEF begin Int_Sts_Func:= Daruma_Registry_StatusFuncao('0'); Int_Sts_Func:= Daruma_FI_VerificaImpressoraLigada; //IF 09 If Int_Sts_Func = 1 Then //Analisa-se e st1 e caso seja >=16 entao a impressora esta off-line begin Int_Sts_Func:= Daruma_FI_VerificaEstadoImpressora(Int_Ack_Retorno, Int_Sts1, Int_Sts2);
Daruma Automao
Daruma Framework
286
Int_Contador:= (128); //Aqui Verifica se o Bit 16 esta ligado, se estiver ligado e porque esta off line a impressora //se ele estiver ligado ele sai com 16 na variavel ST1 //While_06 While ((Int_Sts1 > 16) And (Int_Sts1 <> 0)) do begin //IF 10 If Int_Sts1 >= Int_Contador Then begin Int_Sts1:= ((Int_Sts1) - (Int_Contador)); end Else begin Int_Contador:= ((Int_Contador) - (Int_Sts1)); end;//IF 10 end;//While_06 //Loop //IF 11 If (Int_Sts1 <> 16) Then begin Int_Sts_Func:= (0); //Aqui eu zero a variavel para que caia no loop de impressora desligada Int_Sts_Func:= Daruma_FI_StatusComprovanteNaoFiscalVinculado(pchar(Str_Sts_CNFV)); Int_Sts_CNFV:= Int_Sts_Func; //Converto a variavel string em integer evitando assim sujeira Int_Sts_Func:= Daruma_FI_StatusRelatorioGerencial(Str_Sts_Gerencial); Int_Sts_Gerencial:= StrToInt(Str_Sts_Gerencial); //Converto a variavel string em integer evitando assim sujeira Int_Sts_Func:= Daruma_Registry_StatusFuncao('0'); //IF 12 If ((Int_Sts_CNFV = (0)) And (Int_Sts_Gerencial = (0)) Or (Int_Flag_Vinculado = (0))) Then //Checando o Status do CNFV e Relatorio Gerencial begin Int_Impressao_TEF:= Daruma_TEF_ImprimirResposta('C:\TEF_Dial\Resp\Intpos.001', 'Dinheiro', '1'); //IF 13 If Int_Impressao_TEF = 1 Then begin Int_Flag_Vinculado:= (0); end Else begin Int_Flag_Vinculado:= (1); End; //IF 13 end Else begin Int_Impressao_TEF:= Daruma_TEF_ImprimirResposta('C:\TEF_Dial\Resp\Intpos.001', ' ', '1'); End; //IF 12 end; // IF 11 Int_Sts_Func:= Daruma_Registry_StatusFuncao('1'); //IF 14 If (Int_Impressao_TEF <> 1) Then //Controle de Interrupcao na Impressao begin Int_Confirma:= Application.MessageBox ('Impressora Desligada! Verifique e clique em Sim para reimpressao no Gerencial' , 'Daruma Framework',mb_YesNo+mb_DefButton2+mb_IconQuestion); //IF 15 If (Int_Confirma = 7) Then begin Int_Impressao_TEF:= (1); Int_Numero_Vias:= (0); Application.MessageBox('A impressao foi Interrompida', 'Daruma Framework', mb_ok + 16); Exit; end;//IF 15 end
Daruma Automao
287
Daruma Framework
Else //IF 14 begin Int_Numero_Vias:= ((Int_Numero_Vias) - (1)); end; //IF 14 end Else//IF 09 begin Int_Confirma:= Application.MessageBox ('Impressora Desligada! Verifique e clique em Sim para reimpressao no Gerencial ou Nao para cancelar.' , 'Daruma Framework',mb_YesNo+mb_DefButton2+mb_IconQuestion); //IF 16 If (Int_Confirma = 7) Then //Int_Confirma = 6(Sim), = 7(No), o valor de retorno do Application.MessageBox begin Int_Impressao_TEF:= (1); Int_Numero_Vias:= (0); end Else begin Int_Impressao_TEF:= (0); End;//IF 16 end;//IF 09 end; //While 5 //Loop 'Final do Do While Controle de Impressao da resposta de TEF end; //While 02 //Loop 'Final do Do While (Int_Numero_Vias <> 0) 'Inicio do loop que controla o numero do vias //IF 17 If ((Daruma_FI_VerificaImpressoraLigada) <> (1)) Then begin Exit; end; //IF 17 Int_Sts_Func:= Daruma_FI_StatusComprovanteNaoFiscalVinculado(pchar(Str_Sts_CNFV)); Int_Sts_CNFV:= Int_Sts_Func; //Converto a variavel string em integer evitando assim sujeira Int_Sts_Func:= Daruma_FI_StatusRelatorioGerencial(pchar(Str_Sts_Gerencial)); Int_Sts_Gerencial:= StrToInt(Str_Sts_Gerencial); //Converto a variavel string em integer evitando assim sujeira //IF 18 If (((Int_Sts_CNFV) = (1)) Or ((Int_Sts_Gerencial) = (1))) Then //Checando o Status do CNFV e Relatorio Gerencial begin Int_Sts_Func:= Daruma_TEF_FechaRelatorio(); //Fim da Rotina de TEF Application.MessageBox('Impressao de TEF concluida', 'Daruma Framework', mb_ok + 32); Exit; end Else begin Application.MessageBox('A impressao foi Interrompida', 'Daruma Framework', mb_ok + 16); Exit; End;//IF 18 end;
1.15
Daruma Automao
Daruma Framework
288
Por exemplo: Se deseja Centralizar um Texto na Bobina, chame este Mtodo com o seguinte parmetro: iRetorno = Daruma_DUAL_ImprimirTexto("<ce>Teste de Comunicao</ce>","0") Se desejar Expandir o Texto e Deix-lo em Negrito Utilize as Chaves: iRetorno = Daruma_DUAL_ImprimirTexto("<b><e>Teste de Comunicao</b></e>","0") Se desejar Sublinhar apenas uma parte do Texto utilize a combinao iRetorno = Daruma_DUAL_ImprimirTexto("<b><e>Teste de <s>Comunicao</s></b></e>","0") E desta maneira apenas a palavra Comunicao ficar Sublinhada. Se desejar Tabular o Texto utilize a combinao iRetorno = Daruma_DUAL_ImprimirTexto("<tb>col1</tb><tb>col2</tb><tb>col3</tb><tb>col4</tb><tb>col5 </tb><tb>col6</tb>","0") E desta maneira apenas a palavra Comunicao ficar Sublinhada. Estas so as Tags que voc poder a qualquer momento no meio de seu texto implementar, inclundo uma Combinao entre elas: <b></b> Para sinalizar Negrito <i></i> Para sinalizar Itlico <s></s> Para sinalizar Sublinhado <e></e> Para sinalizar Expandido <c></e> Para sinalizar Condensado <n></n> Para sinalizar Normal <l></l> Para Saltar Uma Linha <sl>NN</sl> Para Saltar Vrias Linhas <tc>C</tc> Riscar Linha com um carctere Especifico <ce></ce> Para Centralizar <dt></dt> Para Imprimir Data Atual <hr></hr> Para Imprimir Hora Atual <sp>NN</sp> Inserir NN Espaos em Branco <sn></sn> Sinal Sonoro, Apitar <g></g> Abre a Gaveta <a> Aguardar at o Trmino da Impresso </a> No Aguardar at o Trmino da Impresso <tb></tb> Tabulao <bmp></bmp> Para fazer o UPLoad do Bitmap na Impressora << Quando desejar imprimir o carctere "<" >> Quando desenar imprimir o carctere ">" <gui></gui> Para acionamento da guilhotina, exclusivo impressora no fiscal trmica <da></da> Para duplicar a altura do caractere Tags para Cdigo de Barras: <ean13>123456789012</ean13> <ean8>1234567</ean8> <upc-a>12345678901</upc-a> <code39>CODE 39</code39> <code93>CODE 93</code93> <codabar>CODABAR</codabar> <msi>123456789</msi> <code11>12345678901</code11> <pdf>12345</pdf> Para imprimir o Cdigo de Barraas PDF417 Clique aqui para mais informaes:Daruma_DUAL_Imprimimindo Codigos de Barras Veja Aqui Alguns Exemplos de Utilizao Parmetros String: com texto que voc deseja Imprimir (at 2000 de tamanho) Inteiro: Com o Tamanho do Texto que voce ir imprimir, caso deseje a dll podera calcular o Tamanho, passe entao "0" neste parmetro. Obervao: Valor default da Chave = "0"
Daruma Automao
289
Daruma Framework
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Texto_Livre As String Dim Str_Tamanho_Texto As String If (TX_Texto_Livre = "") Then MsgBox "Digite um Texto!!" Exit Sub End If Str_Texto_Livre = TX_Texto_Livre.Text Int_Retorno = Daruma_DUAL_ImprimirTexto(Str_Texto_Livre, "0") 'O segundo parametro ficou = 0, dessa forma a dll calcula o tamanho do texto If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If End Sub Exemplo em Delphi 7.0: var Str_Texto_Livre: String; Memo: String; begin Memo:= TX_Texto_Livre.Text; if Memo = '' then //Verifica Existncia de Texto no (Memo) begin Application.MessageBox('Digite um Texto...!', 'Daruma Framework', mb_ok + 16); exit end; Str_Texto_Livre:= TX_Texto_Livre.Lines.Text; Int_Retorno:= Daruma_Dual_ImprimirTexto(Str_Texto_Livre, 0); // 0 Segundo parametro ficou =0, dessa forma a dll calcula o tamanho do texto if Int_Retorno = 1 then Application.MessageBox('Impressao Concluida!!!', 'Daruma Framework', mb_ok + 32) else Application.MessageBox('Erro!', 'Daruma Framework', mb_ok + 16); end;
Daruma Automao
Daruma Framework
290
-52: Impressora Inicializando -60: Erro de Tag (tag invlida) Aqui voc poder Utilizar o protocolo DHTM (DARUMA HTML) para formatar o seu arquivo de texto. Estas so as Tags que voc poder a qualquer momento no meio de seu texto implementar, inclundo uma Combinao entre elas: <b></b> Para sinalizar Negrito <i></i> Para sinalizar Itlico <s></s> Para sinalizar Sublinhado <e></e> Para sinalizar Expandido <c></e> Para sinalizar Condensado <n></n> Para sinalizar Normal <l></l> Para Saltar Uma Linha <sl>NN</sl> Para Saltar Vrias Linhas <tc>C</tc> Riscar Linha com um carctere Especifico <ce></ce> Para Centralizar <dt></dt> Para Imprimir Data Atual <hr></hr> Para Imprimir Hora Atual <sp>NN</sp> Inserir NN Espaos em Branco <sn></sn> Sinal Sonoro, Apitar <g></g> Abre a Gaveta <a> Aguardar at o Trmino da Impresso </a> No Aguardar at o Trmino da Impresso <tb></tb> Tabulao <bmp></bmp> Para fazer o UPLoad do Bitmap na Impressora << Quando desejar imprimir o carctere "<" >> Quando desenar imprimir o carctere ">" <gui></gui> Para acionamento da guilhotina, exclusivo impressora no fiscal trmica <da></da> Para duplicar a altura do caractere <pdf></pdf> Para imprimir o Cdigo de Barraas PDF417 Veja Aqui Alguns Exemplos de Utilizao Parmetros Arquivo: com texto que voce deseja Imprimir (at 3000 de tamanho) Obervao: As formataes que ir conter o arquivo devereo serem feitas atravs das tags DHTML. Valor default da Chave = "0" Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Erro de comunicao, Impressora Desligada 1: OK, Sucesso ao enviar o arquivo -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: ECF Inicializando. -53: Erro de Impresso. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirArquivo("C:\DarumaFramework.txt") Exemplo em Delphi 7.0: var Str_Path: String; begin Str_Path:= InputBox('Daruma Framework','Entre com o Nome do Arquivo a ser Impresso','C:\DarumaFramework.txt'); If (Str_Path = '') Then Exit; Int_Retorno:= Daruma_DUAL_ImprimirArquivo(Str_Path);
Daruma Automao
291
Daruma Framework
if Int_Retorno = 1 then begin Application.MessageBox('Configurao Feita com Sucesso!', 'Daruma Framework', mb_ok + 32); end else begin Application.MessageBox(' Erro!', 'Daruma Framework', mb_ok + 16); end; end; end.
Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_VerificaStatus() If Int_Retorno = 1 Then MsgBox "1(um) - Impressora OK", vbInformation, "Daruma Framework" End If If Int_Retorno = -50 Then MsgBox "-50 - Impressora OFF-LINE", vbCritical, "Daruma Framework" End If If Int_Retorno = -51 Then MsgBox "-51 - Impressora Sem Papel", vbCritical, "Daruma Framework" End If If Int_Retorno = -27 Then MsgBox "-27 - Erro Genrico", vbCritical, "Daruma Framework" End If If Int_Retorno = 0 Then MsgBox "0 - Impressora Desligada", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Daruma Automao
Daruma Framework
292
begin daruma_Retorno:= Daruma_DUAL_VerificaStatus(); if daruma_Retorno = 1 then TX_Status.Text:= '1(um) - Impressora OK!'; if daruma_Retorno = (-50) then TX_Status.Text:= '(-50) - Impressora OFF Line!'; if Daruma_Retorno = (-51) then TX_Status.Text:= '(-51) - Impressora Sem Papel!'; if Daruma_retorno = (-27) then TX_Status.Text:= '(-27) - Erro Generico!!'; if Daruma_Retorno = (0) then TX_Status.Text:= '(0) - Impressora Desligada!!'; end;
Daruma Automao
293
Daruma Framework
end;
Parmetros do Mtodo: (3 Parmetros) 1. Local: 1(um) s no Documento, 0(zero) no Documento e na Bobina 2. String com 48 caracteres com a Autenticao desejada 3. Quantos Segundos deseja esperar que o Usuario coloque o Documento Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Observaes Se voc estiver usando a porta LPT(Paralela) e deseja Autenticar, voc poder faze-lo de duas Formas. 1) Para Fazer uso do Parmetro de Time-Out (ou seja, que a dll fique esperando pra voc que o usuario coloque o Papel na DUAL) voce dever estar com a Chave ModoEscrita a 1(um). 2) Caso voc no deseje que a dll Controle isso, voce dever sempre chamar o mtodo de Autenticar quando o Papel j estiver presente na DUAL. Caso a Chave ModoEscrita estiver igual a 0(zero) e voce chame a autenticao sem o papel, no ir funcionar. Para maiores detalhes de como utilizar e configurar a chave Modo Escrita veja o Link Daruma_Registry_DUAL_ModoEscrita. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Vias As String Dim Str_Texto_Autenticacao As String Dim Str_Tempo_Espera As String Str_Vias = "1" Str_Texto_Autenticacao = "<sn><c>DARUMA AUTENTICAO</c> (D:<dt></dt> H:<hr></hr>)</sn>" Str_Tempo_Espera = "5" Int_Retorno = Daruma_DUAL_Autenticar(Str_Vias, Str_Texto_Autenticacao, Str_Tempo_Espera) Exemplo em Delphi 7.0: var Str_Vias: String; Str_Texto_Autenticacao: String; Str_Tempo_espera: String; begin
Daruma Automao
Daruma Framework
294
Str_Vias:= TX_Vias.Text; Str_Texto_Autenticacao:= TX_Texto_Autenticacao.Text; Str_Tempo_Espera:= TX_Tempo_Espera.Text; Int_Retorno:= Daruma_DUAL_Autenticar(Str_Vias, Str_Texto_Autenticacao, Str_Tempo_Espera); end; end.
295
Daruma Framework
Exemplos: Exemplo em Visual Basic 6.0: Dim Int_Status_Gaveta As Integer Int_Estado_Gaveta = 0 Int_Status_Gaveta = Daruma_DUAL_StatusGaveta() If Int_Status_Gaveta = 1 Then MsgBox "1 = Gaveta Aberta!" Else MsgBox "0 = Gaveta Fechada!" End If Exemplo em Delphi 7.0: begin Int_Retorno:= Daruma_DUAL_StatusGaveta(); if Int_Retorno = 1 then Application.MessageBox('1 (um) Gaveta Aberta!', 'Daruma Framework', mb_ok + 32) else Application.MessageBox('0 (zero) Gaveta Fechada!', 'Daruma Framework', mb_ok + 16); end;
Observaes: Formato do logotipo: tem que ser em formato BMP(bitmap) Dimenses: 576 largura X 200 altura ou 200 x 200, pixel's Cor: em preto e branco, somente. Exemplos:
Exemplo em Visual Basic 6.0: Dim Str_Path As String Str_Path = InputBox("Entre com o Path de onde est o Logotipo e o Nome do Arquivo:", "Daruma Framework", "C:\") If (Str_Path = "") Then Exit Sub End If Int_Retorno = Daruma_DUAL_EnviarBMP(Str_Path) If Int_Retorno = 1 Then MsgBox "Logotipo enviado com Sucesso!", vbInformation, "Daruma Framework" Else MsgBox "Erro ao enviar o Logotipo!", vbCritical, "Daruma Framework" End If
Daruma Automao
Daruma Framework
296
Exemplo em Delphi 7.0: var Str_Path: String; begin Str_Path:= InputBox('Daruma Framework','Entre com o Path de onde est o Logotipo e o Nome do Arquivo:','C:\DigiteAquiNomeArquivo.bmp'); If (Str_Path = '') then Exit; Int_Retorno:= Daruma_DUAL_EnviarBMP(Str_Path); if Int_Retorno = 1 then Application.MessageBox('Logotipo enviado com Sucesso!', 'Daruma Framework', mb_ok + 32) else Application.MessageBox('Erro ao enviar o Logotipo!', 'Daruma Framework', mb_ok + 16); end;
Exemplo em Delphi 7.0: begin Int_Retorno:= Daruma_DUAL_VerificarGuilhotina(); if Int_Retorno = 1 then Application.MessageBox('1 (um) Guilhotina Presente Habilitada!', 'Daruma Framework', mb_ok + 32) else Application.MessageBox('0 (zero) Guilhotina Desabilitada ou Sem Guilhotina !!', 'Daruma Framework', mb_ok + 16); end;
297
Daruma Framework
Existem 4 diferentes caracteres de start/stop: A, B, C, and D que so usados em pares e no podem aparecer em nenhum outro lugar do cdigo. CODE 11 Tamanho varivel. 0 a 9 As barras so geradas com checksum de dois caracteres CODE 128 Tamanho varivel. Todos os caracteres ASCII Interleaved 2 of 5 Tamanho sempre par. 0 a 9
Daruma Automao
Daruma Framework
298
Standard 2 of 5 Tamanho varivel. 0 a 9 MSI Tamanho varivel. 0 a 9 PDF417 Tamanho varivel. 0 a 9 Alguns exemplos de strings para impresso de cdigos de barras: Em todos os exemplos a seguir, o 4 parmetro, que o cdigo de barras em sim, ser impresso. No exemplo a seguir, os parmetros largura, altura e se imrpime o cdgo ou no (opcionais) no foram passados, sendo assim permanece o default. 1) <ean13>123456789012</ean13> Imprime o cdigo ean13 com o contedo "123456789012", sendo a largura = 3 e a altura default 2) <ean13><w3>123456789012</w3></ean13> Imprime o cdigo ean13 com o contedo "123456789012", sendo a largura = 3 e a altura = 150 3) <ean13><w3><h150>123456789012</h150></w3></ean13> Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirTexto("<ean13>123456789012</ean13>" + _ "<ean8>1234567</ean8><upc-a>12345678901</upc-a><code39>CODE 39</code39>" + _ "<code93>CODE 93</code93><codabar>CODABAR</codabar><msi>123456789</msi>" + _ "<code11>12345678901</code11><pdf>1234</pdf>", 0) Exemplo em Delphi 7.0: begin Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ean13>123456789012</ean13>' + '<ean8>1234567</ean8><upc-a>12345678901</upc-a><code39>CODE 39</code39>' + '<code93>CODE 93</code93><codabar>CODABAR</codabar><msi>123456789</msi>' + '<code11>12345678901</code11><pdf>1234</pdf>'),0); end;
- O PROCESSO ABAIXO NO NECESSRIO CASO VOC ESTEJA UTILIZANDO A PORTA SERIAL PARA SE COMUNICAR OU SISTEMAS OPERACIONAIS COMO W95 E W98. - O PROCESSO ABAIXO DEVE SER SEGUIDO APENAS NO CASO DE USO DA PARALELA EM SISTEMA OPERACIONAIS PROTEGIDOS COMO W2000, WXP, WNT, WxxSERVER. Devido a Existncia do HAL (Hardware Abstract Layer), existe a necessidade de se Burlar sta "Camada" de comunicao para que Status como FINAL de PAPEL, Operaes como Autenticao e Verificao de
Daruma Automao
299
Daruma Framework
papel presente para ser autenticado ou no, sejam utilizados e aceitos pelo HAL. Por isso a dll fez uso de um servio que fornece um endereo protegido de comunicao com a PARALELA, chamado HWINTERFACE.SYS. Passos Para a INSTALAO DA DS300 na PARALELA para Uso da DARUMA32.Dll: (Devem ser Executados nesta Ordem) 1. 2. 3. 4. Copie o Arquivo HWINTERFACE.SYS para o Diretrio WINDOWS\SYSTEM32\DRIVERS. Aps a Instalao Faa 2(dois) Cliques no Arquivo DARUMA.REG que ir Registrar este servio do Windows. Reinicie o Computador (Vlido somente para WIN2000). Pronto!! voc j pode usar a DARUMA32.Dll na Porta Paralela de seu computador com todas os Mtodos de Autenticao, Staus, etc... Tudo ON-LINE com a DUAL.
Problema: J realizei a Copia do HWINTERFACE.SYS, Fiz 2(dois) Clicks no DARUMA.REG, Reiniciei o Computador e ainda assim a DUAL no comunica na Paralela. Soluo: Como a Porta Paralela protegida pelo Sistema Operacional, pode ser que ainda necessite de alguns pequenos ajustes para funcionar, tudo isso pela limitao que sistemas operacionais ProtegidoS (W2000, WXP) possuem. Sendo assim Reinicie o Computador, entre no SETUP do computador (Geralmente pressionando a tecla "DEL" ao reiniciar) e verifique em que modo esta a Porta Paralela, caso a mesma esteja em modo BI-DIRECIONAL, favor retirar deste modo, e colocar em Modo ECP. Caso seu computador nao possua este modo deixar em modo NORMAL ou EPP. Problema: OK, realizei todos os passos acima e ainda assim no Windows continua no se comunicando com a DUAL NA paralela. Soluo: Faa um Click com o Boto Direiro no cone Meu Computador, escolha a Opo Propriedades, e a ficha "Hardware", nesta ficha escolha a Opo "Gerenciador de Dispositivos", aps isso selecione a opo "PORTAS" e a porta onde esta conectada a DUAL. Faa um click na Opo Configurao de Portas e deixe a paralela com a Seguinte Configurao: Nunca Usar Interrupo, conforme figura abaixo:
Daruma Automao
Daruma Framework
300
Definio do Mtodo: Permite trabalhar com as Tags de Formatao. Parmetros do Mtodo: (1 Parmetro) String: com as tags de formatao:ex:<b>TEXTO em NEGRITO</b> Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Time-Out, o Usuario no posicionou o Documento dentro do tempo indicado 1: OK, Sucesso ao enviar o mtodo -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: ECF Inicializando. -53: Erro de Impresso. Exemplos: Exemplo em Visual Basic 6.0: <b></b> Para sinalizar Negrito <i></i> Para sinalizar Itlico - Nas impressoras trmicas DR600, FS600 e FS2100T, no possvel utilizar esta tag, pois o texto no pode ser formatado para itlico. <s></s> Para sinalizar Sublinhado <e></e> Para sinalizar Expandido <c></c> Para sinalizar Condensado <n></n> Para sinalizar Normal <l></l> Para Saltar Uma Linha <sl>NN</sl> Para Saltar Vrias Linhas <tc>C</tc> Riscar Linha com um carctere Especifico <ce></ce> Para Centralizar <ad></ad> Para alinhar o texto Direita <da></da> Para duplicar a altura do caracter <dt></dt> Para Imprimir Data Atual, formato que estiver definido no sistema operacional do micro. <hr></hr> Para Imprimir Hora Atual,formato que estiver definido no sistema operacional do micro. <sp>NN</sp> Inserir NN Espaos em Branco <sn></sn> Sinal Sonoro, Apitar <g></g> Abre a Gaveta <a> Aguardar at o Trmino da Impresso </a> No Aguardar at o Trmino da Impresso
Daruma Automao
301
Daruma Framework
<tb></tb> Tabulao - Acesse o link a seguir para saber mais: Daruma_Registry_DUAL_Tabulacao <bmp></bmp> Para fazer o UPLoad do Bitmap na Impressora << Quando desejar imprimir o carctere "<" >> Quando desenar imprimir o carctere ">" <gui></gui> Para acionamento da guilhotina, exclusivo impressora no fiscal trmica Para impresso dos cdigos de barras acesse o seguinte link:Daruma_DUAL_Imprimimindo Codigos de Barras Private Sub Command1_Click() Int_Retorno = Daruma_DUAL_ImprimirTexto(("<sn><e><b>Teste Formatao DHTM</b></e></sn>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<n>Estes so os carcteres que voc poder utilizar<n><l>Voc poder a qualquer monento combinar as formataes!!"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<b>><</b>> Para sinalizar Negrito"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<i>><</i>> Para sinalizar Itlico"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<s>><</s>> Para sinalizar Sublinhado"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<e>><</e>> Para sinalizar Expandido"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<c>><</c>> Para sinalizar Condensado"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<n>><</n>> Para sinalizar Normal"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<l>><</l>> Para Saltar Uma Linha"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<ad>><</ad>> Para alinhar a direita"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<ft>>n1,n2,...,n6<</ft>> Para habilitar tabulao"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tb>><</tb>> Para saltar at a proxima tabulao"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<sl>>NN<</sl>> Para Saltar Vrias Linhas"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tc>>C<</tc>>Riscar Linha com Carcter Especfico"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<ce>><</ce>> Para Centralizar"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<dt>><</dt>> Para Imprimir Data Atual"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<hr>><</hr>> Para Imprimir Hora Atual"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<sp>>NN<</sp>> Inserir NN Espaos em Branco"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<sn>><</sn>> Sinal Sonoro, Apitar"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<g>><</g>> Abre a Gaveta"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<a>><</a>> Aguardar at o Trmino da Impresso"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tc>>_<</tc>> Gerar uma linha tachada"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<sl>01</sl>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>TABULAO</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ft>05,10,15,20,30,40</ft>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb> 40</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb> 40</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb> 40</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb> 40</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("Data<tb>Veiculo<tb>Cor<tb>Placa<tb>Hora"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<dt></dt><tb>Golf<tb>Branca<tb>AJY5231<tb>10:15</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<dt></dt><tb>Focus<tb></tb>Vermelha<tb></tb>APG2013<tb></tb >13:45"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<dt></dt><tb></tb>Megane<tb></tb>Cinza<tb></tb>AAR5414<tb> </tb>14:30"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<dt></dt><tb></tb>Corsa<tb></tb>Preto<tb></tb>AWK0189<tb>< /tb>20:40"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><tc>_</tc>"), 0)
Daruma Automao
Daruma Framework
302
Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l >"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Anvanando 3 Linhas</ce><sl>3</sl>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Anvanando 1 Linha</ce><sl>1</sl>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l>Inserindo</l><sp>10</sp>10 espaos em Branco"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Formatao Normal</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><n>DARUMA AUTOMAO!!</n></l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGR+ITAL+SUBL+EXPAND</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><i><s><e>DARUMA AUTOMAO!!</b></i></s></e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGR+ITAL+SUBL+CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><i><s><c>DARUMA AUTOMAO!!</b></i></s></c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGR+ITAL+SUBL+NORMAL</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><i><s><n>DARUMA AUTOMAO!!</b></i></s></n>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e>DARUMA AUTOMAO!!<e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<c>CONDENSADO</c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>DARUMA AUTOMAO!!</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><e>DARUMA AUTOMAO!!</b></e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITLICO+EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<i><e>DARUMA AUTOMAO!!</i></e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><e>DARUMA AUTOMAO!!</s></e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><c>DARUMA AUTOMAO!!</b></c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITLICO+CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<i><c>DARUMA AUTOMAO!!</i></c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>SUBLINHADO+CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><c>DARUMA AUTOMAO!!</s></c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+NORMAL</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><n>DARUMA AUTOMAO!!</b></n>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITLICO+NORMAL</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><i><n>DARUMA AUTOMAO!!</i></n></l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>SUBLINHADO+NORMAL</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><n>DARUMA AUTOMAO!!</s></n><l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ad>DARUMA AUTOMAO!!</ad><l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA + EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e><ad>DARUMA AUTOMAO!!</ad></e><l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA + SUBLINHADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ad><s>DARUMA AUTOMAO!!</s></ad><l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>CENTRALIZADO + EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e><ce>DARUMA AUTOMAO!!</ce></e><l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ft>05,10,15,20,30,40</ft>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>TABULADO NA COLUNA 10</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb></tb><tb></tb>DARUMA"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>TABULADO NA COLUNA 30</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb></tb><tb></tb><tb></tb><tb></tb><tb></tb>DARUMA"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<n><e>Cdigos de Barras</e></n>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ean13>123456789012</ean13><ean8>1234567</ean8>" + _ "<upc-a>12345678901</upc-a><code39>CODE 39</code39><code93>CODE 93</code93>" + _ "<codabar>CODABAR</codabar><msi>123456789</msi><code11>12345678901</code11><pdf>123 4</pdf>"), 0) 'Enviando todos Juntos Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><e><b>BUFFER COMPLETO</e></b>"), 0) Int_Retorno =
Daruma Automao
303
Daruma Framework
Daruma_DUAL_ImprimirTexto(("<<e>>DATA:<<dt>><</dt>><</e>><<l>><<l/>><<e>>Hora:<<h r>><</hr>><</e>><<l>><<l/>><<ce>>" + _ "Anvanando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaos em Branco<<l>>" + _ "<<ce>>Formatao Normal<</ce>><<n>>DARUMA AUTOMAO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>" + _ "<<b>><<i>><<s>><<e>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce> >" + _ "<<b>><<i>><<s>><<c>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b >>" + _ "<<i>><<s>><<n>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMA AUTOMAO!!" + _ "<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMA AUTOMAO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMA AUTOMAO!!" + _ "<</b>><</e>><<l>><<ce>>Itlico+EXPANDIDO<</ce>><<i>><<e>>DARUMA AUTOMAO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>" + _ "<<s>><<e>>DARUMA AUTOMAO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMA AUTOMAO!!<</b>><</c>><<l>>" + _ "<<ce>>Itlico+CONDENSADO<</ce>><<i>><<c>>DARUMA AUTOMAO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>" + _ "DARUMA AUTOMAO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMA AUTOMAO!!<</b>><</n>><<l>><<ce>>Itlico+NORMAL" + _ "<</ce>><<l>><<i>><<n>>DARUMA AUTOMAO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMA AUTOMAO!!<</s>><</n>>" + _ "<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMA AUTOMAO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + _ EXPANDIDO<</ce>>" + _ "<<e>><<ad>>DARUMA AUTOMAO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA + _ SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAO!!<</s>><</ad>>" + _ "<<l>><<ce>>CENTRALIZADO + _ EXPANDIDO<</ce>><<e>><<ce>>DARUMA AUTOMAO!!<</ce>><</e>><<l>><<ce>>TABULADO NA COLUNA 10<</ce>> <<tb>><</tb>>" + _ " <<tb>><</tb>>DARUMA<<l>><<ce>>TABULADO NA COLUNA 30<</ce>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>>DARUMA<<sl>>10<</sl>>" + _ "<<ean13>>123456789012<</ean13>><<ean8>>1234567<</ean8>><<upca>>12345678901<</upc-a>><<code39>>CODE 39<</code39>><<code93>>CODE 93<</code93>>" + _ "<<codabar>>CODABAR<</codabar>><<msi>>123456789<</msi>><<code11>>12345678901<</c ode11>>1234<</pdf>>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><e><b>FIM BUFFER COMPLETO</e></b>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<sl>03</sl>"), 0) If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If End Sub Exemplo em Delphi 7.0: Para Para Para Para Para Para Para Para sinalizar Negrito sinalizar Itlico sinalizar Sublinhado sinalizar E x p a n d i d o sinalizar Condensado sinalizar Normal Saltar Uma Linha Centralizar o Texto
Daruma Automao
Daruma Framework
304
<ad></ad> <da></da> <cr></cr> <sl>NN</sl> <tc>C</tc> <ce></ce> <dt></dt> <hr></hr> <sp>NN</sp> <sn></sn> <g></g> <tb></tb> <a> </a> << >>
Para Alinhar a Direita Para duplicar a altura do caracter Retornar o Carro de Impressao para o Comeo. Para Saltar Vrias Linhas Riscar Linha com um carctere Especifico Para Centralizar Para Imprimir Data Atual Para Imprimir Hora Atual Inserir NN Espaos em Branco Sinal Sonoro, Apitar Abre a Gaveta Tabulao Aguardar at o Trmino da Impresso No Aguardar at o Trmino da Impresso Quando desejar imprimir o carctere "<" Quando desenar imprimir o carctere ">"
procedure TFramework_DUAL_ImprimirTexto.Button1Click( Sender: TObject); begin Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<sn><e><b>Teste Formatao DHTM</b></e></sn>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<n>Estes so os carcteres que voc poder utilizar<n><l>Voc poder a qualquer monento combinar as formataes!!'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<b>><</b>> Para sinalizar Negrito'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<i>><</i>> Para sinalizar Itlico'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<s>><</s>> Para sinalizar Sublinhado'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<e>><</e>> Para sinalizar Expandido'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<c>><</c>> Para sinalizar Condensado'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<n>><</n>> Para sinalizar Normal'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<l>><</l>> Para Saltar Uma Linha'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ad>><</ad>> Para alinhar a direita'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ft>>n1,n2,...,n6<</ft>> Para habilitar tabulao'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tb>><</tb>> Para saltar at a proxima tabulao'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sl>>NN<</sl>> Para Saltar Vrias Linhas'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tc>>C<</tc>>Riscar Linha com Carcter Especfico'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ce>><</ce>> Para Centralizar'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<dt>><</dt>> Para Imprimir Data Atual'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<hr>><</hr>> Para Imprimir Hora Atual'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sp>>NN<</sp>> Inserir NN Espaos em Branco'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sn>><</sn>> Sinal Sonoro, Apitar'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<g>><</g>> Abre a Gaveta'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<a>><</a>> Aguardar at o Trmino da Impresso'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tc>>_<</tc>> Gerar uma linha tachada'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<sl>01</sl>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e>TABULAO</e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ft>05,10,15,20,30,40</ft>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb> <tb>40</tb>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb> <tb>40</tb>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb> <tb>40</tb>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb> <tb>40</tb>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('Data<tb>Veiculo<tb>Cor<tb>Placa<tb>Hora'), 0);
Daruma Automao
305
Daruma Framework
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb>Golf<tb>Branca<tb>AJY5231<tb>10:15</tb>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb>Focus<tb></tb>Vermelha<tb></tb>APG2013<tb ></tb>13:45'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb></tb>Megane<tb></tb>Cinza<tb></tb>AAR5414 <tb></tb>14:30'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb></tb>Corsa<tb></tb>Preto<tb></tb>AWK0189<t b></tb>20:40'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><tc>_</tc>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e>< l></l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Anvanando 3 Linhas</ce><sl>3</sl>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Anvanando 1 Linha</ce><sl>1</sl>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l>Inserindo</l><sp>10</sp>10 espaos em Branco'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Formatao Normal</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><n>DARUMA AUTOMAO!!</n></l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGR+ITAL+SUBL+EXPAND</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><i><s><e>DARUMA AUTOMAO!!</b></i></s></e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGR+ITAL+SUBL+CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><i><s><c>DARUMA AUTOMAO!!</b></i></s></c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGR+ITAL+SUBL+NORMAL</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><i><s><n>DARUMA AUTOMAO!!</b></i></s></n>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e>DARUMA AUTOMAO!!<e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<c>CONDENSADO</c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>DARUMA AUTOMAO!!</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><e>DARUMA AUTOMAO!!</b></e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITLICO+EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><e>DARUMA AUTOMAO!!</i></e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><e>DARUMA AUTOMAO!!</s></e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><c>DARUMA AUTOMAO!!</b></c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITLICO+CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><c>DARUMA AUTOMAO!!</i></c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><c>DARUMA AUTOMAO!!</s></c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+NORMAL</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><n>DARUMA AUTOMAO!!</b></n>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITLICO+NORMAL</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><i><n>DARUMA AUTOMAO!!</i></n></l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+NORMAL</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><n>DARUMA AUTOMAO!!</s></n><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ad>DARUMA AUTOMAO!!</ad><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA + EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e><ad>DARUMA AUTOMAO!!</ad></e><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA + SUBLINHADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ad><s>DARUMA AUTOMAO!!</s></ad><l>'), 0);
Daruma Automao
Daruma Framework
306
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>CENTRALIZADO + EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e><ce>DARUMA AUTOMAO!!</ce></e><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ft>05,10,15,20,30,40</ft>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>TABULADO NA COLUNA 10</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb></tb><tb></tb>DARUMA<l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>TABULADO NA COLUNA 30</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb></tb><tb></tb><tb></tb><tb></tb><tb></tb>DARUMA'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<n><e>Cdigos de Barras</e></n>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ean13>123456789012</ean13><ean8>1234567</ean8>' + '<upc-a>12345678901</upc-a><code39>CODE 39</code39><code93>CODE 93</code93>' + '<codabar>CODABAR</codabar><msi>123456789</msi><code11>12345678901</code11><pdf>123 4</pdf>'),0); //Enviando todos Juntos Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<l><e><b>BUFFER COMPLETO</e></b>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<<e>>DATA:<<dt>><</dt>><</e>><<l>><<l/>><<e>>Hora: <<hr>><</hr>><</e>><<l>><<l/>><<ce>>' + 'Anvanando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaos em Branco<<l>>' + '<<ce>>Formatao Normal<</ce>><<n>>DARUMA AUTOMAO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>' + '<<b>><<i>><<s>><<e>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce> >' + '<<b>><<i>><<s>><<c>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b >>' + '<<i>><<s>><<n>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMA AUTOMAO!!' + '<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMA AUTOMAO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMA AUTOMAO!!' + '<</b>><</e>><<l>><<ce>>Itlico+EXPANDIDO<</ce>><<i>><<e>>DARUMA AUTOMAO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>' + '<<s>><<e>>DARUMA AUTOMAO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMA AUTOMAO!!<</b>><</c>><<l>>' + '<<ce>>Itlico+CONDENSADO<</ce>><<i>><<c>>DARUMA AUTOMAO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>' + 'DARUMA AUTOMAO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMA AUTOMAO!!<</b>><</n>><<l>><<ce>>Itlico+NORMAL' + '<</ce>><<l>><<i>><<n>>DARUMA AUTOMAO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMA AUTOMAO!!<</s>><</n>>' + '<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMA AUTOMAO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + EXPANDIDO<</ce>>' + '<<e>><<ad>>DARUMA AUTOMAO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA + SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAO!!<</s>><</ad>>' + '<<l>><<ce>>CENTRALIZADO + EXPANDIDO<</ce>><<e>><<ce>>DARUMA AUTOMAO!!<</ce>><</e>><<l>><<ce>>TABULADO NA COLUNA 10<</ce>> <<tb>><</tb>>' + ' <<tb>><</tb>>DARUMA<<l>><<ce>>TABULADO NA COLUNA 30<</ce>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>>DARUMA<<sl>>10<</sl>>' + '<<ean13>>123456789012<</ean13>><<ean8>>1234567<</ean8>><<upca>>12345678901<</upc-a>><<code39>>CODE 39<</code39>><<code93>>CODE 93<</code93>>' + '<<codabar>>CODABAR<</codabar>><<msi>>123456789<</msi>><<code11>>12345678901<</co de11>><<pdf>>1234<</pdf>>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<l><e><b>FIM BUFFER COMPLETO</e></b>'), 0);
Daruma Automao
307
Daruma Framework
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<sl>03</sl>'), 0); if Int_Retorno = 1 Then Application.MessageBox('Impressao Concluida!!!', 'Daruma Framework', mb_ok + 32) else Application.MessageBox('Erro!', 'Daruma Framework', mb_ok + 16); end;
Definio do Mtodo: Permite trabalhar com as Tags de Formatao. Parmetros do Mtodo: (1 Parmetro) String: com as tags de formatao:ex:<ce>CENTRALIZADO</ce> Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Time-Out, o Usuario no posicionou o Documento dentro do tempo indicado 1: OK, Sucesso ao enviar o mtodo -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: ECF Inicializando. -53: Erro de Impresso. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirTexto(("<sn><e><b>Teste Formatao DHTM</b></e></sn>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<n>Estes so os carcteres que voc poder utilizar<n><l>Voc poder a qualquer monento combinar as formataes!!"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<b>><</b>> Para sinalizar Negrito"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<i>><</i>> Para sinalizar Itlico"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<s>><</s>> Para sinalizar Sublinhado"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<e>><</e>> Para sinalizar Expandido"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<c>><</c>> Para sinalizar Condensado"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<n>><</n>> Para sinalizar Normal"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<l>><</l>> Para Saltar Uma Linha"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<ad>><</ad>> Para alinhar a direita"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<ft>>n1,n2,...,n6<</ft>> Para habilitar tabulao"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tb>><</tb>> Para saltar at a proxima tabulao"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<sl>>NN<</sl>> Para Saltar Vrias Linhas"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tc>>C<</tc>>Riscar Linha com Carcter Especfico"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<ce>><</ce>> Para Centralizar"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<dt>><</dt>> Para Imprimir Data Atual"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<hr>><</hr>> Para Imprimir Hora Atual"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<sp>>NN<</sp>> Inserir NN Espaos em Branco"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<sn>><</sn>> Sinal Sonoro, Apitar"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<g>><</g>> Abre a Gaveta"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<a>><</a>> Aguardar at o Trmino da Impresso"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tc>>_<</tc>> Gerar uma linha tachada"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<sl>01</sl>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e>TABULAO</e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ft>05,10,15,20,30,40</ft>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb> 40</tb>"), 0) Int_Retorno =
Daruma Automao
Daruma Framework
308
Daruma_DUAL_ImprimirTexto(("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb> 40</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb> 40</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb><tb> 40</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("Data<tb>Veiculo<tb>Cor<tb>Placa<tb>Hora"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<dt></dt><tb>Golf<tb>Branca<tb>AJY5231<tb>10:15</tb>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<dt></dt><tb>Focus<tb></tb>Vermelha<tb></tb>APG2013<tb></tb >13:45"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<dt></dt><tb></tb>Megane<tb></tb>Cinza<tb></tb>AAR5414<tb> </tb>14:30"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<dt></dt><tb></tb>Corsa<tb></tb>Preto<tb></tb>AWK0189<tb>< /tb>20:40"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><tc>_</tc>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e><l></l >"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Anvanando 3 Linhas</ce><sl>3</sl>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Anvanando 1 Linha</ce><sl>1</sl>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l>Inserindo</l><sp>10</sp>10 espaos em Branco"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Formatao Normal</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><n>DARUMA AUTOMAO!!</n></l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGR+ITAL+SUBL+EXPAND</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><i><s><e>DARUMA AUTOMAO!!</b></i></s></e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGR+ITAL+SUBL+CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><i><s><c>DARUMA AUTOMAO!!</b></i></s></c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGR+ITAL+SUBL+NORMAL</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><i><s><n>DARUMA AUTOMAO!!</b></i></s></n>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e>DARUMA AUTOMAO!!<e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<c>CONDENSADO</c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>DARUMA AUTOMAO!!</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><e>DARUMA AUTOMAO!!</b></e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITLICO+EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<i><e>DARUMA AUTOMAO!!</i></e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><e>DARUMA AUTOMAO!!</s></e>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><c>DARUMA AUTOMAO!!</b></c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITLICO+CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<i><c>DARUMA AUTOMAO!!</i></c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>SUBLINHADO+CONDENSADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><c>DARUMA AUTOMAO!!</s></c>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+NORMAL</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><n>DARUMA AUTOMAO!!</b></n>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITLICO+NORMAL</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><i><n>DARUMA AUTOMAO!!</i></n></l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>SUBLINHADO+NORMAL</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><n>DARUMA AUTOMAO!!</s></n><l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ad>DARUMA AUTOMAO!!</ad><l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA + EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e><ad>DARUMA AUTOMAO!!</ad></e><l>"), 0)
Daruma Automao
309
Daruma Framework
Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA + SUBLINHADO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ad><s>DARUMA AUTOMAO!!</s></ad><l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>DUPLA ALTURA</ce><l>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<da>DARUMA AUTOMAO!!</da><l>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>DUPLA ALTURA + EXPANDIDO</ce><l>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<da><e>DARUMA AUTOMAO!!</da></e><l>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>DUPLA ALTURA + SUBLINHADO</ce><l>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<da><s>DARUMA AUTOMAO!!</s></da><l>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>DUPLA ALT + CENT + NEGRITO</ce>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<da><ce><b>DARUMA AUTOMAO!!</da></ce></b><l>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>DUPLA ALT + ALIN DIR. + NEGR</ce>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto("<da><ad><b>DARUMA AUTOMAO!!</da></ad></b><l>", 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>CENTRALIZADO + EXPANDIDO</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e><ce>DARUMA AUTOMAO!!</ce></e><l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ft>05,10,15,20,30,40</ft>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>TABULADO NA COLUNA 10</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb></tb><tb></tb>DARUMA<l>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>TABULADO NA COLUNA 30</ce>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<tb></tb><tb></tb><tb></tb><tb></tb><tb></tb>DARUMA"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<n><e>Cdigos de Barras</e></n>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ean13>123456789012</ean13><ean8>1234567</ean8>" + _ "<upc-a>12345678901</upc-a><code39>CODE 39</code39><code93>CODE 93</code93>" + _ "<codabar>CODABAR</codabar><msi>123456789</msi><code11>12345678901</code11><pdf>123 4</pdf>"), 0) 'Enviando todos Juntos Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><e><b>BUFFER COMPLETO</e></b>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<e>>DATA:<<dt>><</dt>><</e>><<l>><<l/>><<e>>Hora:<<h r>><</hr>><</e>><<l>><<l/>><<ce>>" + _ "Anvanando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaos em Branco<<l>>" + _ "<<ce>>Formatao Normal<</ce>><<n>>DARUMA AUTOMAO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>" + _ "<<b>><<i>><<s>><<e>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce> >" + _ "<<b>><<i>><<s>><<c>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b >>" + _ "<<i>><<s>><<n>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMA AUTOMAO!!" + _ "<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMA AUTOMAO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMA AUTOMAO!!" + _ "<</b>><</e>><<l>><<ce>>Itlico+EXPANDIDO<</ce>><<i>><<e>>DARUMA AUTOMAO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>" + _ "<<s>><<e>>DARUMA AUTOMAO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMA AUTOMAO!!<</b>><</c>><<l>>" + _ "<<ce>>Itlico+CONDENSADO<</ce>><<i>><<c>>DARUMA AUTOMAO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>" + _ "DARUMA AUTOMAO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMA AUTOMAO!!<</b>><</n>><<l>><<ce>>Itlico+NORMAL" + _ "<</ce>><<l>><<i>><<n>>DARUMA AUTOMAO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMA AUTOMAO!!<</s>><</n>>" + _ "<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMA AUTOMAO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + _ EXPANDIDO<</ce>>" + _
Daruma Automao
Daruma Framework
310
"<<e>><<ad>>DARUMA AUTOMAO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA + _ SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAO!!<</s>><</ad>>" + _ "<<l>><<ce>>CENTRALIZADO + _ EXPANDIDO<</ce>><<e>><<ce>>DARUMA AUTOMAO!!<</ce>><</e>><<l>><<ce>>TABULADO NA COLUNA 10<</ce>> <<tb>><</tb>>" + _ " <<tb>><</tb>>DARUMA<<l>><<ce>>TABULADO NA COLUNA 30<</ce>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>>DARUMA<<sl>>10<</sl>>" + _ "<<ean13>>123456789012<</ean13>><<ean8>>1234567<</ean8>><<upca>>12345678901<</upc-a>><<code39>>CODE 39<</code39>><<code93>>CODE 93<</code93>>" + _ "<<codabar>>CODABAR<</codabar>><<msi>>123456789<</msi>><<code11>>12345678901<</c ode11>><<pdf>>pdf<</pdf>>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><e><b>FIM BUFFER COMPLETO</e></b>"), 0) Int_Retorno = Daruma_DUAL_ImprimirTexto(("<sl>03</sl>"), 0) If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If
Exemplo em Delphi 7.0: begin Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<sn><e><b>Teste Formatao DHTM</b></e></sn>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<n>Estes so os carcteres que voc poder utilizar<n><l>Voc poder a qualquer monento combinar as formataes!!'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<b>><</b>> Para sinalizar Negrito'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<i>><</i>> Para sinalizar Itlico'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<s>><</s>> Para sinalizar Sublinhado'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<e>><</e>> Para sinalizar Expandido'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<c>><</c>> Para sinalizar Condensado'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<n>><</n>> Para sinalizar Normal'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<l>><</l>> Para Saltar Uma Linha'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ad>><</ad>> Para alinhar a direita'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<da>><</da>> Para duplicar a altura do caracter'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ft>>n1,n2,...,n6<</ft>> Para habilitar tabulao'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tb>><</tb>> Para saltar at a proxima tabulao'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sl>>NN<</sl>> Para Saltar Vrias Linhas'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tc>>C<</tc>>Riscar Linha com Carcter Especfico'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ce>><</ce>> Para Centralizar'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<dt>><</dt>> Para Imprimir Data Atual'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<hr>><</hr>> Para Imprimir Hora Atual'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sp>>NN<</sp>> Inserir NN Espaos em Branco'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sn>><</sn>> Sinal Sonoro, Apitar'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<g>><</g>> Abre a Gaveta'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<a>><</a>> Aguardar at o Trmino da Impresso'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tc>>_<</tc>> Gerar uma linha tachada'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<sl>01</sl>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e>TABULAO</e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ft>05,10,15,20,30,40</ft>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb> <tb>40</tb>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb> <tb>40</tb>'), 0); Int_Retorno:=
Daruma Automao
311
Daruma Framework
Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb> <tb>40</tb>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb>5</tb><tb>10</tb><tb>15</tb><tb>20</tb><tb>30</tb> <tb>40</tb>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('Data<tb>Veiculo<tb>Cor<tb>Placa<tb>Hora'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb>Golf<tb>Branca<tb>AJY5231<tb>10:15</tb>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb>Focus<tb></tb>Vermelha<tb></tb>APG2013<tb ></tb>13:45'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb></tb>Megane<tb></tb>Cinza<tb></tb>AAR5414 <tb></tb>14:30'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<dt></dt><tb></tb>Corsa<tb></tb>Preto<tb></tb>AWK0189<t b></tb>20:40'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><tc>_</tc>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><e>DATA:<dt></dt></e><l></l><e>Hora:<hr></hr></e>< l></l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Anvanando 3 Linhas</ce><sl>3</sl>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Anvanando 1 Linha</ce><sl>1</sl>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l>Inserindo</l><sp>10</sp>10 espaos em Branco'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Formatao Normal</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><n>DARUMA AUTOMAO!!</n></l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGR+ITAL+SUBL+EXPAND</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><i><s><e>DARUMA AUTOMAO!!</b></i></s></e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGR+ITAL+SUBL+CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><i><s><c>DARUMA AUTOMAO!!</b></i></s></c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGR+ITAL+SUBL+NORMAL</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><i><s><n>DARUMA AUTOMAO!!</b></i></s></n>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e>DARUMA AUTOMAO!!<e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<c>CONDENSADO</c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>DARUMA AUTOMAO!!</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><e>DARUMA AUTOMAO!!</b></e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITLICO+EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><e>DARUMA AUTOMAO!!</i></e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><e>DARUMA AUTOMAO!!</s></e>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><c>DARUMA AUTOMAO!!</b></c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITLICO+CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><c>DARUMA AUTOMAO!!</i></c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+CONDENSADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><c>DARUMA AUTOMAO!!</s></c>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+NORMAL</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><n>DARUMA AUTOMAO!!</b></n>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITLICO+NORMAL</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><i><n>DARUMA AUTOMAO!!</i></n></l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+NORMAL</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><n>DARUMA AUTOMAO!!</s></n><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ad>DARUMA AUTOMAO!!</ad><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA + EXPANDIDO</ce>'), 0);
Daruma Automao
Daruma Framework
312
Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e><ad>DARUMA AUTOMAO!!</ad></e><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA + SUBLINHADO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ad><s>DARUMA AUTOMAO!!</s></ad><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>DUPLA ALTURA</ce><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<da>DARUMA AUTOMAO!!</da><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>DUPLA ALTURA + EXPANDIDO</ce><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<da><e>DARUMA AUTOMAO!!</da></e><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>DUPLA ALTURA + SUBLINHADO</ce><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<da><s>DARUMA AUTOMAO!!</s></da><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>DUPLA ALT + CENT + NEGRITO</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<da><ce><b>DARUMA AUTOMAO!!</da></ce></b><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>DUPLA ALT + ALIN DIR. + NEGR</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<da><ad><b>DARUMA AUTOMAO!!</da></ad></b><l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ft>05,10,15,20,30,40</ft>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>TABULADO NA COLUNA 10</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb></tb><tb></tb>DARUMA<l>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>TABULADO NA COLUNA 30</ce>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<tb></tb><tb></tb><tb></tb><tb></tb><tb></tb>DARUMA'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<n><e>Cdigos de Barras</e></n>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ean13>123456789012</ean13><ean8>1234567</ean8>' + '<upc-a>12345678901</upc-a><code39>CODE 39</code39><code93>CODE 93</code93>' + '<codabar>CODABAR</codabar><msi>123456789</msi><code11>12345678901</code11><pdf>123 4</pdf>'),0); //Enviando todos Juntos Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<l><e><b>BUFFER COMPLETO</e></b>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<<e>>DATA:<<dt>><</dt>><</e>><<l>><<l/>><<e>>Hora: <<hr>><</hr>><</e>><<l>><<l/>><<ce>>' + 'Anvanando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaos em Branco<<l>>' + '<<ce>>Formatao Normal<</ce>><<n>>DARUMA AUTOMAO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>' + '<<b>><<i>><<s>><<e>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce> >' + '<<b>><<i>><<s>><<c>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b >>' + '<<i>><<s>><<n>>DARUMA AUTOMAO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMA AUTOMAO!!' + '<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMA AUTOMAO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMA AUTOMAO!!' + '<</b>><</e>><<l>><<ce>>Itlico+EXPANDIDO<</ce>><<i>><<e>>DARUMA AUTOMAO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>' + '<<s>><<e>>DARUMA AUTOMAO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMA AUTOMAO!!<</b>><</c>><<l>>' + '<<ce>>Itlico+CONDENSADO<</ce>><<i>><<c>>DARUMA AUTOMAO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>' + 'DARUMA AUTOMAO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMA AUTOMAO!!<</b>><</n>><<l>><<ce>>Itlico+NORMAL' +
Daruma Automao
313
Daruma Framework
'<</ce>><<l>><<i>><<n>>DARUMA AUTOMAO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMA AUTOMAO!!<</s>><</n>>' + '<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMA AUTOMAO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + EXPANDIDO<</ce>>' + '<<e>><<ad>>DARUMA AUTOMAO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA + SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAO!!<</s>><</ad>>' + '<<l>><<ce>>CENTRALIZADO + EXPANDIDO<</ce>><<e>><<ce>>DARUMA AUTOMAO!!<</ce>><</e>><<l>><<ce>>TABULADO NA COLUNA 10<</ce>> <<tb>><</tb>>' + ' <<tb>><</tb>>DARUMA<<l>><<ce>>TABULADO NA COLUNA 30<</ce>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>> <<tb>><</tb>>DARUMA<<sl>>10<</sl>>' + '<<ean13>>123456789012<</ean13>><<ean8>>1234567<</ean8>><<upca>>12345678901<</upc-a>><<code39>>CODE 39<</code39>><<code93>>CODE 93<</code93>>' + '<<codabar>>CODABAR<</codabar>><<msi>>123456789<</msi>><<code11>>12345678901<</co de11>><<pdf>>1234<</pdf>>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<l><e><b>FIM BUFFER COMPLETO</e></b>'), 0); Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<sl>03</sl>'), 0); if Int_Retorno = 1 Then Application.MessageBox('Impressao Concluida!!!', 'Daruma Framework', mb_ok + 32) else Application.MessageBox('Erro!', 'Daruma Framework', mb_ok + 16); end; procedure TFramework_DUAL_ImprimirTexto.BT_EnviarClick( Sender: TObject); var Str_Texto_Livre: String; Memo: String; begin Memo:= TX_Texto_Livre.Text; if Memo = '' then //Verifica Existncia de Texto no (Memo) begin Application.MessageBox('Digite um Texto...!', 'Daruma Framework', mb_ok + 16); exit end; Str_Texto_Livre:= TX_Texto_Livre.Lines.Text; Int_Retorno:= Daruma_Dual_ImprimirTexto(Str_Texto_Livre, 0); // 0 Segundo parametro ficou =0, dessa forma a dll calcula o tamanho do texto if Int_Retorno = 1 then
Application.MessageBox('Impressao Concluida!!!', 'Daruma Framework', mb_ok + 32) else Application.MessageBox('Erro!', 'Daruma Framework', mb_ok + 16); end;
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line
Daruma Automao
Daruma Framework
314
-51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Nome_Empresa As String Dim Str_Endereco_Empresa As String Dim Str_Fone_Empresa As String Dim Str_Numero_Pedido As String Dim Str_Tema_Mensagem As String Dim Str_Titulo_Mensagem As String Dim Str_Valor_Mensagem As String Dim Str_Forma_Cobranca As String Dim Str_Cliente As String Dim Str_Fone_Res As String Dim Str_Fone_Celular As String Dim Str_Fone_Com As String Dim Str_Mensagem_Promo As String Dim Str_Hora As String Str_Nome_Empresa = 'I LOVE TELEMENSAGENS' Str_Endereco_Empresa = 'Rua: XV de Novembro' Str_Fone_Empresa = '3343-0619 / 3386-9508' Str_Numero_Pedido = '0541' Str_Tema_Mensagem = 'Romantica' Str_Titulo_Mensagem = 'Casados para Sempre' Str_Valor_Mensagem = '5,00' Str_Forma_Cobranca = 'Em carteira" Str_Cliente = 'Lucia de Souza' Str_Fone_Res = '233-1154' Str_Fone_Celular = '9916-5540' Str_Fone_Com = '224-8890 R-254' Str_Mensagem_Promo = 'Agradeemos a Preferncia!!!' Str_Hora = TX_Hora.Text 'IMPRIMINDO A PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><e><sp>2</sp>" + TX_Nome_Empresa.Text + "</e></i>", 0) 'IMPRIMINDO A SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><tc>-</tc></ce>", 0) 'IMPRIMINDO A TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Endereco_Empresa.Caption + "<i>" + TX_Endereco_Empresa.Text + "</i>", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Fone_Empresa.Caption + "<i>" + TX_Fone_Empresa.Text + "</i>", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Pedido_N.Caption + "<i>" + TX_Numero_Pedido.Text + "</i>", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Data.Caption + "<i><dt></dt></i>", 0) 'IMPRIMINDO A SETIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><tc>-</tc></ce>", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Tema_Mensagem.Caption + "<i>" + TX_Tema_Mensagem.Text + "</i>", 0) 'IMPRIMINDO A NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Titulo_Mensagem.Caption + "<i>" + TX_Titulo_Mensagem.Text + "</i>", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Valor_Mensagem.Caption + "<i>" + TX_Valor_Mensagem.Text + "</i>", 0) 'IMPRIMINDO A DECIMA PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Forma_Cobranca.Caption + "<i>" +
Daruma Automao
315
Daruma Framework
TX_Forma_Cobranca.Text + "</i>", 0) 'IMPRIMINDO A DECIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Cliente.Caption + "<i>" + TX_Cliente.Text + "</i>", 0) 'IMPRIMINDO A DECIMA TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Fone_Res.Caption + "<i>" + TX_Fone_Res.Text + "</i>", 0) 'IMPRIMINDO A DECIMA QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Celular.Caption + "<i>" + TX_Celular.Text + "</i>", 0) 'IMPRIMINDO A DECIMA QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Fone_Com.Caption + "<i>" + TX_Fone_Com.Text + "</i><sl>1</sl>", 0) 'IMPRIMINDO A DECIMA SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><b>" + Tx_Mensagem_Promo.Text + "</b></ce><sl>2</sl>", 0) 'IMPRIMINDO A DECIMA OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>35</sp>" + LB_Hora.Caption + "<hr></hr>", 0) 'IMPRIMINDO A DECIMA NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><tc>-</tc></ce><sl>8</sl>", 0)
If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Dim Retorno As Integer Dim Str_Empresa As String Dim Str_Endereco_Empresa As String Dim Str_Fone_Empresa As String Dim Str_Cliente As String Dim Str_Cadastro As String Dim Str_Data_Devolucao As String Dim Str_Filme As String Dim Str_Categoria As String Dim Str_Valor As String Dim Str_Mensagem_Promocional As String Str_Empresa = 'Lucas Video' Str_Edereco_Empresa = 'AV. Constantino Lopes, 550 - Centro - Ctba.'
Daruma Automao
Daruma Framework
316
Str_Fone_Empresa = '232-1662' Str_Cliente = 'Guilherme de Souza' Str_Cadastro = '00021' Str_Data_Devolucao = '17/01/2005' Str_Filme = 'Piratas do Caribe' Str_Categoria = 'Lanamento' Str_Valor = '4,50' Str_Mensagem_Promocional = 'A cada 2 lanamentos brinde 1 catlogo' 'IPRIMINDO A PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce><b>" + TX_Empresa.Text + "</ce></e></b>", 0) 'IPRIMINDO A SEGUNRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Endereco_Empresa.Caption + "<i><sp>1</sp>" + TX_Endereco_Empresa.Text + "</i>", 0) 'IPRIMINDO A TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Fone_Empresa.Caption + "<i><sp>1</sp>" + TX_Fone_Empresa.Text + "</i>", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Nome_Cliente + "<i><sp>1</sp>" + TX_Cliente.Text + "</i>", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Cadastro + "<i><sp>1</sp>" + TX_Cadastro.Text + "</i>", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Data_Devolucao + "<i><sp>1</sp>" + TX_Data_Devolucao.Text + "</i>", 0) 'IMPRIMINDO A SETIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Filme + "<i><sp>1</sp>" + TX_Filme.Text + "</i>", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Categoria + "<i><sp>1</sp>" + TX_Categoria + "</i>", 0) 'IMPRIMINDO A NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto(LB_Valor + "<i><sp>1</sp>" + TX_Valor + "</i><sl>2</sl>", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><ce><b>" + TX_Mensagem_Promocional + "</i></ce></b><sl>10</sl>", 0) If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando
Daruma Automao
317
Daruma Framework
-60: Erro de Tag (tag invlida) Observaes: - As tabulaes podem ser definidas da seguinte maneira: Daruma_DUAL_ImprimirTexto("tf""0"); Exemplos: Exemplo em Visual Basic 6.0: 'IMPRIMINDO A PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>FRAB<tb>Ano<tb>Modelo<tb>Valor<tb>Cor", 0) 'IMPRIMINDO A SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>2000<tb>Corsa<tb>12.000<tb>Azul", 0) 'IMPRIMINDO A TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Ford<tb>2005<tb>Fiesta<tb>14.000<tb>Verde", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1998<tb>Uno Mille<tb>9.000<tb>Branco", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1997<tb>Vectra<tb>18.000<tb>Prata", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1999<tb>Tigra<tb>17.000<tb>Verde", 0) 'IMPRIMINDO A SETIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Ford<tb>2001<tb>Versalhes<tb>5.000<tb>Vinho", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1998<tb>Corsa<tb>10.000<tb>Preto", 0) 'IMPRIMINDO A NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1996<tb>Fiurino<tb>6.000<tb>Branca", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>WV<tb>1979<tb>Fusca<tb>3.000<tb>Bordo", 0) 'IMPRIMINDO A DECIMA PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1996<tb>Vectra<tb>16.000<tb>Grafite", 0) 'IMPRIMINDO A DECIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1985<tb>Fiat147<tb>3.000<tb>Azul", 0) 'IMPRIMINDO A DECIMA TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Hond<tb>2003<tb>Civic<tb>28.000<tb>Preto", 0) 'IMPRIMINDO A DECIMA QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1999<tb>Palio<tb>12.000<tb>Cinza", 0) 'IMPRIMINDO A DECIMA QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>2003<tb>Celta<tb>17.000<tb>Branco<sl>7</sl>", 0) If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico
Daruma Automao
Daruma Framework
318
Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>~</tc><l></l>", 0) 'IMPRIMINDO A PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><b>CENTRO DE DANA FLESH</b></e></ce>", 0) 'IMPRIMINDO A SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><tc>~</tc>", 0) 'IMPRIMINDO A TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Rua: <c>XV de Novembro N 785 Centro CTBA PR</c>", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>Fone: 234-5678 <tb>Fax:324-5678</i>", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Data: <dt></dt><tb><tb>Hora: <hr></hr>", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Pedido:00069<tb><tb>Cliente:00013", 0) 'IMPRIMINDO A STIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><b>Atividades Escolhidas:</b></ce>", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>SAMBA<tb>+<tb>BOLERO<tb>+<tb>FORR", 0) 'IMPRIMINDO A NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><tb><i><e><b>Valor: 55,00</b></e></i><l></l>", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>Vencimento: 10-03-05</c>", 0) 'IMPRIMINDO A DECIMA PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>o no pagamento implica no cancelamento da vaga </c>", 0) 'IMPRIMINDO A DECIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Incio dia 01 de Fevereiro as 17:30hr", 0) 'IMPRIMINDO A DECIMA TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><tb>Venha Danar!!!<l></l>", 0) 'IMPRIMINDO A DECIMA QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto(" <ce><s><c>Samba,Bolero,Soltinho,Forr,Zouk</c></s></ce>", 0) 'IMPRIMINDO A DECIMA QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Obrigado.</ad>", 0) 'IMPRIMINDO A DECIMA SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl> <sl></sl><sl></sl><sn></sn>", 0) 'IMPRIMINDO A DECIMA STIMA LINHA If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo.
Daruma Automao
319
Daruma Framework
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce><s>ESTACIONAMENTO LAC_PARK<s></ce></e>", 0) 'IMPRIMINDO A PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>Endereo:</n><c> A Dr. Teobaldo Freitas Silva Ribas - N1912</c>", 0) 'IMPRIMINDO A SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Santo Andr - So Paulo - SP - Brasil</c><l></l>", 0) 'IMPRIMINDO A TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<n>TICKET NMERO:<tb> 0005423</n><l></l>", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><b>Entrada:<tb><dt></dt><tb><hr></hr></b>", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>MARCA: Fiat<tb><tb>MODELO: Stilo</i><l></l>", 0) 'IMPRIMINDO A SETIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>PLACA: ANA-1069<tb>COR: Vermelho</i><l></l>", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad><n>R$ 2,00 Hora</n></ad>", 0) 'IMPRIMINDO A DECIMA PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad><n>R$ 0,50 Cada 15 Minutos</n></ad>", 0) 'IMPRIMINDO A DECIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c><s><b>No nos Responsabilizamos Por Objetos de Valor</b></s></c>", 0) 'IMPRIMINDO A DECIMA TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c><s><b>Deixados no Interior do Veculo</b></s></c><l></l>", 0) 'IMPRIMINDO A DECIMA QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><b>OBRIGADO</b></e></ce>", 0) 'IMPRIMINDO A DECIMA QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0) If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo.
Daruma Automao
Daruma Framework
320
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0) 'IMPRIMINDO A PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>VENDA - A VISTA</e></ce>", 0) 'IMPRIMINDO A SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0) 'IMPRIMINDO A TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><n>Cliente...: 000001 - CONSUMIDOR</n>", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><n>Vendedor...:</n> <e>00069 - ANDREA </e>", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><n>Contrato...:</n> <e>02195 -</e><n> Data:<dt></dt></n>", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0) 'IMPRIMINDO A SETIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("CDIGO<sp>3</sp>DESCRIO<sp>3</sp>QT<sp>6</sp>UNIT<sp>8 </sp>TOTAL", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("06540<tb>TENIS REEF<sp>2</sp>1<tb>149,90<sp>6</sp>149,90", 0) 'IMPRIMINDO A DECIMA PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("05874<tb>MEIA ESTAM<sp>2</sp>6<tb> 2,90<sp>7</sp>17,40", 0) 'IMPRIMINDO A DECIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("05874<tb>BLUSAO ADU<sp>2</sp>1<tb> 49,00<sp>7</sp>49,00", 0) 'IMPRIMINDO A DECIMA TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("05874<tb>CUECA SORT<sp>2</sp>2<tb> 4,90<sp>8</sp>9,80", 0) 'IMPRIMINDO A DECIMA QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("05874<tb>TOALHA MES<sp>2</sp>3<tb> 9,90<sp>7</sp>29,70 ", 0) 'IMPRIMINDO A DECIMA QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0) 'IMPRIMINDO A DECIMA SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>DESCONTOS: - 12,80</ad>", 0) 'IMPRIMINDO A DECIMA SETIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0) 'IMPRIMINDO A DECIMA OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<e>TOTAL VENDA...:<sp>2</sp>243,00</e>", 0) 'IMPRIMINDO A DECIMA NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0) 'IMPRIMINDO A VIGSIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0) 'IMPRIMINDO A VIGSIMA PRIMEIRA LINHA If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If
Daruma Automao
321
Daruma Framework
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>#</tc>", 0) 'IMPRIMINDO A PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce>ACADEMIA NEW SPORTS</ce></e>", 0) 'IMPRIMINDO A SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>Rua Nossa Senhora da Luz</i>, 350", 0) 'IMPRIMINDO A TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>Jardim Social - Curitiba - PR</i>", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb>CNPJ 04.888.968/0001-79<tb><e>2345678<l></l></e>", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>#</tc><l></l>", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><dt></dt><i>", 0) 'IMPRIMINDO A STIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Recibo nr.258963</ad><l></l>", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Nome : </c><b>ELAINE MARIA</b><sp>5</sp>(545)<l></l> ", 0) 'IMPRIMINDO A NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Plano : </c><b>MUSCULAO NOTURNO</b><sp>5</sp>(5)<l></l> ", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>VALOR PAGO : 45,00</e></ce> ", 0) 'IMPRIMINDO A DECIMA PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Ref. ao perodo de 03/04/2005 at 03/05/2005</c><l></l>", 0) 'IMPRIMINDO A DECIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>Obs: MENSALIDADE</c><l></l>", 0) 'IMPRIMINDO A DECIMA TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0) 'IMPRIMINDO A DECIMA QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>WWW.ACADEMIANEW.COM.BR</e></ce>", 0) 'IMPRIMINDO A DECIMA QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0) 'IMPRIMINDO A DECIMA SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>SAUDE BELEZA E BEM ESTAR</e></ce>", 0) 'IMPRIMINDO A DECIMA STIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl> <sl></sl><sn></sn>", 0) 'IMPRIMINDO A DECIMA OITAVA LINHA
Daruma Automao
Daruma Framework
322
If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirTexto("________________________________________________", 0) 'IMPRIMINDO A PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>5</sp><e><s>CASA ASHFAQ AHMED</s></e><sp>6</sp>|", 0) 'IMPRIMINDO A SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<c>Nota de : </c> <e>VENDAS</e><sp>24</sp>|", 0) 'IMPRIMINDO A TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<c>Nmero : </c> <e>032165</e><sp>24</sp>|", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<c>Vendedor: </c> <e>ZORAIDE</e><sp>22</sp>|", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>CDIGO<sp>4</sp>|<sp>2</sp>DESCRIO<sp>8 </sp>| VALOR</b> |", 0) 'IMPRIMINDO A STIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>00074185<sp>2</sp>|<sp>2</sp>DVD PANALS345<sp>3</sp>|<sp>2</sp>499,00</b><sp>4</sp>|", 0) 'IMPRIMINDO A NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>000963256<sp>1</sp>|<sp>2</sp>CALCUL<sp>3</ sp>HP49GX<sp>2</sp>|<sp>2</sp>859,00</b><sp>4</sp>|", 0) 'IMPRIMINDO A DECIMA PEIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A DECIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>00258852<sp>2</sp>|<sp>2</sp>TV TOSHI0<sp>2</sp>48P<sp>3</sp>|4,480,00</b><sp>4</sp>|", 0) 'IMPRIMINDO A DECIMA TERCEIRA LINHA
Daruma Automao
323
Daruma Framework
Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A DECIMA QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>000789654<sp>1</sp>|<sp>2</sp>SONY T68i<sp>8</sp>|<sp>2</sp>659,00</b><sp>4</sp>|", 0) 'IMPRIMINDO A DECIMA QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A DECIMA SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>45</sp>|", 0) 'IMPRIMINDO A DECIMA STIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<e><sp>3</sp>TOTAL<sp>3</sp>5,727,00</e><sp>7</sp>|", 0) 'IMPRIMINDO A DECIMA OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>45</sp>|", 0) 'IMPRIMINDO A DECIMA NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A VIGSIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>18</sp>CONFIRA SUAS MERCADORIAS<sp>3</sp>|", 0) 'IMPRIMINDO A VIGSIMA PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>5</sp>NO ACEITAMOS RECLAMAES POSTERIORES<sp>3</sp>|", 0) 'IMPRIMINDO A VIGSIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A VIGSIMA TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0) 'IMPRIMINDO A VIGSIMA QUARTA LINHA If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><s>R E C I B O</s></e></ce>", 0) 'IMPRIMINDO A PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>32</sp><c>1 VIA</c>", 0) 'IMPRIMINDO A SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><sp>1</sp>INFO<sp>2</sp>XV</e><sp>14</sp><c>VENCIMENT O:<c><dt></dt>", 0) 'IMPRIMINDO A TERCEIRA LINHA
Daruma Automao
Daruma Framework
324
Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>32</sp><c>NMERO: 00654</c>", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<i><b>C o n t r o l e d e A l u g u e l</b></i>", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<b>INQUILINO<sp>4</sp>..:</b> Jos Maria ", 0) 'IMPRIMINDO A STIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<b>FIADOR<sp>7</sp>..:</b> Roberto Carlos ", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<b>IMVEL LOCADO..:</b> AV. Almirante Sab N 258 ", 0) 'IMPRIMINDO A NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<b>VALOR<sp>8</sp>..:</b> 455,00 ", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("-----------------------------------------------<l></l><l></l>", 0) 'IMPRIMINDO A DECIMA PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Ass:-----------------------------</ad>", 0) 'IMPRIMINDO A DECIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>NOTA PARA SIMPLES CONFERNCIA</c>", 0) 'IMPRIMINDO A DECIMA TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>SEM VALOR FISCAL</c>", 0) 'IMPRIMINDO A DECIMA QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>FECHA..:<sp>2</sp><dt></dt><hr></hr> </i>", 0) 'IMPRIMINDO A DECIMA QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A DECIMA SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>" , 0) 'IMPRIMINDO A DECIMA STIMA LINHA If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Definio do Mtodo: Permite a Impresso de Texto com as TAGS de formatao. Parmetros do Mtodo: (2 Parmetros) String: Com o texto desejado, com at 3000 bytes. Inteiro: Indicando se ser aguardado o trmino da impresso 0(zero) no aguarda 1(um) aguardo. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: Impressora Inicializando -60: Erro de Tag (tag invlida) Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><s>Consultrio Mdico </s></e></ce><l></l>", 0) 'IMPRIMINDO A PRIMEIRA LINHA
Daruma Automao
325
Daruma Framework
Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>MDICO<sp>3</sp>__:</c><sp>2</sp>DR. Av Frana", 0) 'IMPRIMINDO A SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>REGISTRO __:</c><sp>2</sp>321654", 0) 'IMPRIMINDO A TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>END. CONS__:</c><sp>2</sp>Rua Hugo Boos N 98, Centro CTBA PR", 0) 'IMPRIMINDO A QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>REGISTRO DE CONSULTAS</i></b>", 0) 'IMPRIMINDO A SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>PACIENTE<sp>5</sp>__:</c><sp>2</sp>Maria de Lurdes", 0) 'IMPRIMINDO A STIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>DATA CONSULTA__:<sp>1</sp>02/02/08</c><sp>7</sp>(orto)", 0) 'IMPRIMINDO A OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>HORA CONSULTA__:<sp>1</sp>16:20:00</c>", 0) 'IMPRIMINDO A NONA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>TOLERNCIA DE ATRASO</i></b><l></l>", 0) 'IMPRIMINDO A DECIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>15 Minutos </ad>", 0) 'IMPRIMINDO A DECIMA PRIMEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>DESISTNCIA</i></b>", 0) 'IMPRIMINDO A DECIMA SEGUNDA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Avisar com 24 Horas de Antesedncia</ad>", 0) 'IMPRIMINDO A DECIMA TERCEIRA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>OBSERVAO</i></b>", 0) 'IMPRIMINDO A DECIMA QUARTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Raio X e Outros Exames no Esto Inclusos</ad>", 0) 'IMPRIMINDO A DECIMA QUINTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>DATA HOJE</i></b>", 0) 'IMPRIMINDO A DECIMA SEXTA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><dt></dt><sp>3</sp><hr></hr></ce>", 0) 'IMPRIMINDO A DECIMA STIMA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0) 'IMPRIMINDO A DECIMA OITAVA LINHA Int_Retorno = Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl> <sl></sl><sn></sn>", 0) 'IMPRIMINDO A DECIMA NONA LINHA If Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0:
Daruma Automao
Daruma Framework
326
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Obervao: Valor default da Chave = "1" Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_DUAL_Enter("1") Exemplo em Delphi 7.0: Int_Retorno:= Daruma_Registry_DUAL_Enter('1');
Daruma Automao
327
Daruma Framework
SE VOC CONFIGUROU ESTA CHAVE PARA 1(UM) DEVER ENTO PROCEDER OS PASSOS DE INSTALAO DO ARQUIVO HWINTERFACE.SYS. PARA ISSO VEJA O LINK: Trabalhando com a DUAL NA PARALELA (LPT1, LPT2)
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Obervao: Valor default da Chave = "0" Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_DUAL_ModoEscrita("1") Exemplo em Delphi 7.0: Int_Retorno:= Daruma_Registry_DUAL_ModoEscrita('1');
Daruma Automao
Daruma Framework
328
if Int_Retorno = 1 then Application.MessageBox('Configurao Feita com Sucesso!', 'Daruma Framework', mb_ok + 32) else Application.MessageBox(' Erro!', 'Daruma Framework', mb_ok + 16); end;
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry -4: No OK, A chave ou Valor no Arquivo Registry no Foi Encontada Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Tabulacao As String Str_Tabulacao = InputBox("Entre com o Desejada:", "Daruma Framework", "05,10,15,20,25,35") If Str_Tabulacao = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_DUAL_Tabulacao(Str_Tabulacao) If Int_Retorno = 1 Then MsgBox "Programacao feita com Sucesso!", vbInformation, "Daruma Framework" Else MsgBox "Erro!", vbCritical, "Daruma Framework" Exit Sub End If Exemplo em Delphi 7.0: var Str_Tabulacao: String; begin Str_Tabulacao:= InputBox('Entre com o Desejada:', 'Daruma Framework', '05,10,15,20,25,35');
Daruma Automao
329
Daruma Framework
if Str_Tabulacao = '' then begin exit end; Int_Retorno:= Daruma_Registry_DUAL_Tabulacao(Str_Tabulacao); if Int_Retorno = 1 then begin Application.MessageBox('Configurao Feita com Sucesso!', 'Daruma Framework', mb_ok + 32); end else begin Application.MessageBox(' Erro!', 'Daruma Framework', mb_ok + 16); end; end;
Daruma Automao
Daruma Framework
330
1.16
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - O parmetro alquota, especificamente para o TA1000 voc dever passar por ndice TA, TB...TP. Caso queira cadastrar tem como isendo, utilize a sigla II, substituio FF e no tributado NN. Onde cada ndice representa uma alquota em uma determinada posio de memria na impressora. Para ler as alquotas exitentes na impressora use a funo:Daruma_FI_LerAliquotasComIndice(ndice 1483) . - Para que esse mtodo seja validado no TA1000, voc precisa chamar o mtodo Daruma_TA1000_EnviarBancoProdutos. - O ideal que o seu aplicativo gere todo o banco de produtos, para somente aps voc envi-los para o TA1000. Enquanto isso os itens permanecero em memria. - O valor do desconto nunca poder ser igual ou maior do que o valor do item. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao As String Dim Str_Codigo As String Dim Str_Decimais_Preco As String Dim Str_Decimais_Quantidade As String Dim Str_Preco As String Dim Str_Acrescimo_Desconto As String Dim Str_Valor_Acrescimo_Desconto As String Dim Str_Unidade_Medida As String Dim Str_Aliquota As String Dim Str_Proximo_Produto As String Dim Str_Produto_Anterior As String Dim Str_Estoque As String Str_Descricao = "Maca" Str_Codigo = "0001" Str_Decimais_Preco = "02" Str_Decimais_Quantidade = "02" Str_Preco = "1,00" Str_Acrescimo_Desconto = "A"
Daruma Automao
331
Daruma Framework
Str_Valor_Acrescimo_Desconto = "0,10" Str_Unidade_Medida = "UN" Str_Aliquota = "TA" Str_Proximo_Produto = "00000" Str_Produto_Anterior = "00000" Str_Estoque = "00010000"
Int_Retorno = Daruma_TA1000_CadastrarProdutos(Str_Descricao, Str_Codigo, Str_Decimais_Preco, _ Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, Str_Valor_Acrescimo_Desconto, _ Str_Unidade_Medida, Str_Aliquota, Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque) Exemplo em Delphi 7.0: var Str_Descricao: String; Str_Codigo: String; Str_Decimais_Preco: String; Str_Decimais_Quantidade: String; Str_Preco: String; Str_Acrescimo_Desconto: String; Str_Valor_Acrescimo_Desconto: String; Str_Unidade_Medida: String; Str_Aliquota: String; Str_Proximo_Produto: String; Str_Produto_Anterior: String; Str_Estoque: String; begin Str_Descricao:= 'Maca'; Str_Codigo:= '0001'; Str_Decimais_Preco:= '02'; Str_Decimais_Quantidade:= '02'; Str_Preco:= '1,00'; Str_Acrescimo_Desconto:= 'A'; Str_Valor_Acrescimo_Desconto:= '0,10'; Str_Unidade_Medida:= 'UN'; Str_Aliquota:= ''TA; Str_Proximo_Produto:= '00000'; Str_Produto_Anterior:= '00000'; Str_Estoque:= '00010000'; Int_Retorno:= Daruma_TA1000_CadastrarProdutos(pchar(Str_Descricao), pchar(Str_Codigo), pchar(Str_Decimais_Preco), pchar(Str_Decimais_Quantidade), pchar(Str_Preco), pchar(Str_Acrescimo_Desconto), pchar(Str_Valor_Acrescimo_Desconto), pchar(Str_Unidade_Medida), pchar(Str_Aliquota), pchar(Str_Proximo_Produto), pchar(Str_Produto_Anterior), pchar(Str_Estoque)); end;
Daruma Automao
Daruma Framework
332
11. Prximo Produto: String com 5 espaos para receber o prximo produto. 12. Produto Anterior: String com 5 espaos para receber o cdigo do produto anterior. 13. Estoque: String com 8 espaos para receber a quantidade de produtos em estoque. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Basta voc passar o indice do produto a ser lido e no mais alocar espaos para receber os dados do produto. Lembrando que se for passado zero, ento a Daruma32.dll ir varrer desde o primeiro tem. - Este mtodo dispensa o uso do mtodo Daruma_TA1000_ConsultarProdutos. Pois com este mtodo voc no ter o trabalho de ler campo-a-campo tem-a-tem, este trabalho fica por conta da Daruma342.dll. Exemplos: Exemplo em Visual Basic 6.0: Dim Int_Indice As Integer Dim Str_Codigo As String Dim Str_Descricao As String Dim Str_Decimais_Preco As String Dim Str_Decimais_Quantidade As String Dim Str_Preco As String Dim Str_Acrescimo_Desconto As String Dim Str_Valor_Acrescimo_Desconto As String Dim Str_Unidade_Medida As String Dim Str_Aliquota As String Dim Str_Proximo_Produto As String Dim Str_Produto_Anterior As String Dim Str_Estoque As String Str_Indice = TX_Indice.Text Str_Descricao = Space(26) Str_Codigo = Space(14) Str_Decimais_Preco = Space(2) Str_Decimais_Quantidade = Space(2) Str_Preco = Space(9) Str_Acrescimo_Desconto = Space(2) Str_Valor_Acrescimo_Desconto = Space(6) Str_Unidade_Medida = Space(3) Str_Aliquota = Space(3) Str_Proximo_Produto = Space(6) Str_Produto_Anterior = Space(6) Str_Estoque = Space(10) Int_Retorno = Daruma_TA1000_LerProdutos(CInt(Str_Indice), Str_Descricao, Str_Codigo, Str_Decimais_Preco, _ Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, _ Str_Valor_Acrescimo_Desconto, Str_Unidade_Medida, Str_Aliquota, _ Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque) TX_Descricao.Text = Str_Descricao TX_Codigo.Text = Str_Codigo TX_Decimais_Preco.Text = Str_Decimais_Preco TX_Decimais_Quantidade.Text = Str_Decimais_Quantidade TX_Preco.Text = Str_Preco TX_Acrescimo_Desconto.Text = Str_Acrescimo_Desconto TX_Valor_Acrescimo_Desconto.Text = Str_Valor_Acrescimo_Desconto TX_Unidade_Medida.Text = Str_Unidade_Medida TX_Aliquota.Text = Str_Aliquota TX_Proximo_Produto.Text = Str_Proximo_Produto TX_Produto_Anterior.Text = Str_Produto_Anterior TX_Estoque.Text = Str_Estoque
Daruma Automao
333
Daruma Framework
End Sub Exemplo em Delphi 7.0: var Str_Indice: String; Str_Descricao: String; Str_Codigo: String; Str_Decimais_Preco: String; Str_Decimais_Quantidade: String; Str_Preco: String; Str_Acrescimo_Desconto: String; Str_Valor_Acrescimo_Desconto: String; Str_Unidade_Medida: String; Str_Aliquota: String; Str_Proximo_Produto: String; Str_Produto_Anterior: String; Str_Estoque: String; begin Str_Indice:= TX_Indice.Text; SetLength (Str_Descricao,26); SetLength (Str_Codigo,14); SetLength (Str_Decimais_Preco,2); SetLength (Str_Decimais_Quantidade,2); SetLength (Str_Preco,9); SetLength (Str_Acrescimo_Desconto,2); SetLength (Str_Valor_Acrescimo_Desconto,6); SetLength (Str_Unidade_Medida,3); SetLength (Str_Aliquota,3); SetLength (Str_Proximo_Produto,6); SetLength (Str_Produto_Anterior,6); SetLength (Str_Estoque,10); Int_Retorno:= Daruma_TA1000_LerProdutos(StrToInt(Str_Indice), Str_Descricao,Str_Codigo, Str_Decimais_Preco, Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, Str_Valor_Acrescimo_Desconto, Str_Unidade_Medida, Str_Aliquota, Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque); TX_Codigo.Text:= pchar(Str_Codigo); TX_Descricao.Text:= pchar(Str_Descricao); TX_Decimais_Preco.Text:= pchar(Str_Decimais_Preco); TX_Decimais_Quantidade.Text:= pchar(Str_Decimais_Quantidade); TX_Preco.Text:= pchar(Str_Preco); TX_Acrescimo_Desconto.Text:= pchar(Str_Acrescimo_Desconto); TX_Valor_Acrescimo_Desconto.Text:= pchar(Str_Valor_Acrescimo_Desconto); TX_Unidade_Medida.Text:= pchar(Str_Unidade_Medida); TX_Aliquota.Text:= pchar(Str_Aliquota); TX_Proximo_Produto.Text:= pchar(Str_Proximo_Produto); TX_Produto_Anterior.Text:= pchar(Str_Produto_Anterior); TX_Estoque.Text:= pchar(Str_Estoque); end;
Daruma Automao
Daruma Framework
334
Valor Acrscimo Desconto: String com 5 espaos para receber o valor do acrscimo ou desconto. Unidade de Medida: String com 2 espaos para receber a unidade de medida. Alquota: String com 3 para receber a alquota. Prximo Produto: String com 5 espaos para receber o prximo produto. Produto Anterior: String com 5 espaos para receber o cdigo do produto anterior. Estoque: String com 8 espaos para receber a quantidade de produtos em estoque.
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Basta voc passar o cdigo do produto a ser consultado e no mais alocar espaos para receber os dados do produto. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Codigo As String Dim Str_Descricao As String Dim Str_Decimais_Preco As String Dim Str_Decimais_Quantidade As String Dim Str_Preco As String Dim Str_Acrescimo_Desconto As String Dim Str_Valor_Acrescimo_Desconto As String Dim Str_Unidade_Medida As String Dim Str_Aliquota As String Dim Str_Proximo_Produto As String Dim Str_Produto_Anterior As String Dim Str_Estoque As String Str_Codigo = "0001" Str_Descricao = Space(25) Str_Decimais_Preco = Space(1) Str_Decimais_Quantidade = Space(2) Str_Preco = Space(8) Str_Acrescimo_Desconto = Space(2) Str_Valor_Acrescimo_Desconto = Space(5) Str_Unidade_Medida = Space(2) Str_Aliquota = Space(3) Str_Proximo_Produto = Space(5) Str_Produto_Anterior = Space(5) Str_Estoque = Space(8) Int_Retorno = Daruma_TA1000_ConsultarProdutos(Str_Codigo, Str_Descricao, Str_Decimais_Preco, _ Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, _ Str_Valor_Acrescimo_Desconto, Str_Unidade_Medida, Str_Aliquota, _ Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque) Exemplo em Delphi 7.0: var Str_Descricao: String; Str_Codigo: String; Str_Decimais_Preco: String; Str_Decimais_Quantidade: String; Str_Preco: String; Str_Acrescimo_Desconto: String; Str_Valor_Acrescimo_Desconto: String; Str_Unidade_Medida: String; Str_Aliquota: String; Str_Proximo_Produto: String; Str_Produto_Anterior: String; Str_Estoque: String; begin
Daruma Automao
335
Daruma Framework
Str_Codigo:= Trim(TX_Codigo.Text); SetLength (Str_Descricao,25); SetLength (Str_Decimais_Preco,1); SetLength (Str_Decimais_Quantidade,2); SetLength (Str_Preco,8); SetLength (Str_Acrescimo_Desconto,2); SetLength (Str_Valor_Acrescimo_Desconto,5); SetLength (Str_Unidade_Medida,2); SetLength (Str_Aliquota,3); SetLength (Str_Proximo_Produto,5); SetLength (Str_Produto_Anterior,5); SetLength (Str_Estoque,10); Int_Retorno:= Daruma_TA1000_ConsultarProdutos(pchar(Str_Codigo), Str_Descricao, Str_Decimais_Preco, Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, Str_Valor_Acrescimo_Desconto, Str_Unidade_Medida, Str_Aliquota, Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque); TX_Descricao.Text:= pchar(Str_Descricao); TX_Decimais_Preco.Text:= pchar(Str_Decimais_Preco); TX_Decimais_Quantidade.Text:= pchar(Str_Decimais_Quantidade); TX_Preco.Text:= pchar(Str_Preco); TX_Acrescimo_Desconto.Text:= pchar(Str_Acrescimo_Desconto); TX_Valor_Acrescimo_Desconto.Text:= pchar(Str_Valor_Acrescimo_Desconto); TX_Unidade_Medida.Text:= pchar(Str_Unidade_Medida); TX_Aliquota.Text:= pchar(Str_Aliquota); TX_Proximo_Produto.Text:= pchar(Str_Proximo_Produto); TX_Produto_Anterior.Text:= pchar(Str_Produto_Anterior); TX_Estoque.Text:= pchar(Str_Estoque); end;
Daruma Automao
Daruma Framework
336
Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim Dim
Str_Descricao As String Str_Codigo As String Str_Decimais_Preco As String Str_Decimais_Quantidade As String Str_Preco As String Str_Acrescimo_Desconto As String Str_Valor_Acrescimo_Desconto As String Str_Unidade_Medida As String Str_Aliquota As String Str_Proximo_Produto As String Str_Produto_Anterior As String Str_Estoque As String
Str_Codigo_Consultar = "0001" Str_Descricao = "Maca" Str_Codigo = "0001" Str_Decimais_Preco ="2" Str_Decimais_Quantidade = "2" Str_Preco = "1,00" Str_Acrescimo_Desconto = "A" Str_Valor_Acrescimo_Desconto = "0,10" Str_Unidade_Medida = "UN" Str_Aliquota = "TA" Str_Proximo_Produto = "00000" Str_Produto_Anterior = "00000" Str_Estoque = "00000100" Int_Retorno = Daruma_TA1000_AlterarProdutos(Str_Codigo_Consultar, Str_Descricao, Str_Codigo, Str_Decimais_Preco, _ Str_Decimais_Quantidade, Str_Preco, Str_Acrescimo_Desconto, Str_Valor_Acrescimo_Desconto, _ Str_Unidade_Medida, Str_Aliquota, Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque) Exemplo em Delphi 7.0: var Str_Codigo_Consultar: String; Str_Descricao: String; Str_Codigo: String; Str_Decimais_Preco: String; Str_Decimais_Quantidade: String; Str_Preco: String; Str_Acrescimo_Desconto: String; Str_Valor_Acrescimo_Desconto: String; Str_Unidade_Medida: String; Str_Aliquota: String; Str_Proximo_Produto: String; Str_Produto_Anterior: String; Str_Estoque: String; begin Framework_TA1000_AterarProdutos.Refresh; Str_Codigo_Consultar:= TX_Codigo_Consultar.Text; Str_Descricao:= TX_Descricao.Text; Str_Codigo:= TX_Codigo.Text; Str_Decimais_Preco:= TX_Decimais_Preco.Text; Str_Decimais_Quantidade:= TX_Decimais_Quantidade.Text; Str_Preco:= TX_Preco.Text; Str_Acrescimo_Desconto:= TX_Acrescimo_Desconto.Text; Str_Valor_Acrescimo_Desconto:= TX_Valor_Acrescimo_Desconto.Text; Str_Unidade_Medida:= TX_Unidade_Medida.Text; Str_Aliquota:= TX_Aliquota.Text; Str_Proximo_Produto:= TX_Proximo_Produto.Text; Str_Produto_Anterior:= TX_Produto_Anterior.Text; Str_Estoque:= TX_Estoque.Text; Int_Retorno:= Daruma_TA1000_AlterarProdutos(pchar(Str_Codigo_Consultar), pchar(Str_Descricao), pchar(Str_Codigo), pchar(Str_Decimais_Preco), pchar(Str_Decimais_Quantidade), pchar(Str_Preco),
Daruma Automao
337
Daruma Framework
Daruma Automao
Daruma Framework
338
Int_Retorno = Daruma_TA1000_EnviarBancoProdutos() Daruma_Framework_TA1000_Progress.Show Int_Status = 0 Do While (Int_Status <> 100) Int_Status = Daruma_TA1000_LeStatusTransferencia() Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_Status Loop Retorno_TA1000 Unload Daruma_Framework_TA1000_Progress Exemplo em Delphi 7.0: var Int_Status: Integer; begin Int_Retorno:= Daruma_TA1000_EnviarBancoProdutos(); Framework_TA1000_Progress.Show; Int_Status:= 0; While (Int_Status <> 100) do begin Int_Status:= Daruma_TA1000_LeStatusTransferencia(); Framework_TA1000_Progress.PB_TA1000.Position:= Int_Status; end; Retorno_TA1000; Framework_TA1000_Progress.Close; end;
Daruma Automao
339
Daruma Framework
Daruma_Framework_TA1000_Progress.Show Int_Status = 0 Do While (Int_Status <> 100) Int_Status = Daruma_TA1000_LeStatusTransferencia() Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_Status Loop Retorno_TA1000 Unload Daruma_Framework_TA1000_Progress Exemplo em Delphi 7.0: var Int_Status: Integer; begin Int_Retorno:= Daruma_TA1000_ReceberBancoProdutos(); Framework_TA1000_Progress.Show; Int_Status:= 0; While (Int_Status <> 100) Do begin Int_Status:= Daruma_TA1000_LeStatusTransferencia(); Framework_TA1000_Progress.PB_TA1000.Position:= Int_Status; end; Framework_TA1000_Progress.Close;
Daruma Automao
Daruma Framework
340
Produto Numero9 ;9 ;2;2;00000900;00000;un;TA;000;00010;00008;00009900;0000001000;0000001000;0000001000; Produto Numero10 ;10 ;2;2;00001000;00000;un;TA;000;00001;00009;00009900;0000001000;0000001000;0000001000; Exemplos: Exemplo em Visual Basic 6.0: Dim Int_Status As Integer Int_Retorno = Daruma_TA1000_ReceberProdutosVendidos() Daruma_Framework_TA1000_Progress.Show Int_Status = 0 Do While (Int_Status <> 100) Int_Status = Daruma_TA1000_LeStatusTransferencia() Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_Status Loop Retorno_TA1000 Unload Daruma_Framework_TA1000_Progress End Sub Exemplo em Delphi 7.0: var Int_Status: Integer; begin Int_Retorno:= Daruma_TA1000_ReceberBancoProdutos(); Framework_TA1000_Progress.Show; Int_Status:= 0; While (Int_Status <> 100) Do begin Int_Status:= Daruma_TA1000_LeStatusTransferencia(); Framework_TA1000_Progress.PB_TA1000.Position:= Int_Status; end; Retorno_TA1000; Framework_TA1000_Progress.Close;
Daruma Automao
341
Daruma Framework
Daruma Automao
Daruma Framework
342
Str_Nome = "Usuario1" Str_CPF = "7876609958700" Str_Codigo_Convenio = "000000" Str_Codigo_Usuario = "000000" Str_Usuario_Anterior = "000000" Str_Proximo_Usuario = "000000" Int_Retorno = Daruma_TA1000_CadastrarUsuarios(Str_Nome, Str_CPF, Str_Codigo_Convenio, _ Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario) Exemplo em Delphi 7.0: var Str_Nome: String; Str_CPF: String; Str_Codigo_Convenio: String; Str_Codigo_Usuario: String; Str_Usuario_Anterior: String; Str_Proximo_Usuario: String; begin Str_Nome:= TX_Nome.'Usuario1'; Str_CPF:= '7876609958700'; Str_Codigo_Convenio:= '000000'; Str_Codigo_Usuario:= '000000'; Str_Usuario_Anterior:= '000000'; Str_Proximo_Usuario:= '000000'; Int_Retorno:= Daruma_TA1000_CadastrarUsuarios(pchar(Str_Nome), pchar(Str_CPF), pchar(Str_Codigo_Convenio), pchar(Str_Codigo_Usuario), pchar(Str_Usuario_Anterior), pchar(Str_Proximo_Usuario)); Framework_TA1000.Retorno_TA1000();
Daruma Automao
343
Daruma Framework
Str_Proximo_Usuario = Space(6) Int_Retorno = Daruma_TA1000_ConsultarUsuarios(Str_Codigo_Consultar, Str_Nome, Str_CPF, Str_Codigo_Convenio, _ Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario) Exemplo em Delphi 7.0: var Str_Codigo_Consultar: String; Str_Nome: String; Str_CPF: String; Str_Codigo_Convenio: String; Str_Codigo_Usuario: String; Str_Usuario_anterior: String; Str_Proximo_Usuario: String; begin Str_Codigo_consultar:= Trim(TX_Codigo_Consultar.Text); SetLength (Str_Nome,25); SetLength (Str_CPF,11); SetLength (Str_Codigo_Convenio,4); SetLength (Str_Codigo_Usuario,5); SetLength (Str_Usuario_Anterior,5); SetLength (Str_Proximo_Usuario,5); Int_Retorno:= Daruma_TA1000_ConsultarUsuarios(pchar(Str_Codigo_Consultar), Str_Nome, Str_CPF, Str_Codigo_Convenio, Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario); TX_Nome.Text:= Str_Nome; TX_CPF.Text:= Str_CPF; TX_Codigo_Convenio.Text:= Str_Codigo_Convenio; TX_Codigo_Usuario.Text:= Str_Codigo_Usuario; TX_Usuario_Anterior.Text:= Str_Usuario_Anterior; TX_Proximo_Usuario.Text:= Str_Proximo_Usuario;
Daruma Automao
Daruma Framework
344
Str_Nome = TX_Nome.Text Str_CPF = TX_CPF.Text Str_Codigo_Convenio = TX_Codigo_Convenio.Text Str_Codigo_Usuario = TX_Codigo_Usuario.Text Str_Usuario_Anterior = TX_Usuario_Anterior.Text Str_Proximo_Usuario = TX_Proximo_Usuario.Text Int_Retorno = Daruma_TA1000_AlterarUsuarios(Str_Codigo_Consultar, Str_Nome, Str_CPF, Str_Codigo_Convenio, _ Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario) Exemplo em Delphi 7.0: var Str_Codigo_Consultar: String; Str_Nome: String; Str_CPF: String; Str_Codigo_Convenio: String; Str_Codigo_Usuario: String; Str_Usuario_anterior: String; Str_Proximo_Usuario: String; begin Framework_TA1000_AlterarUsuarios.Refresh; Str_Codigo_Consultar:= TX_Codigo_Consultar.Text; Str_Nome:= TX_Nome.Text; Str_CPF:= TX_CPF.Text; Str_Codigo_Convenio:= TX_Codigo_Convenio.Text; Str_Codigo_Usuario:= TX_Codigo_Usuario.Text; Str_Usuario_Anterior:= TX_Usuario_Anterior.Text; Str_Proximo_Usuario:= TX_Proximo_Usuario.Text; Int_Retorno:= Daruma_TA1000_AlterarUsuarios(pchar(Str_Codigo_Consultar), pchar(Str_Nome), pchar(Str_CPF), pchar(Str_Codigo_Convenio), pchar(Str_Codigo_Usuario), pchar(Str_Usuario_Anterior), pchar(Str_Proximo_Usuario)); Framework_TA1000.Retorno_TA1000(); end;
Daruma Automao
345
Daruma Framework
Str_Codigo: String; begin Str_Codigo:= InputBox('Daruma Framework' , 'Entre com o Cdigo do Produto que Voc Deseja Eliminar:','0001'); If Str_Codigo = '' then begin exit; end; int_Retorno:= Daruma_TA1000_EliminarProdutos(pchar(Str_Codigo)); end;
Daruma Automao
Daruma Framework
346
Parmetros do Mtodo: No H. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: Este mtodo retornara os produtos em um arquivo TXTcomo nome de Usuarios.plu, que sera em um path indicado no registry. O formato do arquivo de retorno pode ser visto abaixo: Header v1.40 USUARIOS ;00001;00001;00001;bjcpcxfcgfjgkglt Usuario Numero1 ;877E774E145; 0001 Usuario Numero2 ;877.774.145;2 ;2 ;00001;00003 Usuario Numero3 ;877.774.145;3 ;3 ;00002;00004 Usuario Numero4 ;877.774.145;4 ;4 ;00003;00005 Usuario Numero5 ;877.774.145;5 ;5 ;00004;00006 Usuario Numero6 ;877.774.145;6 ;6 ;00005;00007 Usuario Numero7 ;877.774.145;7 ;7 ;00006;00008 Usuario Numero8 ;877.774.145;8 ;8 ;00007;00009 Usuario Numero9 ;877.774.145;9 ;9 ;00008;00010 Usuario Numero10 ;877.774.145;10 ;10 ;00009;00011 Exemplos: Exemplo em Visual Basic 6.0: Dim Int_Status As Integer Int_Retorno = Daruma_TA1000_ReceberBancoUsuarios() Daruma_Framework_TA1000_Progress.Show Int_Status = 0 Do While (Int_Status <> 100) Int_Status = Daruma_TA1000_LeStatusTransferencia() Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_Status Loop Retorno_TA1000 Unload Daruma_Framework_TA1000_Progress Exemplo em Delphi 7.0: var Int_Status: Integer; begin Int_Retorno:= Daruma_TA1000_ReceberBancoUsuarios(); Framework_TA1000_Progress.show; Int_Status:=0; While (Int_Status <> 100) do begin Int_status:= Daruma_TA1000_LeStatusTransferencia(); Framework_TA1000_Progress.PB_TA1000.Position:= Int_Status; end; Framework_TA1000.Retorno_TA1000(); Framework_TA1000_Progress.Close;
Daruma Automao
347
Daruma Framework
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo. -27(Somente se o Flag Status Funo estiver setado pra 1(um): O Mtodo foi executado, porm o ECF sinalizou Erro, chame o Mtodo Daruma_FI_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: Para que esse mtodo seja validado no TA1000, voce precisa chamar o mtodo Daruma_TA1000_EnviarBancoUsuarios. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_TA1000_ZerarProdutos() Exemplo em Delphi 7.0: begin Int_Retorno:= Daruma_TA1000_ZerarProdutos(); end;
Daruma Automao
Daruma Framework
348
Else Str_Produto_Anterior = String(5 - Len(CStr(Int_Contador)), "0") Str_Produto_Anterior = Str_Produto_Anterior + CStr(Int_Contador - 1) End If If Int_Contador = Int_Quantidade_Produtos Then Str_Proximo_Produto = "00001" Else Str_Proximo_Produto = String(5 - Len(CStr(Int_Contador + 1)), "0") Str_Proximo_Produto = Str_Proximo_Produto + CStr(Int_Contador + 1) End If Int_Retorno = Daruma_TA1000_CadastrarProdutos(Str_Descricao, Str_Codigo, "2", "2", Str_Valor, "D", "0,00", "UN", _ "TA", Str_Proximo_Produto, Str_Produto_Anterior, Str_Estoque)
var Int_Contador: Integer; Str_Codigo: String; Str_Descricao: String; Str_Valor: String; Str_Estoque: String; Str_Proximo_Produto: String; Str_Produto_Anterior: String; Int_Quantidade_Produtos: Integer; Int_Casas: Integer; begin Int_Quantidade_Produtos:= StrToInt(TX_Quantidade_Produtos.Text); Int_Contador:= 1; Int_Retorno:= Daruma_TA1000_ZerarProdutos(); While (Int_Contador <= Int_Quantidade_Produtos) DO begin If Int_Contador < 10 then begin Str_Codigo:= StringOfChar('0',4 - 1 ); end Else If Int_Contador < 100 then begin Str_Codigo:= StringOfChar('0',4 - 2 ); end Else If Int_Contador < 1000 then begin Str_Codigo:= StringOfChar('0',4 - 3 ); end else If Int_Contador >= 1000 then Str_Codigo:= ''; Str_Codigo:= Str_Codigo + IntToStr(Int_Contador); Str_Descricao:= ('Produto Numero' + IntToStr(Int_Contador)); Str_Valor:= StringOfChar('0',6 - Int_Contador); Str_Valor:= (Str_Valor + IntToStr(Int_Contador) + '00'); Str_Estoque:= ('00010000'); If Int_Contador = 1 Then begin
Daruma Automao
349
Daruma Framework
Str_Produto_Anterior:= StringOfChar('0',5 - Int_Quantidade_Produtos); Str_Produto_Anterior:= Str_Produto_Anterior + IntToStr(Int_Quantidade_Produtos); end Else begin Str_Produto_Anterior:= StringOfChar('0',5 - Int_Contador); Str_Produto_Anterior:= Str_Produto_Anterior + IntToStr(Int_Contador - 1); End; If Int_Contador = Int_Quantidade_Produtos Then begin Str_Proximo_Produto:= '00001'; end Else begin Str_Proximo_Produto:= StringOfChar('0',5 - Int_Contador + 1); Str_Proximo_Produto:= Str_Proximo_Produto + IntToStr(Int_Contador + 1); End; Int_Retorno:= Daruma_TA1000_CadastrarProdutos(pchar(Str_Descricao), pchar(Str_Codigo), '2', '2', pchar(Str_Valor), 'D', pchar('0,00'), pchar('UN'), pchar('TA'), pchar(Str_Proximo_Produto), pchar(Str_Produto_Anterior), pchar(Str_Estoque)); Int_Contador:= Int_Contador + 1; end;
Daruma Automao
Daruma Framework
350
Str_Usuario_Anterior = Str_Usuario_Anterior + CStr(Int_Contador - 1) End If If Int_Contador = Int_Quantidade_Usuarios Then Str_Proximo_Usuario = "00001" Else Str_Proximo_Usuario = String(5 - Len(CStr(Int_Contador + 1)), "0") Str_Proximo_Usuario = Str_Proximo_Usuario + CStr(Int_Contador + 1) End If Int_Retorno = Daruma_TA1000_CadastrarUsuarios(Str_Nome, "877.774.145-87", Str_Codigo_Convenio, _ Str_Codigo_Usuario, Str_Usuario_Anterior, Str_Proximo_Usuario)
Int_Contador = Int_Contador + 1 Loop Exemplo em Delphi 7.0: var Int_Contador: Integer; Str_Codigo_Convenio: String; Str_Codigo_Usuario: String; Str_Nome: String; Str_Valor: String; Str_Estoque: String; Str_Proximo_Usuario: String; Str_Usuario_Anterior: String; Int_Quantidade_Usuarios: Integer; begin Int_Quantidade_Usuarios:= StrToInt(TX_Quantidade_Usuarios.Text); Int_Contador:= 1; Int_Retorno:= Daruma_TA1000_ZerarUsuarios(); While (Int_Contador <= Int_Quantidade_Usuarios) Do begin If Int_Contador < 10 then begin Str_Codigo_Usuario:= StringOfChar('0',5 - 1 ); end Else If Int_Contador < 100 then begin Str_Codigo_Usuario:= StringOfChar('0',5 - 2 ); end Else If Int_Contador < 1000 then begin Str_Codigo_Usuario:= StringOfChar('0',5 - 3 ); end else If Int_Contador < 10000 then begin Str_Codigo_Usuario:= StringOfChar('0',5 - 4 ); end else If Int_Contador >= 10000 then Str_Codigo_Usuario:= ''; Str_Codigo_Usuario:= Str_Codigo_Usuario + IntToStr(Int_Contador); Str_Nome:= 'Usuario Numero' + IntToStr(Int_Contador); Str_Codigo_Convenio:=Str_Codigo_Usuario; If Int_Contador = 1 Then begin Str_Usuario_Anterior:= StringOfChar('0',5 - Int_Quantidade_Usuarios);
Daruma Automao
351
Daruma Framework
Str_Usuario_Anterior:= Str_Usuario_Anterior + IntToStr(Int_Quantidade_Usuarios); end Else begin Str_Usuario_Anterior:= StringOfChar('0', 5 - Int_Contador); Str_Usuario_Anterior:= Str_Usuario_Anterior + IntToStr(Int_Contador - 1); End; If Int_Contador = Int_Quantidade_Usuarios Then begin Str_Proximo_Usuario:= '00001'; End Else begin Str_Proximo_Usuario:= StringOfChar('0',5 - Int_Contador + 1); Str_Proximo_Usuario:= Str_Proximo_Usuario + IntToStr(Int_Contador + 1); End; Int_Retorno:= Daruma_TA1000_CadastrarUsuarios(pchar(Str_Nome), pchar('877.774.145-87'), pchar(Str_Codigo_Convenio), pchar(Str_Codigo_Usuario), pchar(Str_Usuario_Anterior), pchar(Str_Proximo_Usuario)); Int_Contador:= Int_Contador + 1; end;
1.17
2. 3.
A data final paera gerar o Sintegra dever ser a ltima data que teve movimento. O arquivo que ser gerado, pelos mtodos, ser gravado no path configurado no flag Path no registry: HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF. Para alterar o path, use o mtodo: Daruma Automao
Daruma Framework
352
Daruma_Registry_Path(ndice 2)
Porm o objetivo maior deste help no falar sobre o Sintegra em sim, mais expor alguns mtodos que iro facilitar voc na gerao do mesmo. O que de fato voc encontrar disponvel para trabalhar neste help? Voc encontrar um mtodo de alto nvel. Chamamos de alto nvel, pois em um nico mtodo, foram renidos todos os registros, que podem ser gerados atravs do ECF. Temos tambm as mesmas informaes em mtodos avulsos de mdio nvel, ou seja, por exemplo, o Relatrio que contm o clich do estabelecimento Tipo 10, pode ser obtido atravs do mtodo Daruma_Sintegra_GerarResgitro10:Daruma_Sintegra_GerarRegistro10 (ndice 6023). Alm de termos os mtodos de mdio nvel, temos tambm outros 2(dois) mtodos de baixo nvel, que permitiro a voc extrair qualquer informao do ECF, bastando para isso informar um ndice, e sta informao poder ser obtida em uma varivel, ou em arquivo txt. Abaixo temos um exemplo de uma informao extrada atrves do mtodo Daruma_FIMFD_RetornornarInfoDownloadMFD: Daruma_FIMFD_RetornarInfoDownloadMFD(ndice 6020). ndice: "ECFHW" ECF HardWare Descricao Tamanho ------------------------ ------Modelo da impressora 6 NOS (Numero do ECF) 6 Versao do SB 6 Numero de serie da MFDE 21 Numero de serie da MF 21
Daruma Automao
353
Daruma Framework
60R12200600001 0000000000001000000000000000500000000000000011800 90076947150001309035904830 60000003429900000345 1 Para saber mais sobre o layout dos relatrios, acesse o site oficial do sintegra, www.sintegra.gov.br Este arquivo ra conter o seguinte contedo: Este mtodo exclusivo para impressora MFD. Relatrio Tipo10 e 11 Todos os relatrios do Tipo60 Relatrio Tipo90
Parmetros: (14 parmetros) 1. DataInicio: String com a Data de inicio do download. Esta data a data do primeiro dia do ms. 2. DataFim: String com a Data de fim do download. Esta data a ltima data que teve movimento no ms. 3. Municipio: String com o Municpio do informante. 4. Fax: String com o nmero do Fax do estabelecimento do informante. 5. CodIdConvenio: String com o Codigo da identificacao do convenio utilizado. 6. CodIdNatureza: String com o Codigo da identificacao da natureza das operaes informadas. 7. CodFinalid: String com o Codigo da finalidade utilizada no arquivo magntico. 8. Logradouro: String com o Logradouro. 9. Numero: String com o Nmero. 10. Complemento: String com o Complemento. 11. Bairro: String com o Bairro. 12. CEP: String com o Cdigo de Endereamento Postal. 13. NomeContato: String com o Pessoa responsvel para contato. 14. Telefone: String com o Nmero do telefone para contato. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: Execuo OK 0: Erro em arquivos binarios -2: Datas invalidas -52: Erro de abertura de arquivos -11: Comando incompativel Observao: - Se voc no sabe qual informao que deve ser colocada no parmetros: 5, 6 ou 7, acesse o site do Sintegra para saber: www.sintegra.com.br ou ainda www.sintegra.gov.br Exemplo em Delphi: var Str_Data_Inicio_Movimento: string; Str_Data_Fim_Movimento: string; Str_Municipio: string; Str_Fax: string; Str_Cod_Convenio: string; Str_Cod_Natureza: string; Str_Cod_Finalidade: string; Str_Logradouro: string; Str_Numero: string; Str_Complemento: string; Str_Bairro: string; Str_CEP: string; Str_Nome_Contato: string; Str_Telefone: string; begin Str_Data_Inicio_Movimento:= Trim('011206'); Str_Data_Fim_Movimento:= Trim('040107'); Str_Municipio:= Trim('Curitiba'); Str_Fax:= Trim('(xx41) 3361-6945'); Str_Cod_Convenio:= Trim('3'); Str_Cod_Natureza:= Trim('3'); Str_Cod_Finalidade:= Trim('1');
Daruma Automao
Daruma Framework
354
Str_Logradouro:= Trim(Av. Comendador Franco); Str_Numero:= Trim('1341'); Str_Complemento:= Trim('Bloco B'); Str_Bairro:= Trim('Jardim Botnico'); Str_CEP:= Trim('80215-090'); Str_Nome_Contato:= Trim('Joo'); Str_Telefone:= Trim('(0XX41) 3361-6005'); Int_Retorno:= Daruma_Sintegra_GerarRegistrosArq(Str_Data_Inicio_Movimento, Str_Data_Fim_Movimento, Str_Municipio, Str_Fax, Str_Cod_Convenio, Str_Cod_Natureza, Str_Cod_Finalidade, Str_Logradouro, Str_Numero, Str_Complemento, Str_Bairro,Str_CEP, Str_Nome_Contato, Str_Telefone); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Curitiba
No 01 02 03 Estadual 04 05 06 07 08 09 10 11 12
Denominao do Campo Tamanho Tipo 02 CGC/MFCGC/MF do estabelecimento 14 Inscrio 14 9035904830 Nome do Contribuinte Nome comercial (razo Social/denominao) do contribuinte 35 Suporte Municpio Municpio onde est domiciliado o estabelecimento informante 30 Unidade da Federao 2 Fax Nmero do fax 10 Data Inicial 8 Data Final 8 Cdigo da identificao do Convnio 1 Cdigo da identificao da natureza das operaes informadas 1 Cdigo da finalidade do arquivo magntico Cdigo da finalidade utilizado no arquivo magntico 1
Contedo
10 07694715000130
ao Desenvolvedor
Parmetros: (8 parmetros) 1. DataInicio: String com a Data de inicio do download. Esta data a data do primeiro dia do ms. 2. DataFim: String com a Data de fim do download. Esta data a ltima data que teve movimento no ms. 3. Municipio: String com o Municipio do informante. 4. Fax: String com o nmero do Fax do estabelecimento do informante. 5. CodIdConvenio: Codigo da identificacao do convenio utilizado. 6. CodIdNatureza: Codigo da identificacao da natureza das operaes informadas. 7. CodFinalid: Codigo da finalidade utilizada no arquivo magnetico. 8. Retorno: Varivel por referncia com 127 espaos para receber o retorno contendo o registro tipo 10. Observaes: - Este mtodo exclusivo para impressora MFD. - Se voc no sabe qual informao que deve ser colocada no parmetros: 5, 6 ou 7, acesse o site do Sintegra para saber: www.sintegra.gov.br Este Mtodo retornar um dos Valores Inteiros listados Abaixo:
Daruma Automao
355
Daruma Framework
1: Execuo OK 0: Erro em arquivos binarios -2: Datas invalidas -52: Erro de abertura de arquivos -11: Comando incompativel Exemplo em Delphi: var Str_Data_Inicio_Movimento: string; Str_Data_Fim_Movimento: string; Str_Municipio: string; Str_Fax: string; Str_Cod_Convenio: string; Str_Cod_Natureza: string; Str_Cod_Finalidade: string; Str_Retorno: String; begin Str_Data_Inicio_Movimento:= Trim('011206'); Str_Data_Fim_Movimento:= Trim('040107'); Str_Municipio:= Trim('Curitiba'); Str_Fax:= Trim('(xx41) 3361-6945'); Str_Cod_Convenio:= Trim('3'); Str_Cod_Natureza:= Trim('3'); Str_Cod_Finalidade:= Trim('1'); SetLength(Str_Retorno, 127); Int_Retorno:=Daruma_Sintegra_GerarRegistro10(Str_Data_Inicio_Movimento, Str_Data_Fim_Movimento, Str_Municipio, Str_Fax, Str_Cod_Convenio, Str_Cod_Finalidade, Str_Cod_Natureza, Str_Retorno); Retorno_Registro10.Lines.Text:= (Str_Retorno); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
01341Bloco B
Jardim Botnico00080215Joo
Parmetros: (8 parmetros) 1. Logradouro: String com o Logradouro. 2. Numero: String com o Numero. 3. Complemento: String com o Complemento. 4. Bairro: String com o Bairro. 5. CEP: String com o Codigo de Enderecamento Postal. 6. NomeContato: String com o Pessoa responsavel para contato. 7. Telefone: String com o Numero do telefone para contatos. 8. Retorno: Varivel por referncia para receber o retorno contendo o registro tipo 11 com 127 espaos. Observaes: - Este mtodo exclusivo para impressora MFD. - Se preferir, poder acessar o site: www.sintegra.com.br. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: Execuo OK 0: Erro em arquivos binarios -2: Datas invalidas
Daruma Automao
Daruma Framework
356
Exemplo em Delphi: var Str_Logradouro: string; Str_Numero: string; Str_Complemento: string; Str_Bairro: string; Str_CEP: string; Str_Nome_Contato: string; Str_Telefone: string; Str_Retorno: String; begin Str_Logradouro:= Trim('Av. Comendador Franco'); Str_Numero:= Trim('1341'); Str_Complemento:= Trim('Bloco B'); Str_Bairro:= Trim('Jardim Botnico'); Str_CEP:= Trim('80215-090'); Str_Numero:= Trim('1341'); Str_Nome_Contato:= Trim('Jao'); Str_Telefone:= Trim('(XX41) 3361-6005'); SetLength(Str_Retorno, 127); Int_Retorno:= Daruma_Sintegra_GerarRegistro11(Str_Logradouro, Str_Numero, Str_Complemento, Str_Bairro,Str_CEP, Str_Nome_Contato, Str_Telefone, Str_Retorno); Retorno_Registro11.Lines.Text:= (Str_Retorno); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
357
Daruma Framework
Exemplo em Delphi: var Str_Data_Inicio_Movimento: string; Str_Data_Fim_Movimento: string; Str_Retorno: String; begin Str_Data_Inicio_Movimento:= Trim('011206'); Str_Data_Fim_Movimento:= Trim('040107'); SetLength(Str_Retorno, 127); Int_Retorno:= Daruma_Sintegra_GerarRegistro60M(Str_Data_Inicio_Movimento, Str_Data_Fim_Movimento,Str_Retorno); Retorno_Registro60M.Lines.Text:= (Str_Retorno); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno();
Exemplo em Delphi: var Str_Data_Inicio_Movimento: string; Str_Data_Fim_Movimento: string; Str_Retorno: String; begin Str_Data_Inicio_Movimento:= Trim(Data_Inicio_Movimento.Text); Str_Data_Fim_Movimento:= Trim(Data_Fim_Movimento.Text); SetLength(Str_Retorno, 127);
Daruma Automao
Daruma Framework
358
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: Execuo OK 0: Erro em arquivos binarios -2: Datas invalidas -52: Erro de abertura de arquivos -11: Comando incompativel
Exemplo em Delphi: var Str_Data_Inicio_Movimento: string; Str_Data_Fim_Movimento: string; Str_Retorno: String; begin Str_Data_Inicio_Movimento:= Trim(Data_Inicio_Movimento.Text); Str_Data_Fim_Movimento:= Trim(Data_Fim_Movimento.Text); SetLength(Str_Retorno, 127); Int_Retorno:= Daruma_Sintegra_GerarRegistro60D(Str_Data_Inicio_Movimento, Str_Data_Fim_Movimento,Str_Retorno); Retorno_Registro60D.Lines.Text:= (Str_Retorno); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
359
Daruma Framework
Exemplo de retorno: 60I20061201DR0205BR0000000687572D00105900100001 000000000000100000000050000000000000011800000000000000 Parmetros: (3 parmetros) 1. DataInicio: String com a Data de inicio do download. Esta data a data do primeiro dia do ms. 2. DataFim: String com a Data de fim do download. Esta data a ltima data que teve movimento no ms. 3. Retorno: Varivel por referncia para receber o retorno contendo o registro tipo 60I. Observaes: - Este mtodo exclusivo para impressora MFD. - A cada execuo desse mtodo, ser escrito na varivel, 01(um) tem. - O mtodo pode ser executado vrias vezes em um loop, at que o retorno seja uma string contendo FIM DOS DADOS. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: Execuo OK 0: Erro em arquivos binarios -2: Datas invalidas -52: Erro de abertura de arquivos -11: Comando incompativel
Exemplo em Delphi: var Str_Data_Inicio_Movimento: string; Str_Data_Fim_Movimento: string; Str_Retorno: string; Str_Buffer: string; begin Str_Data_Inicio_Movimento:= Trim('011206'); Str_Data_Fim_Movimento:= Trim('041207'); SetLength(Str_Retorno, 127); Int_Retorno:= Daruma_Sintegra_GerarRegistro60I(Str_Data_Inicio_Movimento, Str_Data_Fim_Movimento,Str_Retorno); Str_Buffer:= Str_Buffer + Str_Retorno; Retorno_Registro60I.Lines.Text:= (Str_Buffer); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
Daruma Framework
360
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: Execuo OK 0: Erro em arquivos binarios -2: Datas invalidas -52: Erro de abertura de arquivos -11: Comando incompativel Exemplo em Delphi: var Str_Data_Inicio_Movimento: string; Str_Data_Fim_Movimento: string; Str_Retorno: String; begin Str_Data_Inicio_Movimento:= Trim('011206'); Str_Data_Fim_Movimento:= Trim('041207'); SetLength(Str_Retorno, 127); Int_Retorno:= Daruma_Sintegra_GerarRegistro60A(Str_Data_Inicio_Movimento, Str_Data_Fim_Movimento,Str_Retorno); Retorno_Registro60R.Lines.Text:= (Str_Retorno); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Parmetros: (2 parmetros) 1. Path: String com o Path para o Arquivo de Entrada. 2. Retorno: Varivel por referncia para receber o retorno contendo o registro tipo 90 com 127 espaos. Observaes: - Nunca execute este mtodo antes de gerar os registros Tipo 10, Tipo 11, Todos os Tipos 60, pois este mtodo depende da execuo antecipada desses mtodos. - Este mtodo exclusivo para impressora MFD. - Para saber mais sobre o layout dos relatrios, acesse o site oficial do sintegra, www.sintegra.gov.br Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: Execuo OK 0: Erro em arquivos binarios -2: Datas invalidas -52: Erro de abertura de arquivos -11: Comando incompativel Exemplo em Delphi: var Str_Retorno: String; begin SetLength(Str_Retorno, 127); Int_Retorno:= Daruma_Sintegra_GerarRegistro90(Str_Retorno); Retorno_Registro90.Lines.Text:= (Str_Retorno); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;
Daruma Automao
361
Daruma Framework
Para saber mais sobre os ndices e as informao que sero retornadas, acesse os links abaixo: Sobre o Hardware da Impressora: ndice ECFHW - Este ndice retorna informaes sobre o hardware da impressora fiscal. ndice ECFCFG - Este ndice retorna informaes sobre as configuraes da impressora fiscal. ndice CADFPG - Este ndice retorna as formas de pagamentos cadastradas na impressora fiscal. ndice CADALQ - Este ndice retorna as alquotas cadastradas na impressora fiscal. ndice CADCNF - Este ndice retorna totalizadores cadastradas na impressora fiscal. ndice CADGER - Este ndice retorna relatrios gerenciais cadastradas na impressora fiscal. ndice LMF - Este ndice retorna as informaes referentes as leituras da memria fiscal tiradas na impressa. ndice LX - Este ndice retorna as informaes referentes as leituras x impressas. ndice RZABE - Este ndice retorna as informaes referentes a abertura das redues z impressas.
Sobre os cupons fiscais: ndice CFABE - Este ndice retorna informaes referentes a abertura do cupom fiscal. ndice CFITV - Este ndice retorna os ntens vindidos nos cupons fiscais. ndice CFDES - Este ndice retorna os descontos nos tens dos cupons fiscais.
Daruma Automao
Daruma Framework
362
ndice CFCDI - Este ndice retorna os cancelamentos dos descontos nos tens dos cupons fiscais. ndice CFCPI - Este ndice retorna os cancelamentos parciais nos tens dos cupons fiscais. ndice CFCTI - Este ndice retorna os cancelamentos nos totais dos tens dos cupons fiscais. ndice CFTOT - Este ndice retorna os cupons fiscais em totalizao. ndice CFCDS - Este ndice retorna os cancelamentos dos descontos no subtotal dos cupons fiscais. ndice CFFPG - Este ndice retorna as formas de pagamentos usadas nos cupons fiscais. ndice CFCAN - Este ndice retorna os cupons fiscais cancelados. ndice CFENC - Este ndice retorna informaes do encerramento dos cupons fiscais. ndice CFEST - Este ndice retorna informaes referente aos estornos nos cupons fiscais.
Sobre os cupons adicionais: ndice CUADC - Este ndice retorna os cupons adicionais emitidos.
Sobre os comprovantes de crdito/dbito. (no fiscais vinculados): ndice CCDABE - Este ndice retorna os dados de abertura dos comprovantes de crdito/dbito. ndice CCDTXL - Este ndice retorna texto livre dos comprovantes de crdito/dbito. ndice CCDVADABE - Este ndice retorna os dados de abertura da via adicional dos comprovantes de crdito/dbito. ndice CCDTXL - Este ndice retorna os textos livres dos comprovantes de crdito/dbito. ndice CCDVADTXL - Este ndice retorna os textos livres da via adicional dos comprovantes de crdito/dbito. ndice CCD2VIA - Este ndice retorna a segunda via dos comprovantes de crdito/dbito. ndice CCDREI - Este ndice retorna a reimpresso dos comprovantes de crdito/dbito. ndice CCDESTABE - Este ndice retorna os comprovantes de crdito/dbito que foram estornados. ndice CCDESTTXL - Este ndice retorna os textos livres impressos noa comprovantes de crdito/dbitos estornados.
Sobre os comprovantes no fiscais (recebimentos no fiscais): ndice CNFABE - Este ndice retorna os comprovantes no fiscais que foram abertos. ndice CNFRNF - Este ndice retorna os recebimentos no fiscais. ndice CNFCDI - Este ndice retorna os cancelamentos de descontos dos comprovantes no fiscais. ndice CNFCTI - Este ndice retorna os cancelamentos no total dos tens dos comprovantes no fiscais. ndice CNFTOT - Este ndice retorna os comprovantes no fiscais em totalizao. ndice CNFCDS - Este ndice retorna os cancelamentos de descontos no subtotal dos comprovantes no fiscais. ndice CNFFPG - Este ndice retorna as formas de pagamento usadas nos comprovantes no fiscais. ndice CNFCEM - Este ndice retorna os cancelamentos dos comprovantes no fiscais em emisso.
Daruma Automao
363
Daruma Framework
ndice CNFENC - Este ndice retorna os comprovantes no fiscais em encerramento. ndice CNFINTEST - Este ndice retorna o interior dos estornos das formas de pagamento dos comprovantes no fiscais. ndice CNFCAN - Este ndice retorna os comprovantes no fiscais cancelados. ndice CNFSAN - Este ndice retorna comprovante no fiscal sangria. ndice CNFSUP - Este ndice retorna comprovante no fiscal suprimento. ndice CNFEST - Este ndice retorna os comprovantes no fiscais estornados. ndice GERABE - Este ndice informaes referente a abertura dos relatrios gerenciais. ndice GERTXL - Este ndice retorna os textos livres que foram impressos nos relatrios gerenciais.
Sobre os cupons fiscais bilhete de passagem: ndice CFBPABE - Este ndice retorna os dados de abertura dos cupons fiscas bilhete de passagem. ndice CFBPITV - Este ndice retorna os tens vendidos nos cupons fiscais bilhete de passagem. ndice CFBPDES - Este ndice retorna desconto no tens dos bilhetes de passagem. ndiece CFBPCDI - Este ndice retorna os cancelamentos nos tens dos bilhetes de passagem. ndice CFBPCTI - Este ndice retorna o total em cancelamentos nos tens dos bilhetes de passagem. ndice CFBPTOT - Este ndice retorna os cupons fiscais bilhete de passagem em totalizao. ndice CFBPCDS - Este ndice retorna os cancelamentos de desconto no subtotal dos bilhetes de passagem. ndice CFBPFPG - Este ndice retorna as formas de pagamento usadas nos cupons fiscais bilhetes de passagem. ndice CFBPCEM - Este indice retorna os cancelamentos dos bilhetes de passagem em emisso. ndice CFBPENC - Este ndice retorna informaes dos bilhetes de passagem em encerramento. ndice CFBPINTEST - Este ndice retorna o interior dos estornos nos bilhetes de passagem. Observaes: - Se desejar saber mais sobre o Sintegra, acesse o site do Sintegra para saber: www.sintegra.gov.br
Daruma Automao
Daruma Framework
364
Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: Execuo OK 0: Erro em arquivos binarios -2: Parametros invalidos (se algum dos 4 parametros iniciais for nulo ou se o indice for invalido) -52: Erro de abertura de arquivos -11: Comando incompativel Para saber mais sobre os ndices e as informao que sero retornadas, acesse os links abaixo: Sobre o Hardware da Impressora: ndice ECFHW - Este ndice retorna informaes sobre o hardware da impressora fiscal. ndice ECFCFG - Este ndice retorna informaes sobre as configuraes da impressora fiscal. ndice CADFPG - Este ndice retorna as formas de pagamentos cadastradas na impressora fiscal. ndice CADALQ - Este ndice retorna as alquotas cadastradas na impressora fiscal. ndice CADCNF - Este ndice retorna totalizadores cadastradas na impressora fiscal. ndice CADGER - Este ndice retorna relatrios gerenciais cadastradas na impressora fiscal. ndice LMF - Este ndice retorna as informaes referentes as leituras da memria fiscal tiradas na impressa. ndice LX - Este ndice retorna as informaes referentes as leituras x impressas. ndice RZABE - Este ndice retorna as informaes referentes a abertura das redues z impressas.
Sobre os cupons fiscais: ndice CFABE - Este ndice retorna informaes referentes a abertura do cupom fiscal. ndice CFITV - Este ndice retorna os ntens vindidos nos cupons fiscais. ndice CFDES - Este ndice retorna os descontos nos tens dos cupons fiscais. ndice CFCDI - Este ndice retorna os cancelamentos dos descontos nos tens dos cupons fiscais. ndice CFCPI - Este ndice retorna os cancelamentos parciais nos tens dos cupons fiscais. ndice CFCTI - Este ndice retorna os cancelamentos nos totais dos tens dos cupons fiscais. ndice CFTOT - Este ndice retorna os cupons fiscais em totalizao. ndice CFCDS - Este ndice retorna os cancelamentos dos descontos no subtotal dos cupons fiscais. ndice CFFPG - Este ndice retorna as formas de pagamentos usadas nos cupons fiscais. ndice CFCAN - Este ndice retorna os cupons fiscais cancelados. ndice CFENC - Este ndice retorna informaes do encerramento dos cupons fiscais. ndice CFEST - Este ndice retorna informaes referente aos estornos nos cupons fiscais.
Sobre os cupons adicionais: ndice CUADC - Este ndice retorna os cupons adicionais emitidos.
Daruma Automao
365
Daruma Framework
ndice CCDABE - Este ndice retorna os dados de abertura dos comprovantes de crdito/dbito. ndice CCDTXL - Este ndice retorna texto livre dos comprovantes de crdito/dbito. ndice CCDVADABE - Este ndice retorna os dados de abertura da via adicional dos comprovantes de crdito/dbito. ndice CCDTXL - Este ndice retorna os textos livres dos comprovantes de crdito/dbito. ndice CCDVADTXL - Este ndice retorna os textos livres da via adicional dos comprovantes de crdito/dbito. ndice CCD2VIA - Este ndice retorna a segunda via dos comprovantes de crdito/dbito. ndice CCDREI - Este ndice retorna a reimpresso dos comprovantes de crdito/dbito. ndice CCDESTABE - Este ndice retorna os comprovantes de crdito/dbito que foram estornados. ndice CCDESTTXL - Este ndice retorna os textos livres impressos noa comprovantes de crdito/dbitos estornados.
Sobre os comprovantes no fiscais (recebimentos no fiscais): ndice CNFABE - Este ndice retorna os comprovantes no fiscais que foram abertos. ndice CNFRNF - Este ndice retorna os recebimentos no fiscais. ndice CNFCDI - Este ndice retorna os cancelamentos de descontos dos comprovantes no fiscais. ndice CNFCTI - Este ndice retorna os cancelamentos no total dos tens dos comprovantes no fiscais. ndice CNFTOT - Este ndice retorna os comprovantes no fiscais em totalizao. ndice CNFCDS - Este ndice retorna os cancelamentos de descontos no subtotal dos comprovantes no fiscais. ndice CNFFPG - Este ndice retorna as formas de pagamento usadas nos comprovantes no fiscais. ndice CNFCEM - Este ndice retorna os cancelamentos dos comprovantes no fiscais em emisso. ndice CNFENC - Este ndice retorna os comprovantes no fiscais em encerramento. ndice CNFINTEST - Este ndice retorna o interior dos estornos das formas de pagamento dos comprovantes no fiscais. ndice CNFCAN - Este ndice retorna os comprovantes no fiscais cancelados. ndice CNFSAN - Este ndice retorna comprovante no fiscal sangria. ndice CNFSUP - Este ndice retorna comprovante no fiscal suprimento. ndice CNFEST - Este ndice retorna os comprovantes no fiscais estornados. ndice GERABE - Este ndice informaes referente a abertura dos relatrios gerenciais. ndice GERTXL - Este ndice retorna os textos livres que foram impressos nos relatrios gerenciais.
Sobre os cupons fiscais bilhete de passagem: ndice CFBPABE - Este ndice retorna os dados de abertura dos cupons fiscas bilhete de passagem. ndice CFBPITV - Este ndice retorna os tens vendidos nos cupons fiscais bilhete de passagem. ndice CFBPDES - Este ndice retorna desconto no tens dos bilhetes de passagem.
Daruma Automao
Daruma Framework
366
ndiece CFBPCDI - Este ndice retorna os cancelamentos nos tens dos bilhetes de passagem. ndice CFBPCTI - Este ndice retorna o total em cancelamentos nos tens dos bilhetes de passagem. ndice CFBPTOT - Este ndice retorna os cupons fiscais bilhete de passagem em totalizao. ndice CFBPCDS - Este ndice retorna os cancelamentos de desconto no subtotal dos bilhetes de passagem. ndice CFBPFPG - Este ndice retorna as formas de pagamento usadas nos cupons fiscais bilhetes de passagem. ndice CFBPCEM - Este indice retorna os cancelamentos dos bilhetes de passagem em emisso. ndice CFBPENC - Este ndice retorna informaes dos bilhetes de passagem em encerramento. ndice CFBPINTEST - Este ndice retorna o interior dos estornos nos bilhetes de passagem. Observaes: - Se desejar saber mais sobre o Sintegra, acesse o site do Sintegra para saber: www.sintegra.gov.br
Daruma Automao
367
Daruma Framework 03 Memria Fiscal esgotada 161 04 Erro no relgio interno da IF 161 05 Falha mecnica na IF 161 06 Erro durante a leitura da Memria Fiscal 161 07 Metodo permitido apenas em modo fiscal (IF sem jmper) 161
Index
-..log 95
-???? 78 ???? 134, 195, 196, 197, 198, 199, 222, 251, 253
-11 91 1.11 42 10 95 10 Documento sendo emitido 161 1000 38 1001 38 1004 40 1005 44 1006 44 1007 45 1008 46 1009 46 1010 49 1011 48 1012 47 1013 51 1014 43 1015 53 1016 52 1017 50 1018 52 1019 42 11 96 11 Documento no foi aberto 161 1100 63 1101 62 1102 59 1103 60 1104 60 1105 61 1106 64 12 96 12 No existe documento a cancelar 1200 64 1201 56 1202 62 1203 54 1204 54
-<</a> No Aguardar at o Trmino da Impresso 300, 307 <a> Aguardar at o Trmino da Impresso 300, 307 <b></b> Para sinalizar Negrito 300, 307 <c></e> Para sinalizar Condensado 300, 307 <ce></ce> Para Centralizar 300, 307 <dt></dt> Para Imprimir Data Atual 300, 307 <e></e> Para sinalizar Expandido 300, 307 <g></g> Abre a Gaveta 300, 307 <hr></hr> Para Imprimir Hora Atual 300, 307 <i></i> Para sinalizar iTlico 300, 307 <l></l> Para Saltar Uma Linha 300, 307 <n></n> Para sinalizar Normal 300, 307 <s></s> Para sinalizar Sublinhado 300, 307 <sl>NN</sl> Para Saltar Vrias Linhas" 300, 307 0) 300, 307 <sn></sn> Sinal Sonoro 300, 307 Apitar 300, 307 <sp>NN</sp> Inserir NN Espaos em Branco 300, 307 <tc>C</tc> Riscar Linha com um Caracter Especifico 300, 307
-000 IF em modo Manuteno. Foi ligada sem o Jumper de Operao 161 01 313 01 Mtodo disponvel somente em modo Manuteno 161 02 Erro durante a gravao da Memria Fiscal
161
161
Daruma Automao
Index
368
1205 55 1206 65 1207 66 1208 55 1210 56 1211 58 1212 58 13 97 foi encontrado nos Parmetros do Mtodo 1300 67 1301 66 1302 67 1310 69 1311 68 1312 69 14 97 14 No h mais memria disponvel para esta operao/No h nenhuma posio de mria disponvel. 161 1400 118 1401 124 1402 160 1403 117 1404 116 1405 117 1406 149 1407 130 1408 147 1410 146 1411 132 1412 134 1413 135 1414 144 1415 144 1416 146 1417 135 1418 140, 265 1419 139 1420 139 1421 138 1422 138 1423 152 1424 130 1425 131 1426 132 1427 160 1428 156
Daruma Automao
161
1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1479 1481
137 137 129 127 149 140 142 126 141 141 128 125 145 123 127 122 126 150 151 123 148 148 163 163 164 164 165 165 167 167 168 168 169 169 170 170 171 171 131 136 119 122 118 161 150 159 157
369
Daruma Framework
1483 142 1484 120 1485 174 1486 126 1488 121 1489 121 1490 143 1491 133 1492 133 1493 152 1495 174 1496 175 1497 166 1498 143 1499 172 15 98 15 Item a cancelar no foi encontrado 161 1500 119 1502 176 16 Erro de sintaxe no mtodo 161 17 91 17 "Estouro" de capacidade numrica (overflow) 161 18 100 18 Selecionado totalizador tributado com alquota de imposto no definida 161 180 Mensagem do aplicativo no programada. (Esta mensagem no opcional e sim uma exigncia da legislao e dever ser programada para que o ECF seja liberado para a emisso de documentos fiscais. Para programar a mensagem use os mtodos:Daruma_Registry_AplMensagem1(ndice 36) e mtodo:Daruma_Registry_AplMensagem2(ndice 37). 161 181 No possivel realizar Reduo Z entre 00:00am e 02:00am (Meia Noite e Duas da Manh) nesta verso de firmware da FS600 (est limitao existe nas verses 1.1 pra baixo. 161 19 100 19 Memria Fiscal vazia 161 1900 278 1901 276 1902 275 1903 280 1904 275 1905 277 1Linha 38, 97
-22 92 2 ou mais impressoras 110 20 101 20 No existem campos que requerem atualizao 161 2000 270 2001 272 21 98 21 Detectado proximidade do final da bobina de papel 161 22 102 22 Cupom de Reduo Z j foi emitido. IF inoperante at 0:00h do prximo dia 161 23 99 23 Reduo Z do perodo anterior ainda pendente. IF inoperante 161 24 99 24 Valor de desconto ou acrscimo invlido (limitado a 100%) 161 25 Carctere invlido foi encontrado nos Parmetros do Mtodos 161 26 Mdoto no pode ser executado 161 27 Impressora fora de Linha/Nenhum perifrico conectado a interface auxiliar 161 28 102 28 Foi encontrado um campo em zero 161 29 Documento anterior no foi Cupom Fiscal. No pode emitir Cupom Adicional 161
-33 93 30 325 30 Acumulador No Fiscal selecionado no vlido ou no est disponvel 161 3000 213 3007 218 3008 219 3009 220 301 74 3010 221 3011 223 3012 217 3013 221 3014 225
Daruma Automao
Index
370
3018 229 302 73 303 77 304 73 3040 227 3041 228 3042 218 3045 226 3046 215 3048 216 3049 216 305 75 3050 229 3051 226 3052 227 3053 213 3054 214 3055 225 306 76 307 76 3070 214 3071 224 308 77 31 327 31 No pode autenticar. Excedeu 4 repeties ou no permitida nesta fase 161 310 75 3100 237 3101 236 3102 234 3103 234 3104 235 3105 236 3106 238 312 79 313 79 314 37 32 326 32 Cupom adicional inibido por configurao 161 3200 239 3201 231 3202 237 3203 230 3204 230 3205 231 3206 239 3207 233, 240
Daruma Automao
3210 232 3211 233 33 326 3301 240 3302 241 3310 242 3311 242 34 328 3400 252 3401 256 3403 251 3404 250 3405 250 3407 260 3410 269 3411 262 3413 262 3414 268 3415 268 3416 269 3417 263 3419 264 3420 264 3421 263 3425 261 3431 260 3432 258 3434 265 3435 267 3436 257 3437 266 3438 266 3439 259 3440 256 3443 258 3445 257 3448 255 3469 252 3483 267 3488 254 3489 254 35 103, 200 35 Relgio Interno Inoperante 161 36 103 36 Verso do firmware gravada na Memria Fiscal no a esperada 161 37 104
371
37 Alquota de imposto informada j est carregada na memria 161 38 104, 105 38 Forma de pagamento selecionada no vlida 161 38400 102 39 Erro na seqncia de fechamento do Cupom Fiscal 161
-55 94 50 Fim da bobina de papel 161 5007 204 5008 203 5009 205 5010 206 5011 205 5012 210 5013 211 5014 211 5015 201 5016 202 5017 203 5018 206 5019 212 5020 212 5021 207 5022 208 5023 208 5024 209 5025 210 5026 204 504 248 507 249 509 249 51 Nenhum usurio cadastrado na MF 161 52 106 52 MF no instalada ou no inicializada 161 53 35, 190 5350 337 5351 345 5360 338 5361 345 5363 339 5410 335 5412 343 5420 330 5422 341 5430 337 5432 344 5440 333
Daruma Automao
-44 93 40 IF em Jornada Fiscal. Alterao da configurao no permitida 161 400 80 4001 287 4002 291 4003 292 4004 293, 294 4008 289 4009 294 401 81 4013 295 4014 296 4015 296 402 82 403 82 404 83 405 83 407 84 408 85 409 86 41 Data invlida. Data fornecida inferior ltima gravada na Memria Fiscal 161 410 86 411 81 412 84 42 105 42 Leitura X inicial ainda no foi emitida 161 43 No pode emitir Comprovante Vinculado 161 44 Cupom de Oramento no permitido para este estabelecimento(Mensagem do Aplicativo No Programada) 161 45 201 45 Campo obrigatrio em branco 161 46 329 48 329 48 No pode estornar 161
Index
372
5443 342 5450 340, 346 5456 341 5460 331 55 36 550 245 551 245 552 247 553 247 554 246 555 243 559 246 56 107 56 Documento j aberto 57 108 58 35, 109 59 35, 110
161
6029 359 603 71 6030 360 604 71 605 154 606 155 607 72 61 37 61 Queda de energia durante a emisso de Cupom Fiscal 161 650 243 651 244 652 244 66 111 69 112
-77 94 72 114 76 Desconto em ISS no permitido neste ECF (a programao dever ser feita por meio de interveno tcnica e caso o Estado permita) 161 77 Acrscimo em IOF inibido 161
-66 94 60 36, 110 600 70 6000 177 6001 185 6002 189 6003 188 6004 176 6005 186 6008 190 601 70 6013 191 6014 191 6015 192 6016 192 6017 193 6018 194 6019 199 602 153 6020 361 6021 363 6022 352 6023 354 6024 355 6025 356, 357 6026 358 6028 358
Daruma Automao
-88 95 80 Perifrico na interface auxiliar no pode ser reconhecido 161 81 Solicitado preenchimento de cheque de banco desconhecido 161 82 Solicitado transmisso de mensagem nula pela interface auxiliar 161 83 Extenso do cheque no cabe no espao disponvel 161 84 Erro na comunicao com a interface auxiliar 161 85 Erro no dgito verificador durante comunicao com a PertoCheck 161 86 Falha na carga de geometria de folha de cheque 161 87 Parmetros do Mtodo: invllido para o campo de data do cheque 161
-99 95
373
Daruma Framework
-BBalana 111 Balcao 214, 225 Banco 347, 349 Barras 185, 186, 297 Bipmap 295 Bomba 111 Bruta 143 Bufferizando 32
-AAbertas 229 Abertura 71 Abre 54, 55, 56, 69, 70, 191, 195, 210, 230, 232, 242, 270 AbreCupom 38, 213 Abrir 99 AbrirdiaAuto 99 Aciona 69, 193, 242 Acresc 145 Acrescimo 163 Acrescimo - Retorno 163 Acrescimos 145, 207 Acumulada 143 Acumulado 172 Adiciona 243 Adicional 52, 84, 107, 108, 192, 200, 229 Ajusta 64, 238 Aliquota 73, 125, 245, 256 Aliquota Valores 174 Aliquotas 126, 142, 149, 257, 267 Aliquotas - Ler Total de 130, 260 Altera 92 Alterando o Registry 91 Alterar 335, 343 Anterior 44, 224 Apaga 243 Aplicativo 103, 104 arquivo 278, 289 Arquivo de Comando 36 Arredondamento 75, 82, 111 Aumenta 49, 53 Autentica 67, 241 Autenticacao 292, 293, 294 Autenticao 67, 83, 241 Autenticar na Bobina 293, 294 Autenticar no Documento 293, 294 Automatica 82, 97, 98 Automatico 80, 114 Automtico 37
-CCadastrar 330, 341 Caixa 58, 131, 233, 261 Calculos 82 Caminho 92 Cancel 146, 269 Cancela 43, 44, 224, 225 Cancelados 139, 146, 163, 164, 264, 269 Cancelamento 212 Cancelamentos 146, 208, 269 Valor Acumulado 174 Cancelar 204, 226 Canlelamentos 163 Cardapio 243, 244 Carregar 205 CGC 135, 262 CGC proprietario do ECF 131 Cheque 201, 202, 203, 204, 205, 206 Cliche 131 CMC7 204 CNF 164, 210 CNFNV 118, 251 CNFV 117, 212, 251 CNPJ do ECF 131 Codigo 185, 186, 204, 297 Comandos 32, 109, 110 Comandos em Lote 32 Combutvel 111 ComIndice 142, 267 Comprivante 55 Comprovante 54, 117, 118, 174, 175, 230, 231, 251 COMX 91 Conectada 127, 258
Daruma Automao
Index
374
Conferencia 215 ConferenciaMesa 215 Config 95, 108 Configura 37 Configuraes 72 Configuracoes do ECF 80, 81, 82, 83, 84, 85, 86, 248, 249 Configurando 80, 81, 82, 83, 248 Configurando a Daruma32.dll para trabalhar com Linux Terminal Service 19 Configurando a Daruma32.dll para trabalhar com Terminal Service 18 Configurando a Daruma32.SO 12 Configurando a DLL 3, 4, 11, 13, 17, 113, 114 Configurando Impressora DUAL 325, 329 Configurando NFS 33 Configurando o Registry 113, 114 Consulta 176 Consulta decimais 189 Consultar 331, 333, 342 Consumidor 51, 221 Contador 142, 267 Contador de LeituraX 164, 172 Contador de Nao Fiscal Nao Vinculado 172 Contador de Nao Fiscal Vinculado 172 Contador de Reduo Z 167 Contador de Reducao Z Restante 168 Contador de Reinicio 167 Contador Geral Nao Fiscal 169 Contador Nao Fiscal 172 Contadores 142, 267 Controle 94 COO 135, 263 COO FINAL 136 COO INICIAL 136 COOFinal 172 COOInicial 172 Corrigir 206 Cria 211 Criptografado 134 Criptografia 133, 134 Cumpons 139, 264 Cupom 38, 43, 45, 48, 52, 80, 84, 107, 108, 116, 135, 190, 192, 200, 218, 221, 222, 223, 225, 228, 229, 250, 263 Cupom Nao Fiscal Nao Vinculado 165, 166 CupomBalcao 213 CupomDividido 227
Daruma Automao
-DDados 146, 269 Daruma Framework 18, 58 Daruma TA1000 Gerar Banco com Produtos 347 Daruma TA1000 Gerar Banco com Usuarios 349 Daruma_DUAL_Autenticar 293, 294 Daruma_DUAL_EnviarBMP 295 Daruma_DUAL_Imprimimindo Codigos de Barras 297 Daruma_DUAL_ImprimirArquivo 289 Daruma_DUAL_ImprimirTexto 287 Daruma_DUAL_ProgramarGuilhotina 296 Daruma_DUAL_StatusGaveta 294 Daruma_DUAL_VerificaDocumento 292 Daruma_DUAL_VerificarGuilhotina 296 Daruma_DUAL_VerificaStatus 291 Daruma_FI_AberturaDoDia 71 Daruma_FI_AbreComprovanteNaoFiscalVinculado 54 Daruma_FI_AbreCupom 38 Daruma_FI_AbrePortaSerial 70 Daruma_FI_AbreRecebimentoNaoFiscal 56 Daruma_FI_AbreRelatorioGerencial 55 Daruma_FI_AcionaGaveta 69 Daruma_FI_Acrescimos 145 Daruma_FI_AumentaDescricaoItem 53 Daruma_FI_Autenticacao 67 Daruma_FI_AutenticacaoStr 67 Daruma_FI_CancelaCupom 43 Daruma_FI_CancelaItemAnterior 44 Daruma_FI_CancelaItemGenerico 44 Daruma_FI_Cancelamentos 146 Daruma_FI_CfgCalcArredondamento 82 Daruma_FI_CfgCupomAdicional 84 Daruma_FI_CfgEspacamentoCupons 84 Daruma_FI_CfgFechaAutomaticoCupom 80 Daruma_FI_CfgHoraMinReducaoZ 85 Daruma_FI_CfgHorarioVerao 83, 248 Daruma_FI_CfgImpEstGavVendas 81 Daruma_FI_CfgLeituraXAuto 82 Daruma_FI_CfgLimiarNearEnd 86 Daruma_FI_CfgPermMensPromCNF 86
375
Daruma Framework Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms 73 Daruma_FI_NumeroCaixa 131 Daruma_FI_NumeroCupom 135 Daruma_FI_NumeroCuponsCancelados 139 Daruma_FI_NumeroIntervencoes 138 Daruma_FI_NumeroLoja 132 Daruma_FI_NumeroOperacoesNaoFiscais 140, 265 Daruma_FI_NumeroReducoes 139 Daruma_FI_NumeroSerie 132 Daruma_FI_NumeroSubstituicoesProprietario 138 Daruma_FI_PalavraStatus 157 Daruma_FI_ProgramaAliquota 73 Daruma_FI_ProgramaArredondamento 75 Daruma_FI_ProgramaFormasPagamento 74 Daruma_FI_ProgramaFormasPgtoSemVincular 79 Daruma_FI_ProgramaHorarioVerao 77 Daruma_FI_ProgramaOperador 75 Daruma_FI_ProgramaTruncamento 76 Daruma_FI_ProgramaViculados 79 Daruma_FI_RecebimentoNaoFiscal 62 Daruma_FI_ReducaoZ 63 Daruma_FI_ReducaoZAjustaDataHora 64 Daruma_FI_RegistraNumeroSerie 133 Daruma_FI_RelatorioGerencial 64 Daruma_FI_RelatorioTipo60Analitico (ndice 605) 154 Daruma_FI_RelatorioTipo60Mestre (ndice 606) 155 Daruma_FI_RetornaAcrescimoNF 163 Daruma_FI_RetornaCancelamento 168 Daruma_FI_RetornaCFCancelados 163 Daruma_FI_RetornaCLX 164 Daruma_FI_RetornaCNFCancelados 164 Daruma_FI_RetornaCNFNV 165 Daruma_FI_RetornaCNFV 165 Daruma_FI_RetornaCRO 167 Daruma_FI_RetornaCRZ 167 Daruma_FI_RetornaCRZRestante 168 Daruma_FI_RetornaDescontoNF 169 Daruma_FI_RetornaDescricaoCNFV 166 Daruma_FI_RetornaErroExtendido 161 Daruma_FI_RetornaGNF 169 Daruma_FI_RetornaIndiceComprovanteNaoFiscal 175 Daruma_FI_RetornaRegistradoresFiscais 174 Daruma_FI_RetornaRegistradoresNaoFiscais 172 Daruma_FI_RetornarVersaoDLL 176
Daruma Automao
Daruma_FI_CfgRedZAutomatico 81 Daruma_FI_CfgSensorAut 83 Daruma_FI_CGC_IE 135 Daruma_FI_ClicheProprietario (ndice 1424) 130 Daruma_FI_ClicheProprietarioEx 131 Daruma_FI_ContadoresTotalizadoresNaoFiscais 142 Daruma_FI_COO 136 Daruma_FI_DadosUltimaReducao 146 Daruma_FI_DataHoraImpressora 140 Daruma_FI_DataHoraReducao 141 Daruma_FI_DataMovimento 141 Daruma_FI_Descontos 144 Daruma_FI_EfetuaFormaPagamento 46 Daruma_FI_EfetuaFormaPagamentoDescricaoForm a 46 Daruma_FI_EfetuaFormaPagamentoNaoFiscal 58 Daruma_FI_EmitirCupomAdicional 52 Daruma_FI_EqualizaFormasPgto 78 Daruma_FI_EspacoEntreLinhas 77 Daruma_FI_EstornoFormasPagamento 50 Daruma_FI_FechaComprovanteNaoFiscalVinculado 55 Daruma_FI_FechaCupom 48 Daruma_FI_FechaCupomResumido 47 Daruma_FI_FechamentoDoDia 71 Daruma_FI_FechaPortaSerial 70 Daruma_FI_FechaRelatorioGerencial 56 Daruma_FI_FlagsFiscais 156 Daruma_FI_FlagsFiscaisStr 159 Daruma_FI_GrandeTotal 144 Daruma_FI_IdentificaConsumidor 51 Daruma_FI_ImprimeConfiguracoesImpressora 72 Daruma_FI_IniciaFechamentoCupom 45 Daruma_FI_LeituraMemoriaFiscalData 59 Daruma_FI_LeituraMemoriaFiscalReducao (ndice 1103) 60 Daruma_FI_LeituraMemoriaFiscalSerialData (ndice 1104) 60 Daruma_FI_LeituraMemoriaFiscalSerialReducao (ndice 1105) 61 Daruma_FI_LeituraX 62 Daruma_FI_LerAliquotasComIndice 142 Daruma_FI_LinhasEntreCupons 76 Daruma_FI_MapaResumo (ndice 602) 153 Daruma_FI_MinutosImprimindo 137 Daruma_FI_MinutosLigadas 137
Index
376
Daruma_FI_RetornaSerialCriptografado 134 Daruma_FI_RetornaTempoImprimindo 170 Daruma_FI_RetornaTempoLigado (ndice 1464) 170 Daruma_FI_RetornaTotalPagamentos 171 Daruma_FI_RetornaTroco 171 Daruma_FI_RetornaValorComprovanteNaoFiscal 174 Daruma_FI_RetornoAliquotas 149 Daruma_FI_RetornoImpressora 160 Daruma_FI_SaldoAPagar 148 Daruma_FI_Sangria 65 Daruma_FI_SimboloMoeda 160 Daruma_FI_StatusComprovanteNaoFiscalNaoVincul ado 118 Daruma_FI_StatusComprovanteNaoFiscalVinculado 117 Daruma_FI_StatusCupomFiscal 116 Daruma_FI_StatusRelatorioGerencial 117 Daruma_FI_SubTotal 147 Daruma_FI_Suprimento 66 Daruma_FI_TerminaFechamentoCupom 49 Daruma_FI_TipoUltimoDocumento 152 Daruma_FI_Troco 148 Daruma_FI_UltimaFormaPagamento 150 Daruma_FI_UltimoItemVendido (ndice 1423) 152 Daruma_FI_UsaComprovanteNaoFiscalVinculado 54 Daruma_FI_UsaUnidadeMedida 52 Daruma_FI_ValorFormaPagamento 150 Daruma_FI_ValorPagoUltimoCupom 149 Daruma_FI_ValorTotalizadorNaoFiscal 151 Daruma_FI_VendaBruta 143 Daruma_FI_VendaBrutaAcumulada 143 Daruma_FI_VendeItem 38 Daruma_FI_VendeItemDepartamento 40 Daruma_FI_VendeItemTresDecimais 42 Daruma_FI_VerificaAliquotasIss 125 Daruma_FI_VerificaDescricaoFormasPagamento 122 Daruma_FI_VerificaDiaAberto 120 Daruma_FI_VerificaDocAutenticacao 66 Daruma_FI_VerificaEpromConectada 127 Daruma_FI_VerificaEstadoGaveta 68 Daruma_FI_VerificaEstadoGavetaStr 69 Daruma_FI_VerificaEstadoImpressora 124 Daruma_FI_VerificaFormasPagamento 123
Daruma Automao
Daruma_FI_VerificaFormasPagamentoEx 123 Daruma_FI_VerificaHorarioVerao 119 Daruma_FI_VerificaImpressoraLigada 118 Daruma_FI_VerificaIndiceAliquotasIss 126 Daruma_FI_VerificaModeloECF 119 Daruma_FI_VerificaModoOperacao 129 Daruma_FI_VerificaNumeroSerie 133 Daruma_FI_VerificaRecebimentosNaoFiscal 127 Daruma_FI_VerificaTipoImpressora 122 Daruma_FI_VerificaTotalizadoresNaoFiscais 126 Daruma_FI_VerificaTotalizadoresNaoFiscaisEx 126 Daruma_FI_VerificaTotalizadoresParciais 130 Daruma_FI_VerificaTruncamento 128 Daruma_FI_VerificaXPendente 121 Daruma_FI_VerificaZPendente 121 Daruma_FI_VersaoFirmware 134 Daruma_FI2000_AbreRelatorioGerencial 210 Daruma_FI2000_AcrescimosICMSISS 207 Daruma_FI2000_CancelamentoCNFV 212 Daruma_FI2000_CancelamentosICMSISS 208 Daruma_FI2000_CancelarCheque 204 Daruma_FI2000_CarregarCheque 205 Daruma_FI2000_CorrigirGeometriaCheque 206 Daruma_FI2000_CriaRelatorioGerencial 211 Daruma_FI2000_DescontosICMSISS 208 Daruma_FI2000_DescontoSobreItemVendido 206 Daruma_FI2000_ImprimirCheque 202 Daruma_FI2000_ImprimirVersoCheque 203 Daruma_FI2000_LeituraCodigoMICR 204 Daruma_FI2000_LeituraInformacaoUltimoDOC 209 Daruma_FI2000_LeituraInformacaoUltimosCNF 210 Daruma_FI2000_LeituraTabelaCheque 205 Daruma_FI2000_LiberarCheque 203 Daruma_FI2000_SegundaViaCNFV 212 Daruma_FI2000_StatusChque 201 Daruma_FI2000_VerificaRelatorioGerencial 211 Daruma_FIB_AbreBilhetePassagem 270 Daruma_FIB_VendeItem 272 Daruma_FIMFD_AbreRecebimentoNaoFiscal 195 Daruma_FIMFD_AbreRelatorioGerencial 191 Daruma_FIMFD_AcionarGuilhotina 193 Daruma_FIMFD_EfetuaFormaPagamentoNaoFiscal 198 Daruma_FIMFD_EmitirCupomAdicional 192 Daruma_FIMFD_EqualizarVelocidade 194
377
Daruma_FIMFD_IniciaFechamentoNaoFiscal 197 Daruma_FIMFD_ProgramaRelatoriosGerenciais 191 Daruma_FIMFD_ProgramarGuilhotina 199 Daruma_FIMFD_RecebimentoNaoFiscal 196 Daruma_FIMFD_RetornaInformacao 177 Daruma_FIMFD_RetornarInfoDownloadMFD(ndice 6020) 361 Daruma_FIMFD_RetornarInfoDownloadMFDArquivo( ndice 6021) 363 Daruma_FIMFD_SinalSonoro 190 Daruma_FIMFD_StatusCupomFiscal 190 Daruma_FIMFD_TerminaFechamentoCupomCodigo Barras 186 Daruma_FIMFD_TerminaFechamentoNaoFiscal 199 Daruma_FIMFD_VerificaRelatoriosGerenciais 192 Daruma_FIR_AbreComprovanteNaoFiscalVinculado 230 Daruma_FIR_AbreCupomBalcao 213 Daruma_FIR_AbreCupomRestaurante 213 Daruma_FIR_AbreRecebimentoNaoFiscal 232 Daruma_FIR_AcionaGaveta 242 Daruma_FIR_AdicionaProdutoCardapio (ndice 555) 243 Daruma_FIR_AutenticacaoStr 241 Daruma_FIR_CancelaCupom 225 Daruma_FIR_CancelaItem 224 Daruma_FIR_CancelaItemBalcao 225 Daruma_FIR_Cancelamentos 269 Daruma_FIR_CancelarVenda 226 Daruma_FIR_CardapioSerial 244 Daruma_FIR_CfgEspacamentoCupons 249 Daruma_FIR_CfgLimiarNearEnd 249 Daruma_FIR_CGC_IE 262 Daruma_FIR_ConferenciaMesa 215 Daruma_FIR_ContadoresTotalizadoresNaoFiscais 267 Daruma_FIR_DadosUltimaReducao 269 Daruma_FIR_DataHoraImpressora 265 Daruma_FIR_DataHoraReducao 266 Daruma_FIR_Descontos 268 Daruma_FIR_EfetuaFormaPagamento 219 Daruma_FIR_EfetuaFormaPagamentoDescricaoFor ma 220 Daruma_FIR_EfetuaFormaPagamentoNaoFiscal 233
Daruma_FIR_FechaComprovanteNaoFiscalVinculad o 231 Daruma_FIR_FechaCupomRestaurante 223 Daruma_FIR_FechaCupomRestauranteResumido 217 Daruma_FIR_FechaRelatorioGerencial 231 Daruma_FIR_FundoCaixa 233 Daruma_FIR_GrandeTotal 268 Daruma_FIR_IdentificaConsumidor 221 Daruma_FIR_ImprimeCardapio 244 Daruma_FIR_ImprimePrimeiroCupomDividido 227 Daruma_FIR_IniciaFechamentoCupom 218 Daruma_FIR_IniciaFechamentoCupomComServico 218 Daruma_FIR_LeituraMemoriaFiscalData 234 Daruma_FIR_LeituraMemoriaFiscalReducao (ndice 3103) 234 Daruma_FIR_LeituraMemoriaFiscalSerialData (ndice 3104) 235 Daruma_FIR_LeituraMemoriaFiscalSerialReducao (ndice 3105) 236 Daruma_FIR_LeituraX 236 Daruma_FIR_LerAliquotasComIndice 267 Daruma_FIR_NomeiaTotalizadorNaoSujeitoIcms 245 Daruma_FIR_NumeroCaixa 261 Daruma_FIR_NumeroCupom 263 Daruma_FIR_NumeroCuponsCancelados 264 Daruma_FIR_NumeroIntervencoes 263 Daruma_FIR_NumeroReducoes 264 Daruma_FIR_NumeroSerie 262 Daruma_FIR_ProgramaAliquota 245 Daruma_FIR_ProgramaFormasPagamento 246 Daruma_FIR_ProgramaMsgTaxaServico 247 Daruma_FIR_ProgramaOperador 247 Daruma_FIR_ProgramaProgramaRelatorioGerencial 246 Daruma_FIR_RecebimentoNaoFiscal 237 Daruma_FIR_ReducaoZ 237 Daruma_FIR_ReducaoZAjustaDataHora 238 Daruma_FIR_RegistrarVenda 216 Daruma_FIR_RegistroVendaSerial 216 Daruma_FIR_RelatorioGerencial 239 Daruma_FIR_RelatorioMesasAbertas 229 Daruma_FIR_RestanteCupomDividido 228 Daruma_FIR_Sangria 239
Daruma Automao
Index
378
Daruma_FIR_StatusComprovanteNaoFiscalNaoVinc ulado 251 Daruma_FIR_StatusComprovanteNaoFiscalVinculad o 251 Daruma_FIR_StatusCupomFiscal 250 Daruma_FIR_StatusRelatorioGerencial 250 Daruma_FIR_Suprimento 240 Daruma_FIR_TerminaFechamentoCupom 221 Daruma_FIR_TerminaFechamentoCupomID 222 Daruma_FIR_TransferirMesa 227 Daruma_FIR_TransferirVenda 226 Daruma_FIR_UsaComprovanteNaoFiscalVinculado 230 Daruma_FIR_VendeItem 214 Daruma_FIR_VendeItemBalcao 214 Daruma_FIR_VerificaAliquotasIss 256 Daruma_FIR_VerificaDocAutenticacao 240 Daruma_FIR_VerificaEpromConectada 258 Daruma_FIR_VerificaEstadoGaveta 242 Daruma_FIR_VerificaEstadoImpressora 256 Daruma_FIR_VerificaFormasPagamentoEx 255 Daruma_FIR_VerificaHorarioVerao 253 Daruma_FIR_VerificaImpressoraLigada 252 Daruma_FIR_VerificaIndiceAliquotasIss 257 Daruma_FIR_VerificaModeloEcf 252 Daruma_FIR_VerificaModoOperacao 260 Daruma_FIR_VerificaRecebimentosNaoFiscal 258 Daruma_FIR_VerificaTotalizadoresNaoFiscais 257 Daruma_FIR_VerificaTotalizadoresParciais 260 Daruma_FIR_VerificaTruncamento 259 Daruma_FIR_VerificaXPendente 254 Daruma_FIR_VerificaZPendente 254 Daruma_FIR_ZeraCardapio 243 Daruma_MFD_CasasDecimaisProgramada 189 Daruma_MFD_DownLoadMFD 176 Daruma_MFD_ImprimeCodigoBarras 185 Daruma_MFD_IndicePrimeiroVinculado 188 Daruma_Observer_Registry_Entrada 36 Daruma_Observer_Registry_Execucao 35 Daruma_Observer_Registry_Log 35 Daruma_Observer_Registry_Log_Path 35 Daruma_Observer_Registry_Produto 37 Daruma_Observer_Registry_Saida 36 Daruma_Registry_AbrirDiaFiscal 99 Daruma_Registry_AlteraRegistry 91 Daruma_Registry_AplMensagem1 103
Daruma Automao
Daruma_Registry_AplMensagem2 104 Daruma_Registry_ComandosEmLote 109 Daruma_Registry_ConfigRede 95 Daruma_Registry_ControlePorta 94 Daruma_Registry_CupomAdicionalDll 107 Daruma_Registry_CupomAdicionalDllConfig 108 Daruma_Registry_Default 101 Daruma_Registry_DUAL_Enter 325 Daruma_Registry_DUAL_Espera 326 Daruma_Registry_DUAL_ModoEscrita 326 Daruma_Registry_DUAL_Porta 327 Daruma_Registry_DUAL_Tabulacao 328 Daruma_Registry_DUAL_Termica 329 Daruma_Registry_DUAL_Velocidade 329 Daruma_Registry_ErroExtendidoOk 102 Daruma_Registry_FinalLote 110 Daruma_Registry_FS2000_CupoamAdicional 200 Daruma_Registry_FS2000_TempoEsperaCheque 201 Daruma_Registry_IgnorarPoucoPapel 99 Daruma_Registry_ImprimeRegistry 100 Daruma_Registry_Log 95 Daruma_Registry_LogTamMaxMB 112 Daruma_Registry_MaxFechamentoAutomatico 114 Daruma_Registry_MFD_LeituraMFCompleta 107 Daruma_Registry_MFD_ProgramarSinalSonoro 106 Daruma_Registry_MFDValorFinal 111 Daruma_Registry_ModoGaveta 94 Daruma_Registry_NomeLog 95 Daruma_Registry_NumeroLinhasImpressao 105 Daruma_Registry_NumeroSerieNaoFormatado[ndic e 42] 105 Daruma_Registry_Path 92 Daruma_Registry_PathLote 110 Daruma_Registry_PCExpanionLogin 110 Daruma_Registry_Porta 91 Daruma_Registry_Produto 103 Daruma_Registry_RetornaValor 100 Daruma_Registry_Retorno 94 Daruma_Registry_Separador 96 Daruma_Registry_SeparaMsgPromo 96 Daruma_Registry_SintegraPath 114 Daruma_Registry_SintegraSeparador 113 Daruma_Registry_Status 93 Daruma_Registry_StatusFuncao 93
379
Daruma Framework Decodificacao do Erro do ECF 161 Default 101, 103 Departamento 40 Desconto 206 Descontos 144, 208, 268 Valor Acumulado 174 Descricao 46, 220 Descrio 49, 53 Descrio Formas Pagamento 122 DHTML 300, 307 Dia 71, 99 DiaAberto 120 Do 71 DOC 209 Documento 66, 152, 240, 292, 293, 294 Documento Posicionado 292, 293, 294 DownLoad 176 DUAL 326, 327, 328 Porta de Comunicao 325, 327 Status 291 Termica 329 DUAL Impressora Dual 325, 329 DXML 300, 307
Daruma_Registry_TEF_NumeroLinhasImpressao 104 Daruma_Registry_TerminalServer 98 Daruma_Registry_Velocidade 102 Daruma_Registry_Vende1Linha 97 Daruma_Registry_XAutomatica 97 Daruma_Registry_ZAutomatica 98 Daruma_Sintegra_GerarRegistro60I (ndice 6028) 358 Daruma_Sintegra_GerarRegistro60R (ndice 6029) 359 Daruma_Sintegra_GerarRegistro90(ndice 6030) 360 Daruma_Sintegra_GerarRegistrosArq (ndice 6022) 352 Daruma_Sintegra_GerarRegistrosArq (ndice 6023) 354 Daruma_Sintegra_GerarRegistrosArq (ndice 6024) 355 Daruma_Sintegra_GerarRegistrosArq (ndice 6025) 356, 357 Daruma_Sintegra_GerarRegistrosArq (ndice 6026) 358 Daruma_TA1000_AlterarProdutos 335 Daruma_TA1000_AlterarUsuarios 343 Daruma_TA1000_CadastrarProdutos 330 Daruma_TA1000_CadastrarUsuarios 341 Daruma_TA1000_ConsultarProdutos 333 Daruma_TA1000_ConsultarUsuarios 342 Daruma_TA1000_EliminarProdutos 337, 344 Daruma_TA1000_EnviarBancoProdutos 337, 345 Daruma_TA1000_LerProdutos 331 Daruma_TA1000_ReceberBancoProdutos 338, 345 Daruma_TA1000_ReceberProdutosVendidos 339 Daruma_TA1000_ZerarProdutos 340, 341, 346 Daruma_TEF_EsperarArquivo (ndice 1900) 278 Daruma_TEF_FechaRelatorio(ndice 1904) 275 Daruma_TEF_ImprimirResposta (ndice 1901) 276 Daruma_TEF_ImprimirRespostaCartao 277 Daruma_TEF_SetFocus (ndice 1902) 275 Daruma_TEF_TravarTeclado 280 Daruma32.dll 176 Daruma32.log 95 Data 59, 64, 140, 141, 234, 238, 265, 266 Deciamais da MFD 189 Decimais 42 Decimais quantidade 189 Decimais valor 189
-EECF Verificar Modelo do ECF 119, 252 Efetua 46, 58, 198, 219, 220, 233 Eliminar 337, 344 Emitido 152 Emitir 52, 192, 229 End 86, 249 Entre 76, 77, 84, 249 Enviar 295 EnviarLogo 295 Envirar 337, 345 Eprom 127, 258 Equaliza 78 Equalizar 194 Erro 102 Erro do ECF 161 Erro Extendido do ECF 161 Espaamento 84, 249 Espaco 77 Espera 201 esperar 278 Esperar Impressao 326
Daruma Automao
Index
380
Est 81 Estado 68, 69, 124, 242, 256 Estorno 50 Exemplo_DUAL_01 313 Exemplo_DUAL_02 315 Exemplo_DUAL_03 316 Exemplo_DUAL_04 317 Exemplo_DUAL_05 318 Exemplo_DUAL_06 319 Exemplo_DUAL_07 321 Exemplo_DUAL_08 322 Exemplo_DUAL_09 323 Exemplo_DUAL_10 324 Extendida 53 ExtendidoOk 102
Gerar 347, 349 Gerar Sintegra 352, 354, 355, 356, 357, 358, 359, 360, 361, 363 Gerenciais 191, 192 Gerencial 55, 56, 64, 117, 191, 210, 211, 231, 239, 246, 250 Graficamente como Funciona o OBSERVER 25 Grande 144, 268 Grande Total Contador 174 GT 144, 268 GT Inicial 174 Guilhotina 193, 199, 296
-HHibernar - Log 35 Hibernar Local de Execucao 35 Hibernar Log Path e Nome do Log 35 Hibernar Observer 36 Hora 64, 85, 140, 141, 238, 265, 266 Horario 77, 83, 248 Horrio 37
-FFecha 47, 48, 55, 56, 70, 80, 223, 231 FechaCupom 217 Fechamento 45, 71, 114, 186, 197, 199, 218, 221, 222 FI2000 201 Final 110 Firmeware 134 Fiscais 126, 142, 156, 267 FiscaisStr 159 Fiscal 54, 55, 56, 59, 62, 65, 66, 73, 99, 116, 151, 165, 174, 175, 190, 195, 196, 230, 231, 232, 234, 237, 239, 240, 245, 250 Flags 156, 159 Forma 46, 58, 150, 198, 220, 233 Formas 50, 74, 78, 122, 123, 246, 255 Formas de Pagamento - total acumulado 171 Formas Pagamento 122 Formatado 105 Funcao 94 Funes de Configurao do Observer 34 Fundo 58, 233
-IICMS 207, 208 Identifica 51, 221 Identificando 222 IE 135, 262 Ignora 99 Imp 81 Implementando TEF com a Daruma32.dll 273 Impressao 105 Impressora 72, 118, 122, 124, 140, 160, 252, 256, 265 Imprime 72, 185, 227, 228, 244 ImprimePrimeiro 227 ImprimePrimeiroCupomDividido 227 Imprimindo 100, 137 Imprimindo na Impressora DUAL 327 Imprimindo o Registry 100 Imprimindo o TEF 276, 277 Imprimir 72, 202, 287, 289, 297 ImprimirCodigoBarras 297 Indice 126, 175, 188, 189, 257 Indices 4 Informacao 209, 210
-GGande Total - Ler Total 130, 260 Gav 81 Gaveta 68, 69, 94, 242 Generico 44 Geometria 206
Daruma Automao
381
Daruma Framework Medida 52 Memoria 59, 234 Memoria Fiscal Impresso 59, 234 Memoria Fiscal Leitura pela Serial 60, 235 Mensagem 86, 96, 103, 104 Mesa 215, 227 Mesas 229 Mtodo Daruma_FI_ConfiguraHoraioVerao(ndice 314) 37 Mtodo: Daruma_FI_FundoCaixa 58 MFD 107, 108, 191, 192, 193, 194, 195, 196, 197, 198, 199, 361, 363 MICR 204 Mnima 85 Minutos 137 Modelo do ECF 119, 252 Modificando o Registry 91 Modo 94, 129, 260 Modo de Escrita na Paralela 326 Moeda 160 Movimento 141, 266 MsgTaxaServico 247 Mudando o Registry 91 Munitos 137
Informaes 361, 363 Inicia 45, 197, 218 Instalando o Driver Observer 25, 27 Int 138, 263 Inter 138, 263 Intervencoes 138, 263 IOF Valor Acumulado 174 Isento 125, 256 Valor Acumulado 174 Iss 125, 126, 207, 208, 256, 257 Item 38, 44, 49, 97, 206, 224, 225, 272
-LL.T.S.P. 19 Leitura 59, 62, 205, 209, 210, 234, 236 Leiturax 82, 97 LeituraX Contador 164 Ler 142, 267 Ler Status na DUAL 291 Ler Total de - Sangria 130, 260 Ler Total de - Suprimento 130, 260 Liberar 203 Ligada 118, 252 Ligadas 137 Ligando o Log 95 Limiar 86, 249 Linhas 76, 77, 105 Linux 27 Lista dos Metodos 4 LJ 132 Log 95, 112 Login 110 Logo 295 Loja 132 Lote 32, 109, 110 LPT1 327 LTSP 19
-NNao 54, 55, 56, 62, 65, 66, 73, 105, 126, 142, 151, 165, 174, 175, 195, 196, 230, 231, 232, 237, 239, 240, 245, 267 No Fiscais 126, 257 Nao Fiscal 172 Nao Fiscal - Contador Geral 169 Nao fiscal - total cancelado 168 No Incidente 174 Valor Acumulado 174 No Incidente - Ler Total de 130, 260 No tributado 125, 256 Nao Vinculado Valor Acumulado 172 NaoFical 117, 251 NaoFisca 127, 258 NaoFiscais 140, 265 NaoFiscal 58, 118, 197, 198, 199, 233, 251 NaoVinculado 118, 251 Near 86, 249 NF 163 Numero 105, 131, 132, 133, 135, 138, 139, 140, 261, 262, 263, 264, 265
Daruma Automao
-MMais de um ECF 110 Mapeamento 32 Max 114 Maximo 112, 114 MB 112, 114
Index
382
Nmero 105 Numero de Reducoes Z Restante Numero do COO Final 136 Numero do COO Inicial 136
168
-OO Qu o Driver Daruma Observer? 23 Observer - Arquivo de Comando 36 Observer - Configurando 34 Observer - Hibernar 36 Observer - Local de Execucao 35 Observer - Log 35 Observer - Log Path e Nome do Log 35 Observer - Produto 37 Observer Configurar Arquivo de Comando 36 Observer Configurar Hibernacao 36 Observer Configurar Local de Execucao 35 Observer Configurar Log 35 Observer Configurar Path e Nome do Log 35 Observer Configurar Produto 37 Observer Linux 27 Operacao 129, 260 Operacoes 140, 265 Operador 75, 247
Posio do primeiro vinculado 188 Pouco 99 Preparando seu Aplicativo para o Observer 29 Presente 66, 240 Primeiro 188 Problemas na Paralela 298, 299 Produto 103, 243 Produto Observer 37 Produtos 330, 331, 333, 335, 337, 338, 339, 340, 344, 345, 346, 347 ProdutosVendidos 341 Progama 77 Programa 73, 74, 75, 76, 79, 191, 245, 246, 247 Programar 106, 199, 296 Promo 96 Promocional 86 Proprietario 131, 138
-RRec 127, 258 Receber 338, 339, 345 Recebi 127, 258 Recebimento 56, 62, 118, 195, 196, 232, 237, 251 RecebimentoNaoFiscal 118, 251 Recebimentos 127, 258 Recucoes 139, 264 Red 139, 264 Rede 95 Reducao 81, 146, 269 Reduo 85 Reduo Z Contador 167 Reducao Z Restante 168 Reduo Z Restante 172 ReducaoZ 63, 141, 237, 266 ReduoZ 98 Registra 133 Registradores Nao Fiscais 172 RegistrarVenda 216 Registro Tipo 10 354 Registro Tipo 11 355 Registro Tipo 60A 357 Registro Tipo 60D 358
-PPagamento 46, 50, 58, 74, 198, 219, 233, 246 Pagamento Descrio 122 Pago 149 Palavra 157 Palavra de Status do ECF 157 Papel 99 Paralela 298, 299 Passagem 270, 272 Path 92, 110, 114 PathLote 110 PCExpanion 110 PCExpanionLogin 110 Permite 86 Pgto 78, 123, 150, 255 Por 82 Porta 70 Porta de Comunicao 94 Porta Serial 91
Daruma Automao
383
Daruma Framework Servico 218 Simbolo 160 Sinal 106, 190 Sincronizar Impressao 326 Sintegra 352, 354, 355, 356, 357, 358, 359, 360, 361, 363 Sobre 206 sonoro 106, 190 ST1 115 ST2 115 Status 93, 116, 117, 118, 190, 201, 250, 251 Status DUAL 291 StatusF 93 StatusFuncao 93 StatusGaveta 294 Str 67, 241 Sub 147 Subs 138 Substituio 125, 256 Valor Acumulado 174 Substituio Tributaria - Ler Total de 130, 260 Substituicoes 138 Sujeito 73, 245 Suprimento 66, 240 Suprimento - Ler Total de 130, 260
Registro Tipo 60I 358 Registro Tipo 60M 356 Registro Tipo 60R 359 Registro Tipo 90 360 Registry 88, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 113, 114, 200, 201 RegistryMFDLeituraMFCompleta 107 Regra de Configurao do Registry 87 Reinicio Contador 167 Reinicio de Operao 167 Relatorio 55, 56, 62, 64, 117, 191, 210, 211, 229, 231, 236, 239, 246, 250 RelatorioMesasAbertas 229 Relatorios 191, 192 Remotamente 18, 19 Remoto 98 Resolvendo Problemas de Comunicao com a PARALELA 299 Restante 228 RestanteCupomDividido 228 Restaurante 214, 218, 223 RestauranteResumido 217 Resumido 47 Retorna 100, 134, 163, 164, 165, 166, 174, 175, 176, 177, 361, 363 Retorna Erro Extendido 161 Retorna Informaes da MFD 361, 363 Retorno 94, 149, 160 Retorno da 94 retornos 115 Retornos da MFD 177
-TTA1000 330, 331, 333, 335, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 349 Tab 316 tabela 115, 205 Tabulacao 328 Tabulacoes 316 Tags Daruma 300, 307 Tamanho 112 Tarantella 109, 110 teclado 280 TEF 105 TEF - Esperando Arquivo 278 TEF - Fechando o Relatorio 275 TEF - Funes que Facilitam o TEF 273 TEF - Imprimindo 276, 277 TEF - Setando o Foco na Janela 275 TEF - Travando o Teclado 280 Tempo 201 Tempo Imprimindo 170, 172
Daruma Automao
-SSaldo a Pargar 148 Saldo Devedor 148 Sangria 65, 239 Sangria - Ler Total de 130, 260 Sangria - Ler Total de 130, 260 Sangria - No Incidente 130, 260 Satatus 117, 250 Segunda 212 Sem 79 Sensor 83 Separador 96, 113 Serial 70, 134, 244 Serie 105, 132, 133, 262 Server 98
Index
384
Tempo Ligada 172 Tempo Ligado 170 Termina 186, 199, 221, 222 Terminal 98 Texto 287 Tipo 122, 152 Tipo 10 354 Tipo 11 355 Tipo 60D 358 Tipo 60I 358 Tipo 60M 356, 357 Tipo 60R 359 Tipo 90 360 Total 144, 147, 268 Total Acumulado nos Pagamentos 171 Totaliza 126 Totalizador 73, 151, 245 Totalizador Nao Sujeito ao ICMS - Ler Total de 130, 260 Totalizadores 126, 142, 257, 267 Trabalhando 32 NT e Sistemas Protegidos 298 Trabalhando com Comandos em Lote 32 usando o Mapeamento de Unidade 32 Trabalhando com o Observer linux em rede 33 Trace 112 Transferir 226, 227 TransferirMesa 227 TransferirVenda 226 Tratando_os_Erros 281 travar 280 Tres 42 Troco 148, 171 Troco - total acumulado 171 Truncamento 76, 111, 128, 259
-VValor 149, 150, 151, 174 Valor 16 Totalizadores No Fiscais 126, 257 Valor Acumulado em Totalizadoes No Fiscais 126, 257 Valor Acumulado Nao Fiscal Nao Vinculado 172 Valor Acumulado Nao Fiscal Vinculado 172 Valor de Cada Alquota 174 Valor de Cancelamento nao fiscal 168 Valor dos Erros do ECF 161 Valor Isento 174 Valor No Incedente 174 Valor Substiruio Tributaria 174 Valor Total de Descontos Nao Fiscais 169 Valores 88, 100 Valores do Registry para o ECF 88 Varias impressoras 110 Velocidade 102, 194 Venda 143, 226 VendaMesa 216 Vendas 81 Vende 38, 40, 97, 272 VendeItem 214 Vendido 206 Verao 77, 83, 248 Vero 37 Vero do Produto 176 Verifica 66, 68, 69, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 133, 140, 192, 211, 240, 242, 252, 254, 255, 256, 257, 258, 259, 260, 265 Verifica Modelo do ECF 119, 252 VerificaHorario 119 Verificar 296 Verificar Autenticacao 292, 293, 294 Verificar Documento 292, 293, 294 Verificar Satus na DUAL 291 VerificHorario 253 Versao 134, 176 VersoDLL 176 Verso 203 Via 212 Vinculado 117, 165, 188, 251 Vinculado Valor Acumulado 172 Vinculados 79 Vincular 79
-UUltima 146, 150, 269 Ultimo 152, 209 Ultimos 210 Unidade 40, 52 Unidade 32 Usa 52, 54, 230 Usuarios 341, 342, 343, 349
Daruma Automao
385
Daruma Framework
-WW.T.S 18 WTS 18
-ZZ 139, 264 ZAutomatica 81 Zera 243 Zerando o Registry 101 Zerar 340, 341, 346 ZPendente 121, 254
Daruma Automao
386
Daruma Automao
Back Cover