You are on page 1of 400

Standard print manual template

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

Part I Daruma Framework

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

9 Mtodos Exclusivos para Impressora Fiscal ................................................................................................................................... 37


Mtodo para ajustar automtico para Horrio de Vero .......................................................................................................................................................... 37 Daruma_FI_ConfiguraHorarioVerao(ndice 314) ......................................................................................................................................................... 37 Mtodos de Cupom Fiscal .......................................................................................................................................................... 38 Daruma_FI_AbreCupom(ndice 1000) ......................................................................................................................................................... 38 Daruma_FI_VendeItem(ndice 1001) ......................................................................................................................................................... 38 Daruma_FI_VendeItemDepartamento(ndice 1004) ......................................................................................................................................................... 40 Daruma_FI_VendeItemTresDecimais(ndice 1019) ......................................................................................................................................................... 42 Daruma_FI_CancelaCupom(ndice 1014) ......................................................................................................................................................... 43 Daruma_FI_CancelaItemAnterior(ndice 1005) ......................................................................................................................................................... 44 Daruma_FI_CancelaItemGenerico(ndice 1006) ......................................................................................................................................................... 44 Daruma_FI_IniciaFechamentoCupom(ndice 1007) ......................................................................................................................................................... 45 Daruma_FI_EfetuaFormaPagamento(ndice 1008) ......................................................................................................................................................... 46 Daruma_FI_EfetuaFormaPagamentoDescricaoForma(ndice 1009) ......................................................................................................................................................... 46 Daruma_FI_FechaCupomResumido(ndice 1012) ......................................................................................................................................................... 47 Daruma_FI_FechaCupom(ndice 1011) ......................................................................................................................................................... 48 Daruma_FI_TerminaFechamentoCupom(ndice 1010) ......................................................................................................................................................... 49 Daruma_FI_EstornoFormasPagamento(ndice 1017) ......................................................................................................................................................... 50 Daruma Automao

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

10 Mtodos Exclusivos para a Impressora MFD ................................................................................................................................... 176


Daruma_FIMFD_DownloadDaMFD (ndice 6004) .......................................................................................................................................................... 176 Daruma_FIMFD_RetornaInformacao (ndice 6000) .......................................................................................................................................................... 177 Daruma_FIMFD_ImprimeCodigoBarras (ndice 6001) .......................................................................................................................................................... 185 Daruma_FIMFD_TerminaFechamentoCupomCodigoBarras (ndice 6005) .......................................................................................................................................................... 186 Daruma_FIMFD_IndicePrimeiroVinculado (ndice 6003) .......................................................................................................................................................... 188 Daruma_FIMFD_CasasDecimaisProgramada (ndice 6002) .......................................................................................................................................................... 189 Daruma_FIMFD_StatusCupomFiscal (ndice 6008) .......................................................................................................................................................... 190 Daruma_FIMFD_SinalSonoro (ndice 53) .......................................................................................................................................................... 190 Daruma_FIMFD_ProgramaRelatoriosGerenciais (ndice 6013) .......................................................................................................................................................... 191 Daruma_FIMFD_AbreRelatorioGerencial (ndice 6014) .......................................................................................................................................................... 191 Daruma_FIMFD_VerificaRelatoriosGerenciais (ndice 6015) .......................................................................................................................................................... 192 Daruma Automao

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

11 Mtodos Exclusivos para a Impressora FS2000 ................................................................................................................................... 200


Daruma_Registry_FS2000_CupomAdicional(ndice 35) .......................................................................................................................................................... 200 Daruma_Registry_FS2000_TempoEsperaCheque(ndice 45) .......................................................................................................................................................... 201 Daruma_FI2000_StatusCheque(ndice 5015) .......................................................................................................................................................... 201 Daruma_FI2000_ImprimirCheque(ndice 5016) .......................................................................................................................................................... 202 Daruma_FI2000_ImprimirVersoCheque(ndice 5017) .......................................................................................................................................................... 203 Daruma_FI2000_LiberarCheque(ndice 5008) .......................................................................................................................................................... 203 Daruma_FI2000_LeituraCodigoMICR(ndice 5007) .......................................................................................................................................................... 204 Daruma_FI2000_CancelarCheque(ndice 5026) .......................................................................................................................................................... 204 Daruma_FI2000_LeituraTabelaCheque(ndice 5011) .......................................................................................................................................................... 205 Daruma_FI2000_CarregarCheque(ndice 5009) .......................................................................................................................................................... 205 Daruma_FI2000_CorrigirGeometriaCheque(ndice 5010) .......................................................................................................................................................... 206 Daruma_FI2000_DescontoSobreItemVendido(ndice 5018) .......................................................................................................................................................... 206 Daruma_FI2000_AcrescimosICMSISS(ndice 5021) .......................................................................................................................................................... 207 Daruma_FI2000_CancelamentosICMSISS(ndice 5022) .......................................................................................................................................................... 208 Daruma_FI2000_DescontosICMSISS(ndice 5023) .......................................................................................................................................................... 208 Daruma_FI2000_LeituraIformacaoUltimoDOC(ndice 5024) .......................................................................................................................................................... 209 Daruma_FI2000_LeituraIformacaoUltimosCNF(ndice 5025) .......................................................................................................................................................... 210 Daruma_FI2000_AbreRelatorioGerencial(ndice 5012) .......................................................................................................................................................... 210 Daruma_FI2000_CriaRelatorioGerencial(ndice 5013) .......................................................................................................................................................... 211 Daruma_FI2000_VerificaRelatorioGerencial(ndice 5014) .......................................................................................................................................................... 211 Daruma_FI2000_SegundaViaCNFV(ndice 5019) .......................................................................................................................................................... 212 Daruma_FI2000_CancelamentoCNFV(ndice 5020) .......................................................................................................................................................... 212

12 Mtodos Exclusivos para a Impressora Fiscal Restaurante ................................................................................................................................... 213


Mtodos de .......................................................................................................................................................... 213 Cupom Fiscal Daruma_FIR_AbreCupomRestaurante(ndice 3000) ......................................................................................................................................................... 213 Daruma_FIR_AbreCupomBalcao(ndice 3053) ......................................................................................................................................................... 213 Daruma_FIR_VendeItem(ndice 3070) ......................................................................................................................................................... 214 Daruma_FIR_VendeItemBalcao(ndice 3054) ......................................................................................................................................................... 214 Daruma_FIR_ConferenciaMesa(ndice 3046) ......................................................................................................................................................... 215 Daruma_FIR_RegistrarVenda(ndice 3048) ......................................................................................................................................................... 216 Daruma_FIR_RegistroVendaSerial(ndice 3049) ......................................................................................................................................................... 216 Daruma_FIR_FechaCupomRestauranteResumido(ndice 3012) ......................................................................................................................................................... 217 Daruma_FIR_IniciaFechamentoCupom(ndice 3007) ......................................................................................................................................................... 218 Daruma_FIR_IniciaFechamentoCupomComServico(ndice 3042) ......................................................................................................................................................... 218 Daruma_FIR_EfetuaFormaPagamento(ndice 3008) ......................................................................................................................................................... 219 Daruma_FIR_EfetuaFormaPagamentoDescricaoForma(ndice 3009) ......................................................................................................................................................... 220 Daruma_FIR_IdentificaConsumidor(ndice 3013) ......................................................................................................................................................... 221 Daruma_FIR_TerminaFechamentoCupom(ndice 3010) ......................................................................................................................................................... 221 Daruma_FIR_TerminaFechamentoCupomID(ndice ????) ......................................................................................................................................................... 222 Daruma_FIR_FechaCupomRestaurante(ndice 3011) ......................................................................................................................................................... 223 Daruma_FIR_CancelaItem(ndice 3071) ......................................................................................................................................................... 224 Daruma_FIR_CancelaItemBalcao(ndice 3055) ......................................................................................................................................................... 225 Daruma_FIR_CancelaCupom(ndice 3014) ......................................................................................................................................................... 225

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

13 Mtodos Exclusivos para a Impressora MFD Bilhete de Passagem ................................................................................................................................... 270


Mtodo Daruma_FIB_AbreBilhetePassagem(ndice 2000) .......................................................................................................................................................... 270 Mtodo Daruma_FIB_VendeItem(ndice 2001) .......................................................................................................................................................... 272

14 Mtodos Exclusivos para TEF ................................................................................................................................... 273


Implementando TEF com a Daruma32.dll .......................................................................................................................................................... 273 Daruma_TEF_SetFocus(ndice 1902) .......................................................................................................................................................... 275 Daruma_TEF_FechaRelatorio(ndice 1904) .......................................................................................................................................................... 275 Daruma_TEF_ImprimirResposta(ndice 1901) .......................................................................................................................................................... 276 Daruma_TEF_ImprimirRespostaCartao(ndice 1905) .......................................................................................................................................................... 277 Daruma_TEF_EsperarArquivo(ndice 1900) .......................................................................................................................................................... 278 Daruma_TEF_TravarTeclado(ndice 1903) .......................................................................................................................................................... 280 Daruma_TEF_Tratando os Erros .......................................................................................................................................................... 281

15 Mtodos Exclusivos para Impressora DUAL ................................................................................................................................... 287


Daruma_DUAL_ImprimirTexto (ndice 4001) .......................................................................................................................................................... 287 Daruma_DUAL_ImprimirArquivo (ndice 4008) .......................................................................................................................................................... 289 Daruma_DUAL_VerificaSatus (ndice 4002) .......................................................................................................................................................... 291 Daruma_DUAL_VerificaDocumento (ndice 4003) .......................................................................................................................................................... 292 Daruma_DUAL_Autenticar (ndice 4004) .......................................................................................................................................................... 293 Daruma_DUAL_AcionaGaveta (ndice 4005) .......................................................................................................................................................... 294 Daruma_DUAL_StatusGaveta (ndice 4009) .......................................................................................................................................................... 294 Daruma_DUAL_EnviarBMP (ndice 4013) .......................................................................................................................................................... 295 Daruma_DUAL_VerificarGuilhotina (ndice 4014) .......................................................................................................................................................... 296 Daruma_DUAL_ProgramarGuilhotina (ndice 4015) .......................................................................................................................................................... 296 Daruma_DUAL_Imprimimindo Codigos de Barras .......................................................................................................................................................... 297 Daruma Automao

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

16 Mtodos Exclusivos para o TA1000 ................................................................................................................................... 330


Mtodos para Produtos .......................................................................................................................................................... 330 Daruma_TA1000_CadastrarProdutos(ndice 5420) ......................................................................................................................................................... 330 Daruma_TA1000_LerProdutos(ndice 5460) ......................................................................................................................................................... 331 Daruma_TA1000_ConsultarProdutos(ndice 5440) ......................................................................................................................................................... 333 Daruma_TA1000_AlterarProdutos(ndice 5410) ......................................................................................................................................................... 335 Daruma_TA1000_EliminarProdutos(ndice 5430) ......................................................................................................................................................... 337 Daruma_TA1000_EnviarBancoProdutos(ndice 5350) ......................................................................................................................................................... 337 Daruma_TA1000_ReceberBancoProdutos(ndice 5360) ......................................................................................................................................................... 338 Daruma_TA1000_ReceberProdutosVendidos(ndice 5363) ......................................................................................................................................................... 339 Daruma_TA1000_ZerarProdutos(ndice 5450) ......................................................................................................................................................... 340 Daruma_TA1000_ZerarProdutosVendidos(ndice 5456) ......................................................................................................................................................... 341 Mtodos para Usurios .......................................................................................................................................................... 341 Daruma_TA1000_CadastrarUsuarios(ndice 5422) ......................................................................................................................................................... 341 Daruma_TA1000_ConsultarUsuarios(ndice 5443) ......................................................................................................................................................... 342 Daruma_TA1000_AlterarUsuarios(ndice 5412) ......................................................................................................................................................... 343 Daruma_TA1000_EliminarUsuarios(ndice 5432) ......................................................................................................................................................... 344 Daruma_TA1000_EnviarBancoUsuarios(ndice 5351) ......................................................................................................................................................... 345 Daruma_TA1000_ReceberBancoUsuarios(ndice 5361) ......................................................................................................................................................... 345 Daruma_TA1000_ZerarUsuarios(ndice 5452) ......................................................................................................................................................... 346 Teste Completo Gerando Banco de Produtos e Usuarios .......................................................................................................................................................... 347 Daruma ......................................................................................................................................................... 347 TA1000 Gerar Banco com Produtos Daruma ......................................................................................................................................................... 349 TA1000 Gerar Banco com Usuarios

17 Mtodos Exclusivos para Gerar o Sintegra (MFD) ................................................................................................................................... 351


Informaes.......................................................................................................................................................... 351 sobre Sintegra Mtodos de .......................................................................................................................................................... 352 Alto Nvel para Gerar o Sintegra Daruma_Sintegra_GerarRegistrosArq (ndice 6022) ......................................................................................................................................................... 352 Mtodos de .......................................................................................................................................................... 354 Mdio Nvel para Gerar o Sintegra Daruma_Sintegra_GerarRegistro10 (ndice 6023) ......................................................................................................................................................... 354

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

Top Level Intro


This page is printed before a new top-level chapter starts

Part

Daruma Framework

1
1.1

Daruma Framework
Algumas informaes sobre este manual

Manual Eletrnico Verso 2.39

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.

Nossos canais de Suporte Tcnico Especializado a Desenvolvedores Daruma so:


Ligao gratuta via internet Skype: suporte_daruma Skype: suporte_desenvolvedores_daruma Skype: desenvolvedores_suporte_daruma Skype: daruma_suporte_alexandre Skype: claudenir_andrade

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

Lista dos Mtodos disponveis na DLL e seus ndices


ndice Descrio do Mtodo: 1 - Daruma_Registry_Porta 2 - Daruma_Registry_Path 3 - Daruma_Registry_Status 4 - Daruma_Registry_StatusFuncao 5 - Daruma_Registry_Retorno 6 - Daruma_Registry_ControlePorta 7 - Daruma_Registry_ModoGaveta 8 - Daruma_Registry_ConfigRede 9 - Daruma_Registry_Log 10 - Daruma_Registry_NomeLog 11 - Daruma_Registry_Separador 12 - Daruma_Registry_SeparaMsgPromo 13 - Daruma_Registry_VendeItemUmaLinha 14 - Daruma_Registry_XAutomatica 15 - Daruma_Registry_ZAutomatica 17 - Daruma_Registry_AlteraRegistry 18 - Daruma_Registry_ImprimeRegistry 19 - Daruma_Registry_RetornaValor 20 - Daruma_Registry_Default 21 - Daruma_Registry_TerminalServer 22 - Daruma_Registry_ErroExtendidoOk 23 - Daruma_Registry_AbrirDiaFiscal 24 - Daruma_Registry_IgnorarPoucoPapel

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

Utlizando o FlagShip com Impressoras Daruma


Vantagens em utilizar o Observer2linux, na linguagem FlagShip. Voc que j possui um aplicativo pronto, escrito em clipper e que comunica com as nossas impressoras atrevs do Observer2 para windows, poder utilizar o mesmo fonte para o FlagShip, sem ter que alterar uma nica linha de codigo sequer, no mdulo fiscal.

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

Fazendo um Cupom Fiscal com o FlagShip com Impressoras Daruma


J com o exemplo em FlagShip Startado, hora de voc que est comeando agora a desenvolver para ECF (emissor de cupom fiscal), saber algumas coisas importantes. 1. Qual o primeiro documento emitido, quando da abertura do movimento fiscal? uma LeituraX. um relatrio que contm todas as informaes decorrentes do movimento realizado no PDV(ponto-de-venda), onde esta o ECF. Sendo assim para abrir o movimento, bastando para isso enviar o comando de LeituraX. Ento como enviar o comando? Existem duas maneiras, que se aplicam a todos os comandos existentes nesse help. 1) Crie um arquivo com comando, passando nome do Mtodo>Daruma_FI_LeituraX; 2) Outra forma, ao invz de invocar o mtodo pelo seu nome, passado apenas o seu ndice, seguido do(s) parmetro(s): 1101; Onde 1101 o ndice do mtodo LeituraX; Ponto-e-vgula o separador padro usado para separar o ndice dos parmetros; 2. Estando com o dia aberto, hora de partirmos para o primeiro cupom fiscal; Abaixo listarei os comandos usados para a emisso de nosso primeiro cupom fiscal:

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

Configurando a Daruma32.DLL para trabalhar com W.T.S.


A Daruma32.dll permite tambm comunicao remota, utilizando-se do Windows Terminal Service, para que isso seja possvel descrevemos abaixo algumas configuraes a serem feitas para um perfeito funcionamento. Trabalhando Remotamente Localmente ou atravs de uma VPN. 1)Preparando o nosso servidor. 1.1 Baixar a Daruma32.dll verso server, que est disponvel em nossa pgina para download no link:http://www.daruma.com.br/suporte/download/DarumaDllServer.zip. 1.2 Entrar no aplicativo de que dever estar no servidor. Isso deve ser feito para que seja criada a pasta Daruma (contendo todas as chaves para configurao), no registry conforme imagem abaixo:

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

Configurando a Daruma32.SO para trabalhar com LTSP


Primeiramente queremos deixar claro, que a nossa inteno no a dar suporte na preparao(instalao/configurao) do LTSP e sim entender um pouco melhor com que o nosso driver ir trabalhar nesta topologia.
DEFINIO

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 o IP configuradado, hora de informar a mcara de rede.

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.

Observao!: concluda a instalao, re-inicie o servio NFS


Pronto! Agora voc j pode fazer um teste simples, porm eficiente para saber se "tudo" est do jeito que precisa estar para a utilizao do nosso driver; Na mquina cliente, abra um shell e execute o seguinte comando: set | grep DISPLAY, ele ir retornar o nome do mquina cliente conectada no servidor por exemplo.: ws199.ltsp e a impresso est ocorrendo localmente. Entre em um shell (prompt), v para o diretrio configurado para a Daruma. [root@daruma fc5]# cd /var/opt/ltsp/Daruma_Regs/ws199.ltsp Verifique se o arquivo Daruma.conf foi criado com sucesso. Se foi, entre no diretrio observer. [/var/opt/ltsp/Daruma_Regs/ws199.ltsp]# cd observer No diretrio observer envie uma LeituraX para testar a impressora: [/var/opt/ltsp/Daruma_Regs/ws199.ltsp/observer]# echo "1101;" > Daruma.cmd Para saber mais sobre o Observer2 acesse o seguinte link:O Qu o Driver Daruma Observer? Deve ser executado uma LeituraX na impressora. Para ler o retorno, verifique o arquivo Daruma.ret [/var/opt/ltsp/Daruma_Regs/ws199.ltsp/observer]# cat Daruma.ret Caso o comando tenha sido executado coretamente, o retorno ser o seguinte: 001;006;000;000 Com isso a instalao do nosso driver estar concluda, retando apenas que o seu aplicativo efetua a escrita de arquivo de comandos, no diretrio correto, como no caso acima. Observao3: Note que o nome da mquina varia em cada cliente. Sendo assim funcamental que o seu aplicativo, pegue a varivel DISPLAY, cada vez que o seu aplicativo seja executado partir das mquinas clientes. Exemplifimando melhor: Cliente1: diretrio de escrita dever ser: /var/opt/ltsp/Daruma_Regs/ws001.ltsp/observer Cliente2: diretrio de escrita dever ser: /var/opt/ltsp/Daruma_Regs/ws002.ltsp/observer Daruma Automao

23

Daruma Framework

. . . Cliente254: diretrio de escrita dever ser: /var/opt/ltsp/Daruma_Regs/ws254.ltsp/observer

Note que apenas o nome da mquina foi o que modou, mais nada.

1.8
1.8.1

Driver Daruma Observer para Aplicativos DOS/Win 16 Bits


O Qu o Driver Daruma Observer?
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 e ainda Linux que no conseguem instnciar uma biblioteca no Linux (Daruma32.SO). 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 comandos para ele. Porque usar o Observer2 em meu programa DOS? 1) Porque com isso o Protocolo que voc esta usando no seu programa DOS poder continuar sendo o mesmo quando voc migrar seu programa para Windows. Aproveitando todas as rotinas de envio de comando, cultura e aprendizado de seus programadores com este protocolo utilizado pelo Observer2. 2) Porque todas as EVOLUES e MELHORIAS e FACILIDADES da Daruma32.dll estaro disponveis para seu Aplicativo DOS, porque o Observer2 utiliza-se da Dll de Comunicao com todas as faciliadades que nela se encontra. 3) Porque agora para enviar os mtodos para o ECF atravs de seu aplivativo DOS voc utiliza-se dos Mtodos de Alto-Nvel que a Daruma32.dll contm, basta passar o NDICE ou o nome do mesmo o ndice voc Obtem ao Lado do nome da cada Mtodo, neste Help, ou seja, com isso voc consegue usar mtodos como por exemplo Daruma_FI_FechaCupomResumido antes no disponvies no DOS, porm agora disponivels no Observer2. 4) Porque agora voc no necessita se preocupar com a passagem correta dos Parmetros, como por exemplo na Descrio da venda de um item, voc nao necessita se preocupar com preenchimento do restante da Descrio pois a Daruma32.dll atravs do Observer2 faz isso para voc!! Esta Facilidade antes estava disponvel apenas no Windows, mas agora est disponvel tambm para Aplicativos DOS/Win 16 bits. 5) Agora voc tambm consegue enviar no somente um mtodo por vez, mas sim um lote, todos os mtodos que necessitar. Assim sendo voc poder enviar "todos" os itens em um nico arquivo. Obs.: Para cada comando dentro do lote de comandos, havar um retorno prprio, pore exemplo se no arquivo de lote de comandos tivermos dois itens ento teremos dois retornos. 6) Porque em ambiente Linux mesmo voc no conseguindo instnciar um shared object ainda assim voc poder trabalhar com troca de arquivo. Ao Instalar o Daruma Observer2 ele ficar residente com o Logo da DARUMA no Relgio do Windows, rea denominada como rea de Notificao do Windows. Ao passar o mouse por cima aparecer o Nome do Driver e sua verso.

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

Graficamente como Funciona o Observer

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

Instalando o Driver Observer


Para proceder a instalao do Driver Observer2, voc deve baixar o Arquivo Observer2.ZIP em nossa Pgina no link: http://www.daruma.com.br/suporte/download/observer.zip 1) Descompacte o arquivo OBSERVER.ZIP 2) Ao descompactar voc ir encontrar os seguintes Arquivos:

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

Instalando o Driver Linux Observer 2.0


LINUX Observer 2

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

Preparando seu Aplicativo para o Observer


1) Primeiro Passo ter o Driver Observer2 presente no computador, conforme figura Abaixo, ele estar presente com o Logo da DARUMA na rea de Relgio.

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

Trabalhando com Comandos em Lote, usando o Mapeamento de Unidade


Utilizar os Arquivos em Lote uma prtica interessante, em casos onde h regime especial ou seja, no obrigatria venda em concomitncia. Pensando nisso, foram criados alguns mtodos para que voc desenvolvedor poa continuar a mandar os comandos normalmente e a dll quem gerencia em um nvel mais baixo, gerando um lote com os comandos. Para utilizar essa soluo, siga os passos abaixo: 1. 2. 3. 4. 5. 6. Instale o Observer na mquina cliente; Crie uma pasta e deixe-a 100% compartilhada, sta pasta ser usada para a troca de arquivos; Configure o Observer2 para olhar para esta pasta saiba mais sobre o Observer2 clicando aqui; Instalando o Driver Observer2 Copie a Daruma32.dll Verso Server, na mquina, onde estar instalado o aplicativo de automao; Mapeie a pasta, anteriormente criada; Supondo que voc tenha escolhido a letra B:\ para o mapeamento, ento execute o mtodo

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

Trabalhando com o Observer linux em rede


Para trabalhar com o Observer linux em rede, iremos utilizar o sistema de compartilhamento de diretrios e arquivos NFS Network File System. O NFS permite se acessar uma mquina remota, montando-a em sua prpria como um dispositivo qualquer, permitindo assim um acesso simples, como a um diretrio local. Esta forma de se utilizar o driver Observer linux visa possibilitar que apenas um aplicativo rodando no servidor, atenda uma srie de pontos de venda, facilitando assim a manuteno do aplicativo comercial. Pr-Requisitos: 1. Observer linux devidamente instalado nos PDV's, sem este driver torna-se impossvel: veja mais sobre o Observer:Instalando o Driver Linux Observer 2.0; A lib utilizada pelo Observer linux a Daruma32.SO:Configurando a Daruma32.SO devidamente instalada, que sem ela tambem torna-se impossivel; E os procedimentos de criao, permisso e montagem dos compartilhamentos vistos a seguir:Observer com Network File System (NFS); Cada PDV(ponto de venda)dever uma impressora fiscal. O Servio NFS (como servidor) dever estar habilitado, em todos os PDV's.

2.

3.

4. 5.

1.8.7.1

Observer com Network File System (NFS) Montando o Servio de NFS


Configurando o Servidor: 1)Criar o(s) seguinte(s) diretrio(s) (aqui apenas um nome sugestivo de exemplo); 1.1)mkdir /mnt/PDV1 ou um diretrio para cada PDV que far parte da rede; 2)Dar permisso todal para o(s) mesmo(s); 2.1)chmod 777 /mnt/PDV1; 3)Confira se a comunicao est ok, dando um ping, no IP Host de seu(s) PDV(s); 4)Monte o compartilahmento do(s) ponto(s) de venda seguindo os comandos abaixo: 4.1)mount -t nfs IPPDV1:/mnt/Compartilhado_PDV1/ /mnt/PDV1 Observao:IPPDV1 o IP Host do PDV1, caso hajam mais PDV'S, basta criar mais diretrios e seguir a risca os mesmos passos para cada um deles.

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

Mtodos para o Observer de Configurao do Registry


Configurao do Observer

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

Log_Path Path_Entrada Path_Log_Aquivo Path_Saida Produto Protocolo Separador

= = = = = = =

C:\Observer.log C:\DARUMA.CMD C:\OBSERVER.LOG C:\DARUMA.RET FS345 0 ;

1.8.8.2

Daruma_Observer_Registry_Execucao (ndice 53)


Definio do Mtodo: Configura o Local em que o Observer2 ficar em execuo. Parmetros: String: com o Valor do Local desejado ("1" ou "2" ou "3") 1 - Relogio (rea de Notificao do Windows) 2 - Minizado na Barra de Tarefas 3 - Maximizado na Tela (Centralizado na Tela) 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

1.8.8.3

Daruma_Observer_Registry_Log (ndice 58)


Definio do Mtodo: Configura se o Observer2 ir Fazer Log dos comandos enviados e Recebidos ou no. Parmetros: String: com o Valor desejado ("0" ou "1"). 0 - Nao Faz Log. 1 - Faz Log. 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

1.8.8.4

Daruma_Observer_Registry_Log_Path (ndice 59)


Definio do Mtodo: Configura o Path + nome do Log desejado, esta chave s tem Efeito caso a Chave LOG estiver Ligada. Parmetros: String: com o Valor desejado ( Exemplo "C:\OBSERVER.LOG"). Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry

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

Daruma_Observer_Registry_Entrada (ndice 50)


Definio do Mtodo: Configura o Path + Nome do Arquivo de Comando que o Observer2 dever esperar. Parmetros: String: com o Valor desejado ("C:\DARUMA.CMD") 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 = C:\DARUMA.CMD

1.8.8.6

Daruma_Observer_Registry_Saida (ndice 52)


Definio do Mtodo: Configura o Path + Nome do Arquivo de RESPOSTA que o Observer2 ir Criar. Parmetros: String: com o Valor desejado ("C:\DARUMA.RET") 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 =C:\DARUMA.RET

Daruma Automao

37

Daruma Framework

1.8.8.7

Daruma_Observer_Registry_Produto (ndice 61)


Definio do Mtodo: Configura o Produto que ser Usado com o Observer2. Parmetros: String: com o Valor desejado ("FS345") Lista de Produtos "FS345" - ECF Varejo. "FS318" - ECF Restaurante. "FS2000" - ECF Varejo Duas Estaes. "TA1000" - MicroTerminal Daruma. "DS300" - MiniImpressora - No Fiscal. 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 = FS345

1.9
1.9.1
1.9.1.1

Mtodos Exclusivos para Impressora Fiscal


Mtodo para ajustar automtico para Horrio de Vero
Daruma_FI_ConfiguraHorarioVerao(ndice 314)
Definio do Mtodo: Automatiza o processo de programao de entrada e sada no Horrio de Vero. Parmetros do Mtodo: (03 Parretros). 1. Data Entrada: String com 6(seis) bytes com a data de incio do horrio de vero no seguinte formato:ddmmnn. 2. Data Sada:String com 6(seis) bytes com a data de sada do horrio de vero no seguinte formato:ddmmnn. 3. Flag de Controle: String com 1(um) byte com 1(um) para habilitar e 0(zero) para desabilitar.

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

Mtodos de Cupom Fiscal


Daruma_FI_AbreCupom(ndice 1000)
Definio do Mtodo: Abre o cupom fiscal na impressora fiscal Daruma. Parmetros do Mtodo: (1 Parmetro, opcional). CPF ou CNPJ: Varivel String de at 29 caracteres com o CPF ou CNPJ. 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: Dim Str_CPF_ou_CNPJ As String Dim Int_Retorno as Integer Str_CPF_ou_CNPJ = "45.543.915.730-08" Int_Retorno = Daruma_FI_AbreCupom(Str_CPF_ou_CNPJ) Exemplo em Delphi 7.0: var Str_CPF_ou_CNPJ: String; Str_CPF_ou_CNPJ := '45.543.915.730-08'; Int_Retorno := Daruma_FI_AbreCupom( pchar( Str_CPF_ou_CNPJ ) );

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 ) );

1.9.2.10 Daruma_FI_EfetuaFormaPagamentoDescricaoForma(ndice 1009)


Definio do Mtodo: Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s). Permite a impresso de comentrios na(s) forma(s) de 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 ) );

1.9.2.11 Daruma_FI_FechaCupomResumido(ndice 1012)


Definio do Mtodo: Permite fechar o cupom de forma resumida, ou seja, sem acrscimo ou desconto no cupom e com apenas uma forma de pagamento. Esse Mtodo l o subtotal do cupom para fech-lo. Parmetros do Mtodo: (2 Parmetros) 1. Forma Pagamento: String com a forma de pagamento com no mximo 16 caracteres. 2. 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_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

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 ) );

1.9.2.12 Daruma_FI_FechaCupom(ndice 1011)


Definio do Mtodo: Fecha o cupom fiscal com a impresso da mensagem promocional. IMPORTANTE! Com este Mtodo voc no poder informar com mais de um meio de pagamento. Parmetros do Mtodo: (6 Parmetros) 1. Forma Pagamento: String com o nome da forma de pagamento com no mximo 16 caracteres. 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 Pago: String com o valor pago com no mximo 14 dgitos. 6. 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_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. - 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 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 ) );

1.9.2.13 Daruma_FI_TerminaFechamentoCupom(ndice 1010)


Definio do Mtodo: Termina o fechamento do cupom com mensagem promocional. Parmetros do Mtodo: (1 Parmetro) Mensagem Promocional: String com a mensagem promocional com at 384 caracteres (8 linhas X 48 colunas).

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 ) );

1.9.2.14 Daruma_FI_EstornoFormasPagamento(ndice 1017)


Definio do Mtodo: Permite Estornar valores de uma forma de pagamento e transferir em outra forma. Parmetros do Mtodo: (3 Parmetros) 1. Forma Pagamento Origem: String com a forma de pagamento de onde o valor ser Estornado, com at 16 caracteres. 2. Forma Pagamento Destino: String com a forma de pagamento onde o valor ser transferido, com at 16 caracteres. 3. Valor Forma Pagamento: String com o valor a ser Estornado com at 14 dgitos. Passando o valor total da forma de pagamento de origem, no podendo ser maior ou menor do que o de origem. 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: - Este Mtodo s pode ser executado aps o fechamento do cupom fiscal. - Este Mtodo no compatvel com a Impressora de Duas Estaes FS2000. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Forma_de_Origem As String Dim Str_Nova_Forma As String Dim Str_Valor_Total_Pago As String Str_Forma_de_Origem = "Dinheiro" Str_Nova_Forma = "Cheque" Str_Valor_Total_Pago = "0,50" Int_Retorno = Daruma_FI_EstornoFormasPagamento _ (Str_Forma_de_Origem, Str_Nova_Forma, Str_Valor_Total_Pago)

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 ) );

1.9.2.15 Daruma_FI_IdentificaConsumidor(ndice 1013)


Definio do Mtodo: Imprime a Identificao do Consumidor, este mtodo deve ser enviado Imediatamente Antes do mtodo de TerminaFechamentoCupom, onde ser impresso a mensagem Promocional. Parmetros do Mtodo: (3 Parmetros) 1. Nome: Nome do Consumidor com at 48 caracteres; 2. Endereo: Endereo do Consumidor com at 48 caracteres; 3. CNPJ ou CPF: At 42 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: - Estes Campos so Formatados automaticamente pelo ECF que imprimir antes da Mensagem Promocional o seguinte: Exemplo: ------------------------------------------------------Nome: Daruma Automo S.A. Endereo: Av. Independencia 3.500 Tatuap N Doc: NNNNNNNN -------------------------------------------------------Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Nome_do_Consumidor As String Dim Str_Endereco As String Dim Str_CPF_ou_CNPJ As String Str_Nome_do_Consumidor = "Daruma Automao S.A." Str_Endereco = "Av. Independencia 3.500 Tatuap" Str_CPF_ou_CNPJ = "NNN.NNN.NNN-NN" Int_Retorno = Daruma_FI_IdentificaConsumidor(Str_Nome_do_Consumidor, _ Str_Endereco, Str_CPF_ou_CNPJ) Exemplo em Delphi 7.0: var Str_Nome_do_Consumidor: String; Str_Endereco: String; Str_CPF_ou_CNPJ: String; begin Str_Consumidor := 'Daruma Automao S.A.'; Str_Endereco := 'Av. Independencia 3.500 Tatuap';

Daruma Automao

Daruma Framework

52

Str_CPF_ou_CNPJ := 'NNN.NNN.NNN-NN'; Int_Retorno:=Daruma_FI_IdentificaConsumidor( pchar( Str_Nome_Consumidor ), pchar( Str_Endereco ), pchar( Str_CPF_ou_CNPJ ) );

1.9.2.16 Daruma_FI_EmitirCupomAdicional(ndice 1018)


Definio do Mtodo: Emite um resumo do Cupom Fiscal Realizado Anteriormente, com Nmero do cupom, Valor e Data. Este resumo pode ser utilizado para Controle interno. 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: - Para utilizao deste Mtodo, voc dever necessriamente chamar o Mtodo Daruma_FI_CfgCupomAdicional antes. - Este Mtodo enibe a pr_impresso automtica do cliche do prximo cupom, implicando diretamente e um gasto Maior - tanto de Bobina Quanto de Tempo na emisso do cupom fincal. - Este Mtodo no compatvel com a Impressora de Duas Estaes FS2000. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_EmitirCupomAdicional() Exemplo em Delphi 7.0: begin Int_Retorno:=Daruma_FI_EmitirCupomAdicional();

1.9.2.17 Daruma_FI_UsaUnidadeMedida(ndice 1016)


Definio do Mtodo: Imprime a unidade de medida aps a quantidade do produto na venda de item. Parmetros do Mtodo: (1 Parmetro) Tipo Unidade Medida: String com a unidade de medida at 2 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: - Este mtodo s pode ser executado, antes da abertura do cupom fiscal. - Este Mtodo deve ser usado antes do envio do Mtodo Daruma_FI_VendeItem. - Este Mtodo tem validade, somente para a impresso de um item, voltando ao default que a impresso de 2 (dois) espaos em branco aps a quantidade do item vendido. - Este Mtodo incompatvel com a FS345 versao 1.11. Exemplos: Exemplo em Visual Basic 6.0:

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 ) );

1.9.2.18 Daruma_FI_AumentaDescricaoItem(ndice 1015)


Definio do Mtodo: Este Mtodo permite aumentar a descrio do item at 200 caracteres. Parmetros do Mtodo: (1 Parmetro) Descrio: String com a descrio do item com at 200 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: - Este mtodo s ir funcionar corretamente nas inpressoras trmicas, se a chave MFDTamMinDescProd no regsitry, estiver setada para 00(zero zero). Para alterar o valor desta chave, utilize o mtodo: Daruma_Registry_AlteraRegistry (ndice 17), passando como parmetro o nome da chave e o novo valor para a mesma. Exemplo Daruma_Registry_AlteraRegistry("MFDTamMinDescProd", "00"). - Acentuao e/ou caracteres especiais, no so aceitos na descrio do item. - Este mtodo s pode ser executado, antes da abertura do cupom fiscal. - Este Mtodo deve ser usada antes do Mtodo Daruma_FI_VendeItem, pois assim, o item ser impresso com a nova descrio. - Ela tem validade somente para a impresso de um item, voltando ao default que de 29 caracteres na Descrio do item. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao_Extendida As String Str_Descricao_Extendida ="Protetor de carter, para Audi A3 - compativel apenas com o modelo Turbo, fabricado a partir de 2004." Int_Retorno = Daruma_FI_AumentaDescricaoItem(Str_Descricao_Extendida) Exemplo em Delphi 7.0: var Str_Descricao: String;='Protetor de carter, para Audi A3 - compativel apenas com o modelo Turbo, fabricado a partir de 2004.'; begin Str_Descricao := ''; Int_Retorno := Daruma_FI_AumentaDescricaoItem( pchar( Str_Descricao_Extendida ) );

Daruma Automao

Daruma Framework

54

1.9.3
1.9.3.1

Mtodos de Recebimentos, No Fiscais e Vinculados


Daruma_FI_AbreComprovanteNaoFiscalVinculado(ndice 1203)
Definio do Mtodo: Abre o comprovante no fiscal vinculado. Parmetros do Mtodo: (3 Parmetros) 1. Forma Pagamento: Forma de pagamento com at 16 caracteres. 2. Valor: Valor pago na forma de pagamento com at 14 dgitos (2 casas decimais). 3. Nmero Cupom: Nmero do cupom a que se refere o comprovante com at 6 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: - A forma de pagamento deve ter sido utilizada no cupom, mesmo sendo a forma de Pagamento "Dinheiro". - S pode ser emitido 1(um) comprovante no fiscal por forma de pagamento. - Os parmetros "Valor" e "Numero do Cupom" tornam-se obrigatrios se for abrir um vinculado partir de um recebimento no fiscal, se o comprovante emitido no for referente a ltima Forma de Pagamento do Cupom Fiscal. Ou seja, se voc teve "Dinheiro" e "Cheque" no ltimo Cupom Fiscal, ento para abrir um vinculado em Dinheiro ter de passar o Valor da primeira forma de pagamento. - A FS600 e FS2100T, no permitem a utilizao da forma de pagamento dinheiro, para a abertura de vinculados - A no ir funcionar a abertur de vinculados partir de acumuladores negativos ex.:Sangria. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Forma_de_Pagamento As String Dim Str_Valor_Pago As String Dim Str_Numero_do_Cupom As String Str_Forma_de_Pagamento ="Dinheiro " Str_Valor_Pago = "" Str_Numero_do_Cupom = "" Int_Retorno = Daruma_FI_AbreComprovanteNaoFiscalVinculado _ (Str_Forma_de_Pagamento, Str_Valor_Pago, Str_Numero_do_Cupom) 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_FI_AbreComprovanteNaoFiscalVinculado( pchar( Str_Forma_de_Pagamento ), pchar( Str_Valor_Pago ), pchar( Str_Numero_do_Cupom ) );

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

1.9.3.10 Daruma_FI_LeituraMemoriaFiscalReducao(ndice 1103)


Definio do Mtodo: Emite a leitura da memria fiscal da impressora por intervalo de redues. Parmetros do Mtodo: (2 Parmetros) 1. Reduo Inicial: String com o Nmero da reduo inicial com at 4 dgitos. 2. Reduo Final: String com o Nmero da reduo final com at 4 dgitos. 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_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 ) );

1.9.3.11 Daruma_FI_LeituraMemoriaFiscalSerialData(ndice 1104)


Definio do Mtodo: Recebe os dados da memria fiscal por intervalo de datas pela serial e grava em arquivo texto. 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).

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 ) );

1.9.3.12 Daruma_FI_LeituraMemoriaFiscalSerialReducao(ndice 1105)


Definio do Mtodo: Recebe os dados da leitura da memria fiscal, por intervalo de redues, pela serial e grava em arquivo texto. Parmetros do Mtodo: (2 Parmetros) 1. Reduo Inicial: String com o Nmero da reducao inicial com at 4 dgitos. 2. Reduo Final: String com o Nmero da reducao final com at 4 dgitos. 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_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 ) );

1.9.3.13 Daruma_FI_LeituraX(ndice 1101)


Definio: Emite a Leitura X na impressora. 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 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: Int_Retorno = Daruma_FI_LeituraX() Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_LeituraX();

1.9.3.14 Daruma_FI_RecebimentoNaoFiscal(ndice 1202)


Definio do Mtodo: Imprime o comprovante no fiscal no vinculado. Parmetros do Mtodo: (3 Parmetros) 1. Descrio do Totalizador: String com a descrio do totalizador. 2. Valor Recebimento: String com o Valor do recebimento com at 14 dgitos (duas casas decimais). 3. Forma Pagamento: String com a Forma de pagamento com at 16 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 nico, ou seja voc no precisar chamar outro mtodo para encerr-lo. - Caso voc necessite informar mais de uma forma de pagamento ento deve-se usar o Mtodo Daruma_FI_AbreRecebimentoNaoFiscal. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Descricao_do_Totalizador As String Dim Str_Valor_do_Recebimento As String Dim Str_Forma_de_Pagamento As String

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 ) );

1.9.3.15 Daruma_FI_ReducaoZ(ndice 1100)


Definio do Mtodo: Emite a ReduoZ na impressora. Parmetros do Mtodo: (2 Parmetros opcionais) 1. Data: String com a Data atual da impressora no formato ddmmaa. Opcional 2. Hora: String com a Hora a ser alterada no formato hhmmss. Opcional 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: - 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. - Se o flag ZAutomatica estiver setado pra 1(um) no registry, ento em havendo uma ReduoZ pendende, a mesma ser impressa automaticamente, mas somente se ZAutomatica estiver setado pra 1(um). - Nas Impressoras fiscais Trmicas, FS600 e Fs2100T, como h a compactao dos dados na MFD, ento o tempo de retorno deste mtodo maior, do que, em impressoras matriciais, assim sendo, aps o envio deste mtodo aguarde at que a funo retorne o processo para o seu software. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Confirma As String Str_Confirma = MsgBox("Tem Certeza que Deseja Efetuar a ReducaoZ?", _ vbQuestion + vbYesNo, "Daruma Framework") If Str_Confirma = vbYes Then Int_Retorno = Daruma_FI_ReducaoZ(" ", " ") 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

Daruma Automao

Daruma Framework

64

Int_Retorno := Daruma_FI_ReducaoZ(' ', ' ') Else exit; end;

1.9.3.16 Daruma_FI_ReducaoZAjustaDataHora(ndice 11006)


Definio do Mtodo: Emite a ReduoZ na impressora. Permite ajustar o relgio interno da impressora em at 5 minutos. Parmetros do Mtodo: (2 Parmetros) 1. Data: String com a Data atual da impressora no formato ddmmaa. 2. Hora: String com a Hora a ser alterada no formato hhmmss. 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: - 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 ) );

1.9.3.17 Daruma_FI_RelatorioGerencial(ndice 1200)


Definio do Mtodo: Abre e Imprime Imprime o Relatrio Gerencial. Parmetros do Mtodo: (1 Parmetro) Texto: String com o Texto a ser impresso no relatrio com at 618 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: - Se o Relatorio Gerencial estiver aberto este Mtodo imprime o texto que voc deseja, e se desejar

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 ) );

1.9.3.18 Daruma_FI_Sangria(ndice 1206)


Definio do mtodo: Faz uma sangria na impressora (retirada de dinheiro). Parmetros do Mtodo: (1 Parmetro) Valor: String com o Valor da sangria com at 14 dgitos (2 casas decimais). 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: - No ser possvel informar mais de uma forma de pagamento no casa de uma Sangria. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Valor_da_Sangria As String Str_Valor_da_Sangria = "0,10" Int_Retorno = Daruma_FI_Sangria(Str_Valor_da_Sangria) Exemplo em Delphi 7.0: var Str_Valor_da_Sangria: String; begin Str_Valor_da_Sangria := '0,10'; Int_Retorno := Daruma_FI_Sangria( pchar( Str_Valor_da_Sangria ) );

Daruma Automao

Daruma Framework

66

1.9.3.19 Daruma_FI_Suprimento(ndice 1207)


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.

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

Mtodos Gaveta Autenticao e Outras


Daruma_FI_VerificaDocAutenticacao(ndice 1301)
Definio do Mtodo: Verifica se existe documento para ser Autenticado, este Mtodo pode ser til antes do envio da autenticao, ou seja, voc apenas envia o mtodo para a Autenticao quando tiver a certeza que o documento esta presente. Uma prtica interessante a ser aplicada a seguinte: 1) Chamar a Funcao Daruma_FI_VerificaDocAutenticao. 2) Retornou igual a 1(um)?. 3) Se sim, chamar o mtodo Daruma_FI_Autentica. 4) Caso contrrio Voltar ao passo 1. 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:

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

Int_Retorno = Daruma_FI_FechaPortaSerial() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_FechaPortaSerial();

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 ) );

1.9.4.10 Daruma_FI_FechamentoDoDia(ndice 604)


Definio do Mtodo: Faz o fechamento do dia. Esse Mtodo grava o COO final e o Grande Total final que sero usados na Mtodo Daruma_FI_RelatorioTipo60Mestre. Parmetros da Mtodo: No h. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo.

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();

1.9.4.11 Daruma_FI_ImprimeConfiguracoesImpressora(ndice 607)


Definio do Mtodo: Imprime configuraes da impressora fiscal em um relatrio gerencial. Ser emitida uma leitura X antes. Veja abaixo em "Observaes" as informaes que sero impressas. Parmetros da 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: 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

Mtodos Pogramao e Configurao

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

Str_Descricao_das_Formas_Pagamento: String; begin Str_Descricao_das_Formas_Pagamento := 'Cartao;Cheque;Redecard;'; Int_Retorno := Daruma_FI_ProgramaFormasPagamento( pchar( Str_Descricao_das_Formas_Pagamento ) );

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:

Exemplo em Visual Basic 6.0: Dim Int_Linhas_Entre_Cupons As Integer

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:

Exemplo em Visual Basic 6.0: Dim Int_Espaco_Entre_linhas As Integer

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();

1.9.5.10 Daruma_FI_EqualizaFormasPgto(ndice ???)


Definio do Mtodo: Equaliza as formas de pagamento. 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. Exemplo de aplicao do Mtodo: - Imagine que voc tenha uma forma de pagamento com a descrio vCartao, porm no tem o par dela nos vinculados. E nssa hora que este Mtodo torna-se indispensvel, pelo fato de que quando executado ele criar o Vinculado que estava faltando, para fazer par com a forma de pagamento que havia sido programada. Sendo assim passaramos a ter nos meios de pagamento vCartao e agora tambm nos vinculados Cartao e s assim poderia-se fazer um Comprovante no Fiscal Vinculado partir da forma de pagamento vCartao. Exemplos:

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

1.9.5.11 Daruma_FI_ProgramaVinculados(ndice 312)


Definio do Mtodo: Programa comprovante no fiscal vinculado. Parmetros do Mtodo: (1 Parmetro) String: Com a descrio do vinculado com 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: - Este mtodo s dever ser usado em casos onde j exitir a forma de pagamento e ela tenha uma letra v minscula antes da descrio. Importante! a dll possui uma inteligncia prpria em relao a esta situao. Ou seja se existir uma forma de pagemento programada e que tenha o vZinho de vnculvel ex.: vTEF e ainda no tenho o vinculado com a mesma descrio nos "CNFV", ento a dll ir criar automaticamente o vinculado. - Este Mtodo s ser executado aps uma ReduoZ e antes de uma LeituraX ou qualquer outro documento. Exemplos:

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 ) );

1.9.5.12 Daruma_FI_ProgramaFormasPgtoSemVincular(ndice 313)


Definio do Mtodo: Programa forma de pagamento sem vincular. Parmetros do Mtodo: (1 Parmetro) String: Com a descrio da forma de pagamento com 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: - Quando executado esta mtodo, o vinculado que seria gerado automaticamente como acontece com a funo Daruma_FI_ProgramaFormasPagemento, deixa de ser programado. Portando se voc necessita de programar uma forma de pagamento avulsa "sem o vinculado", dever usar este mtodo. - Este Mtodo s ser executado aps uma ReduoZ e antes de uma LeituraX ou qualquer outro documento. - Este Mtodo dever ser aplicado sempre que a impressora j tiver o comprante vinculado e no tiver a forma de pagamento com a mesma descrio. Assim sendo voc necessita criar uma forma de pagamento

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 ) );

1.9.5.13 Daruma_FI_CfgFechaAutomaticoCupom(ndice 400)


Definio do Mtodo: Permite que voc configure o ECF para que quando tenha um Cupom Fiscal Aberto, ao Ligar e Desligar a mesma possa fechar o cupom automaticamente sem a interveno do Software Aplicativo, permitindo eliminar situaes de travamento. Este recurso foi descontinuado nas impressoras FS600 e FS2100T. Ambas trmicas.

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

1.9.5.14 Daruma_FI_CfgRedZAutomatico(ndice 401)


Definio do Mtodo: Permite que voc configure o ECF para que Realize a ReduoZ Automaticamente. Parmetros do Mtodo: (1 Parmetro) 0 - O ECf No Realiza a ReduoZ Automaticamente 1 - Realiza a ReduoZ Automaticamente. 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: - Ateno! este Mtodo anula completamente os valores da dll de ZAutomatica, ou seja, se voc chama a Mtodo Daruma_Registry_ZAutomatica e passar os Valores a 1(um) para a dll Fazer Automaticamente, e se voc chamar esta Mtodo para que nao faa a ReduoZ Automatica de nada adiantar, ou seja, para que o ECF nem a DLL realiza a ReduoZ Automaticamente e sim que seja comandada por seu aplicativo voc dever chamar esta Mtodo com o Valor 0(Zero) e a Mtodo Daruma_Registry_ZAutomatica com o Valor tambm 0(zero) com isso nem a dll nem o ECF ir Efetuar a ReduoZ Automaticamente deixando esta Mtodo totalmente a cargo de seu aplicativo. - 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. Exemplos:

Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgRedZAutomatico("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_CfgRedZAutomaticoCupom('1');

1.9.5.15 Daruma_FI_CfgImpEstGavVendas(ndice 411)


Definio do Mtodo: Imprime na LeituraX e na ReduoZ quantas vezes a Gaveta foi Aberta. Parmetros do Mtodo: (1 Parmetro) 0 - No Imprime na LeuturaX e na ReduoZ quantas Vezes a Gaveta foi Aberta. 1 - Imprime na LeituraX e na ReduoZ quantas Vezes a Gaveta foi 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. 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. Exemplos:

Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgImpEstGavVendas("1")

Daruma Automao

Daruma Framework

82

Exemplo em Delphi 7.0: Int_Retorno := Daruma_FI_CfgImpEstGavVendas('1');

1.9.5.16 Daruma_FI_CfgLeituraXAuto(ndice 402)


Definio do Mtodo: Permite que voc configure o ECF seja realizado a Leitura X automaticamente para a Abertura do Dia. Parmetros do Mtodo: (1 Parmetro) 1 - Abre o Dia, ou realiza a LeituraX Automaticamente. 0 - No Abre o Dia, ou No realiza a LeituaX Automaticamente. 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. Exemplos:

Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgLeituraXAuto("1") Exemplo em Delphi 7.0: Int_Retorno = Daruma_FI_CfgImpEstGavVendas('1');

1.9.5.17 Daruma_FI_CfgCalcArredondamento(ndice 403)


Definio do Mtodo: Configura o ECF para Calcular valores com a Regra de Arredondamento, ou seja, caso o valor calculado resulte de 5(incluindo o 5) pra cima ser arredondado a ultima casa para o valor superior. Exemplos R$1,347 ser R$1,35 Parmetros do Mtodo: (1 Parmetro) 0 - No realiza os Clculos por arredondamento e sim por truncamento. 1 - Realiza os Clculos por arredondamento. 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. Exemplos:

Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgCalcArredondamento("1")

Daruma Automao

83

Daruma Framework

Exemplo em Delphi 7.0: Int_Retorno = Daruma_FI_CalcArredondamento('1');

1.9.5.18 Daruma_FI_CfgHorarioVerao(ndice 404)


Definio do Mtodo: Configura o ECF para trabalhar com Horrio de Vero. Parmetros do Mtodo: (1 Parmetro) 1 - Comanda o ECF para entrar em Horario de Vero, ou seja, Automaticamente ser Adiantado 1(uma) hora no Relgio da Impressora 0 - Comanda o ECF para SAIR do horario de Vero, ou seja atrasa o Relgio em 1(uma) hora. Observaes: Este Mtodo s sero executados caso no tenha uma Venda no Dia, ou seja, Entre um a Reduo Z (fechamento de Dia) e uma X (abertura de Dia). Para SAIR do horario de vero, voc deve realizar uma Reduo Z e ESPERAR 1(uma) hora antes de enviar o mtodo, isso se deve pelo fato que uma vez que a Z foi Executada, o Horrio em que a Z foi executada ficou gravado na Memria Fiscal que no Permitir que o Relgio do ECF volte 1(uma) hora atrs da hora que j foi gravada na Memria Fiscal, por isso a necessidade de se esperar 1(uma) hora para SAIR do Horario de Vero. 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. - 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_CfgHorarioVerao("1") Exemplo em Delphi 7.0: Int_Retorno = Daruma_FI_CfgHorarioVerao('1');

1.9.5.19 Daruma_FI_CfgSensorAut(ndice 405)


Definio do Mtodo: Permite que voc configure o ECF para ter o Sensor de Autenticao Habilitado ou no, permitindo que voc utilize a Mtodo Daruma_FI_VerificaDocAutenticacao para verificar se o Documento est presente ou no para ser Autenticado.

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')

1.9.5.20 Daruma_FI_CfgCupomAdicional(ndice 412)


Definio do Mtodo: Permite que voc configure o ECF para a Emisso de um Cupom Adicional a cada Cupom Fiscal Emitido. Parmetros do Mtodo: (1 Parmetro) 0 - Emisso do Cupom Adicional Desablitado. 1 - Emisso do Cupom Adicional Hablitado. 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. - 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 de Duas Estaes FS2000. Exemplos:

Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_CfgCupomAdicional("1") Exemplo em Delphi 7.0: Int_Retorno = Daruma_FI_CfgCupomAdicional('1')

1.9.5.21 Daruma_FI_CfgEspacamentoCupons(ndice 407)


Definio do Mtodo: Configura o Nmero de Linhas entre cupons, isso permite uma economia de Bobina e um controle do avano entre os documentos.

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:

1.9.5.22 Daruma_FI_CfgHoraMinReducaoZ(ndice 408)


Definio do Mtodo: Permite configurar at que horas o ECF ir esperar para Realizar a Reduo Z Automtica (Caso esteja Configurado para Fazer isso, ver Mtodo Daruma_FI_CfgRedZAutomatico) ou para que o ECF passe a Rejeitar novos mtodos e imprime sempre "Reduo Z Pendente" at que a Reduo Z seja Comandada por Software. Parmetros do Mtodo: (1 Parmetro) Valor com 2(dois) Dgitos que contm a Hora da Reduo Z. Exemplos: "02" ou "08". 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_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);

1.9.5.23 Daruma_FI_CfgLimiarNearEnd(ndice 409)


Definio do Mtodo: Permite Configurar quantas linhas voc deseja atrasar o sensor de Pouco Papel, ou seja, voc pode indicar que o sensor de pouco papel s comece a sinalizar pouco papel quando a bobina estiver bem prxima do final, por Exemplos, em bobina de 22MM o valor de 0450 indica que o ECF ir sinalizar pouco papel quanto realmente estiver bem prximo do final da bobina. Isso economiza mais Papel atravs de um Aproveitamento melhor do Sinal de "Pouco Papel" Parmetros do Mtodo: (1 Parmetro) String com 4(quatro) dgitos que indica quantas linhas o sinal de pouco papel deve ser Atrasado, o Valor 0000 indica que o sinal fica desabilitado. 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. - O valor configurado ir funcionar como um adiador do retorno de pouco papel. Por exemplo se voc estiver com o valor de 0450 linhas, isso quer dizer que aproximadamente 0450 linhas aps a bobina ter passado pelo sensor que ela passar a devolver o status de pouco papel. - Este mtodo no compatvel com a impressora FS2000. Exemplos:

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);

1.9.5.24 Daruma_FI_CfgPermMensPromCNF(ndice 410)


Definio do Mtodo: Permite o Uso da Mensagem Promocional no Comprovante No Fiscal No Vinculado. Parmetros do Mtodo: (1 Parmetro) 0 - No exibe a Mensagem Promocional. 1 - Exide a Mensagem Promocional.

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');

1.9.5.25 Regra de Configurao do Registry


Mtodos de Configurao do Registry, Regra Geral: Todas os Mtodos Referentes a Configurao do Registry da Impressora sempre recebem como parmetro uma String, que pode ser (0 zero, indicando desligado) ou (1 um, indicando Ligado) ou em algumas Mtodo haver a necessidade que voc passe uma String como por Exemplo Porta que pode ser "Default" ou a Porta Serial Desejada exemplo COM1. Todos os Mtodos sempre devolvem um inteiro: 1 - OK -4 - No OK, Chave no Encontrada. Se em algum Mtodo de configurao do Registry da dll voc passar a varivel com valor NULO ou VAZIA a dll se encarrega de gravar no Registry o Valor Default correspondente a Chave que voc est trabalhando. Estes So os Valores DEFAULT do Registry: [HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA] [HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF] Porta= DEFAULT Path= C:\ Status= 0 StatusFuncao= 0 Retorno= 0 ControlePorta= 1 ModoGaveta= 0 ConfigRede= 0 Log= 0 NomeLog= C:\Daruma32.log Separador= , SeparaMsgPromo= 1 Vende1Linha = 1 XAutomatica = 0 ZAutomatica = 1 AbrirDiaFiscal =1 ErroExtendidoOk=000 IgnorarPoucoPapel=1

Daruma Automao

Daruma Framework

88

1.9.5.26 Valores do Registry para o ECF


Definies: Estas so as Chaves e os Valores Adotados para a Configurao do Registry para se trabalhar com o ECF: [HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF] Porta= DEFAULT Path= C:\ Status= 0 StatusFuncao= 0 Retorno= 0 ControlePorta= 1 ModoGaveta= 0 ConfigRede= 0 Log= 0 NomeLog= C:\Daruma32.log Separador= , SeparaMsgPromo= 1 Vende1Linha= 1 XAutomatica= 0 ZAutomatica = 1 AbrirDiaFiscal=1 ErroExtendidoOk=000 IgnorarPoucoPapel=1 AplMensagem1= DARUMA32 FrameWork Mensagem No Programada AplMensagem2= DARUMA32 FrameWork Mensagem No Programada TipoUltimoDocumento= Nesta Chave fica armazenado a sigla com o tipo do ltimo documento que foi emitido no ECF Velocidade=9600 TerminalServer=0 PortaServidor=1002 Tarantella=0 TempoEsperaCheque=5 MFDTamMinDescProd=15 ThreadNoStartUp=1 CupomAdicionaDll=1 CupomAdicionaDllConfig=11111111111111111

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.27 Daruma_Registry_AlteraRegistry (ndice 17)


Definio do Mtodo: Permite a Alterao das chaves do registry, ou seja, dispensando a utilizao de um mtodo especfico. Parmetros da Mtodo: (2 Parmetros) 1. String com o nome da Chave que deseja Alterar. 2. String com o Valor da Chave que deseja Alterar. 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 no dever ser utilizado, quando se tratar de alterar a velocidade de comunicao com a impressora. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Nome_da_Chave As String Dim Str_Valor_da_Chave As String Str_Nome_da_Chave = InputBox("Entre com o nome da Chave que voc deseja Alterar:", "Daruma Framework", "Porta") Str_Valor_da_Chave = InputBox("Entre com um novo Valor para Chave:", "Daruma Framework", "Default") If Str_Nome_da_Chave = "" Or Str_Valor_da_Chave = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_AlteraRegistry(Str_Nome_da_Chave, Str_Valor_da_Chave) Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_AlteraRegistry(Str_Nome_da_Chave, Str_Valor_da_Chave);

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

if Str_Path = '' Then Exit; Int_Retorno := Daruma_Registry_Path( pchar(Str_Path) );

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.35 Daruma_Registry_ConfigRede(ndice 8) Ainda Nao Utilizado!

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');

1.9.5.37 Daruma_Registry_NomeLog(ndice 10)


Definio do Mtodo: Configurar o Nome do Arquivo Log que ser Criado. 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 = "Daruma32.Log".

Exemplos: Daruma Automao

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) );

1.9.5.38 Daruma_Registry_Separador(ndice 11)


Definio do Mtodo: Indica qual ser o carctere de Separao que voc utilizar para o retorno de dados que seja necessrio a seprarao por este carctere facilitando que o software possa utilizar e separar a informao, por Exemplos: Retorno de Formas de Pagamento ir retornar "Dinheiro, Cheque,Cartao", com estes dados separado por Vrgula voc ter uma maior facilidade de separar e utilizar os dados sem a necessidade de estar amarrado a um tamanho fixo dos dados. 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) O Valor Default = "," ( Vrgula ) Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Separador As String Str_Separador = InputBox("Entre com o Tipo de Separador:", "Daruma Framework", ",") If Str_Separador = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_Separador(Str_Separador) Exemplo em Delphi 7.0: Str_Separador: String; begin Str_Separador := InputBox('Entre com o Tipo de Separador:', 'Daruma Framework', ','); if Str_Separador = '' Then Exit; Int_Retorno := Daruma_Registry_Separador( pchar(Str_Separador) );

1.9.5.39 Daruma_Registry_SeparaMsgPromo(ndice 12)


Definio do Mtodo: Indica se voc deseja que antes da mensagem promocional seja traado uma linha separadora, para

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');

1.9.5.40 Daruma_Registry_Vende1Linha(ndice 13)


Definio do Mtodo: Permite que a Mtodo Daruma_FI_VendeItem tente imprimir a venda do item em uma linha apenas, com isso voc ter uma economia no cupom fiscal de at 40%, ou seja, com esta chave a 1(um) esta "inteligncia" ativada, caso contrario todos os itens sero vendidos em duas linhas. O Valor default desta Chave 1(um). Parmetros da Mtodo: (1 Parmetro) 0 - No tentar Imprimir a venda do Item em uma Linha, neste caso sempre ser em duas linhas. 1 - Ir tentar vender e imprimir a venda do item em uma linha, sempre que possivel. Observaes: O Valor Default desta chave 1(um). 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: Int_Retorno = Daruma_Registry_VendeItemUmaLinha("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_VendeItemUmaLinha('1');

1.9.5.41 Daruma_Registry_XAutomatica(ndice 14)


Definio do Mtodo: 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 para o ECF, e o ECF tiver uma ReduoZ Pendente e esta chave estiver a 1(um) ento a dll ir efetuar a X automaticamente. Parmetros da Mtodo: (1 Parmetro) 0 - No efetua a Leitura X Automaticamente, deixa isso a cargo da aplicao. 1 - Ir efetuar a Leitura X Automaticamente ao perceber que existe uma LeituraX Pendente para Abrir o Dia. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry

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');

1.9.5.42 Daruma_Registry_ZAutomatica(ndice 15)


Definio do Mtodo: O Mesmo que acontece com a LeituraZ, a Impressora Daruma trabalha com o Conceito de no permitir que a Reduo Z acontea automaticamente, por isso voec deve "setar" esta chave para 1(um) caso voc deseje que a Reduo Z passe a ser executada de forma automatica. Parmetros da Mtodo: (1 Parmetro) 0 - No efetua a Reduo Z Automaticamente, deixa isso a cargo da aplicao. 1 - Ir efetuar a Reduo Z Automaticamente ao perceber que existe uma LeituraX Pendente para Abrir o Dia. 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). Ateno! que Este Mtodo anula completamente os valores da dll de ZAutomatica, ou seja, se voc chama a Mtodo Daruma_FI_CfgRedZAutomatico e passar os Valores a 1(um) para a dll Fazer Automaticamente, e se voc chamar Este Mtodo para que no faa a ReduoZ Automatica de nada adiantar, ou seja, para que o ECF nem a DLL realize a ReduoZ Automaticamente e sim que seja comandada por seu aplicativo voc dever chamar Este Mtodo com o Valor 0(Zero) e a Mtodo Daruma_FI_CfgRedZAutomatico com o Valor tambm 0(zero) com isso nem a dll nem o ECF ir Efetuar a ReduoZ Automaticamente deixando Este Mtodo totalmente a cargo de seu aplicativo. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_ZAutomatica("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_ZAutomatica('1');

1.9.5.43 Daruma_Registry_TerminalServer(ndice 21)


Definio do Mtodo: Esta Chave indica para a Dll que dever trabalhar atravs de Endereo IP e no atravs de Porta Serial. Parmetros da Mtodo: (1 Parmetro) 0 - Trabalha com Porta Serial Local. 1 - Trabalha com Terminal Server - Atravs do Endereo IP do Servidor. 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:

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');

1.9.5.44 Daruma_Registry_AbrirDiaFiscal(ndice 23)


Definio do Mtodo: A Impressora Daruma, necessita que seja efetuado uma LeituraX para a emisso do primeiro Cupom Fiscal, por isso foi criada 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(no) 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. Parmetros da Mtodo: (1 Parmetro) 0 - No efetua a LeituraX Automaticamente, deixa isso a cargo da aplicao. 1 - Ir efetuar a LeituraX Automaticamente ao perceber que existe uma LeituraX Pendente para Abrir o Dia. 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). - 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_AbrirDiaFiscal("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_AbrirDiaFiscal('1');

1.9.5.45 Daruma_Registry_IgnorarPoucoPapel(ndice 24)

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');

1.9.5.46 Daruma_Registry_ImprimeRegistry(ndice 18)


Definio do Mtodo: Imprime a Configurao Atual do Registry, passe o produto como Referencia que ser impressor no Relatrio Gerencial as configuraes do Registry do produto passado como parmetro.. Parmetros da Mtodo: (1 Parmetro) String com o Nome do Produto que podem ser as seguintes Strings: ECF - Refere-se a Impressora Fiscal. 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

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) );

1.9.5.47 Daruma_Registry_RetornaValor(ndice 19)


Definio do Mtodo: Retorna o Valor de uma Chave do Registry da DARUMA32.dll. Parmetros da Mtodo: (1 Parmetro) String com o Nome do produto que podem ser: ECF - Refere-se a Impressora Fiscal.

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);

1.9.5.48 Daruma_Registry_Default(ndice 20)


Definio do Mtodo: Zera as Configuraes realizadas no Registry deixando o Registry com seus Valores Default. Parmetros da Mtodo: No H. 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:

Daruma Automao

Daruma Framework

102

Int_Retorno = Daruma_Registry_Default() Exemplo em Delphi 7.0: int_Retorno := Daruma_Registry_Default();

1.9.5.49 Daruma_Registry_ErroExtendidoOk(ndice 22)


Definio do Mtodo: O 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 dO Mtodo Daruma_FI_RetornaErroExtendido. Parmetros do Mtodo: (1 Parmetro) Cdigo com trs dgitos que voc deseja que seja retornado, por Exemplo, se voc deseja que seja retornando "000" quando o ECF retornar OK, voc deve passar "000" no parmetro dEste Mtodo. Observaes: - O Valor Default desta chave "000". - O erro extendido apenas um complemento ao ST1 e ST2. Portanto mesmo que voc esteja utilizando este mtodo ainda assim dever ter em sua rotina o mtodo Daruma_FI_RetornoImpressora. 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_Valor_do_ErroExt As String Str_Valor_do_ErroExt = InputBox("Entre com um Valor para o Erro Extendido:", "Daruma Framework", "000") If Str_Valor_do_ErroExt = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_ErroExtendidoOk(Str_Valor_do_ErroExt) Exemplo em Delphi 7.0: var Str_Valor_do_ErroExt: String; begin Str_Valor_do_ErroExt := InputBox('Entre com um Valor para o Erro Extendido:', 'Daruma Framework', '000'); if Str_Valor_do_ErroExt = '' Then Exit; Int_Retorno := Daruma_Registry_ErroExtendidoOk( pchar(Str_Valor_do_ErroExt) );

1.9.5.50 Daruma_Registry_Velocidade(ndice 28)


Definio do Mtodo: Este Mtodo permite a voc configurar a velocidade na FS600 da porta serial de 9600 ou 38400. Parmetros do Mtodo: (1 Parmetro) Velocidade: Varivel String com a velocidade a ser programada no ECF. Observaes: O Valor Default desta chave "9600". Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry

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')

1.9.5.51 Daruma_Registry_Produto(ndice 34)


Definio do Mtodo: Este Mtodo permite Configurar o modelo de ECF que est conectado na porta serial, ou simplesmente indicar para a dll identique o Produto. 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:

Exemplo em Delphi 7.0:

1.9.5.52 Daruma_Registry_AplMensagem1(ndice 36)


Definio do Mtodo: Este Mtodo possibilita a programao da mensagem do software aplicativo. Parmetros do Mtodo: (1 Parmetro) Mensagem do aplicativo com 42 bytes. 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 a Mensagem no esteja programada o ECF acusar erro 180, vide tabela de erros Daruma_FI_RetornaErroExtendido(ndice 1470 ) - Esta mensagem exigida pela legistao e ser impressa em todos os comandos que concentram valores exemplos: cupom fiscal, recebimento no fiscal, sangria e suprimento.

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));

1.9.5.53 Daruma_Registry_AplMensagem2(ndice 37)


Definio do Mtodo: Este Mtodo possibilita a programao da mensagem do software aplicativo. Parmetros do Mtodo: (1 Parmetro) Mensagem do aplicativo com 42 bytes. 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 a Mensagem no esteja programada o ECF acusar erro 180, vide tabela de erros Daruma_FI_RetornaErroExtendido(ndice 1470 ) - Esta mensagem exigida pela legistao e ser impressa em todos os comandos que concentram valores exemplos: cupom fiscal, recebimento no fiscal, sangria e suprimento.

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));

1.9.5.54 Daruma_Registry_TEF_NumeroLinhasImpressao(ndice 38)


Definio do Mtodo: Este Mtodo possibilita a programao da mensagem do software aplicativo. Parmetros do Mtodo: (1 Parmetro) Numero Linhas. String contendo o nmero de linhas para impresso por vez, o valor Default para esta chave 16. 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

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));

1.9.5.55 Daruma_Registry_NumeroSerieNaoFormatado(ndice 42)


Definio do Mtodo: Este Mtodo permite configurar se o nmero de srie da impressora ser devolvido com ou sem os zeros esquerda. Parmetros do Mtodo: (1 Parmetro) Numero de Serie. Varivel String com 0(para no devolver o nmero de srie formatado ou seja sem os zeros esquerda), ou 1-um(para retornar o nmero de srie com os zeros esquerda). 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: Int_Retorno = Daruma_Registry_NumeroSerieNaoFormatado("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_NumeroSerieNaoFormatado('1');

1.9.5.56 Daruma_Registry_NumeroLinhasImpressao(ndice 38)


Definio do Mtodo: Este Mtodo permite ajustar o nmero de linhas a serem impressas por vez, durante a impresso de resposta de TEF. Parmetros do Mtodo: (1 Parmetro) Linhas para Impresso. Varivel String com o 2(dois) bytes contendo o nmero de linhas a serem impressas no buffer coloque um valor entre 01 a 16. 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 nmero mximo de linhas a serem impressas no poder ser maior do que 16.

Exemplos:

Daruma Automao

Daruma Framework

106

Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0:

1.9.5.57 Daruma_Registry_MFD_ProgramarSinalSonoro(ndice 52)


Definio do Mtodo: Este Mtodo permite programar chaves no registry, onde cada uma equivale a um tipo de cupom, podendo ser cupom fiscal, no fiscal (vinculado), no fiscal no vinculado e relatrio gerencial. Parmetros do Mtodo: (2 Parmetros) Chave String com o nome da Chave do Registry que voc deseja programar; Valor String com 0 (desabilitar) 1(habilitar). 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: - Este mtodo aplica-se para as impressoras FS600 e FS2100T (ambas trmicas); - Para alterar as chaves siga a sequncia abaixo: BuzzerCF voc ir habilitar para para seja emitido o sinal sonoro ao trmino do cupom fiscal; BuzzerCNF voc ir habilitar para para seja emitido o sinal sonoro ao trmino do cupom no fiscal; BuzzerCNFV voc ir habilitar para para seja emitido o sinal sonoro ao trmino do cupom no fiscal vinculado; BuzzerRG voc ir habilitar para para seja emitido o sinal sonoro ao trmino do relatrio gerencial; Importante: Para que o sinal sonoro seja emitido, voc dever previamente program-lo com pelo menos um beep atravs do mtodo: Daruma_FIMFD_SinalSonoro (ndice 53).

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

1.9.5.58 Daruma_Registry_MFD_LeituraMFCompleta(ndice 49)


Definio do Mtodo: Este Mtodo permite programar a chave no registry, que controla se a Leitura da MF nas impressoras MFD's FS600 e FS2100T, ser completa ou no. Parmetros do Mtodo: (1 Parmetro) Valor String com 0 (simplificada) 1(completa). 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: - Ligue este flag para poder efetuar a leitua completa da memria fiscal nas impressoras FS600 (MFD) e FS2100T que tambm (MFD). - Para fazer a leitura da memria fiscal voc poder usar um dos mtodos a seguir: Daruma_FI_LeituraMemoriaFiscalData; Daruma_FI_LeituraMemoriaFiscalReducao; Daruma_FI_LeituraMemoriaSerialData; Daruma_FI_LeituraMemoriaSerialRecucao; Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_Registry_MFD_LeituraMFCompleta("1") Exemplo em Delphi 7.0: Int_Retorno := Daruma_Registry_MFD_LeituraMFCompleta('1');

1.9.5.59 Daruma_Registry_CupomAdicionalDll(ndice 56)


Definio do Mtodo: Este Mtodo permite programar a chave no registry (CupomAdicionalDll), que controla se a impresso do cupom adicional automtica, aps cada cupom fiscal, nas impressoras MFD's FS600 e FS2100T, ser completa ou no. Parmetros do Mtodo: (1 Parmetro) Valor String com 0 (no imprime) 2 e CupomAdicional = 1(um) (imprime) . 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 Observao: - Para que seja impresso o cupom adicional feito pela dll preciso colocar o valor 1(um) no flag CupomAdicional e valor 2(dois) no flag CupomAdicionalDll. Exemplo de um cupom adicional, recuperado da MFD:

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');

1.9.5.60 Daruma_Registry_CupomAdicionalDllConfig(ndice 57)


Definio do Mtodo: Este Mtodo permite programar a chave no registry (CupomAdicionalDllConfig), que define os dados que sero impressos no cupom adicional, aps cada cupom fiscal, nas impressoras MFD's FS600 e FS2100T. Parmetros do Mtodo: (1 Parmetro) Valor String: 17 bytes, na seguinte ordem: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 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;

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');

1.9.5.61 Daruma_Registry_ComandosEmLote(ndice 58)


Definio do Mtodo: Este Mtodo permite tratalhar com comandos em Lote. Parmetros do Mtodo: Nenhum. 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 Observao: - Este mtodo s deve ser utilizado, se voc pretende trabalhar com mapeamento de unidade e bufferizando os comandos. - Leia mais em: Trabalhando com Mapeamento de Unidade e Bufferizando os Comandos.

Daruma Automao

Daruma Framework

110

1.9.5.62 Daruma_Registry_FinalLote(ndice 59)


Definio do Mtodo: Este Mtodo finaliza o Lote com os comandos. Parmetros do Mtodo: Nenhum. 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 Observao: - Este mtodo s deve ser utilizado, se voc pretende trabalhar com mapeamento de unidade e bufferizando os comandos. - Leia mais em: Trabalhando com Comandos em Lote, usando o Mapeamento de Unidade.

1.9.5.63 Daruma_Registry_PathLote(ndice 60)


Definio do Mtodo: Este Mtodo permite tratalhar configurar o Path onde sero escritos os comandos em Lote. Parmetros do Mtodo: Nenhum. 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 Observao: - Este mtodo s deve ser utilizado, se voc pretende trabalhar com mapeamento de unidade e bufferizando os comandos. - Leia mais em:Trabalhando com Comandos em Lote, usando o Mapeamento de Unidade.

1.9.5.64 Daruma_Registry_PCExpanionLogin(ndice 63)


Definio do Mtodo: Este Mtodo permite a utilizao de mais de um ECF no mesmo computador. Com a chegada do PCExpanion (um multiplicador de PC's), tornou-se necessrio que em um mesmo computador, se possa logar-se em cada uma das impressoras, cada qual em uma porta serial. Parmetros do Mtodo: (1 Parmetro) Login String com o nome que ser usado como login. 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: - Mesmo que voc no possua um PCExpanion, ainda assim ser possvel trabalhar com mais de um ECF no mesmo micro, bastando para isso, voc usar este mtodo para logar-se em cada impressora. Exemplo de utilizao: Suponha que voc tm uma impressora na porta serial COM1 e outra na COM2, assim sendo, voc executaria o mtodo Daruma_Registy_PCExpanionLogin passando PDV1 para comunicar-se com o ECF que esta na COM1 e novamente executar o mtodo, passando PDV2 para comunicar-se com o ECF que Daruma Automao

111

Daruma Framework

esta na COM2. No exemplo citado acima, ficaria assim: Daruma_Registy_PCExpanionLogin("PDV1") Daruma_Registy_PCExpanionLogin("PDV2")

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;

1.9.5.65 Daruma_Registry_MFDValorFinal(ndice 66)


Definio do Mtodo: Este Mtodo permite passar o valor final que se pretende obter. Esta soluo vem de encontro com a necessidade de aproximar valores, quando a balana do supermercado ou bomba de combustvel, que arredonda os valores. Issto porque os ECF's com tecnologia MFD, no permitem arredondamento, ento, como forma de contornar este problema, voc deve utilizar este metodo. Parmetros do Mtodo: (1 Parmetro) ValorPretendido String com o valor pretendido. 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: - Se a chave est setada e o nmero de casas decimais da quantidade da impressora MFD maior que 3(trs) e o tipo de quantidade passada para a funo Daruma_FI_VendeItem(ndice 1001), for fracionrio ("f" ou "F"), a DLL se encarregar de ajustar a quantidade para um novo valor, a fim de atingir o valor setado na chave MFDValorFinal do registro path HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF chave MFDValorFinal. - Assim que a venda do item finalizada, a chave MFDValorFinal automaticamente setada para "0" (zero).

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;

1.9.5.66 Daruma_Registry_LogTamMaxMB(ndice 69)


Definio do Mtodo: Este Mtodo permite programar o tamanho mximo em mega bytes para o log. O Tamanho DEFAULT para o log de 5MB. Parmetros do Mtodo: (1 Parmetro) TamanhoMB String com o tamanho maximo que ira ter o log. 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: Com este mtodo, o log quando atingir o tamanho que foi especificado no parametro. Indica o nmero mximo de MB (MegaBytes) que o arquivo de log poder ter. Quando o arquivo Daruma32.log atingir este tamanho, ser criada uma cpia com nome Daruma_DDMMAA_HHMM.log a)DDMMAA = Data do sistema b)HHMM = Hora do sistema. Aps a cpia, o arquivo Daruma.log recriado, com contedo vazio.

Exemplos: Daruma Automao

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;

1.9.5.67 Daruma_Registry_SintegraSeparador(ndice 70)


Definio do Mtodo: Este mtodo permite que seja cofigurado um separador especfico para os dados retornados nos mtodos para o sintegra. Parmetros do Mtodo: (1 Parmetro). Flag: String, com o separador a ser fixado no registry. 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_Separador As String Str_Separador = InputBox("Entre com o Separador:", "Daruma Framework", ";") If Str_Separador = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_SintegraSeparador(Str_Separador) Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_Separador: String; begin Str_Separador:= InputBox('Daruma Framework','Entre com o Separador:', ';'); if (Str_Separador = '') then Exit; Int_Retorno := Daruma_Registry_SintegraSeparador(pchar(Str_Separador)); Daruma_Analisa_Retorno(); end;

Daruma Automao

Daruma Framework

114

1.9.5.68 Daruma_Registry_SintegraPath(ndice 71)


Definio do Mtodo: Este mtodo permite que seja cofigurado o path (caminho), onde ser gravado o arquivo do sintegra especfico para os dados retornados nos mtodos para o sintegra. Parmetros do Mtodo: (1 Parmetro). Flag: String, com o separador a ser fixado no registry. 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_Separador As String Str_Separador = InputBox("Entre com o Separador:", "Daruma Framework", ";") If Str_Separador = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_SintegraSeparador(Str_Separador) Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_Separador: String; begin Str_Separador:= InputBox('Daruma Framework','Entre com o Separador:', ';'); if (Str_Separador = '') then Exit; Int_Retorno := Daruma_Registry_SintegraSeparador(pchar(Str_Separador)); Daruma_Analisa_Retorno(); end;

1.9.5.69 Daruma_Registry_MaxFechamentoAutomatico(ndice 72)


Definio do Mtodo: Este mtodo permite que seja fixado um valor mnimo, visando suprir o saldo devedor em casos onde pequenas difernas no fechamento do cupom, Exemplo: se o total do cupom era 5,00, porm o software pagou 4,99 - ento a dll, tendo claro um valor fixado neste flag, ir pagar automaticamente o saldo de 0,01(centavo), que neste exemplo ra o que faltava para fechar o cupom. Parmetros do Mtodo: (1 Parmetro). Flag: String, com o valor a ser fixado no registry. 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: Exemplo em Delphi 7.0:

Daruma Automao

115

Daruma Framework

1.9.6
1.9.6.1

Mtodos de Informao, Status e Retornos


Daruma FrameworkTabela de Retornos ST1 e ST2
Definio do Mtodo: Todos os mtodos, executadas na impressora, possuem bytes de retorno, que significam o estado atual aps o envio. Cada byte tratado da seguinte maneira:

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);

1.9.6.10 Daruma_FI_VerificaZPendente(ndice 1489)


Definio do Mtodo: Retorna se a ReduoZ est pendente. 1(um) para ReduoZ Pendente e 0(zero) para ReduoZ j executada. 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. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(2) Int_Retorno = Daruma_FI_VerificaZPendente(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_VerificaZPendente(Str_Informacao) ); Edit1.Text := (Str_Informacao);

1.9.6.11 Daruma_FI_VerificaXPendente(ndice 1488)


Definio do Mtodo: Retorna se a LeituraX est pendente. 1(um) para LeituraX Pendente e 0(zero) para LeituraX j executada. 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. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(2) Int_Retorno = Daruma_FI_VerificaXPendente(Str_Informacao) Daruma Automao

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);

1.9.6.12 Daruma_FI_VerificaTipoImpressora(ndice 1444)


Definio do Mtodo: Retorna o tipo de impressora. Parmetros do Mtodo: Tipo Impressora: Varivel inteira para receber o tipo da impressora (veja abaixo em "Observaes" os valores retornados). 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 valor do tipo de impressora pode ser: 1 - Impressora fiscal, gaveta, autenticaao. 2 - Impressora fiscal, gaveta, cutter. 3 - Impressora fiscal, presenter, autenticaao. 4 - Impressora fiscal, presenter, cutter. 5 - Impressora bilhete de passagem, gaveta, autenticaao. 6 - Impressora bilhete de passagem, gaveta, cutter. 7 - Impressora bilhete de passagem, presenter, autenticaao. 8 - Impressora bilhete de passagem, presenter, cutter. Exemplos: Exemplo em Visual Basic 6.0: Int_Informacao = 0 Int_Retorno = Daruma_FI_VerificaTipoImpressora(Int_Informacao) TX_Retorno.Text = Int_Informacao Exemplo em Delphi 7.0: var Int_Informacao: Integer; begin Int_Informacao := 0; Int_Retorno := Daruma_FI_VerificaTipoImpressora( Int_Informacao ); Edit1.Text := (Str_Informacao);

1.9.6.13 Daruma_FI_VerificaDescricaoFormasPagamento(ndice 1470)


Definio do Mtodo: Retorna Apenas a Descrio das Formas de Pagamento que Esto Programadas no ECF. Parmetros do Mtodo: Formas Pagamento: Varivel String por referncia com 275(duzentas e cinquenta) posies para receber as formas programadas. 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

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);

1.9.6.14 Daruma_FI_VerificaFormasPagamento(ndice 1442)


Ateno!!! Este mtodo est descontinuado, favor utilizar o mtodo: Daruma_FI_VerificaFormasPagamentoEx(ndice 1448)

1.9.6.15 Daruma_FI_VerificaFormasPagamentoEx(ndice 1448)


Definio do Mtodo: Retorna as formas de pagamento e seus valores acumulados. Parmetros do Mtodo: Formas Pagamento: Varivel String por referncia com 1027(uma mil e vinte e sete) posies para receber as formas programadas. 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 as informaes das formas de pagamento na seguinte ordem: Descrio da forma de pagamento.....................: 16 bytes Valor acumulado (2 casas decimais)..................: 20 bytes Valor recebido no ltimo cupom (2 casas decimais)...: 20 bytes Valor indicando se a forma foi usada para a emisso

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);

1.9.6.16 Daruma_FI_VerificaEstadoImpressora(ndice 1401)


Definio do Mtodo: Retorna o estado da impressora. Parmetros do Mtodo: 1. ACK: Varivel inteira para receber o primeiro byte. 2. ST1: Varivel inteira para receber o segundo byte. 3. ST2: Varivel inteira para receber o terceiro byte. 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 devolve o status da impressora. - Recomenda-se usar este mtodo em concomitncia com a chave StatusFuncao seteda pra 1(um) no registry, assim sendo voc s ir chamar este mtodo quando o iRet retornar diferente de 1(um). Exemplos:

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));

1.9.6.17 Daruma_FI_VerificaAliquotasIss(ndice 1440)


Definio do Mtodo: Retorna as alquotas de vinculao ao ISS. Parmetros do Mtodo: Aliquotas Iss: Varivel String por referncia com 79(setenta e nove) posies para receber as alquotas vinculadas 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: As alquotas retornadas estaro separadas por vrgula. Ex.: 1800,1200,1500; Para isento utilize II; Para no tributado NN; Para substituio FF. Exemplos:

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

1.9.6.18 Daruma_FI_VerificaIndiceAliquotasIss(ndice 1445)


Definio: Retorna os ndices das alquotas de ISS. Parmetros do Mtodo: ndice Alquotas: Varivel String por referncia com o tamanho de 48(quarenta e oito) posies para receber os ndices das alquotas de 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: - Os ndices retornados estaro separados por vrgula. Ex.: 02,03,04 Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(48) Int_Retorno = Daruma_FI_VerificaIndiceAliquotasIss(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,48); Int_Retorno := Daruma_FI_VerificaIndiceAliquotasIss(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.19 Daruma_FI_VerificaTotalizadoresNaoFiscais(ndice 1436)


Ateno!!! Este mtodo est descontinuado, favor utilizar Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(ndice 1486) (indice1486)

1.9.6.20 Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(ndice 1486)


Definio do Mtodo: Retorna a descrio dos totalizadores no fiscais programados na impressora com o Mtodo Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms Parmetros do Mtodo: Totalizadores: Varivel String por referncia com 300(trezentas) posies para receber a descrio dos totalizadores no fiscais programados. 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: Os totalizadores viro separados por vrgula; Este Mtodo retorna somente os 16 primeiros cadastrados; Ex. Sangria,Suprimento,Conta de Luz, etc...

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);

1.9.6.21 Daruma_FI_VerificaEpromConectada(ndice 1432)


Definio do Mtodo: Verifica se a Eprom est conectada. Parmetros do Mtodo: FlagEprom: Varivel String por referncia com 2(duas) posies para receber o flag de Eprom conectada. Onde: 1 - Eprom conectada. 0 - Eprom desconectada. 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(2) Int_Retorno = Daruma_FI_VerificaEpromConectada(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_VerificaEpromConectada(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.22 Daruma_FI_VerificaRecebimentosNaoFiscal(ndice 1443)


Definio do Mtodo: Retorna os recebimentos no fiscais no vinculados programados na impressora. Parmetros do Mtodo: Recebimentos: Varivel String por referncia com 2200(duas mil e duzentas) posies para receber as informaes. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo.

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);

1.9.6.23 Daruma_FI_VerificaTruncamento(ndice 1439)


Definio do Mtodo: Retorna 1 se a impressora estiver no modo truncamento e 0 se estiver no modo arredondamento. Parmetros do Mtodo: Truncamento: Varivel String por referncia com 2(duas) posies para receber o retorno. Onde: 1 - Impressora programada para Truncar.

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);

1.9.6.24 Daruma_FI_VerificaModoOperacao(ndice 1431)


Definio do Mtodo: Verifica se a impressora est em modo normal ou em interveno tcnica. Parmetros do Mtodo: Modo Operao: Varivel String por referncia com 2(duas) posies para receber o modo de operao da impressora. Onde: 1 - Modo normal 0 - Interveno tcnica. 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(2) Int_Retorno = Daruma_FI_VerificaModoOperacao(Str_Informacao) If Str_Informacao = 1 Then TX_Retorno.Text = " 1 - Impressora em Modo Operacional !!!" Else TX_Retorno.Text = " 0 - Impressora em Modo de Interveno Tcnica !!!" End If Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_VerificaModoOperacao(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;

1.9.6.25 Daruma_FI_VerificaTotalizadoresParciais(ndice 1407)


Definio do Mtodo: Retorna os totalizadores parciais cadastrados na impressora com as seguintes informaes: 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_FI_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: Str_Informacao = Space(445) Int_Retorno = Daruma_FI_VerificaTotalizadoresParciais(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_VerificaModoOperacao(Str_Informacao); 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;

1.9.6.26 Daruma_FI_ClicheProprietario(ndice 1424)


este Mtodo est descontinuado na dll, favor utilizar Daruma_FI_ClicheProprietarioEx (ndice 1467)

Daruma Automao

131

Daruma Framework

1.9.6.27 Daruma_FI_ClicheProprietarioEx(ndice 1467)


Definio do Mtodo: Retorna o clich do proprietrio cadastrado na impressora. Parmetros do Mtodo: ClicheProprietrio: Varivel String por referncia com 400(quatrocentas) posies para receber clich cadastrado. 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(400) Int_Retorno = Daruma_FI_ClicheProprietario(Str_Informacao) TX_Retorno.Text = Str_Informacao Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,400); Int_Retorno := Daruma_FI_ClicheProprietarioEx(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.28 Daruma_FI_NumeroCaixa(ndice 1425)


Definio do Mtodo: Retorna o nmero do caixa cadastrado na impressora. Parmetros do Mtodo: Nmero Caixa: Varivel String por referncia com 4(quatro) posies para receber o nmero do caixa cadastrado na impressora. 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(04) Int_Retorno = Daruma_FI_NumeroCaixa(Str_Informacao) TX_Retorno.Text = Str_Informacao Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FI_NumeroCaixa(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

Daruma Automao

Daruma Framework

132

1.9.6.29 Daruma_FI_NumeroLoja(ndice 1426)


Definio do Mtodo: Retorna o nmero da loja cadastrado na impressora. Parmetros do Mtodo: Nmero Loja: Varivel String por referncia com 4(quatro) posies para receber o nmero da loja cadastrado na impressora. 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 foi criado por questes de compatibilidade com softwares de mercado. - Na impressora FS345, o nmero da Loja no esta presente em sua memria, por isso o Nmero da Loja que ser retornado fixo em:0000. - Nas impressoras FS600/FS2100T, o nmero da loja foi inclundo na memria da impressora e quando for cadastrado por meio de interveno tcnica, ento retornar o mesmo. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(04) Int_Retorno = Daruma_FI_NumeroLoja(Str_Informacao) TX_Retorno.Text = Str_Informacao Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FI_NumeroLoja(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.30 Daruma_FI_NumeroSerie(ndice 1411)


Definio do Mtodo: Retorna o nmero de srie da impressora. Parmetros do Mtodo: Nmero Srie: Varivel String por referncia com o tamanho de 15(quinze) posies para receber o nmero de srie. 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(15) Int_Retorno = Daruma_FI_NumeroSerie(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var

Daruma Automao

133

Daruma Framework

Str_Informacao: String; begin SetLength (Str_Informacao,15); Int_Retorno := Daruma_FI_NumeroSerie(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.31 Daruma_FI_RegistraNumeroSerie(ndice 1491)


Definio do Mtodo: Ao chamar este mtodo o Nmero de srie do ECF ser lido do ECF e Criptografado atravs do algoritmo de RIJNDAEL de 128 bytes. Parmetros do Mtodo: No ha. 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: Vamos supor que o nmero de srie do ECF seja 0000000010 ao utilizar o FrameWork Daruma ele se transforma em: 9619EFDF5C7991185D94BFCE1D4E6DBB5AC9DB2CE6BC6A09 Se o Nmero de srie for 0000000011 a criptografia final ser: 31AD8F505D239B55A4E0876A59B3A4F2DEA4FC117A62B78E

Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_RegistraNumeroSerie() Exemplo em Delphi 7.0: Int_Retorno:= Daruma_FI_RegistraNumeroSerie();

1.9.6.32 Daruma_FI_VerificaNumeroSerie(ndice 1492)


Definio do Mtodo: Este mtodo ir devolver 0(zero) ou 1(um) - Zero indica que o nmero de srie no bate com a Criptografia Armazenada pelo Mtodo Daruma_FI_RegistraNumeroSerie(), 1(um) indica que o ECF vlido pois o nmero de srie bate com o que foi Criptografado pelo Mtodo Daruma_FI_RegistraNumeroSerie. Parmetros do Mtodo: No ha. 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: Int_Retorno = Daruma_FI_VerificaNumeroSerie() Exemplo em Delphi 7.0: Int_Retorno:= Daruma_FI_VerificaNumeroSerie();

Daruma Automao

Daruma Framework

134

1.9.6.33 Daruma_FI_RetornaSerialCriptografada(ndice ????)


Definio do Mtodo: Com este Mtodo voc ir receber o Nmero de Srie e tambm a Criptografia do mesmo. Parmetros do Mtodo: Nmero Srie Criptografado: Varivel String por referncia com o tamanho de 48(quarenta e oito) posies para receber o nmero de srie criptografado. Nmero Srie: Varivel String por referncia com o tamanho de 15(quinze) posies para receber o nmero de srie. 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: Vamos supor que o nmero de srie do ECF seja 0000000010 ao utilizar o FrameWork Daruma ele se transforma em: 9619EFDF5C7991185D94BFCE1D4E6DBB5AC9DB2CE6BC6A09 Se o Nmero de srie for 0000000011 a criptografia final ser: 31AD8F505D239B55A4E0876A59B3A4F2DEA4FC117A62B78E Exemplos: Exemplo em Visual Basic 6.0: Dim Str_SerialCriptografado As String Dim Str_NumeroSerial As String Str_SerialCriptografado = Space(48) Str_NumeroSerial = Space(20) Int_Retorno = Daruma_FI_RetornaSerialCriptografado(Str_SerialCriptografado, Str_NumeroSerial) MsgBox "Serial Criptografado = " + Str_SerialCriptografado + Chr(13) + Chr(10) _ + "Numero Serial = " + Str_NumeroSerial, , "Daruma Framework" Exemplo em Delphi 7.0: var Str_SerialCriptografado: String; Str_NumeroSerial: String; begin SetLength (Str_SerialCriptografado,48); SetLength (Str_NumeroSerial,20); Int_Retorno:= Daruma_FI_RetornaSerialCriptografado(Str_SerialCriptografado, Str_NumeroSerial); Application.MessageBox(pchar('Serial Criptografado = ' + Str_SerialCriptografado + #13 + 'Numero Serial = ' + Str_NumeroSerial ), 'Daruma Framework Retorno do mtodo', mb_ok); end;

1.9.6.34 Daruma_FI_VersaoFirmware(ndice 1412)


Definio do Mtodo: Retorna a verso do firmware da impressora. Parmetros do Mtodo: Verso Firmware: Varivel String por referncia com o tamanho de 4(quatro) posies para receber a verso do firmware. 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:

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);

1.9.6.35 Daruma_FI_CGC_IE(ndice 1413)


Definio do Mtodo: Retorna o CGC e a Inscrio Estadual do cliente/proprietrio cadastrado na impressora. Parmetros do Mtodo: CGC: Varivel String por referncia com 18(dezoito) posies para receber o CGC. IE: Varivel String por referncia com 15 posies para receber a Inscrio Estadual. 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_CGC As String Dim Str_IE As String Str_CGC = Space(18) Str_IE = Space(18) Int_Retorno = Daruma_FI_CGC_IE(Str_CGC, Str_IE) TX_Retorno.Text = " CGC:" + Str_CGC TX_Retorno.Text = TX_Retorno.Text + " IE:" + Str_IE Exemplo em Delphi 7.0: var Str_CGC: String; Str_IE: String; begin SetLength (Str_CGC,18); SetLength (Str_IE,18); Int_Retorno := Daruma_FI_CGC_IE(Str_CGC, Str_IE); Edit1.Lines.Text := Pchar(' CGC:' + Str_CGC ); Edit1.Lines.Text := Edit1.Lines.Text + ' IE:' + Str_IE;

1.9.6.36 Daruma_FI_NumeroCupom(ndice 1417)


Definio do Mtodo: Retorna o nmero do cupom. Parmetros do Mtodo: Nmero Cupom: Varivel String por referncia com 6(seis) posies para receber o nmero do cupom. 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

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);

1.9.6.37 Daruma_FI_COO(ndice 1468)


Definio do Mtodo: Retorna o nmero do cupom INICIAL e ATUAL do DIA em que no foi efetuando a ReduoZ. Parmetros do Mtodo: (2 Parmetros) 1. Nmero Cupom INICIAL: Varivel String por referncia com 6(seis) posies para receber o nmero do Primeiro Cupom do DIA. 2. Nmero Cupom FINAL: Varivel String por referncia com 6(seis) posies para receber o nmero do ltimo cupom Emitido. 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_COO_Inicial As String Dim Str_COO_Final As String Str_COO_Inicial = Space(6) Str_COO_Final = Space(6) Int_Retorno = Daruma_FI_COO(Str_COO_Inicial, Str_COO_Final) TX_Retorno.Text = " COO Inicial:" + Str_COO_Inicial + " COO Final:" + Str_COO_Final Exemplo em Delphi 7.0: var Str_COO_Inicial: String; Str_COO_Final: String; begin SetLength (Str_COO_Inicial,6); SetLength (Str_COO_Final,6); Int_Retorno := Daruma_FI_COO (Str_COO_Inicial, Str_COO_Final); Edit1.Lines.Text := pchar(' COO Inicial:' + Str_COO_Inicial + ' COO Final:' + Str_COO_Final);

Daruma Automao

137

Daruma Framework

1.9.6.38 Daruma_FI_MinutosImprimindo(ndice 1430)


Definio do Mtodo: Retorna o tempo em minutos que a impressora est ou esteve imprimindo. Parmetros do Mtodo: Minutos Imprimindo: Varivel String por referncia com 4(quatro) posies para receber os minutos em impresso. 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_MinutosImprimindo(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_MinutosImprimindo(Str_Informacao); Edit1.lines.Text := (Str_Informacao);

1.9.6.39 Daruma_FI_MinutosLigada(ndice 1429)


Definio do Mtodo: Retorna o tempo em minutos que a impressora est ligada. Parmetros do Mtodo: Minutos Ligada: Varivel String por referncia com 4(quatro) posies para receber os minutos em que a impressora est 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. Obsercao: - Na FS600 este mtodo retornar sempre zero. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(4) Int_Retorno = Daruma_FI_MinutosLigada(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_MinutosLigada(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

Daruma Automao

Daruma Framework

138

1.9.6.40 Daruma_FI_NumeroSubstituicoesProprietario(ndice 1422)


Definio do Mtodo: Retorna o nmero de substituies de proprietrio. Parmetros do Mtodo: Substituies: Varivel String por referncia com 4(quatro) posies para receber o nmero de substituies. 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_NumeroSubstituicoesProprietario(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_NumeroSubstituicoesProprietario(Str_Informacao); Edit1.lines.Text := (Str_Informacao);

1.9.6.41 Daruma_FI_NumeroIntervencoes(ndice 1421)


Definio do Mtodo: Retorna o nmero de intervenes tcnicas realizadas na impressora. Parmetros do Mtodo: Intervenes: Varivel String por referncia com 4(quatro) posies para receber o nmero de intervenes. 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_NumeroIntervencoes(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_NumeroIntervencoes(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

Daruma Automao

139

Daruma Framework

1.9.6.42 Daruma_FI_NumeroReducoes(ndice 1420)


Definio do Mtodo: Retorna o nmero de redues Z realizadas na impressora. Parmetros do Mtodo: Redues: Varivel String por referncia com 4(quatro) posies para receber o nmero de Redues Z. 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_NumeroReducoes(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_NumeroReducoes(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.43 Daruma_FI_NumeroCuponsCancelados(ndice 1419)


Definio do Mtodo: Retorna o nmero de cupons cancelados. Parmetros do Mtodo: Cupons Cancelados: Varivel String por referncia com o tamanho de 4(quatro) posies para receber o nmero de cupons cancelados. 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_NumeroCuponsCancelados(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_NumeroCuponsCancelados(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

Daruma Automao

Daruma Framework

140

1.9.6.44 Daruma_FI_NumeroOperacoesNaoFiscais(ndice 1418)


Definio do Mtodo: Retorna o nmero de operaes no fiscais executadas na impressora. Parmetros do Mtodo: Operaes: Varivel String por referncia com 6(seis) posies para receber o nmero de operaes. 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(6) Int_Retorno = Daruma_FI_NumeroOperacoesNaoFiscais(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_NumeroOperacoesNaoFiscais(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.45 Daruma_FI_DataHoraImpressora(ndice 1434)


Definio do Mtodo: Retorna a data e a hora atual da impressora. Parmetros do Mtodo: 1. Data: Varivel String por referncia com 6(seis) posies para receber a data atual da impressora no formato ddmmaa. 2. Hora: Varivel String por referncia com 6(seis) posies para receber a hora atual da impressora no formato hhmmss. 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_Data As String Dim Str_Hora As String Str_Data = Space(6) Str_Hora = Space(6) Int_Retorno = Daruma_FI_DataHoraImpressora(Str_Data, Str_Hora) TX_Retorno.Text = " Data:" + Str_Data + " Hora:" + Str_Hora Exemplo em Delphi 7.0: var Str_Data: String; Str_Hora: String; begin SetLength (Str_Data,6); SetLength (Str_Hora,6);

Daruma Automao

141

Daruma Framework

Int_Retorno := Daruma_FI_DataHoraImpressora(Str_Data, Str_Hora ); Edit1.Lines.Text := Pchar(' Data: ' + Str_Data + ' Hora: ' + Str_Hora);

1.9.6.46 Daruma_FI_DataHoraReducao(ndice 1437)


Definio do Mtodo: Retorna a data e a hora da ltima Reduo Z. Parmetros do Mtodo: 1. Data Reduo: Varivel String por referncia com 6(seis) posies para receber a data da ltima reduo no formato ddmmaa. 2. Hora Reduo: Varivel String por referncia com 6(seis) posies parar eceber a hora da ltima reduo no formato hhmmss. 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_Data_Rdz As String Dim Str_Hora_Rdz As String Str_Data_Rdz = Space(6) Str_Hora_Rdz = Space(6) Int_Retorno = Daruma_FI_DataHoraReducao(Str_Data_Rdz, Str_Hora_Rdz) TX_Retorno.Text = " Data:" + Str_Data_Rdz + " Hora:" + Str_Hora_Rdz 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_FI_DataHoraReducao(Str_Data_Rdz, Str_Hora_Rdz ); Edit1.Lines.Text := pchar(' Data:' + Str_Data_Rdz + ' Hora:' + Str_Hora_Rdz);

1.9.6.47 Daruma_FI_DataMovimento(ndice 1438)


Definio do Mtodo: Retorna a data do ltimo movimento. Parmetros do Mtodo: Data Movimento: Varivel por refrencia 6(seis) posies para receber a data do movimento no formato ddmmaa. 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 retornar na FS600 010100 caso o dia no tenha sido aberto. - J na FS345 ser retornado 000000.

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);

1.9.6.48 Daruma_FI_ContadoresTotalizadoresNaoFiscais(ndice 1435)


Definio do Mtodo: Retorna o nmero de vezes em que os totalizadores no sujeitos ao ICMS foram usados. Parmetros do Mtodo: Contadores: Varivel por refrencia com 44(quarenta e quatro) posies para receber os contadores dos totalizadores. 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: - A impressora fiscal Daruma, permite a programao de at 50 totalizadores no fiscais, porm esse Mtodo retorna somente os contadores dos 9 primeiros totalizadores cadastrados. - O contedo da varivel retornada ser 36 dgitos separados de 4 em 4 por vrgura que representam os 9 primeiros totalizadores. Ex.: "0001,0003,0001,0005,0004,0002,0003,0004,0007" - O primeiro valor corresponde ao nmero de vezes que o totalizador 01 foi usado, o segundo corresponde ao totalizador 02 e assim sucessivamente. A contagem Inicia-se do contador 03 em diante pois o 01 e 02 sempre sera Sangria e Suprimento. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(44) Int_Retorno = Daruma_FI_ContadoresTotalizadoresNaoFiscais(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,44); Int_Retorno := Daruma_FI_ContadoresTotalizadoresNaoFiscais(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.49 Daruma_FI_LerAliquotasComIndice(ndice 1483)


Definio do Mtodo: Retorna as alquotas cadastradas na impressora com o Indice indicativo se a mesma esta cadastrada no ISS ou no ICMS. Parmetros do Mtodo: Alquotas: Varivel por refrencia com o tamanho de 300(trezentas) posies para receber as alquotas.

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);

1.9.6.50 Daruma_FI_VendaBruta(ndice 1490)


Definio do Mtodo: Retorna o valor Total Bruto Vendido at o momento do referido movimento. Parmetros do Mtodo: Venda Bruta: Varivel por refrencia com 18(dezoito) posies para receber o valor da venda bruta 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. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(18) Int_Retorno = Daruma_FI_VendaBruta(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_VendaBruta(Str_Informacao ); Edit1.Lines.Text := (Str_Informacao);

1.9.6.51 Daruma_FI_VendaBrutaAcumulada(ndice 1498)


Definio do Mtodo: Retorna o Valor da Venda Bruta Acumulada na Memria Fiscal do ECF, referente ao ltimo movimento. Parmetros do Mtodo: Venda Bruta Acumulada: Varivel por refrencia com 18(dezoito) posies para receber o valor da venda bruta acumulada na MF, at a ltima ReduoZ com 2 casas decimais.

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).

Exemplos: Exemplo em Visual Basic 6.0:

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);

1.9.6.52 Daruma_FI_GrandeTotal(ndice 1414)


Definio do Mtodo: Retorna o valor do Grande Total da impressora. Parmetros do Mtodo: Grande Total: Varivel por refrencia com 18(dezoito) posies para receber o valor do grande total 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. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(18) Int_Retorno = Daruma_FI_GrandeTotal(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_GrandeTotal(Str_Informacao ); Edit1.Lines.Text := (Str_Informacao);

1.9.6.53 Daruma_FI_Descontos(ndice 1415)


Definio do Mtodo: Retorna a valor acumulado dos descontos. Parmetros do Mtodo: Descontos: Varivel por refrencia com 14(quatorze) posies para receber o valor dos descontos com 2

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);

1.9.6.54 Daruma_FI_Acrescimos(ndice 1441)

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

1.9.6.55 Daruma_FI_Cancelamentos(ndice 1416)


Definio do Mtodo: Retorna o valor acumulado dos itens e dos cupons cancelados, referente ao movimento atual. Parmetros do Mtodo: Cancelamentos: Varivel por refrencia com 14(quatorze) posies para receber o valor dos cancelamentos 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. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(14) Int_Retorno = Daruma_FI_Cancelamentos(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_Cancelamentos(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.56 Daruma_FI_DadosUltimaReducao(ndice 1410)


Definio do Mtodo: Retorna os dados da impressora no momento da ltima Reduo Z. Parmetros do Mtodo: Dados Reduo: Varivel por refrencia com o tamanho de 631(seiscentos e trinta e uma) posies para receber os dados da ltima reduo. 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 ir retornar valores, no campo acrscimos, 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 - So retornados os valores das seguintes informaes separados por vrgulas:

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);

1.9.6.57 Daruma_FI_SubTotal(ndice 1408)


Definio do Mtodo: Retorna o valor do subtotal do cupom. Parmetros do Mtodo: SubTotal: Varivel por refrencia com o tamanho de 14(quatorze) posies para receber o subtotal do cupom. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o mtodo.

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);

1.9.6.58 Daruma_FI_Troco(ndice 1450)


Definio do Mtodo: Retorna o valor do Troco do cupom. Parmetros do Mtodo: Troco: Varivel por refrencia com o tamanho de 18(dezoito) posies para receber o troco do cupom. 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 dever estar aberto; Este mtodo deve ser executado, emediatamente aps o mtodo Daruma_FI_EfetuaFormaPagamento; Caso este mtodo seja executado como cupom fechado, ser devolvido zero no valor retornado. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(18) Int_Retorno = Daruma_FI_Troco(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_Troco(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.59 Daruma_FI_SaldoAPagar(ndice 1449)


Definio do Mtodo: Retorna o valor do Saldo a Pagar do cupom. Parmetros do Mtodo: Saldo: Varivel por refrencia com o tamanho de 18(dezoito) posies para receber o saldo do cupom. 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

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);

1.9.6.60 Daruma_FI_RetornoAliquotas (ndice 1406)


Definio do Mtodo: Retorna as alquotas cadastradas na impressora. Parmetros do Mtodo: Alquotas: Varivel por refrencia com o tamanho de 79(setenta e nove) posies para receber as alquotas. 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: - As alquotas retornadas estaro separadas por vrgula. Ex.: 1200, 1700, 0500, 1800 Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(79) Int_Retorno = Daruma_FI_RetornoAliquotas(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_RetornoAliquotas(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.61 Daruma_FI_ValorPagoUltimoCupom (ndice 1433)


Definio do Mtodo: Retorna o valor pago no ltimo cupom. Parmetros do Mtodo: Valor: Varivel por refrencia com 14(quatorze) posies para receber o valor pago no ltimo cupom. 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

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);

1.9.6.62 Daruma_FI_UltimaFormaPagamento (ndice 1473)


Definio do Mtodo: Retorna a ultima forma de pagamento e tambm o valor que foi pago. Parmetros do Mtodo: - Forma Pagamento: Varivel por refrencia com 16(dezeseis) posies para a descrio da Forma de Pagamento. - Valor: Varivel por refrencia com 14(quatorze) posies para receber o valor pago. 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) Int_Retorno = Daruma_FI_UltimaFormaPagamento(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); Int_Retorno := Daruma_FI_UltimaFormaPagamento(Str_Descricao_da_Forma, Str_Valor_da_Forma); Edit1.Lines.Text := pchar(Str_Descricao_da_Forma + ' = ' + Str_Valor_da_Forma);

1.9.6.63 Daruma_FI_ValorFormaPagamento (ndice 1446)


Definio do Mtodo: Retorna o valor acumulado em uma determinada forma de pagamento. Parmetros do Mtodo: Forma Pagamento: Varivel por refrencia com at 16(dezeseis) posies com a descrio da Forma de

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));

1.9.6.64 Daruma_FI_ValorTotalizadorNaoFiscal (ndice 1447)


Definio do Mtodo: Retorna o valor acumulado em um determinado totalizador no fiscal. Parmetros do Mtodo: Totalizador: Varivel por refrencia com at 19(dezenove) posies com a descrio do Totalizador. Valor: Varivel por refrencia com 14(quatorze) posies para receber a informao. 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. -25: Totalizador no programado. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Totalizador_Nao_Fiscal As String Dim Str_Valor_Totalizador As String Str_Totalizador_Nao_Fiscal = Space(19) Str_Valor_Totalizador = Space(14) Str_Totalizador_Nao_Fiscal = InputBox("Entre com a Descrio do Totalizador a ser consultado:", "Daruma Framework", "Conta de Luz") Int_Retorno = Daruma_FI_ValorTotalizadorNaoFiscal(Str_Totalizador_Nao_Fiscal, Str_Valor_Totalizador) TX_Retorno.Text = Str_Totalizador_Nao_Fiscal + " = " + Str_Valor_Totalizador Exemplo em Delphi 7.0: var Str_Totalizador_Nao_Fiscal: String;

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);

1.9.6.65 Daruma_FI_UltimoItemVendido (ndice 1423)


Definio do Mtodo: Retorna o nmero do ltimo item vendido. Parmetros do Mtodo: ltimo Item: Varivel por refrencia com 4(quatro) posies para receber o nmero do ltimo item vendido. 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_UltimoItemVendido(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_UltimoItemVendido(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.66 Daruma_FI_TipoUltimoDocumento (ndice 1493)


Definio do Mtodo: Retorna o tipo do ltimo cupom emitido. Que poder ser: CPF Cupom Fiscal CNF Comprovante No Fiscal LXG Leitura X Gerencial LRG Leitura X Relatorio Gerencial CNV comprovante No Fiscal Vinculado (TEF) LMF Leitura Memria Fiscal LXX Leitura X comum, sem relatorio gerencial LRZ Reduo Z Parmetros do Mtodo: ltimo Item: Varivel por refrencia com 3(trs) posies para receber o nmero do ltimo item vendido. Este Mtodo retornar um dos Valores Inteiros listados Abaixo:

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);

1.9.6.67 Daruma_FI_MapaResumo(ndice 602)


Definio do Mtodo: Gera o relatrio "Mapa Resumo" referente ao movimento do dia. As informaes sero geradas no arquivo RETORNO.TXT no diretrio configurado no parmetro "path" na chave do Registry. O diretrio default configurado o diretrio raiz (C:\). Parmetros da Funo: 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 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. - As informaes contidas no mapa resumo podem variar de Estado para Estado. Essa funo gera o relatrio com as informaes padres que so usadas na maioria dos Estados. O relatrio gerado ter o seguinte layout: Contador de Reduo Z..: COO....................: Venda Bruta............: Venda Lquida..........: Cancelamentos..........: Acrscimos.............: 0480 000110 0,00 0,00 0,00 0,00

Daruma Automao

Daruma Framework

154

Descontos..............: ISS....................: Iseno................: No Incidncia.........: Substituio Tributria: 1200...................:

0,00 0,00 0,00 - II 0,00 - NN 0,00 - FF 0,00 - Aliquota

- 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);

1.9.6.68 Daruma_FI_RelatorioTipo60Analitico(ndice 605)


Definio do Mtodo: Gera o relatrio "Tipo 60 analtico" exigido pelo convnio de ICMS 85/2001. As informaes sero geradas no arquivo RETORNO.TXT no diretrio configurado no parmetro "path" na Chave do Registry. O diretrio default o diretrio raiz (C:\). Parmetros da Funo: 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 relatrio gerado ter o seguinte layout: Tipo do relatrio.........: Subtipo...................: Data de emisso...........: Nmero de srie...........: Cancelamentos.............: Descontos.................: 60 A 09/09/05 000000000036861 0,00 0,00

Daruma Automao

155

Daruma Framework

F.........................: I.........................: N.........................: 1200......................: ISS.......................:

0,00 0,00 0,00 0,00 0,00

- 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);

1.9.6.69 Daruma_FI_RelatorioTipo60Mestre(ndice 606)


Definio do Mtodo: Gera o relatrio "Tipo 60 Mestre" exigido pelo convnio de ICMS 85/2001. As informaes sero geradas no arquivo RETORNO.TXT no diretrio configurado no parmetro "path" na chave do registry. O diretrio default o diretrio raiz (C:\). Parmetros da Funo: 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 relatrio gerado ter o seguinte layout:

Tipo do relatrio.........: Subtipo...................: Data de emisso...........: Nmero de srie...........: Nmero do equipamento.....: Modelo do documento fiscal: COO inicial...............: M

60

09/09/05 000000000036861 0013 2D 000111

Daruma Automao

Daruma Framework

156

COO final.................: Contador de redues......: Reinicio de Operacao......: Venda Bruta...............: Totalizador geral.........:

000125 0480 0388 0,00 4.135.406,04

- 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);

1.9.6.70 Daruma_FI_FlagsFiscais(ndice 1428)


Definido do Mtodo: Retorna um nmero referente ao flag fiscal da impressora. Veja discriminao abaixo. Parmetros do Mtodo: FlagFiscal: Varivel inteira para receber um nmero representando o flag fiscal da impressora. Veja discriminao abaixo. 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: - Discriminao dos valores para o flag fiscal: Descrio Valor Cupom fiscal aberto 1 Fechamento de formas de pgto iniciado 2 Horrio de vero selecionado 4 J houve reduo Z no dia 8 Permite cancelar cupom fiscal 32 Memria fiscal sem espao 128 - Os valores podem vir somados o que indica mais de um estado. - Por Exemplos se o cupom estiver aberto e o horrio de vero selecionado ento o flag vir = 37. Exemplos: Exemplo em Visual Basic 6.0: Int_Informacao = 0 Int_Retorno = Daruma_FI_FlagsFiscais(Int_Informacao) TX_Retorno.Text = Int_Informacao

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);

1.9.6.71 Daruma_FI_PalavraStatus(ndice 1481)


Definio do Mtodo: Retorna o Status do ECF em Bytes 12 Bytes) Parmetros do Mtodo: String com 12 Posies para receber a palavra de status Ex. A4C60C000000. 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 12 Caracteres ASCII no Seguinte Formato. Byte Byte Byte Byte Byte Byte Byte Byte Byte Byte Byte Byte 1 (S1) - S1 Significa STATUS 1 2 (S2) 3 (S3) 4 (S4) 5 (S5) 6 (S6) 7 (S7) 8 (S8) 9 (S9) 10 (S10) 11 (S11) 12 (S12)

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

zero zero zero zero

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);

1.9.6.72 Daruma_FI_FlagsFiscaisStr(ndice 1479)


Definido do Mtodo: Retorna um nmero referente ao flag fiscal da impressora. Veja discriminao abaixo. Parmetros do Mtodo: FlagFiscal: Varivel string por referncia para receber um nmero representando o flag fiscal da impressora. Veja discriminao abaixo. 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: - Discriminao dos valores para o flag fiscal: Descrio Valor Cupom fiscal aberto 1 Fechamento de formas de pgto iniciado 2 Horrio de vero selecionado 4 J houve reduo Z no dia 8 Permite cancelar cupom fiscal 32 Memria fiscal sem espao 128 - Os valores podem vir somados o que indica mais de um estado. - Por Exemplos se o cupom estiver aberto e o horrio de vero selecionado ento o flag vir = 37. Exemplos: Exemplo em Visual Basic 6.0: Int_Informacao = 0 Int_Retorno = Daruma_FI_FlagsFiscaisStr(Int_Informacao) TX_Retorno.Text = Int_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);

1.9.6.73 Daruma_FI_SimboloMoeda(ndice 1427)


Definio do Mtodo: Retorna o smbolo da moeda cadastrada na impressora. Parmetros do Mtodo: Smbolo Moeda: Varivel por refrencia com 2(duas) posies para receber o smbolo da moeda. 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(2) Int_Retorno = Daruma_FI_SimboloMoeda(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_SimboloMoeda(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.74 Daruma_FI_RetornoImpressora(ndice 1402)


Definio do Mtodo: L o retorno da impressora referente ao ltimo mtodo enviado. Parmetros do Mtodo: 1. ACK: Varivel INTEIRA para receber o primeiro byte. 2. ST1: Varivel INTEIRA para receber o segundo byte. 3. ST2: Varivel INTEIRA para receber o terceiro byte. 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 usado aps a execuo de qualquer outro Mtodo. Este Mtodo devolve Retorno da Impressora ou seja os valores do ST1 e do ST2 . Exemplos: Exemplo em Visual Basic 6.0: Global Int_Retorno As Integer Global Int_Ack As Integer Global Int_St1 As Integer

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 );

1.9.6.75 Daruma_FI_RetornaErroExtendido(ndice 1472)


Definio do Mtodo: Retorna o Erro Extendido do ECF, alm do ST1 e ST2 retorna uma Tabela Completa de Erros. Parmetros do Mtodo: String: Com 4 Posies que ir conter o Cdigo de Erro Extendido que o ECF retorna. Retorna 999 caso tenha a DLL retorne TIME-OUT. Retorna a String original passada, com VAZIOS, caso NO HAJA ERRO. 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. Tabela de Erro Retornada: ================================================================ 00 IF em modo Manuteno. Foi ligada sem o Jumper de Operao 01 Mtodo disponvel somente em modo Manuteno 02 Erro durante a gravao da Memria Fiscal 03 Memria Fiscal esgotada 04 Erro no relgio interno da IF 05 Falha mecnica na IF 06 Erro durante a leitura da Memria Fiscal 07 Metodo permitido apenas em modo fiscal (IF sem jmper) 10 Documento sendo emitido 11 Documento no foi aberto 12 No existe documento a cancelar 13 Dgito no numrico no esperado, foi encontrado nos Parmetros do Mtodo 14 No h mais memria disponvel para esta operao/No h nenhuma posio de mria disponvel. 15 Item a cancelar no foi encontrado 16 Erro de sintaxe no mtodo 17 "Estouro" de capacidade numrica (overflow) 18 Selecionado totalizador tributado com alquota de imposto no definida 19 Memria Fiscal vazia

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

SetLength (Str_Informacao,4); Int_Retorno := Daruma_FI_RetornaErroExtendido(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.76 Daruma_FI_RetornaAcrescimoNF(ndice 1451)


Definio do Mtodo: Retorna o valor acumulado no totalizador de Acrescimos No Fiscais. (14 Posies). Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 14(quatorze) posies para receber o acrescimoNF. 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_RetornaAcrescimoNF(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_RetornaAcrescimoNF(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.77 Daruma_FI_RetornaCFCancelados(ndice 1452)


Definio do Mtodo: Retorna a Quantidade de Cupons Fiscais Cancelados (4 dgitos). Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 4(quatro) posies para receber os CFcancelados. 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_RetornaCFCancelados(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_RetornaCFCancelados(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

Daruma Automao

Daruma Framework

164

1.9.6.78 Daruma_FI_RetornaCNFCancelados(ndice 1453)


Definio do Mtodo: Retorna a Quantidade de Cupons Nao Fiscais Cancelados (4 dgitos) Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 4(quatro) posies para receber os CNFcancelados. 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_RetornaCNFCancelados(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_RetornaCNFCancelados(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.79 Daruma_FI_RetornaCLX(ndice 1454)


Definio do Mtodo: Retorna contador de LeituraX - Quantidade de Vezes em foram emitidas LeituraX no dia. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 4(quatro) posies para receber o CLX contador de leiturasXs emitidas. 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 no est disponvel para a FS600 e FS2100T e retorn sempre 0000.

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

Int_Retorno := Daruma_FI_RetornaCLX(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.80 Daruma_FI_RetornaCNFNV(ndice 1455)


Definio do Mtodo: Retorna o Valor Acumulado nos Comprovantes No Fiscais No Vinculados (14 dgitos) em cada sequncia e por sua vez um contador de 4 dgitos indicando a quantidade de vezes em que foram utilizados no ECF. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 304(trezentas e quatro) posies para receber o CNFNV contador de comprovantes no fiscais no vinculados emitidos. 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 os 16 Totalizadodes No Fiscais No Vinculados (CNFNV) na seguinte Ordem 16 Blocos composto de: 14 bytes Valor Acumulado no Comprovante No Fiscal No Vinculado..........: 14 bytes - Recebimento No Fiscal. 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_RetornaCNFNV(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_RetornaCNFNV(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.81 Daruma_FI_RetornaCNFV(ndice 1456)


Definio do Mtodo: Retorna o Valor Acumulado nos Comprovantes No Fiscais Vinculados (14 dgitos) em cada sequncia e por sua vez um contador de 4 dgitos indicando a quantidade de vezes em que foram utilizados no ECF. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 304(trezentas e quatro) posies para receber o CNFV contador de comprovantes no fiscais vinculados emitidos. 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.

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);

1.9.6.82 Daruma_FI_RetornaDescicaoCNFV(ndice 1497)


Definio do Mtodo: Retorna o Valor Acumulado nos Comprovantes No Fiscais Vinculados (14 dgitos) em cada sequncia e por sua vez um contador de 4 dgitos indicando a quantidade de vezes em que foram utilizados no ECF. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 336 (trezentas e trinta e seis) posies para receber as descries dos CNFV comprovantes no fiscais vinculados cadastrados, no 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 retorna os 16 Descries dos Comprovantes No Fiscais Vinculados (CNFV) na seguinte Ordem 16 Blocos composto de: 21 bytes para cada descrio. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(336) Int_Retorno = Daruma_FI_RetornaDescricaoCNFV(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,336); Int_Retorno := Daruma_FI_RetornaDescricaoCNFV(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

Daruma Automao

167

Daruma Framework

1.9.6.83 Daruma_FI_RetornaCRO(ndice 1457)


Definio do Mtodo: Retorna a quantidade de Vezes em que se Reiniciou a Operao no ECF. CRO - Contador de Reincio de Operaoo - Geralmente quando se cadastra um Novo Usurio no ECF. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 4(quatro) posies para receber o CRO contador de reinico de operaes. 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_RetornaCRO(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_RetornaCRO(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.84 Daruma_FI_RetornaCRZ(ndice 1458)


Definio do Mtodo: Retorna a quantidade de Vezes em que se Realizou uma Reduo Z. CRZ - Contador de Reduo Z. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 4(quatro) posies para receber o CRZ contador de ReduesZ`s emitidas. 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_RetornaCRZ(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_RetornaCRZ(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

Daruma Automao

Daruma Framework

168

1.9.6.85 Daruma_FI_RetornaCRZRestante(ndice 1459)


Definio do Mtodo: Retorna a quantidade Reduo Z Restante. CRZ - Contador de Reduo Z. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 4(quatro) posies para receber o CRZRestante contador de ReduesZs Restantes. 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_RetornaCRZRestante(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_RetornaCRZRestante(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.86 Daruma_FI_RetornaCancelamentoNF(ndice 1460)


Definio do Mtodo: Retorna o Valor acumulado que indica o Total em Reais dos cancelamentos no fiscais Realizados Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 14(quatorze) posies para receber os CancelamentosNF. 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_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

1.9.6.87 Daruma_FI_RetornaDescontoNF(ndice 1461)


Definio do Mtodo: Retorna o Valor acumulado que indica o Total em Reais dos descontos no fiscais Realizados. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 14(quatorze) posies para receber os DescontosNF. 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_RetornadescontoNF(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_RetornaDescontoNF(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.88 Daruma_FI_RetornaGNF(ndice 1462)


Definio do Mtodo: Retorna a quantidade de vezes em que foram emitidos Documentos No Fiscais. (O que no Cupom Fiscal) Ex: Relatorio Gerencial, Vinculado, Receber valor agua, (recebimento no fiscal), Sangria, Suprimento, etc.. GNF - Geral No Fiscal Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 6(seis) posies para receber os GNFs. 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(6) Int_Retorno = Daruma_FI_RetornaGNF(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_RetornaGNF(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

Daruma Automao

Daruma Framework

170

1.9.6.89 Daruma_FI_RetornaTempoImprimindo(ndice 1463)


Definio do Mtodo: Retona o Tempo em que esteve imprimindo documentos (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 ficou imprimindo. 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_RetornaTempoImprimindo(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_RetornaTempoImprimindo(Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.90 Daruma_FI_RetornaTempoLigado(ndice 1464)

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

1.9.6.91 Daruma_FI_RetornaTotalPagamentos(ndice 1465)

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));

1.9.6.92 Daruma_FI_RetornaTroco(ndice 1466)


Definio do Mtodo: Retorna o Valor Acumulado no acumulador Troco da Impressora, com 14 dgitos. Parmetros do Mtodo: String: Varivel por refrencia com o tamanho de 14(quatorze) posies para receber o valor do troco. 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 acumulador Troco, incrementado ao longo do movimento do dia, e zerado aps a emisso da ReduoZ. Exemplos: Exemplo em Visual Basic 6.0: Str_Informacao = Space(14) Int_Retorno = Daruma_FI_RetornaTroco(Str_Informacao) TX_Retorno.Text = Str_Informacao Exemplo em Delphi 7.0:

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);

1.9.6.93 Daruma_FI_RetornaRegistradoresNaoFiscais(ndice 1499)


Definio do Mtodo: Retorna o Valor da CADA Registrador no Fiscal do ECF. Veja a descrio Abaixo Parmetros do Mtodo: String: com 950(novecantas e cinquenta) posies onde a dll ir retornar o valor de CADA TOTALIZADOR ou REGISTRADOR no fiscal do 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 retorna as informaes dos Registradores no Fiscais, cada registrador separado pelo carctere Separador que voc escolher ou programar na dll (o Default ";") (carctere Separador, conforme configurado no Registry com o Mtodo Daruma_Registry_Separador.)

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

15 Posies 15 Posies 15 Posies

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

5 Posies 5 Posies 11 Posies 11 Posies

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

SetLength (Str_Informacao,950); Int_Retorno := Daruma_FI_RetornaREgistradoresNaoFiscais( Str_Informacao); Edit1.Lines.Text := (Str_Informacao);

1.9.6.94 Daruma_FI_RetornaRegistradoresFiscais(ndice 1485)


Definio do Mtodo: Retorna o Valor da CADA Registrador Fiscal do ECF. Veja a descrio Abaixo Parmetros do Mtodo: String: com 400(quatrocentas) posies onde a dll ir retornar o valor de CADA TOTALIZADOR ou REGISTRADOR no fiscal do 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 retorna as informaes dos Registradores Fiscais, cada registrador separado pelo carctere Separador que voc escolher ou programar na dll (o Default ";") (carctere Separador, conforme configurado no Registry com o Mtodo Daruma_Registry_Separador1.) CAMPO Tamanho Separador Tamanho ToTal

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

19 Pocies 15 Posies 15 Posies 15 Posies 15 Posies 15 Posies 225 Posies

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);

1.9.6.95 Daruma_FI_RetornaValorComprovanteNaoFiscal(ndice 1495)


Definio do Mtodo: Retorna o Valor de um Comrpovante No Fiscal do ECF. Veja a descrio Abaixo

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));

1.9.6.96 Daruma_FI_RetornaIndiceComprovanteNaoFiscal(ndice 1496)


Definio do Mtodo: Retorna o ndice de um Comprovante No Fiscal do ECF. Veja a descrio Abaixo Parmetros do Mtodo: String: com a descrio do Comprovante No Fiscal, que se deseja saber o seu ndice String: com 2(duas) posies para receber o ndice do Comprovante selecionado. 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_CNF As String Str_Informacao = Space(2) Str_Descricao_CNF = InputBox("Entre com a Descrio do Comprovante No Fiscal para saber o ndice:", "Daruma Framework", "Conta de Luz") Int_Retorno = Daruma_FI_RetornaIndiceComprovanteNaoFiscal(Str_Descricao_CNF, Str_Informacao) TX_Retorno.Text = CStr(CInt(Str_Informacao)) Exemplo em Delphi 7.0: var Str_Descricao_CNF: String; str_Informacao: String; begin SetLength (Str_Informacao,2); Str_Descricao_CNF:= InputBox('Entre com a Descricao do Comprovante Nao Fiscal para saber o Indice:', 'Daruma Framework', 'Conta de Luz'); Int_Retorno := Daruma_FI_RetornaIndiceComprovanteNaoFiscal (Str_Descricao_CNF ,

Daruma Automao

Daruma Framework

176

Str_Informacao); Edit1.Lines.Text :=(pchar(Str_Informacao)); end;

1.9.6.97 Daruma_FI_RetornarVersaoDLL(ndice 1502)


Definio do Mtodo: Retorna a verso da DLL, vlido para o produto fiscal. Parmetros do Mtodo: String: com 8(oito) posies para receber a verso fiscal da DLL. 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: var Str_Informacao: String; begin SetLength (Str_Informacao,10); Int_Retorno := Daruma_FI_RetornarVersaoDll(Str_Informacao); Edit1.Lines.Text := Str_Informacao; Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end; Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,10); Int_Retorno := Daruma_FI_RetornarVersaoDll(Str_Informacao); Edit1.Lines.Text := Str_Informacao; Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

1.10

Mtodos Exclusivos para a Impressora MFD

1.10.1 Daruma_FIMFD_DownloadDaMFD (ndice 6004)


Definio do Mtodo: Este mtodo gera um arquivo com o nome de Retorno.txt no path que estiver configurado no registry Daruma_Registry_Path(ndice 2), com a 2(segunda) via dos cupons que esto no range informado desde o COO inicial at o COO final. Parmetros do Mtodo: COO Inicial. String com o nmero do primeiro COO. COO Final. String com o nmero do ltimo COO. 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 Download da MFD s ser possvel na FS600/FS2100T verso de firmware 1.01 ou superior. Exemplo de retorno:

Daruma Automao

177

Daruma Framework

No exemplo abaixo de um Suprimento(COO->1599). Como se pode ver fielmente a imagem do cupom.

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;

1.10.2 Daruma_FIMFD_RetornaInformacao (ndice 6000)


Definio do Mtodo: Este mtodo permite que voc pegue qualquer informao no que diz respeito s configuraes da impressora. Parmetros do Mtodo: Variveis String por referncia para receber as informacoes solicitadas.

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;

Tabela das informaes que podem serem obtidas C Tamanho


1 2 18 18

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

3 28 x 13 + NS2 (alquotas) 4 5 Daruma Automao 3 x 13 3 x 13

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

GNF - Contador dos documentos No Fiscais (ex: sangria, suprimentos e

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

ECF Configurao: 1 se em H.Vero, 0 se no Configurao: 1 se desconto em ISS habilitado, 0 se no

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

Configurao: 1 se descrio em 1 linha habilitado, 0 se no Configurao: 1 se imprime zeros no significativos na quantidade, 0 se

Configurao: 1 se imprime zeros no significativos no valor unitrio, 0 se

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

132At 49+49+121 A 1332 13414 1354 At 7250 1363 N N NB N

Daruma Framework

184

1376 13810 1392 unitrio

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

Informaes da ltima RZ Data do Movimento 18 18 14 14 14 14 14 14 224 14 14 14 14 14 14 14 14 14 14 14 14 280 14 14 14 80 4 4 4 6 6 6 6 6 6 6 4 4 4 4 4 4 4 80 80

Pgina de cdigo atual -> 0-COM 1-CP850 2-ABICOMP 3-CP437

Daruma Automao

185

Daruma Framework

1.10.3 Daruma_FIMFD_ImprimeCodigoBarras (ndice 6001)


Definio do Mtodo: Este mtodo permite a impresso dos cdigos de barras nas MFDs FS600 e FS2100T. Esta impresso poder ser feita partir de qualquer documento no fiscal que esteja aberto, exemplos: gerncial, no fiscal vinculado. Parmetros do Mtodo: (5 Parmetros) 1. Cdigo: Varivel String com 2(dois) dgitos contendo o cdigo do tipo de cdigo de barras que voc quer imprimir, conforme lista abaixo: -EAN-13 -EAN- 8 -STANDARD 2 of 5 -INTERLEAVED 2 of 5 -CODE128 -CODE39 -CODE93 -UPC-A -CODABAR MSI CODE11 2. Varivel String com o cdigo a ser impresso. Obs.: O tamando do cdigo e o tipo dos carcteres que podero serem impressos dever respeitar a lista abaixo: EAN-13 12 dgitos de 0 a 9 EAN-8 7 dgitos de 0 a 9 UPC-A 11 dgitos de 0 a 9 CODE 39 Tamanho varivel. 0-9, A-Z, '-', '.', '%', '/', '$', ' ', '+' O caracter '*' de start/stop inserido automaticamente CODE 93 Tamanho varivel. 0-9, A-Z, '-', '.', ' ', '$', '/', '+', '%' O caracter '*' de start/stop inserido automaticamente CODABAR tamanho varivel. 0 - 9, '$', '-', ':', '/', '.', '+' 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 Standard 2 of 5 Tamanho varivel. 0 a 9 MSI Tamanho varivel. 0 a 9 3. Largura da Barra: Varivel String 1(um) byte com a largura da barra a ser impressa, vov poder usar uma medida entre 2 e 5. Se for utilizado zero ser considerado 2. 4. Altura da Barra: Varivel String com 3(trs) byte com a altura da barra a ser impressa, voc poder usar uma altura entre 050 a 200. Se for utilizado 000(zero) ser considerado 050. 5. Imresso do Cdigo do Produto abaixo do da barra: Varivel String com 1(um) byte, 0(zero) no imprime 1(um) imprime.

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('================================================'));

1.10.4 Daruma_FIMFD_TerminaFechamentoCupomCodigoBarras (ndice 6005)


Definio do Mtodo: Este mtodo permite que voc termine o fechamento do cupom e inclua o cdigo de barras, nos modelos FS600 e tambm FS2100T. Parmetros do Mtodo: (6 Partremos) 1. Mensagem: Varivel String com a mengasem promocional. 2. Cdigo: Varivel String com 2(dois) dgitos contendo o cdigo do tipo de cdigo de barras que voc quer imprimir, conforme lista abaixo: -EAN-13 -EAN- 8 -STANDARD 2 of 5 -INTERLEAVED 2 of 5 -CODE128 -CODE39 -CODE93 -UPC-A -CODABAR MSI CODE11 3. Largura da Barra: Varivel String 1(um) byte com a largura da barra a ser impressa, vov poder usar uma medida entre 2 e 5. Se for utilizado zero ser considerado 2. 4. Altura da Barra: Varivel String com 3(trs) byte com a altura da barra a ser impressa, voc poder usar uma altura entre 050 a 200. Se for utilizado 000(zero) ser considerado 050. 5. Imresso do Cdigo do Produto abaixo do da barra: Varivel String com 1(um) byte, 0(zero) no imprime 1(um) imprime. 6. Varivel String com o cdigo a ser impresso. Obs.: O tamando do cdigo e o tipo dos carcteres que podero serem impressos dever respeitar a lista abaixo: EAN-13 12 dgitos de 0 a 9 EAN-8 7 dgitos de 0 a 9 UPC-A 11 dgitos de 0 a 9 CODE 39 Tamanho varivel. 0-9, A-Z, '-', '.', '%', '/', '$', ' ', '+' O caracter '*' de start/stop inserido automaticamente CODE 93 Tamanho varivel. 0-9, A-Z, '-', '.', ' ', '$', '/', '+', '%' O caracter '*' de start/stop inserido automaticamente CODABAR tamanho varivel. 0 - 9, '$', '-', ':', '/', '.', '+' 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.

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 );

1.10.5 Daruma_FIMFD_IndicePrimeiroVinculado (ndice 6003)


Definio do Mtodo: Este mtodo permite que voc saiba qual a posio do primeiro vinculado. Parmetros do Mtodo: Varivel String por referncia com 2(dois) espaos alocados para receber a posio ndice. Retornos do Mtodo: 0: Erro de comunicao, no foi possvel enviar o mtodo.

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;

1.10.6 Daruma_FIMFD_CasasDecimaisProgramada (ndice 6002)


Definio do Mtodo: Este mtodo permite que voc saiba qual o nmero de casas decimais que est programado para o valor e tambm para a quantidade na FS600 e tambm FS2100T. Parmetros do Mtodo: 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: Dim Str_Decimais_Quantidade As String Dim Str_Decimais_Valor As String Str_Decimais_Quantidade = Space(1) Str_Decimais_Valor = Space(1) Int_Retorno = Daruma_FIMFD_CasasDecimaisProgramada(Str_Decimais_Quantidade, Str_Decimais_Valor) TX_Retorno.Text = "Quantidade:" + Str_Decimais_Quantidade + Chr(13) + Chr(10) + "Valor:" + Str_Decimais_Valor Exemplo em Delphi 7.0: var Str_Quantidade: String; Str_Valor: String; begin SetLength (Str_Valor,3); SetLength (Str_Quantidade,3); Int_Retorno:= Daruma_FIMFD_CasasDecimaisProgramada(Str_Quantidade, Str_Valor); Edit1.Lines.Text := ('Quantidade:' + pchar(Str_Quantidade)+ #13+ 'Valor:' + pchar(Str_Valor)); FormPrincipal.Daruma_Analisa_Retorno(); end;

Daruma Automao

Daruma Framework

190

1.10.7 Daruma_FIMFD_StatusCupomFiscal (ndice 6008)


Definio do Mtodo: Retorna o status atual do cupom fiscal na FS600 e tambm FS2100T. Parmetros do Mtodo: Varivel por refrencia com 2(dois) espaos alocados para escrita do Status. 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: - Este mtodo ir retornar um dos seguintes status: 0 Cupom Fiscal Fechado; 1 Cupom Fiscal Aberto; 2 Cupom Fiscal em Totalizao; 3 Cupom Fiscal em Fase de Pagamento; 4 Cupom em Finalizao (ou seja, j indicou as formas de pagamento e o valor j igual ou maior que o cupom fiscal, no permite mais enviar formas de pagamento, apenas a mensagem promocional).

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);

1.10.8 Daruma_FIMFD_SinalSonoro (ndice 53)


Definio do Mtodo: Este mtodo permite que voc programe um aviso sonoro na FS600 e tambm FS2100T. Parmetros do Mtodo: Valor: Varivel String valor que equivale ao nmero de beeps (sinais) que voc que de ao final da impresso, se configurado 0(zero) ento ser desabilitado. 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: - Este mtodo ir habilitar o sinal sonoro, quando passado 1 um beep, se for passado 2 ento ter dois beeps ao trmino da impresso, se quizer trs beeps, ento passe 3. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Numero_Beeps As String Str_Numero_Beeps = InputBox("Entre com o nmero de beeps desejado, que pode ser de 1 a 99 beeps:", "Daruma Framework", "1") If (Str_Numero_Beeps = "") Then Exit Sub Daruma Automao

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);

1.10.9 Daruma_FIMFD_ProgramaRelatoriosGerenciais (ndice 6013)


Definio do Mtodo: Este mtodo permite que voc programe relatrios gerenciais nas impressoras Trmicas FS600 e tambm FS2100T. Parmetros do Mtodo: Nome Relatrio: Varivel String contendo um nome para o relatrio com at 15 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: - Na primeira posio voc sempre ter Gerencial X, que default. - O nmero mximo de relatrios que podero ser programados de 20(vinte), sendo que a primeira posio j vem programada de fbrica. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Nome_Relatorio As String Str_Nome_Relatorio = TX_Nome_Relatorio.Text Int_Retorno = Daruma_FIMFD_ProgramaRelatoriosGerenciais(Str_Nome_Relatorio) Exemplo em Delphi 7.0: var Str_Nome_Relatorio:string; begin Str_Nome_Relatorio := Nome_Relatorio.Text; Int_Retorno := Daruma_FIMFD_ProgramaRelatoriosGerenciais( pchar( Str_Nome_Relatorio ) ); end;

1.10.10 Daruma_FIMFD_AbreRelatorioGerencial (ndice 6014)


Definio do Mtodo: Este mtodo permite que voc abra um relatrio gerencial, previamente programado. Parmetros do Mtodo: Nome Relatrio: Varivel String contendo o nome do relatrio com at 15 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 Daruma Automao

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;

1.10.11 Daruma_FIMFD_VerificaRelatoriosGerenciais (ndice 6015)


Definio do Mtodo: Este mtodo permite que voc verifique os relatrios gerenciais existentes em sua impressora. Parmetros do Mtodo: String: com 321(trezentas e vinte e uma) posies onde a dll ir retornar as descries de cada relatrio gerencial programado em sua impressora. 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: Str_Informacao = Space(321) Int_Retorno = Daruma_FIMFD_VerificaRelatoriosGerenciais(Str_Informacao) TX_Retorno.Text = Str_Informacao Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,321); Int_Retorno := Daruma_FIMFD_VerificaRelatoriosGerenciais(Str_Informacao); Edit1.Lines.Text := (Str_Informacao); end;

1.10.12 Daruma_FIMFD_EmitirCupomAdicional (ndice 6016)


Definio do Mtodo: Este mtodo permite a impresso de um cupom adicional, que feito dentro de um gerencial, somente nas impressoras Trmicas FS600 e FS2100T. Portanto no compatvel com a FS345. Parmetros do Mtodo: No H. Retornos do Mtodo: Daruma Automao

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:

28/09/2006 03:15:38 GRG:000025 RELATRIO GERENCIAL Cupom Adicional

GNF:000046 COO:000234 CER:0002

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:

Exemplos: Exemplo em Visual Basic 6.0:

Exemplo em Delphi 7.0: Int_Retorno:= Daruma_FIMFD_EmitirCupomAdicional();

1.10.13 Daruma_FIMFD_AcionarGuilhotina (ndice 6017)


Definio do Mtodo: Este mtodo permite o acionamento da guilhotina nas impressoras FS600. 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.

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();

1.10.14 Daruma_FIMFD_EqualizarVelocidade (ndice 6018)


Definio do Mtodo: Este mtodo permite a re-estabelecer a comunicao com a impressora MFD. Este mtodo foi criado porque as MFD's FS600 e FS2100T permiten-se trabalhar com um range de velocidade:9600, 38400, 54700 e 115200. Assim sendo, no difcil de a impressora estar em uma velociade de comunicao e o nosso driver Daruma32.dll estar tentando comunicar-se com a impressora a uma outra velocidade. Se isso vier a ocorrer com voc, ento basta executar este mtodo, a dll ir encontrar a velocidade em que encontra-se a impressora e devolver em uma varivel passada por referncia. Parmetros do Mtodo:(1 Parmetro) EqualizaVelocidade. Varivel por referncia, com 6 espaos para receber a velocidade que esta a impressora. 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. Observao: - Este mtodo esclusivo para impressoras trmicas FS600 e FS2100T. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_EqualizaVelocidade As String Str_EqualizaVelocidade = Space(6) Int_Retorno = Daruma_FIMFD_EqualizarVelocidade(Str_EqualizaVelocidade) MsgBox "Retorno do metodo = " + Str_EqualizaVelocidade Daruma_MostrarRetorno Exemplo em Delphi 7.0: var Str_EqualizaVelocidade: String; begin SetLength (Str_EqualizaVelocidade,6); Int_Retorno:= Daruma_FIMFD_EqualizarVelocidade(Str_EqualizaVelocidade); Application.MessageBox(pchar('Retorno do metodo = ' + Str_EqualizaVelocidade), 'Daruma Framework Retorno do Metodo', mb_ok); Daruma_Analisa_Retorno(); end;

Daruma Automao

195

Daruma Framework

1.10.15 Daruma_FIMFD_AbreRecebimentoNaoFiscal(ndice ????)


Definio do Mtodo: Abre o recebimento no fiscal "CNFNV", nas impressoras MFD's FS600 e 2100T. Parmetros do Mtodo: (3 Parmetros) 1. CPF: Neste parmetro voc deve passar o CPF cliente 2. Nome: Neste parmetro voc deve passar o nome do cliente 3. Endereo: Neste parmetro voc deve passar o nome do cliente 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_FIMFD_RecebimentoNaoFiscal(ndice ????),Daruma_FIMFD_IniciaFechamentoNaoFiscal(ndice ?? ??),Daruma_FIMFD_EfetuaFormaPagamentoNaoFiscal(ndice ????), Daruma_FIMFD_TerminaFechamentoNaoFiscal(ndice ????). 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_Nome As String Dim Str_CPF As String Dim Str_Endereco As String 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(Str_Nome, Str_CPF, Str_Endereco)

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

1.10.16 Daruma_FIMFD_RecebimentoNaoFiscal(ndice ????)


Definio do Mtodo: Imprime o comprovante no fiscal no vinculado, Recebimento No Fiscal, nas impressoras MFD's FS600 e 2100T). Parmetros do Mtodo: (5 Parmetros) 1. ndice do Totalizador No Fiscal: Neste parmetro voc deve passar o ndice do totalizador com 2 dgitos. 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. 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 nico, ou seja voc no precisar chamar outro mtodo para encerr-lo. - Caso voc necessite informar mais de uma forma de pagamento ento deve-se usar o Mtodo Daruma_FIMFD_AbreRecebimentoNaoFiscal(ndice ????). Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Indice_do_Totalizador_Nao_Fiscal As String Dim Str_Acresc_ou_Desc As String Dim Str_Tipo_Acresc_Desc As String Dim Str_Valor_Acresc_Desc As String Dim Str_Valor_Recebimento As String Str_Indice_do_Totalizador_Nao_Fiscal = "03" Str_Acresc_ou_Desc = "A" Str_Tipo_Acresc_Desc = "%" Str_Valor_Acresc_Desc = "0,00" Str_Valor_Recebimento = "1,00" Int_Retorno = Daruma_FIMFD_RecebimentoNaoFiscal(Str_Indice_do_Totalizador_Nao_Fiscal, Str_Acresc_ou_Desc, Str_Tipo_Acresc_Desc, Str_Valor_Acresc_Desc, Str_Valor_Recebimento) Daruma_MostrarRetorno

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

Int_Retorno:=Daruma_FIMFD_RecebimentoNaoFiscal(pchar(Str_Indice_do_Totalizador_Nao_Fiscal),Str_ Acresc_ou_Desc,Str_Tipo_Acresc_Desc,pchar(Str_Valor_Acresc_Desc),pchar(Str_Valor_Recebimento)); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

1.10.17 Daruma_FIMFD_IniciaFechamentoNaoFiscal(ndice ????)


Definio do Mtodo: Inicia o fechamento do recebimento no fiscal com o uso das formas de pagamento, nas impressoras MFD's FS600 e 2100T). 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 = "" 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;

1.10.18 Daruma_FIMFD_EfetuaFormaPagamentoNaoFiscal(ndice ????)


Definio do Mtodo: Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma, nas impressoras MFD's FS600 e 2100T).

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

1.10.19 Daruma_FIMFD_TerminaFechamentoNaoFiscal(ndice ????)


Definio do Mtodo: Termina o fechamento do cupom com mensagem promocional, nas impressoras MFD's FS600 e 2100T). Parmetros do Mtodo: (1 Parmetro) 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_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_FIMFD_TerminaFechamentoNaoFiscal(Str_Mensagem_Promocional) Daruma_MostrarRetorno End Sub

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;

1.10.20 Daruma_FIMFD_ProgramarGuilhotina(ndice 6019)


Definio do Mtodo: Este mtodo permite que seja programada a guilhotina, na FS600. Permite tambm que seja programado o espaamento entre os documentos e tambm se o clich do proprietrio ser impressora de forma antecipada. Parmetros do Mtodo: (4 Parmetros) Linhas entre os Documentos: String com o Nmero de Linhas que voc quer de separao entre os documentos impressos. Linhas para o Acionamento da Guilhotina: String com o nmero de Linhas para o Acionamento da Guilhotina. Status da Guilhotina: Byte para Habilitar ou Desabilitar a Guilhotina sendo que 1(um) habilita e 0(zero) desabilita. Impressao Antecipada do Cliche: Byte para imprir ou no imprimir o clich de forma antecipada. Sendo que 0(zero) habilita e 1(um) desabilita. 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. Daruma Automao

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

Mtodos Exclusivos para a Impressora FS2000

1.11.1 Daruma_Registry_FS2000_CupomAdicional(ndice 35)


Definio do Mtodo: Programa a Impressora FS2000 para poder emitir um Cupom Adicional Parmetros do Mtodo: (1 Parmetro) Varivel String: - 1 Programa. - 0 Desprograma. 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: - Por Default a dll ir senpre deixar o cupom adicional desprogramado, portanto caso voc queira utiliz-lo dever chamar este mtodo no incio de seu cdigo. Exemplos:

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');

1.11.2 Daruma_Registry_FS2000_TempoEsperaCheque(ndice 45)


Definio do Mtodo: Ajusta o tempo de espera para o posicionamento impresso do cheque para a impresso. Parmetros do Mtodo: (1 Parmetro) Varivel String: Com o tempo em segundos. 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 e aplicado para obter-se mais tempo na hora de posicionar o cheque para a impresso. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Tempo_Espera_Cheque As String Str_Tempo_Espera_Cheque = InputBox("Entre com o Tempo em Segundos para esperar o Cheque ser Posicionado:", "Daruma Framework", "5") If Str_Tempo_Espera_Cheque = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_FS2000_TempoEsperaCheque(Str_Tempo_Espera_Cheque) Exemplo em Delphi 7.0: var Str_Tempo_Espera_Cheque: String; begin Str_Tempo_Espera_Cheque := InputBox('Entre com o Tempo em Segundos para esperar o Cheque ser Posicionado:', 'Daruma Framework', '5'); if Str_Tempo_Espera_Cheque = '' Then Exit; Int_Retorno := Daruma_Registry_FS2000_TempoEsperaCheque(pchar(Str_Tempo_Espera_Cheque));

1.11.3 Daruma_FI2000_StatusCheque(ndice 5015)


Definio do Mtodo: Retorna o status Cheque, se o mesmo posiocionado para impresso ou no. Parmetros do Mtodo: (1 Parmetro) 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. Exemplos: Daruma Automao

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));

1.11.4 Daruma_FI2000_ImprimirCheque(ndice 5016)


Definio do Mtodo: Imprime Cheque na FS2000. Parmetros do Mtodo: (6 Parmetros) 1. Nmero do Banco: String com 03 caracteres contendo o nmero do banco. 2. Cidade de Emisso: String com o nome da cidade de emisso do cheque. 3. Data de Emisso: String com a data de emisso do cheque, no seguinte formato dd/mm/aaaa. 4. Nome do Favorecido: String com o nome do favorecido. 5. Valor do Cheque: String com o valor do cheque. 6. Posio do Cheque: String com a posio do cheque. 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_Banco As String Dim Str_Cidade_de_Emissao As String Dim Str_Data_de_Emissao As String Dim Str_Favorecido As String Dim Str_Valor As String Dim Str_Posicao_do_Cheque As String Str_Numero_do_Banco = "001" Str_Cidade_de_Emissao = "Taubate" 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(Str_Numero_do_Banco, Str_Cidade_de_Emissao, Str_Data_de_Emissao, Str_Favorecido, Str_Valor, Str_Posicao_do_Cheque Exemplo em Delphi 7.0: var Str_Numero_do_Banco: String; Str_Cidade_de_Emissao: String; Str_Data_de_Emissao: String; Str_Favorecido: String; Str_Valor: String; Str_Posicao_do_Cheque: String; begin Str_Numero_do_Banco := '001'; Str_Cidade_de_Emissao := 'Taubate';

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 ) );

1.11.5 Daruma_FI2000_ImprimirVersoCheque(ndice 5017)


Definio do Mtodo: Imprime Texto no Verso do Cheque na FS2000. Parmetros do Mtodo: (1 Parmetro) String: com at (80) caracteres contendo o texto que se deseja imprimir. 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_Texto_Verso_do_Cheque As String Str_Texto_Verso_do_Cheque = InputBox("Entre com o Texto a ser impresso no Verso do Cheque:", "Daruma Framework", "Exemplo de Texto Livre no Verso do Cheque") If Str_Texto_Verso_do_Cheque = "" Then Exit Sub End If Int_Retorno = Daruma_FI2000_ImprimirVersoCheque(Str_Texto_Verso_do_Cheque) Exemplo em Delphi 7.0: var Str_Texto_Verso_do_Cheque: String; begin Str_Texto_Verso_do_Cheque := InputBox('Entre com o Texto a ser impresso no Verso do Cheque:', 'Exemplo de Texto Livre no Verso do Cheque', '001'); if Str_Texto_Verso_do_Cheque = '' Then Exit; Int_Retorno := Daruma_FI2000_ImprimirVersoCheque(pchar(Str_Texto_Verso_do_Cheque));

1.11.6 Daruma_FI2000_LiberarCheque(ndice 5008)


Definio do Mtodo: Libera o Cheque na FS2000. 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: Daruma Automao

Daruma Framework

204

Int_Retorno = Daruma_FI2000_LiberarCheque() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI2000_LiberarCheque();

1.11.7 Daruma_FI2000_LeituraCodigoMICR(ndice 5007)


Definio do Mtodo: L o MICR(codigo CMC7) na FS2000. Parmetros do Mtodo: Leitura MICR: Varivel por refrencia com (40) posies para receber o Codigo. 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 a leitura do CMC7 seja possvel h 3(trs) condies: 1)A impressora tem de ter o leitor que opcional. 2)A leitura s possvel ser feita com o cheque posicionado na vertical e com o cdigo de barras voltado para o lado externo, ou seja para a para o lado direito. 3)Posicione o cheque somente aps o envio do mtodo. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Cdigo_MICR As String Str_Codigo_MICR = Space(40) Int_Retorno = Daruma_FI2000_LeituraCodigoMICR(Str_Codigo_MICR) 'Este mtodo le o Codigo direto do cheque TX_Retornos_FS2000.Text = Str_Codigo_MICR Exemplo em Delphi 7.0: var Str_Codigo_MICR: String; begin SetLength (Str_Codigo_MICR,40); Int_Retorno := Daruma_FI2000_LeituraCodigoMICR(pchar(Str_Codigo_MICR));

1.11.8 Daruma_FI2000_CancelarCheque(ndice 5026)


Definio do Mtodo: Cancela o Mdoto de impresso de cheque na FS2000. 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: Int_Retorno = Daruma_FI2000_CancelarCheque() Daruma Automao

205

Daruma Framework

Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI2000_CancelarCheque();

1.11.9 Daruma_FI2000_LeituraTabelaCheque(ndice 5011)


Definio do Mtodo: L a Tabela de cheques armazenada na Impressora. Parmetros do Mtodo: Leitura Tabela Cheque: Varivel por refrencia com 3060 posies para receber a tabela de cheques cadastrada na impressora. 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_Tabela_Cheque As String Str_Tabela_Cheque = Space(3060) Int_Retorno = Daruma_FI2000_LeituraTabelaCheque(Str_Tabela_Cheque) TX_Retornos_FS2000.Text = Str_Tabela_Cheque Exemplo em Delphi 7.0: var Str_Tabela_Cheque: String; begin SetLength (Str_Tabela_Cheque,3060); Int_Retorno := Daruma_FI2000_LeituraTabelaCheque(pchar(Str_Tabela_Cheque));

1.11.10 Daruma_FI2000_CarregarCheque(ndice 5009)


Definio do Mtodo: Carrega o Cheque na impressora FS2000 e FS2100T. Parmetros do Mtodo: (1 Parmetro) Envia a Tabela Cheque para a Impressora: Varivel por refrencia com o Nmero do Banco a ser carregado na impressora. 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: Int_Retorno = Daruma_FI2000_CarregarCheque() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI2000_CarregarCheque();

Daruma Automao

Daruma Framework

206

1.11.11 Daruma_FI2000_CorrigirGeometriaCheque(ndice 5010)


Definio do Mtodo: Carrige a Geometria do Cheque FS2000. Parmetros do Mtodo: (2 Parmetros) Varivel String: Com o Nmero do Banco a ser corrigida a Geometria. Varivel String: Com a nova Geometria. 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.

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();

1.11.12 Daruma_FI2000_DescontoSobreItemVendido(ndice 5018)


Definio do Mtodo: Permite um desconto sobre um item vendido. Parmetros do Mtodo: (3 Parmetros) Daruma Automao

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 ));

1.11.13 Daruma_FI2000_AcrescimosICMSISS(ndice 5021)


Definio do Mtodo: L da memria da impressora o total de acrscimos ICMS/ISS. Parmetros do Mtodo: Acrscimos ICMS: Varivel por refrencia com o tamanho de 14 posies para receber os acrscimos em ICMS. Acrscimos ISS: Varivel por refrencia com o tamanho de 14 posies para receber os acrscimos em 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. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_AcrescimosICMS As String Dim Str_AcrescimosISS As String Str_AcrescimosICMS = Space(14) Str_AcrescimosISS = Space(14) Int_Retorno = Daruma_FI2000_AcrescimosICMSISS(Str_AcrescimosICMS, Str_AcrescimosISS) TX_Retornos_FS2000.Text = " ICMS:" + Str_AcrescimosICMS + " ISS:" + Str_AcrescimosISS

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));

1.11.14 Daruma_FI2000_CancelamentosICMSISS(ndice 5022)


Definio do Mtodo: L da memria da impressora o total de cancelamentos ICMS/ISS. Parmetros do Mtodo: Cancelamentos ICMS: Varivel por refrencia com o tamanho de 14 posies para receber os cancelamentos em ICMS. Cancelamentos ISS: Varivel por refrencia com o tamanho de 14 posies para receber os cancelamentos em 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. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_CancelamentosICMS As String Dim Str_CancelamentosICMS As String Str_CancelamentosICMS = Space(14) Str_CancelamentosISS = Space(14) Int_Retorno = Daruma_FI2000_CancelamentosICMSISS(Str_CancelamentosICMS, Str_CancelamentosISS) TX_Retornos_FS2000.Text = " ICMS:" + Str_CancelamentosICMS + " ISS:" + Str_CancelamentosISS Exemplo em Delphi 7.0: var Str_CancelamentosICMS: String; Str_CancelamentosISS: String; begin SetLength (Str_CancelamentosICMS,14); SetLength (Str_CancelamentosISS,14); Int_Retorno := Daruma_FI2000_CancelamentosICMSISS(pchar(Str_CancelamentosICMS), pchar(Str_CancelamentosISS));

1.11.15 Daruma_FI2000_DescontosICMSISS(ndice 5023)


Definio do Mtodo: L da memria da impressora o total de descontos ICMS/ISS. Parmetros do Mtodo: Dencontos ICMS: Varivel por refrencia com o tamanho de 14 posies para receber os descontos em ICMS. Dencontos ISS: Varivel por refrencia com o tamanho de 14 posies para receber os descontos em ISS. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: Daruma Automao

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));

1.11.16 Daruma_FI2000_LeituraIformacaoUltimoDOC(ndice 5024)


Definio do Mtodo: Retorna o total acumulado do ltimo DOC emitido na impressora. Parmetros do Mtodo: Tipo ltimo DOC: Varivel por refrencia com 10 posies para receber o tipo do ltimo documento emitido. Valor ltimo DOC: Varivel por refrencia com 200 posies para receber o valor do ltimo documento emitido.

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

1.11.17 Daruma_FI2000_LeituraIformacaoUltimosCNF(ndice 5025)


Definio do Mtodo: Retorna o total acumulado dos ltimos CNF, programados na impressora. Parmetros do Mtodo: Relatrio Gerncial: Varivel por refrencia com 200 posies para receber o contedo do ltimo relatrio gerencial emitido na impressora. 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_LeituraUltimosCNF As String Str_LeituraUltimosCNF = Space(450) Int_Retorno = Daruma_FI2000_LeituraInformacaoUltimosCNF(Str_LeituraUltimosCNF) TX_Retornos_FS2000.Text = Str_LeituraUltimosCNF Exemplo em Delphi 7.0: var Str_LeituraUltimosCNF: String; begin SetLength (Str_LeituraUltimosCNF,450); Int_Retorno := Daruma_FI2000_LeituraInformacaoUltimosCNF(pchar(Str_LeituraUltimosCNF) ); end;

1.11.18 Daruma_FI2000_AbreRelatorioGerencial(ndice 5012)


Definio do Mtodo: Abre um relatrio gerencial previamente programado na impressora. Parmetros do Mtodo: (1 Parmetro) Abre Relatrio Gerencial: Varivel String com o ndice do relatrio gerencial a ser aberto. 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_Gerencial As String Str_Indice_Gerencial = InputBox("Entre com o Indice do Gerencial a ser Aberto:", "Daruma Framework", "01") If Str_Indice_Gerencial = "" Then Exit Sub End If Int_Retorno = Daruma_FI2000_AbreRelatorioGerencial(Str_Indice_Gerencial) Exemplo em Delphi 7.0: begin Str_Indice_Gerencial := InputBox('Entre com o Indice do Gerencial a ser Aberto:', 'Daruma Framework', '01'); if Str_Indice_Gerencial = '' Then Daruma Automao

211

Daruma Framework

Exit; Int_Retorno := Daruma_FI2000_AbreRelatorioGerencial(pchar(Str_Indice_Gerencial));

1.11.19 Daruma_FI2000_CriaRelatorioGerencial(ndice 5013)


Definio do Mtodo: Permite programar na impressora relatrios gerenciais. Parmetros do Mtodo: (1 Parmetro) Cria Relatrio Gerncial: Varivel String com descrio do relatrio gerencial com 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. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Nome_Gerencial As String Str_Nome_Gerencial = InputBox("Entre com um Nome para o Gerencial:", "Daruma Framework", "Relatorio Diario") If Str_Nome_Gerencial = "" Then Exit Sub End If Int_Retorno = Daruma_FI2000_CriaRelatorioGerencial(Str_Nome_Gerencial) Exemplo em Delphi 7.0: var Str_Nome_Gerencial: String; begin Str_Nome_Gerencial := InputBox('Entre com um Nome para o Gerencial:', 'Daruma Framework', 'Relatorio Diario'); if Str_Nome_Gerencial = '' Then Exit; Int_Retorno := Daruma_FI2000_CriaRelatorioGerencial(Str_Nome_Gerencial); TX_Retornos_FS2000.Lines.Text := pchar(Str_Nome_Gerencial);

1.11.20 Daruma_FI2000_VerificaRelatorioGerencial(ndice 5014)


Definio do Mtodo: Retorna as descries dos relatrios programados na impressora. Parmetros do Mtodo: Relatrio Gerncial: Varivel por refrencia com 200 posies para receber as descries dos relatrios gerenciais programados na impressora. 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_Gerencial As String Str_Gerencial = Space(358) Int_Retorno = Daruma_FI2000_VerificaRelatorioGerencial(Str_Gerencial)

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));

1.11.21 Daruma_FI2000_SegundaViaCNFV(ndice 5019)


Definio do Mtodo: Permite emitir uma segunda via de um CNFV. 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: Int_Retorno = Daruma_FI2000_SegundaViaCNFVinculado() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI2000_SegundaViaCNFVinculado();

1.11.22 Daruma_FI2000_CancelamentoCNFV(ndice 5020)


Definio do Mtodo: Permite cancelar um CNFV. Parmetros do Mtodo: (1 Parmetro) Cancelamento: Varivel String com o ndice do CNFV a ser cancelado. 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_COO_CNFV As String Str_COO_CNFV = InputBox("Entre com o COO do CNFV a ser Cancelado:", "Daruma Framework", "001") If Str_COO_CNFV = "" Then Exit Sub End If Int_Retorno = Daruma_FI2000_CancelamentoCNFV(Str_COO_CNFV) Exemplo em Delphi 7.0: var Str_COO_CNFV: String; begin Str_COO_CNFV := InputBox('Entre com o COO do CNFV a ser Cancelado:', 'Daruma Framework', Daruma Automao

213

Daruma Framework

'001'); if Str_COO_CNFV = '' Then Exit; Int_Retorno := Daruma_FI2000_CancelamentoCNFV(pchar(Str_COO_CNFV));

1.12

Mtodos Exclusivos para a Impressora Fiscal Restaurante

1.12.1 Mtodos de Cupom Fiscal


1.12.1.1 Daruma_FIR_AbreCupomRestaurante(ndice 3000)
Definio do Mtodo: Abre o cupom fiscal e imprime os itens que foram previamente lanados na mesa atravs do mtodo: Daruma_FIR_RegistrarVenda(ndice 3048). Parmetros do Mtodo: (1 Parmetro, opcional). Numero Mesa:String com at trs carcteres contendo o nmero da mesa a ser aberta. 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: var Str_Numero_da_Mesa: String; begin Str_Numero_da_Mesa := '123'; Int_Retorno := Daruma_FIR_AbreCupomRestaurante( pchar( Str_Numero_da_Mesa ) );

1.12.1.2 Daruma_FIR_AbreCupomBalcao(ndice 3053)


Definio do Mtodo: Abre o cupom fiscal para a venda balco, que pode ser feita atravs do mtodo: Daruma_FIR_VendeItemBalcao(ndice 3054). 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. Exemplos: Exemplo em Visual Basic 6.0:

Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FIR_AbreCupomBalcao();

Daruma Automao

Daruma Framework

214

1.12.1.3 Daruma_FIR_VendeItem(ndice 3070)


Definio do Mtodo: Vende o item na impressora fiscal. Parmetros do Mtodo: (8 Parmetros). 1. Mesa: String com at 03 caracteres contendo o nmero da mesa. 2. Cdigo: String at 05 caracteres com o cdigo do produto. 3. Descrio: String com at 18 caracteres com a descrio do produto. 4. Alquota: String com a alquota Ex.:05,00 ou 18,00 ou ainda o valor da alquota previamente cadastrada no ECF. Passe II para Isento, NN para no Incidente, FF para Substituio Tributria. 5. Quantidade: String com at 6 dgitos considerando trs decimais Ex.: 1,000. 6. Valor Unitrio: String com at 8 dgitos, considerando duas cadas decimais Ex.: 1,00. 7. Acrscimo Desconto: Indica se haver acrscimo ou desconto no cupom. 'A' para acrscimo e 'D' para desconto. 8. 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: - Este mtodo s compatvel com impressoras FS318 verso 1.20. - Caso seja passado 000 no parmetro mesa, ento a venda ser registrada no balco. - 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_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 ) );

1.12.1.4 Daruma_FIR_VendeItemBalcao(ndice 3054)


Definio do Mtodo: Vende o item na modalidade balco, ou seja, no em uma mesa e sim direto no cupom fiscal.

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 ));

1.12.1.5 Daruma_FIR_ConferenciaMesa(ndice 3046)


Definio do Mtodo: Emite a conferncia (conta de mesa) de uma mesa em aberto, onde tenham sido lanados tens. Ateno: este cupom no tem valor fiscal, e serve especificamente para refletir os tens consumidos na mesa. Parmetros do Mtodo: (2 Parmetros). 1. Numero Mesa: String com at 03 caracteres contendo o nmero da mesa. 2. Mensagem Promocional: String com at 90 caracteres com a mensagem promocional. 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. Exemplos: Exemplo em Visual Basic 6.0:

Exemplo em Delphi 7.0:

Daruma Automao

Daruma Framework

216

1.12.1.6 Daruma_FIR_RegistrarVenda(ndice 3048)


Definio do Mtodo: Registra o item na mesa. Parmetros do Mtodo: (7 Parmetros). 1. Nmero Mesa: String com at 03 caracteres contendo o nmero da mesa. 2. Cdigo: String at 04 caracteres com o cdigo do produto. 3. Descrio: String com at 18 caracteres com a descrio do produto. 4. Alquota: String com 5. Quantidade: String com at 5 dgitos considerando trs decimais. 6. Acrscimo Desconto: Indica se haver acrscimo ou desconto no cupom. 'A' para acrscimo e 'D' para desconto.` 7. 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).

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 ));

1.12.1.7 Daruma_FIR_RegistroVendaSerial(ndice 3049)


Definio do Mtodo: Registra a venda pela porta serial, gerando com isso um arquivo RETORNO.TXT, no c:\ (ou path anteriormente customizado), com todos os registros de vendas efetuadas na mesa passada como parmetro. Parmetros do Mtodo: (1 Parmetro). Nmero Mesa: String com at 03 caracteres contendo o nmero da mesa.

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 ));

1.12.1.8 Daruma_FIR_FechaCupomRestauranteResumido(ndice 3012)


Definio do Mtodo: Permite fechar o cupom de forma resumida, ou seja, sem acrscimo ou desconto no cupom e com apenas uma forma de pagamento. Esse Mtodo l o subtotal do cupom para fech-lo e no permite que seja informado o valor do pagamento. Parmetros do Mtodo: (2 Parmetros) 1. Forma Pagamento: String com a forma de pagamento com no mximo 16 caracteres. 2. 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. - 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_FIR_IniciaFechamentoCupom(ndice 3007), Daruma_FIR_EfetuaFormaPagamento(ndice 3008) e Daruma_FIR_TerminaFechamentoCupom(ndice 3010), 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_FIR_ProgramaFormasPagamento(ndice 554) e isso emediatamente aps uma ReduoZ. Exemplos: Exemplo em Visual Basic 6.0:

Exemplo em Delphi 7.0: var Str_Descricao_da_Forma_de_Pagamento: String; Str_Mensagem_Promocional: String; begin

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 ) );

1.12.1.9 Daruma_FIR_IniciaFechamentoCupom(ndice 3007)


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_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.

Exemplos: Exemplo em Visual Basic 6.0:

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 ) );

1.12.1.10 Daruma_FIR_IniciaFechamentoCupomComServico(ndice 3042)


Definio do Mtodo: Inicia o fechamento do cupom com o uso das formas de pagamento, permitindo a incluso da taxa de servio.

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.

Exemplos: Exemplo em Visual Basic 6.0:

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 ) );

1.12.1.11 Daruma_FIR_EfetuaFormaPagamento(ndice 3008)


Definio do Mtodo: Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma.

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 ) );

1.12.1.12 Daruma_FIR_EfetuaFormaPagamentoDescricaoForma(ndice 3009)


Definio do Mtodo: Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s). Permite a impresso de comentrios na(s) forma(s) de pagamento. Permitindo a insero de comentrios. 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_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. - 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_FIR_ProgramaFormasPagamento(ndice 554) e isso imediatamente aps uma ReduoZ. Exemplos: Exemplo em Visual Basic 6.0:

Exemplo em Delphi 7.0: var

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 ) );

1.12.1.13 Daruma_FIR_IdentificaConsumidor(ndice 3013)


Definio do Mtodo: Imprime a Identificao do Consumidor, este mtodo deve ser enviado Imediatamente Antes do mtodo de TerminaFechamentoCupom, onde ser impresso a mensagem Promocional. Parmetros do Mtodo: (3 Parmetros) 1. Nome: Nome do Consumidor com at 48 caracteres; 2. Endereo: Endereo do Consumidor com at 48 caracteres; 3. CNPJ ou CPF: At 42 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_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Estes Campos so Formatados automaticamente pelo ECF que imprimir antes da Mensagem Promocional o seguinte: Exemplo: ------------------------------------------------------Nome: Daruma Automo S.A. Endereo: Av. Independencia 3.500 Tatuap N Doc: NNNNNNNN -------------------------------------------------------Exemplos: Exemplo em Visual Basic 6.0:

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 ) );

1.12.1.14 Daruma_FIR_TerminaFechamentoCupom(ndice 3010)


Definio do Mtodo: Termina o fechamento do cupom com mensagem promocional. Parmetros do Mtodo: (1 Parmetro)

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 ) );

1.12.1.15 Daruma_FIR_TerminaFechamentoCupomID(ndice ????)


Definio do Mtodo: Termina o fechamento do cupom com mensagem promocional, podendo identificar o consumidor. Parmetros do Mtodo: (4 Parmetros) 1. Mensagem Promocional: String com a mensagem promocional com at 48 caracteres; 2. Nome do Cliente: String com o nome com at 48 caracteres; 3. Endereo do Cliente: String com o endereo com at 48 caracteres; 4. Documento do Cliente: String com nmero do doc com at 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_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; Str_Nome_do_Cliente: String; Str_Endereco_do_Cliente: String; Str_Documento_do_Cliente: String; begin Str_Mensagem_Promocional := 'Obrigado, volte sempre!'; Str_Nome_do_Cliente := 'Daruma Telecomunicacoes e Informatica S.A.'; Str_Endereco_do_Cliente := 'Av. Independencia 3.500'; Str_Documento_do_Cliente := '45170289/0001-25';

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 ) );

1.12.1.16 Daruma_FIR_FechaCupomRestaurante(ndice 3011)


Definio do Mtodo: Fecha o cupom fiscal com a impresso da mensagem promocional. IMPORTANTE! Com este Mtodo voc no poder informar com mais de um meio de pagamento. Parmetros do Mtodo: (6 Parmetros) 1. Forma Pagamento: String com o nome da forma de pagamento com no mximo 16 caracteres. 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 Pago: String com o valor pago com no mximo 14 dgitos. 6. 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. - 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_FIR_IniciaFechamentoCupom(ndice 3007), Daruma_FIR_EfetuaFormaPagamento(ndice 3008) e Daruma_FIR_TerminaFechamentoCupom(ndice 3010), 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_FIR_ProgramaFormasPagamento(ndice 554)e isso emediatamente aps uma ReduoZ.

Exemplos: Exemplo em Visual Basic 6.0:

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 ) );

1.12.1.17 Daruma_FIR_CancelaItem(ndice 3071)


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_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Ao menos um item deve ter sido vendido. - Este mtodo s compatvel com a impressora FS318 verso 1.20. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Mesa As String 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_Valor_do_Acrescimo_ou_Desconto As String 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(Str_Mesa, Str_Codigo, Str_Descricao, _ Str_Aliquota, Str_Quantidade, Str_Valor_Unitario, Str_Acrescimo_ou_Desconto, _ Str_Valor_do_Acrescimo_ou_Desconto) 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;

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 ) );

1.12.1.18 Daruma_FIR_CancelaItemBalcao(ndice 3055)


Definio do Mtodo: Cancela o ltimo item vendido. Parmetros do Mtodo: (1 Parmetro) Cdigo: String com at 5 dgitos, com o nmero do item a ser cancelado. 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: - Ao menos um item deve ter sido vendido. Exemplos: Exemplo em Visual Basic 6.0:

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 ));

1.12.1.19 Daruma_FIR_CancelaCupom(ndice 3014)


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 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 funciona, aps uma venda efetuada no balco.

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: begin Int_Retorno := Daruma_FIR_CancelaCupom(); end;

1.12.1.20 Daruma_FIR_CancelarVenda(ndice 3045)


Definio do Mtodo: Cancela qualquer item dentre os cem (100) ltimos itens vendidos. 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: - O cancelamento s poder ser realizado imediatamente aps a emisso do cupom fiscal. 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 ));

1.12.1.21 Daruma_FIR_TransferirVenda(ndice 3051)


Definio do Mtodo: Efetua a Tranferncia de um tem de uma mesa para outra mesa. Parmetros do Mtodo: (6 Parmetros) 1. Numero da mesa atual: String com at trs dgitos contendo o nmero da mesa atual 2. Numero da mesa destino: String com at trs dgitos contendo o nmero da mesa destino 3. Codigo do tem: String com at 4 dgitos 4. Quantidade do tem: String com at 5 dgitos, considere trs casas decimais

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:

1.12.1.22 Daruma_FIR_TransferirMesa(ndice 3052)


Definio do Mtodo: Efetua a Tranferncia dos tens de uma mesa para outra mesa. Parmetros do Mtodo: (2 Parmetros) 1. Numero da mesa atual: String com at trs dgitos contendo o nmero da mesa atual 2. Numero da mesa destino: String com at trs dgitos contendo o nmero da mesa destino 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:

1.12.1.23 Daruma_FIR_ImprimePrimeiroCupomDividido(ndice 3040)


Definio do Mtodo: Imprime a primeira parte de um cupom onde a conta foi divida. Passos a serem seguidos para dividir a Conta da Mesa: 1. 2. 3. 4. 5. 6. 7. 8. Daruma_FIR_RegistrarVenda(ndice 3048); Daruma_FIR_ImprimePrimeiroCupomDivido(ndice 3040); Daruma_FIR_IniciaFechamentoCupom(ndice 3007); Daruma_FIR_EfetuaFormaPagamento(ndice 3008); Daruma_FIR_TerminaFechamentoCupom(ndice 3010); Daruma_FIR_RestanteCupomDividido(ndice 3041); Daruma_FIR_EfetuaFormaPagamento(ndice 3008); Daruma_FIR_TerminaFechamentoCupom(ndice 3010);

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.

Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0:

1.12.1.24 Daruma_FIR_RestanteCupomDividido(ndice 3041)


Definio do Mtodo: Imprime a ltima parte de um cupom onde a conta foi divida. Detalhamento: Supondo que o total da conta foi de 100,00 (cem reais) da mesa 123 Voc chamou o mtodo Daruma_FIR_ImprimePrimeiroCupomDividido("123","4") - o Resultado a impresso da primeira parte do cupon, dos 4 desejados, com o valor de 25,00 (reais). Ao Chamar o mtodo Daruma_FIR_RestanteCupomDividido, voc ter como resultado a Impresso dos 3(trs) cupons no valor de 25,00 (reais) cada um deles. Passos a serem seguidos para dividir a Conta da Mesa: 1. 2. 3. 4. 5. 6. 7. 8. Daruma_FIR_RegistrarVenda(ndice 3048); Daruma_FIR_ImprimePrimeiroCupomDivido(ndice 3040); Daruma_FIR_IniciaFechamentoCupom(ndice 3007); Daruma_FIR_EfetuaFormaPagamento(ndice 3008); Daruma_FIR_TerminaFechamentoCupom(ndice 3010); Daruma_FIR_RestanteCupomDividido(ndice 3041); Daruma_FIR_EfetuaFormaPagamento(ndice 3008); Daruma_FIR_TerminaFechamentoCupom(ndice 3010);

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).

Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0:

Daruma Automao

229

Daruma Framework

1.12.1.25 Daruma_FIR_EmitirCupomAdicional(ndice 3018)


Definio do Mtodo: Emite um resumo do Cupom Fiscal Realizado Anteriormente, com Nmero do cupom, Valor e Data. Este resumo pode ser utilizado para Controle interno. 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 enibe a pr_impresso automtica do cliche do prximo cupom, implicando diretamente e um gasto Maior - tanto de Bobina Quanto de Tempo na emisso do cupom fincal. - Este Mtodo no compatvel com a Impressora de Duas Estaes FS2000. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_FI_EmitirCupomAdicional() Exemplo em Delphi 7.0: begin Int_Retorno:=Daruma_FI_EmitirCupomAdicional();

1.12.1.26 Daruma_FIR_RelatotioMesasAbertas(ndice 3050)


Definio do Mtodo: Imprime as Mesas que esto em Aberto na FS318 (entenda-se Aberto que ainda no Houve a Emisso do Cupom Fiscal) e tambem ser impresso todos os itens que j foram registrados nas respectivas mesas em aberto 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: - Caso no haja nenhuma mesa em aberto, ser impresso apenas o cabealho abaixo: NAO E DOCUMENTO FISCAL --------------RELATORIO DE MESAS EM ABERTO-------------Mesa Cd. Vendido Cancelado D/A Porc NAO E DOCUMENTO FISCAL Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0:

Daruma Automao

Daruma Framework

230

1.12.2 Mtodos de Recebimentos, No Fiscais e Vinculados


1.12.2.1 Daruma_FIR_AbreComprovanteNaoFiscalVinculado(ndice 3203)
Definio do Mtodo: Abre o comprovante no fiscal vinculado. Parmetros do Mtodo: (3 Parmetros) 1. Forma Pagamento: Forma de pagamento com at 16 caracteres. 2. Valor: Valor pago na forma de pagamento com at 14 dgitos (2 casas decimais). 3. Nmero Cupom: Nmero do cupom a que se refere o comprovante com at 6 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: - A forma de pagamento deve ter sido utilizada no cupom, mesmo sendo a forma de Pagamento "Dinheiro". - S pode ser emitido 1(um) comprovante no fiscal por forma de pagamento. - Os parmetros "Valor" e "Numero do Cupom" tornam-se obrigatrios se o comprovante emitido no for referente a ltima Forma de Pagamento do Cupom Fiscal. Ou seja, se voc teve "Dinheiro" e "Cheque" no ltimo Cupom Fiscal, ento para abrir um vinculado em Dinheiro ter de passar o Valor da primeira forma de pagamento. - O cupom fiscal dever estar fechado. Voc poder verificar o status atravs do mtodo:Daruma_FIR_StatusCupomFiscal(ndice 3404). Exemplos: Exemplo em Visual Basic 6.0:

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 ) );

1.12.2.2 Daruma_FIR_UsaComprovanteNaoFiscalVinculado(ndice 3204)


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. 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_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 impressora fiscal Daruma, s pode ser usado durante 2(dois) minutos aps a abertura do Daruma Automao

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;

1.12.2.3 Daruma_FIR_FechaComprovanteNaoFiscalVinculado(ndice 3205)


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_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 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: begin Int_Retorno := Daruma_FIR_FechaComprovanteNaoFiscalVinculado(); end;

1.12.2.4 Daruma_FIR_FechaRelatorioGerencial(ndice 3201)


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_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 relatrio gerencial deve estar aberto. Voc poder verificar o status atravs do mtodo:Daruma_FIR_StatusRelatorioGerencial(ndice 3405).

Daruma Automao

Daruma Framework

232

Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: Int_Retorno := Daruma_FIR_FechaRelatorioGerencial();

1.12.2.5 Daruma_FIR_AbreRecebimentoNaoFiscal(ndice 3210)


Definio do Mtodo: Abre o recebimento no fiscal "CNFNV". Parmetros do Mtodo: (6 Parmetros) 1. Descrio do Totalizador: Neste parmetro voc deve passar a 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. 6. Texto Livre. String com at 48 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_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 abre o recebimento no fiscal que permanece aberto at que seja chamado o Mtodo: Daruma_FIR_EfetuaFormaPagamentoNaoFiscal(ndice ????). Importante! verifique o status do recebimento antes de tentar abr-lo atravs do Mtodo:Daruma_FIR_StatusComprovanteNaoFiscalNaoVinculado(ndice ????) - 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: 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 := '1,00'; Str_Texto_Livre := 'Referente ao pagamento da 1 primeira parcela'; Int_Retorno := Daruma_FIR_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

233

Daruma Framework

end;

1.12.2.6 Daruma_FIR_EfetuaFormaPagamentoNaoFiscal(ndice 3211)


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 40 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_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 comprovante no fiscal acontecer automaticamente assim que o total do comprovante no fiscal seja atingido. Exemplos: Exemplo em Visual Basic 6.0: 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 := '0,50'; Str_Valor_da_Forma_Pagamento := 'Dinheiro'; Str_Texto_Livre := 'Parcela paga em: 28/12/2004'; Int_Retorno := Daruma_FIR_EfetuaFormaPagamentoNaoFiscal( pchar( Str_Forma_de_Pagamento ), pchar( Str_Valor_da_Forma_Pagamento ), pchar( Str_Texto_Livre ) ); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

1.12.2.7 Daruma_FIR_FundoCaixa(ndice 3207)


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_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:

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;

1.12.2.8 Daruma_FIR_LeituraMemoriaFiscalData(ndice 3102)


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_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 Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Data_Inicial: String; Str_Data_Final: String; begin if (((Data_Inicial.Text)=('')) and ((Data_Final.Text)=(''))) then exit; Str_Data_Inicial := '28/12/04'; Str_Data_Final := '28/12/04'; Int_Retorno := Daruma_FIR_LeituraMemoriaFiscalData( pchar( Str_Data_Inicial ), pchar( Str_Data_Final ) ); end;

1.12.2.9 Daruma_FIR_LeituraMemoriaFiscalReducao(ndice 3103)


Definio do Mtodo: Emite a leitura da memria fiscal da impressora por intervalo de redues. Parmetros do Mtodo: (2 Parmetros) 1. Reduo Inicial: String com o Nmero da reduo inicial com at 4 dgitos. 2. Reduo Final: String com o Nmero da reduo final com at 4 dgitos. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Erro de comunicao, no foi possvel enviar o mtodo.

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 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_LeituraMemoriaFiscalReducao( pchar( Str_Reducao_Inicial ), pchar( Str_Reducao_Final ) ); end;

1.12.2.10 Daruma_FIR_LeituraMemoriaFiscalSerialData(ndice 3104)


Definio do Mtodo: Recebe os dados da memria fiscal por intervalo de datas pela serial e grava em arquivo texto. 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_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 Visual Basic 6.0:

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

1.12.2.11 Daruma_FIR_LeituraMemoriaFiscalSerialReducao(ndice 3105)


Definio do Mtodo: Recebe os dados da leitura da memria fiscal, por intervalo de redues, pela serial e grava em arquivo texto. Parmetros do Mtodo: (2 Parmetros) 1. Reduo Inicial: String com o Nmero da reducao inicial com at 4 dgitos. 2. Reduo Final: String com o Nmero da reducao final com at 4 dgitos. 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_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 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;

1.12.2.12 Daruma_FIR_LeituraX(ndice 3101)


Definio: Emite a Leitura X na impressora. 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_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 Visual Basic 6.0:

Exemplo em Delphi 7.0:

Daruma Automao

237

Daruma Framework

begin Int_Retorno := Daruma_FIR_LeituraX(); end;

1.12.2.13 Daruma_FIR_RecebimentoNaoFiscal(ndice 3202)


Definio do Mtodo: Imprime o comprovante no fiscal no vinculado. Parmetros do Mtodo: (3 Parmetros) 1. Descrio do Totalizador: String com a descrio do totalizador. 2. Valor Recebimento: String com o Valor do recebimento com at 14 dgitos (duas casas decimais). 3. Forma Pagamento: String com a Forma de pagamento com at 16 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_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 nico, ou seja voc no precisar chamar outro mtodo para encerr-lo. - Caso voc necessite informar mais de uma forma de pagamento ento deve-se usar o Mtodo: Daruma_FIR_AbreRecebimentoNaoFiscal(ndice ????). Exemplos: Exemplo em Visual Basic 6.0: 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 := '1,00'; Str_Texto_Livre := 'Referente ao pagamento da 1 primeira parcela'; Int_Retorno := Daruma_FIR_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 ) ); end;

1.12.2.14 Daruma_FIR_ReducaoZ(ndice 3100)


Definio do Mtodo: Emite a ReduoZ na impressora. Parmetros do Mtodo: (2 Parmetros opcionais) 1. Data: String com a Data atual da impressora no formato ddmmaa. Opcional 2. Hora: String com a Hora a ser alterada no formato hhmmss. Opcional 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.

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;

1.12.2.15 Daruma_FIR_ReducaoZAjustaDataHora(ndice 3106)


Definio do Mtodo: Emite a ReduoZ na impressora. Permite ajustar o relgio interno da impressora em at 5 minutos. Parmetros do Mtodo: (2 Parmetros) 1. Data: String com a Data atual da impressora no formato ddmmaa. 2. Hora: String com a Hora a ser alterada no formato hhmmss. 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_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF.

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:

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

1.12.2.16 Daruma_FIR_RelatorioGerencial(ndice 3200)


Definio do Mtodo: Abre e Imprime Imprime o Relatrio Gerencial. Parmetros do Mtodo: (1 Parmetro) Texto: String com o Texto a ser impresso no relatrio com at 618 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_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Se o Relatorio Gerencial estiver aberto este Mtodo imprime o texto que voc deseja, e se desejar 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_FIR_FechaRelatorioGerencial(ndice 3201). - Se qualquer Mtodo diferente da Daruma_FIR_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.

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;

1.12.2.17 Daruma_FIR_Sangria(ndice 3206)


Definio do mtodo: Faz uma sangria na impressora (retirada de dinheiro). Parmetros do Mtodo: (1 Parmetro) Valor: String com o Valor da sangria com at 14 dgitos (2 casas decimais). 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_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - No ser possvel informar mais de uma forma de pagamento no casa de uma Sangria. Exemplos: Exemplo em Visual Basic 6.0:

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;

1.12.2.18 Daruma_FIR_Suprimento(ndice 3207)


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_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Caso queira fazer um Suprimento com mais de uma forma de pagamento deve-se chamar o Mtodo: Daruma_FIR_AbreRecebimentoNaoFiscal(ndice ????), passando no parmetro ndice o ndice do Suprimento. Exemplos:

Exemplo em Visual Basic 6.0:

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;

1.12.3 Mtodos Gaveta Autenticao e Outras


1.12.3.1 Daruma_FIR_VerificaDocAutenticacao(ndice 3301)
Definio do Mtodo: Verifica se existe documento para ser Autenticado, este Mtodo pode ser til antes do envio da autenticao, ou seja, voc apenas envia o mtodo para a Autenticao quando tiver a certeza que o documento esta presente. Uma prtica interessante a ser aplicada a seguinte: 1) Chamar a Funcao Daruma_FIR_VerificaDocAutenticao. 2) Retornou igual a 1(um)?. 3) Se sim, chamar o mtodo Daruma_FIR_AutenticacaoStr. 4) Caso contrrio Voltar ao passo 1.

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;

1.12.3.2 Daruma_FIR_AutenticacaoStr(ndice 3302)


Definio do Mtodo: Permite a autenticao de documentos com a adio de uma String de at 13 caracteres. Parmetros do Mtodo: (1 Parmetro) 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_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 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:

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

1.12.3.3 Daruma_FIR_VerificaEstadoGaveta(ndice 3311)


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_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: 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;

1.12.3.4 Daruma_FIR_AcionaGaveta(ndice 3310)


Definio do Mtodo: Abre a gaveta de dinheiro. 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_AcionaGaveta(); end;

Daruma Automao

243

Daruma Framework

1.12.4 Mtodos para Cardpio


1.12.4.1 Daruma_FIR_AdicionaProdutoCardapio (ndice 555)
Definio do Mtodo: Adiciona itens ao cardpio na impressora, para poder vender o item atravs do mtodo: Daruma_FIR_RegistrarVenda(ndice 3048). Parmetros do Mtodo: (4 Parmetros) 1. Cdigo: String at 04 caracteres com o cdigo do produto. 2. Valor Unitrio: String com at 8 dgitos, considerando duas cadas decimais Ex.: 1,00. 3. Alquota: String com a alquota Ex.:05,00 ou 18,00 ou ainda o valor da alquota previamente cadastrada no ECF. Passe II para Isento, NN para no Incidente, FF para Substituio Tributria. 4. Descrio: String com at 18 caracteres com a descrio do produto.

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 ));

1.12.4.2 Daruma_FIR_ZeraCardapio(ndice 650)


Definio do Mtodo: Apaga todos os itens existentes no cardpio. 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. retornar um dos Valores Inteiros listados Abaixo: - Este mtodo poder ser executado a qualquer momento, mesmo com o dia aberto, desde que no tenha sido vendido nenhum dos tens contidos no cardpio. Caso contrrio, voc dever executar uma Reduo Daruma Automao

Daruma Framework

244

Z antes de zerar o cardpio. Exemplos: Exemplo em Visual Basic 6.0:

Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FIR_ZeraCardapio(); end;

1.12.4.3 Daruma_FIR_ImprimeCardapio(ndice 651)


Definio do Mtodo: Imprime os itens que foram cadastrados no cardpio da impressora Parmetros da 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_ImprimeCardapio(); end;

1.12.4.4 Daruma_FIR_CardapioSerial(ndice 652)


Definio do Mtodo: Resgata pela porta serial, os itens cadastrados na impressora. Importante! Este mtodo escrever um arquivo chamado Retorno.txt no path que estiver configurado na chave Path. 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_CardapioSerial(); end;

1.12.5 Mtodos Pogramao e Configurao

Daruma Automao

245

Daruma Framework

1.12.5.1 Daruma_FIR_ProgramaAliquota(ndice 550)


Definio do Mtodo: Programa alquota tributria na Impressora Fiscal Restaurante. 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_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 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: Exemplo em Delphi 7.0: var Str_Valor_Aliquota: String; Int_Tipo_Aliquota: Integer; begin Str_Valor_Aliquota := '1800'; Int_Tipo_Aliquota := '0'; Int_Retorno := Daruma_FIR_ProgramaAliquota( pchar( Str_Valor_Aliquota ), Int_Tipo_Aliquota );

1.12.5.2 Daruma_FIR_NomeiaTotalizadorNaoSujeitoIcms(ndice 551)


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_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. - Este Mtodo s ser executado aps uma ReduoZ e antes de uma LeituraX ou qualquer outro documento.

Exemplos:

Exemplo em Visual Basic 6.0:

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 ) );

1.12.5.3 Daruma_FIR_ProgramaFormasPagamento(ndice 554)


Definio do Mtodo: Realiza o casdastro das formas de pagamento na impressora fiscal restaurante, 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_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - 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:

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 ) );

1.12.5.4 Daruma_FIR_ProgramaRelatorioGerencial(ndice 559)


Definio do Mtodo: Cadastra um ttulo para um Relatrio Gerencial especfico. Importante: na verso 1.20, o relatrio gerencial necessita de ser previamente cadastrado, assim como j acontece para as alquotas e formas de pagamento. Sendo assim caso no exista um gerencial cadastrado na impressora, a dll ir tentar cadastrar um, automaticamente. 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.

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 Visual Basic 6.0:

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 ) );

1.12.5.5 Daruma_FIR_ProgramaOperador(ndice 552)


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_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 poder ser chamado a qualquer momento do dia. Exemplos:

Exemplo em Visual Basic 6.0:

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 ) );

1.12.5.6 Daruma_FIR_ProgramaMsgTaxaServico(ndice 553)


Definio do Mtodo: Programa a mensagem que ira aparecer ao Fechar o Cupom com a de Servio na impressora. Parmetros do Mtodo: String com a Mensagem desejada com at 19 carcteres.

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 Visual Basic 6.0:

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 ) );

1.12.5.7 Daruma_FIR_CfgHorarioVerao(ndice 504)


Definio do Mtodo: Configura o ECF para trabalhar com Horrio de Vero. Parmetros do Mtodo: (1 Parmetro) 1 - Comanda o ECF para entrar em Horario de Vero, ou seja, Automaticamente ser Adiantado 1(uma) hora no Relgio da Impressora 0 - Comanda o ECF para SAIR do horrio de Vero, ou seja atrasa o Relogio em 1(uma) hora. Observaes: Este Mtodo s sero executados caso no tenha uma Venda no Dia, ou seja, Entre um a Reduo Z (fechamento de Dia) e uma X (abertura de Dia). Para SAIR do horario de vero, voc deve realizar uma Reduo Z e ESPERAR 1(uma) hora antes de enviar o mtodo, isso se deve pelo fato que uma vez que a Z foi Executada, o Horrio em que a Z foi executada ficou gravado na Memria Fiscal que no Permitir que o Relgio do ECF volte 1(uma) hora atrs da hora que j foi gravada na Memria Fiscal, por isso a necessidade de se esperar 1(uma) hora para SAIR do Horario de Vero. 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. - Este Mtodo s ser executado aps uma ReduoZ e antes de uma LeituraX ou qualquer outro documento. - 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

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: Int_Retorno = Daruma_FIR_CfgHorarioVerao('1');

1.12.5.8 Daruma_FIR_CfgLimiarNearEnd(ndice 509)


Definio do Mtodo: Permite Configurar quantas linhas voc deseja atrasar o sensor de Pouco Papel, ou seja, voc pode indicar que o sensor de pouco papel s comece a sinalizar pouco papel quando a bobina estiver bem prxima do final, por Exemplos, em bobina de 22MM o valor de 0450 indica que o ECF ir sinalizar pouco papel quanto realmente estiver bem prximo do final da bobina. Isso economiza mais Papel atravs de um Aproveitamento melhor do Sinal de "Pouco Papel" Parmetros do Mtodo: (1 Parmetro) String com 4(quatro) dgitos que indica quantas linhas o sinal de pouco papel deve ser Atrasado, o Valor 0000 indica que o sinal fica desabilitado. 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. - O valor configurado ir funcionar como um adiador do retorno de pouco papel. Por exemplo se voc estiver com o valor de 0450 linhas, isso quer dizer que aproximadamente 0450 linhas aps a bobina ter passado pelo sensor que ela passar a devolver o status de pouco papel. - Este mtodo no compatvel com a impressora FS2000. 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);

1.12.5.9 Daruma_FIR_CfgEspacamentoCupons(ndice 507)


Definio do Mtodo: Configura o Nmero de Linhas entre cupons, isso permite uma economia de Bobina e um controle do avano entre os documentos. Parmetros do Mtodo: (1 Parmetro) 2(Dois) dgitos com o nmero de linhas que voc deseja avanar aps a emisso de qualquer Documento.

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 Visual Basic 6.0:

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));

1.12.6 Mtodos de Informao, Status e Retornos


1.12.6.1 Daruma_FIR_StatusCupomFiscal(ndice 3404)
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: 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 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;

1.12.6.2 Daruma_FIR_StatusRelatorioGerencial(ndice 3405)


Definio do Mtodo: Retorna o status do Relatrio Gerencial, se o mesmo esta Aberto ou Fechado.

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.3 Daruma_FIR_StatusComprovanteNaoFiscalVinculado(ndice 3403)


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: 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 Vinculado Fechado e 1(um) para Vinculado 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_StatusComprovanteNaoFiscalVinculado(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;

1.12.6.5 Daruma_FIR_VerificaImpressoraLigada(ndice 3400]


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 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 byte a ser verificado desver ser o inteiro que devolvida em TODOS os mtodos. Exemplos: Exemplo em Visual Basic 6.0:

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;

1.12.6.6 Daruma_FIR_VerificaModeloECF(ndice 3469)


Definio do Mtodo: Retorna 1(um) Inteiro com Modelo do ECF. 1 2 3 4 Valores Retornados no Int_Retorno: - FS345 - Impressora de varejo. - FS318 - Impressora para restaurantes. - FS2000 - Impressora de duas estaes. - FS345 - MFD (trmica) - Impressora de varejo.

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;

1.12.6.7 Daruma_FIR_VerificaHorarioVerao(ndice ????)


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_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. 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: Exemplo em Delphi 7.0: var Str_Informacao: String; begin

Daruma Automao

Daruma Framework

254

SetLength (Str_Informacao,2); Int_Retorno := Daruma_FIR_VerificaHorarioVerao(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;

1.12.6.8 Daruma_FIR_VerificaZPendente(ndice 3488)


Definio do Mtodo: Retorna se a ReduoZ est pendente. 1(um) para ReduoZ Pendente e 0(zero) para ReduoZ j executada. 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. 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_VerificaZPendente(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;

1.12.6.9 Daruma_FIR_VerificaXPendente(ndice 3489)


Definio do Mtodo: Retorna se a LeituraX est pendente. 1(um) para LeituraX Pendente e 0(zero) para LeituraX j executada. 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. 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_VerificaXPendente(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;

Daruma Automao

255

Daruma Framework

1.12.6.10 Daruma_FIR_VerificaFormasPagamentoEx(ndice 3448)


Definio do Mtodo: Retorna as formas de pagamento e seus valores acumulados. Parmetros do Mtodo: Formas Pagamento: Varivel String por referncia com 1027(uma mil e vinte e sete) posies para receber as formas programadas. 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 retorna as informaes das formas de pagamento na seguinte ordem: Descrio da forma de pagamento.....................: 16 bytes Valor acumulado (2 casas decimais)..................: 20 bytes Valor recebido no ltimo cupom (2 casas decimais)...: 20 bytes Valor indicando se a forma foi usada para a emisso + 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_FIR_ProgramaFormasPagamento(ndice 554). Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,1027); Int_Retorno := Daruma_FIR_VerificaFormasPagamentoEx(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

Daruma Automao

Daruma Framework

256

1.12.6.11 Daruma_FIR_VerificaEstadoImpressora(ndice 3401)


Definio do Mtodo: Retorna o estado da impressora. Parmetros do Mtodo: 1. ACK: Varivel inteira para receber o primeiro byte. 2. ST1: Varivel inteira para receber o segundo byte. 3. ST2: Varivel inteira para receber o terceiro byte. 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 devolve o status da impressora. - Recomenda-se usar este mtodo em concomitncia com a chave StatusFuncao seteda pra 1(um) no registry, assim sendo voc s ir chamar este mtodo quando o iRet retornar diferente de 1(um). Exemplos: Exemplo em Visual Basic 6.0: 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_FIR_VerificaEstadoImpressora( Int_Daruma_ACK, Int_Daruma_ST1, Int_Daruma_ST2 ); Memo1.Lines.Text := (' ACK=' + IntToStr(Int_Daruma_ACK) + ' ST1=' + IntToStr(Int_Daruma_ST1) + ' ST2=' + InttoStr(Int_Daruma_ST2)); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

1.12.6.12 Daruma_FIR_VerificaAliquotasIss(ndice 3440)


Definio do Mtodo: Retorna as alquotas de vinculao ao ISS. Parmetros do Mtodo: Aliquotas Iss: Varivel String por referncia com 79(setenta e nove) posies para receber as alquotas vinculadas 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_FIR_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: As alquotas retornadas estaro separadas por vrgula. Ex.: 1800,1200,1500; Para isento utilize II; Para no tributado NN; Para substituio FF. Exemplos:

Exemplo em Visual Basic 6.0:

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;

1.12.6.13 Daruma_FIR_VerificaIndiceAliquotasIss(ndice 3445)


Definio: Retorna os ndices das alquotas de ISS. Parmetros do Mtodo: ndice Alquotas: Varivel String por referncia com o tamanho de 48(quarenta e oito) posies para receber os ndices das alquotas de 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_FIr_RetornoImpressora para identificar o Erro. Qualquer valor diferente dos listados acima deve ser encarado como Erro de execuo do Mtodo no ECF. Observaes: - Os ndices retornados estaro separados por vrgula. Ex.: 02,03,04 Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0: var Str_Informacao: String; begin SetLength (Str_Informacao,48); Int_Retorno := Daruma_FIR_VerificaIndiceAliquotasIss(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

1.12.6.14 Daruma_FIR_VerificaTotalizadoresNaoFiscais(ndice 3436)


Definio do Mtodo: Retorna a descrio dos totalizadores no fiscais programados na impressora com o Mtodo: Daruma_FIR_NomeiaTotalizadorNaoSujeitoIcms(ndice 551). Parmetros do Mtodo: Totalizadores: Varivel String por referncia com 300(trezentas) posies para receber a descrio dos totalizadores no fiscais programados. 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: Os totalizadores viro separados por vrgula; Este Mtodo retorna somente os 16 primeiros cadastrados; Ex. Sangria,Suprimento,Conta de Luz, etc... Exemplos:

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;

1.12.6.15 Daruma_FIR_VerificaEpromConectada(ndice 3432)


Definio do Mtodo: Verifica se a Eprom est conectada. Parmetros do Mtodo: FlagEprom: Varivel String por referncia com 2(duas) posies para receber o flag de Eprom conectada. Onde: 1 - Eprom conectada. 0 - Eprom desconectada. 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: 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;

1.12.6.16 Daruma_FIR_VerificaRecebimentoNaoFiscal(ndice 3443)


Definio do Mtodo: Retorna os recebimentos no fiscais no vinculados programados na impressora. Parmetros do Mtodo: Recebimentos: Varivel String por referncia com 2200(duas mil e duzentas) posies para receber as informaes. 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 retorna as informaes para os 50 totalizadores no fiscais no vinculados na seguinte ordem:

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;

1.12.6.17 Daruma_FIR_VerificaTruncamento(ndice 3439)


Definio do Mtodo: Retorna 1 se a impressora estiver no modo truncamento e 0 se estiver no modo arredondamento. Parmetros do Mtodo: Truncamento: Varivel String por referncia com 2(duas) posies para receber o retorno. Onde: 1 - Impressora programada para Truncar. 2 - 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_FIR_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:

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;

1.12.6.18 Daruma_FIR_VerificaModoOperacao(ndice 3431)


Definio do Mtodo: Verifica se a impressora est em modo normal ou em interveno tcnica. Parmetros do Mtodo: Modo Operao: Varivel String por referncia com 2(duas) posies para receber o modo de operao da impressora. Onde: 1 - Modo normal 0 - Interveno tcnica. 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: 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;

1.12.6.19 Daruma_FIR_VerificaTotalizadoresParciais(ndice 3407)


Definio do Mtodo: Retorna os totalizadores parciais cadastrados na impressora com as seguintes informaes:

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;

1.12.6.20 Daruma_FIR_NumeroCaixa(ndice 3425)


Definio do Mtodo: Retorna o nmero do caixa cadastrado na impressora. Parmetros do Mtodo: Nmero Caixa: Varivel String por referncia com 4(quatro) posies para receber o nmero do caixa cadastrado na impressora. 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: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FIR_NumeroCaixa(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

Daruma Automao

Daruma Framework

262

1.12.6.21 Daruma_FIR_NumeroSerie(ndice 3411)


Definio do Mtodo: Retorna o nmero de srie da impressora. Parmetros do Mtodo: Nmero Srie: Varivel String por referncia com o tamanho de 15(quinze) posies para receber o nmero de srie. 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: var Str_Informacao: String; begin SetLength (Str_Informacao,15); Int_Retorno := Daruma_FIR_NumeroSerie(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

1.12.6.22 Daruma_FIR_CGC_IE(ndice 3413)


Definio do Mtodo: Retorna o CGC e a Inscrio Estadual do cliente/proprietrio cadastrado na impressora. Parmetros do Mtodo: CGC: Varivel String por referncia com 18(dezoito) posies para receber o CGC. IE: Varivel String por referncia com 15 posies para receber a Inscrio Estadual. 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: var Str_CGC: String; Str_IE: String; begin SetLength (Str_CGC,18); SetLength (Str_IE,15); Int_Retorno := Daruma_FIR_CGC_IE(Str_CGC, Str_IE); Memo1.Lines.Text := Pchar(' CGC:' + Str_CGC + ' IE:' + Str_IE); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

Daruma Automao

263

Daruma Framework

1.12.6.23 Daruma_FIR_NumeroCupom(ndice 3417)


Definio do Mtodo: Retorna o nmero do cupom. Parmetros do Mtodo: Nmero Cupom: Varivel String por referncia com 6(seis) posies para receber o nmero do cupom. 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: - 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:

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;

1.12.6.24 Daruma_FIR_NumeroIntervencoes(ndice 3421)


Definio do Mtodo: Retorna o nmero de intervenes tcnicas realizadas na impressora. Parmetros do Mtodo: Intervenes: Varivel String por referncia com 4(quatro) posies para receber o nmero de intervenes. 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: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FIR_NumeroIntervencoes(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno();

Daruma Automao

Daruma Framework

264

end;

1.12.6.25 Daruma_FIR_NumeroReducoes(ndice 3420)


Definio do Mtodo: Retorna o nmero de redues Z realizadas na impressora. Parmetros do Mtodo: Redues: Varivel String por referncia com 4(quatro) posies para receber o nmero de Redues Z. 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: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FIR_NumeroReducoes(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

1.12.6.26 Daruma_FIR_NumeroCuponsCancelados(ndice 3419)


Definio do Mtodo: Retorna o nmero de cupons cancelados. Parmetros do Mtodo: Cupons Cancelados: Varivel String por referncia com o tamanho de 4(quatro) posies para receber o nmero de cupons cancelados. 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: var Str_Informacao: String; begin SetLength (Str_Informacao,4); Int_Retorno := Daruma_FIR_NumeroCuponsCancelados(Str_Informacao);

Daruma Automao

265

Daruma Framework

Memo1.Lines.Text := (Str_Informacao); end;

1.12.6.27 Daruma_FIR_NumeroOperacoesNaoFiscais(ndice 3418)


Definio do Mtodo: Retorna o nmero de operaes no fiscais executadas na impressora. Parmetros do Mtodo: Operaes: Varivel String por referncia com 6(seis) posies para receber o nmero de operaes. 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: var Str_Informacao: String; begin SetLength (Str_Informacao,6); Int_Retorno := Daruma_FIR_NumeroOperacoesNaoFiscais(Str_Informacao); Memo1.Lines.Text := (Str_Informacao); end;

1.12.6.28 Daruma_FIR_DataHoraImpressora(ndice 3434)


Definio do Mtodo: Retorna a data e a hora atual da impressora. Parmetros do Mtodo: 1. Data: Varivel String por referncia com 6(seis) posies para receber a data atual da impressora no formato ddmmaa. 2. Hora: Varivel String por referncia com 6(seis) posies para receber a hora atual da impressora no formato hhmmss. 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: 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

1.12.6.29 Daruma_FIR_DataHoraReducao(ndice 3437)


Definio do Mtodo: Retorna a data e a hora da ltima Reduo Z. Parmetros do Mtodo: 1. Data Reduo: Varivel String por referncia com 6(seis) posies para receber a data da ltima reduo no formato ddmmaa. 2. Hora Reduo: Varivel String por referncia com 6(seis) posies parar eceber a hora da ltima reduo no formato hhmmss. 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: 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;

1.12.6.30 Daruma_FIR_DataMovimento(ndice 3438)


Definio do Mtodo: Retorna a data do ltimo movimento. Parmetros do Mtodo: Data Movimento: Varivel por refrencia 6(seis) posies para receber a data do movimento no formato ddmmaa. 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. Obsercao: - Este mtodo retornar na FS600 010100 caso o dia no tenha sido aberto. - J na FS345 ser retornado 000000.

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

Memo1.Lines.Text := (' Data: ' + Str_Data_Mov); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

1.12.6.31 Daruma_FIR_ContadoresTotalizadoresNaoFiscais(ndice 3435)


Definio do Mtodo: Retorna o nmero de vezes em que os totalizadores no sujeitos ao ICMS foram usados. Parmetros do Mtodo: Contadores: Varivel por refrencia com 44(quarenta e quatro) posies para receber os contadores dos totalizadores. 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: - A impressora fiscal Daruma, permite a programao de at 50 totalizadores no fiscais, porm esse Mtodo retorna somente os contadores dos 9 primeiros totalizadores cadastrados. - O contedo da varivel retornada ser 36 dgitos separados de 4 em 4 por vrgura que representam os 9 primeiros totalizadores. Ex.: "0001,0003,0001,0005,0004,0002,0003,0004,0007" - O primeiro valor corresponde ao nmero de vezes que o totalizador 01 foi usado, o segundo corresponde ao totalizador 02 e assim sucessivamente. A contagem Inicia-se do contador 03 em diante pois o 01 e 02 sempre sera Sangria e Suprimento. Exemplos: Exemplo em Visual Basic 6.0:

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;

1.12.6.32 Daruma_FIR_LerAliquotasComIndice(ndice 3483)


Definio do Mtodo: Retorna as alquotas cadastradas na impressora com o Indice indicativo se a mesma esta cadastrada no ISS ou no ICMS. Parmetros do Mtodo: Alquotas: Varivel por refrencia com o tamanho de 300(trezentas) posies para receber as alquotas. 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: Inicio com S significa que ISS. Inicio com T significa que ICMS. As alquotas retornadas estaro separadas por vrgula.I Ex.: Sa1200, TB1700, TC0500, Sc1800.

Daruma Automao

Daruma Framework

268

Exemplos: Exemplo em Visual Basic 6.0:

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;

1.12.6.33 Daruma_FIR_GrandeTotal(ndice 3414)


Definio do Mtodo: Retorna o valor do Grande Total da impressora. Parmetros do Mtodo: Grande Total: Varivel por refrencia com 18(dezoito) posies para receber o valor do grande total 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_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: 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;

1.12.6.34 Daruma_FIR_Descontos(ndice 3415)


Definio do Mtodo: Retorna a valor acumulado dos descontos. 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_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:

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;

1.12.6.35 Daruma_FIR_Cancelamentos(ndice 3416)


Definio do Mtodo: Retorna o valor acumulado dos itens e dos cupons cancelados, referente ao movimento atual. Parmetros do Mtodo: Cancelamentos: Varivel por refrencia com 14(quatorze) posies para receber o valor dos cancelamentos 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_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: 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;

1.12.6.36 Daruma_FIR_DadosUltimaReducao(ndice 3410)


Definio do Mtodo: Retorna os dados da impressora no momento da ltima Reduo Z. Parmetros do Mtodo: Dados Reduo: Varivel por refrencia com o tamanho de 631(seiscentos e trinta e uma) posies para receber os dados da ltima reduo. 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 retornados os valores das seguintes informaes separados por vrgulas:

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

Mtodos Exclusivos para a Impressora MFD Bilhete de Passagem

1.13.1 Mtodo Daruma_FIB_AbreBilhetePassagem(ndice 2000)


Definio do Mtodo: Abre o bilhete de passagem. Parmetros do Mtodo: (12 Parretros). 1. Percuro: String at 39 caracteres com percurso da viagem. 2. Origem: String com at 34 caracteres, com a cidade de origem(localidade de embarque). 3. Destino: String com at 34 caracteres, com a cidade de destino(localidade de destino).

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));

1.13.2 Mtodo Daruma_FIB_VendeItem(ndice 2001)


Definio do Mtodo: Vende bilhete de passagem . Parmetros do Mtodo: (6 Parretros). 1. Descrio: String at 21 caracteres com a descrio do produto. 2. 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). 3. ValorUnitrio: String at 8 dgitos para valor unitrio. 4. Acrescimo Desconto: Indica se haver acrscimo ou desconto no cupom. 'A' para acrscimo e 'D' para desconto. 5. Tipo Acrescimo Desconto: Indica se o acrscimo ou desconto por valor ou por percentual. '$' para desconto por valor e '%' para percentual. 6. Valor Acrescimo Desconto: String com no mximo 11 dgitos para acrscimo ou desconto por valor e 4 dgitos para acrscimo ou desconto por percentual. Observaes: - O valor do desconto nunca poder ser igual ou maior do que o valor do item. 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_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

Mtodos Exclusivos para TEF

1.14.1 Implementando TEF com a Daruma32.dll


Definio do Mtodo: Para realizar o TEF, existe operaes que infelizmente so um pouco difcies para determinadas linguagens de programao Implementar. Um Exemplo disso o travamento do Teclado, Impressao da Resposta do TEF, problemas de foco na Janela, controle do ECF ligado e Desligado, etc. Por isso implementamos para voc desenvolvedor 5(Cinco) Funes Exclusivas para o TEF que permitir que voc efetue o TEF sem maiores problemas e sem dificuldades nas operaes de 1) 2) 3) 4) Esperar o Arquivo de Resposta. Imprimir Resposta controlando o Arquivo no ECF se foi desligado ou no e re-imprimindo no Gerencial. Setar o Foco na Janela de seu aplicativo de Automao. Fechar o Relatorio Seja ele Vinculado ou no.

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

1.14.2 Daruma_TEF_SetFocus(ndice 1902)


Definio do Mtodo: Coloca o foco na Janela que voc especificar. Isso resolve alguns problemas do TEF de perda de foco apos ou durante uma transao TEF. Parmetros do Mtodo: (1 Parmetro) JANELA = String com o TITULO da Janela, a Mtodo ir buscar a janela para colocar o foco atravs do TTULO da Janela, do CAPTION da Janela. Apenas isso. 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: Colocando o Foco em uma Janela que o Ttulo da Janela "Aplicativo de Automao Comercial Verso 1.0" Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Titulo_Janela As String Str_Titulo_JanelInt_Retorno = InputBox("Entre com o ttulo da Janela que voc deseja setar o focu:", "Daruma Framework", "Daruma Framework Impressoras Fiscais") Int_Retorno = Daruma_TEF_SetFocus(Str_Titulo_Janela) End Sub Exemplo em Delphi 7.0: var Str_Titulo_Janela: String; begin Str_Titulo := InputBox('Daruma Framework', 'Entre com o ttulo da Janela que voc deseja setar o focu:', 'Daruma Framework Impressoras Fiscais'); Int_Retorno := Daruma_TEF_SetFocus(pchar(Str_Titulo_Janela));

1.14.3 Daruma_TEF_FechaRelatorio(ndice 1904)


Definio do Mtodo: Fecha o Relatrio no ECF, seja qual for o relatrio que estiver aberto. No se preocupe em identificar se o Relatrio Gerencial ou Comprvante No Fiscal No Vinculado, apenas chame esta Mtodo que possui inteligncia para Identificar qual o relatrio que est aberto e fech-lo. 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. Exemplo: Se tiver um comprovante no fiscal aberto na impressora, esta mtodo er chech-lo. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_TEF_FechaRelatorio() Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_TEF_FechaRelatorio(); Daruma Automao

Daruma Framework

276

1.14.4 Daruma_TEF_ImprimirResposta(ndice 1901)


Definio do Mtodo: Um dos Grandes problemas Hoje das empresas de software na Homologao do TEF a impresso da Reposta no ECF. Abrir o Arquivo, Buscar o Campo a ser impresso, Controlar a impressao, etc.. tudo isso realizado por este Mtodo. Passe apenas o PATH onde este arquivo se encontra e esta Mtodo imprime pra voc o Arquivo e ir devolver se a impresso foi com sucesso ou no, caso no tenha tido sucesso voc dever proceder os passos do TEF de perguntar se deseja continuar a impresso ou no etc..Clique aqui e veja como tratar os possveis erros de impresso. Parmetros do Mtodo: (3 Parmetros) 1. Arquivo: String com o Caminho completo + nome do arquivo que voc deseja imprimir: "C:\TEF_DIAL\RESP\INTPOS.001" 2. Forma: A Forma Pagamento que voc deseja Abrir o Comprovante no fiscal Vinculado, caso voc deseje imprimir o Arquivo no Relatrio Gerncial, passe este parmetro VAZIO, NULO sem contedo. E o Arquivo ser impresso em um relatrio Gerencial. 3. Travar Teclado. O terceiro e ltimo paramtro Travar Teclado, esta setado internamente para "nunca" travar o teclado, j que as homologadoras de TEF, no exigem que durante a espera pelo arquivo, seja travado o teclado.

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 ) );

1.14.5 Daruma_TEF_ImprimirRespostaCartao(ndice 1905)


Definio do Mtodo: Um dos Grandes problema Hoje das empresas de software na Homologao do TEF a impresso da Reposta no ECF. Abrir o Arquivo, Buscar o Campo a ser impresso, Controlar a impressao, etc.. tudo isso realizado por esta Mtodo. Passe apenas o PATH onde este arquivo se encontra e esta Mtodo imprime pra voc o Arquivo e ir devolver se a impresso foi com sucesso ou no, caso no tenha tido sucesso voc dever proceder os passos do TEF de perguntar se deseja continuar a impresso ou no etc.. Parmetros do Mtodo: (4 Parmetros) 1. Arquivo: String com o Caminho completo + nome do arquivo que voc deseja imprimir: "C:\TEF_DIAL\RESP\INTPOS.001" 2. Forma: A Forma Pagamento que voc deseja Abrir o Comprovante no fiscal Vinculado, caso voc deseje imprimir o Arquivo no Relatrio Gerncial, passe este parmetro com apenas um ESPAO EM BRANCO. E o Arquivo ser impresso em um relatrio Gerencial. 3. Travar Teclado: String com "0" ou "1" para travar o teclado durante a Impresso do Arquivo. "0" No Trava, "1" - Trava. 4. ValorForma: String como valor da forma de pagamento. 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. 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. Observaes: - Aplica-se este mtodo quando se tratar de uma venda com mais de um carto. 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 Dim Str_Valor_da_Forma_Pagamento As String Int_Retorno = Daruma_FI_VendeItem("7000", "Chinelo", "NN", "I", "1", "2", "2,50", "%", "0,00") Int_Retorno = Daruma_FI_IniciaFechamentoCupom("A", "%", "0,00") Int_Retorno = Daruma_FI_EfetuaFormaPagamento("Dinheiro", "1,50")

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();

1.14.6 Daruma_TEF_EsperarArquivo(ndice 1900)


Definio do Mtodo: Faz com que a dll espere um Arquivo (que voc passa como Parmetro) por "X" segundos (que voc

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

1.14.7 Daruma_TEF_TravarTeclado(ndice 1903)


Definio do Mtodo: Trava ou Destrava o Teclado para entrada de dados, no bufferiza e no deixa resduos no Buffer. Trava totalmente a entrada de dados via teclado deixando o Buffer Zerado. Parmetros do Mtodo: (1 Parmetro) String com 0(Zero) ou 1(um) , 0(Destrava) 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. Exemplos: Exemplo em Visual Basic 6.0: Dim Travar As String Int_Retorno = Daruma_FI_VerificaImpressoraLigada() MsgBox "Seu Teclado Ficara Travado por 5 segundos Pressione Enter para comear!", vbCritical, "Daruma Framework" Int_Retorno = Daruma_TEF_TravarTeclado("1") Sleep (5000) Int_Retorno = Daruma_TEF_TravarTeclado("0") MsgBox "Seu Teclado foi Destravado", vbEsclamation, "Daruma Framework" Exemplo em Delphi 7.0: begin Int_Retorno := Daruma_FI_VerificaImpressoraLigada(); Application.MessageBox('Seu Teclado Ficara Travado por 5 segundos Pressione Enter para comear!!!', 'Daruma Framework', mb_ok + 32); Int_Retorno := Daruma_TEF_TravarTeclado('1'); Sleep (5000); Int_Retorno := Daruma_TEF_TravarTeclado('0'); Application.MessageBox('Seu Teclado foi Destravado!!!', 'Daruma Framework', mb_ok + 32);

Daruma Automao

281

Daruma Framework

1.14.8 Daruma_TEF_Tratando os Erros


Dicas de tratamentos de Impresso: Como fazer nos seguintes casos? 1 - Acaba a Energia. 2 - Acaba Bobina de Papel. 3 - O ECF sinaliza Pouco Papel. 4 - A impressora fica Off-Line. Veja o Fluxo abaixo para, onde so previstos todos estes pontos. Exemplo em Vb6: Dim Int_Sts_Func As Integer Dim Int_Impressao_TEF As Integer Dim Int_Numero_Vias As Integer Dim Str_Sts_CF As String Dim Str_Sts_CNFV As String Dim Str_Sts_Gerencial As String Dim Str_Confirma As String Dim Int_Sts_CF As Integer Dim Int_Sts_CNFV As Integer Dim Int_Sts_Gerencial As Integer Dim Int_Flag_Vinculado As Integer Dim Int_Ack_Retorno Dim Int_Sts1 As Integer Dim Int_Sts2 As Integer Dim Int_Contador As Integer Int_Sts_Func = 0 Str_Sts_CNFV = Space(2) Str_Sts_Gerencial = Space(2) 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 End If End If If Int_Sts_Func <> 1 Then MsgBox "Impressora Desligada ligue para comecar os testes!", vbCritical, "Daruma Framework" Exit Sub End If 'Aqui fazemos uma venda para que o nosso arquivos de resposta possa ser impresso Int_Sts_Func = Daruma_FI_VendeItem("500", "Caderno", "FF", "I", "1", "2", "1,00", "$", "0,00") 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_TEF_EsperarArquivo("C:\TEF_Dial\Resp\Intpos.001", "5", "0") If Int_Sts_Func <> 1 Then MsgBox "Arquivo com a Resposta de TEF No Encontrado!", vbCritical, "Daruma Framework" Exit Sub

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

Mtodos Exclusivos para Impressora DUAL

1.15.1 Daruma_DUAL_ImprimirTexto (ndice 4001)


Definio do Mtodo: Imprime Texto na Impressora DUAL (Imprimir na porta de Comunicao que foi configurada atravs do Mtodo Daruma_Registry_DUAL_Porta. 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. Aqui voc poder Utilizar o protocolo DHTM (DARUMA HTML) caso deseje formatar um texto.

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;

1.15.2 Daruma_DUAL_ImprimirArquivo (ndice 4008)


Definio do Mtodo: Imprime arquivo de texto, com at 3000 bytes. Parmetros do Mtodo: (1 Parmetro) String: Com o nome e o path de onde est o arquivo. Retornos do mtodo: 1: OK, Sucesso ao enviar o mtodo 0: Erro de comunicao, Impressora Desligada -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel

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.

1.15.3 Daruma_DUAL_VerificaSatus (ndice 4002)


Definio do Mtodo Retorna um Valor Inteiro com o Status da Impressora DUAL Parmetros do Mtodo: No h 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 Observaes: Se voc estiver usando a porta LPT(Paralela) e deseja pegar o status Acima voc dever configurar a chave ModoEscrita que dever estar a 1(um) porque desta forma a DLL ir se comunicar diretamente atravs do Endereo da Porta Paralela e no atravs da API Normal do Windows que no permite a leitura destes Status. Isso somente deve ser levado em considerao quando estiver Usando a LPT(Paralela). No Caso da Serial nada disso debve ser levado em considerao, porque no caso da Serial a Prpria DUAL quem retorna um Byte indicando seu Atual Satus. Caso a chave ModoEscrita esteja igual a 0(zero) Que seu Default - este Mtodo sempre retornar 1(um) e voc no ter acesso aos Status detalhados da Impressora. Na Porta Serial a Chave ModoEscrita no levada em Considerao. 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: 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;

1.15.4 Daruma_DUAL_VerificaDocumento (ndice 4003)


Definiod do Mtodo: Retorna um Valor Inteiro que indica se o Documento est posicionado para Autenticar ou no Parmetros do Mtodo: No h 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 Observao Importante: Se voc estiver usando a porta LPT(Paralela) e deseja pegar o status Acima voc dever configurar a chave ModoEscrita que dever estar a 1(um) porque desta forma a DLL ir se comunicar diretamente atravs do Endereo da Porta Paralela e no atravs da API Normal do Windows que no permite a leitura destes Status. Isso somente deve ser levado em considerao quando estiver Usando a LPT(Paralela). No Caso da Serial nada disso devolve ser levado em considerao, porque no caso da Serial a Prpria DUAL quem retorna um Byte indicando seu Atual Status. Caso a chave ModoEscrita esteja igual a 0(zero) - Que seu Default - este Mtodo sempre retornar 1(um) e voc no ter acesso aos Status detalhados da Impressora. Na Porta Serial a Chave ModoEscrita no levada em Considerao. Para maiores detalhes de como utilizar e cosnfigurar a chave Modo Escrita veja o Link Daruma_Registry_DUAL_ModoEscrita. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_VerificaDocumento() If Int_Retorno = 1 Then MsgBox "1(um) - Documento Posicionado", vbInformation, "Daruma Framework" Else MsgBox "0(zero) - Documento No Posicionado", vbCritical, "Daruma Framework" End If Exemplo em Delphi 7.0: egin Int_Retorno:= Daruma_DUAL_VerificaDocumento(); if Int_Retorno = 1 then begin Application.MessageBox('1 (um) Documento Posicionado!', 'Daruma Framework', mb_ok + 32); end else begin Application.MessageBox('Documento Nao Posicionado!', 'Daruma Framework', mb_ok + 16); end;

Daruma Automao

293

Daruma Framework

end;

1.15.5 Daruma_DUAL_Autenticar (ndice 4004)


Definio do Mtodo: Permite Enviar um Texto para Autenticao e permite configurar o Tempo que deseja esperar para Autenticar e tambm o local, na Bobina e no DOC ou s no Documento. Aqui voc poder utilizar as TAGS DHTM para Impreso e formatar o texto que deseja Autenticar. Por exemplo se deseja Autenticar com Sublinhado e Expandido envie o seguinte mtodo: iRetorno = Daruma_DUAL_Autenticar("1","<s><e>Texto</s></e>","10") Por exemplo se deseja Autenticar Com a Data e a Hora Atual, chame o seguinte mtodo: iRetorno = Daruma_DUAL_Autenticar("1","<dt><hr>Texto","10") Veja Aqui Alguns Exemplos de Utilizao

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.

1.15.6 Daruma_DUAL_AcionaGaveta (ndice 4005)


Definio do Mtodo: Aciona a Gaveta de dinheiro que est "plugada" a Impressora DUAL na Saida RJ45 da Impressora Parmetros do Mtodo: No H 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 Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_DUAL_AcionaGaveta() Exemplo em Delphi 7.0: begin Int_Retorno:= Daruma_DUAL_AcionaGaveta() end;

1.15.7 Daruma_DUAL_StatusGaveta (ndice 4009)


Definio do Mtodo: Devolve o status da gaveta de dinheiro na impressora DUAL no fiscal. Sendo 1(um) para gaveta aberta e 0(zero) para gaveta fechada. Parmetros do Mtodo: Nenhum. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 0: Time-Out, o Usuario no posicionou o Documento dentroOb do tempo indicado 1: OK, Sucesso ao enviar o mtodo -27: Erro Genrico -50: Impressora OFF-Line -51: Impressora Sem Papel -52: ECF Inicializando. Observaes: - Caso voc esteja trabalhando com windows verso: ME, 2000, XP, NT e Sistemas Protegidos e comunicando-se com a impressora pela porta LPT. Ento dever seguir os passos descritos no link a seguir: Trabalhando com a DUAL NA PARALELA (LPT1, LPT2) . Do contrrio no ser possvel apanhar o status. - Se o sinal estiver invertido. Ou seja, se ao invz de retornar 1(um) para gaveta aberta, estiver retornando 1, enquanta fechada, realize o procedimento abaixo: a)Start o editor de registro do windows REGEDIT; b)No path: HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF, altere a chave ModoGaveta, que se estiver pra 1(um) mude pra 0(zero) ou ento vice-versa. Daruma Automao

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;

1.15.8 Daruma_DUAL_EnviarBMP (ndice 4013)


Definio do Mtodo: Envia um arquivo com o logotipo da empresa, no formato BMP, dentro dos padres exigidos. Parmetros do Mtodo:(1Parmetro) Path: O caminho e o nome do arquipo bitmap, exemplo:c:\nomedoarquivo.bmp Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o BMP 0: Erro de comunicao, Impressora Desligada -1: Erro, arquivo BMP inexistente -2: Erro na estrutura do arquivo -3: Arquivo BMP no est em preto e branco -4: arquivo no pode ser compactado -5: Altura invlida, verifique se esta na medida exigida -6: Largura invlida, verifique se esta na medida exigida -7: Arvivo foi gerado em um formato no compatvel -8: Arvivo de origem invlido -9: Problema no arquivo de destino

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;

1.15.9 Daruma_DUAL_VerificarGuilhotina (ndice 4014)


Definio do Mtodo: Este mtodo verifica se a guilhotina (quando houver), esta habilitada. Sendo que devolver 1(um) para guilhotina habilitada e 0(zero) para guilhotina no habilitada. Parmetros do Mtodo: Nenhum. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o BMP 0: Erro de comunicao, Impressora Desligada Observaes: - Quando nao houver Guilhotina na impressora, o valor retornado ser sempre (0)zero. Exemplos: Exemplo em Visual Basic 6.0:

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;

1.15.10 Daruma_DUAL_ProgramarGuilhotina (ndice 4015)


Definio do Mtodo: Este mtodo programa a Guilhotina na impressora DUAL. Parmetros do Mtodo:(2Parmetros) Flag: Inteiro 1(um) para programar 0(zero) para desprogramar. LinhasAvanco: Inteiro de 0 a 20 linhas para o acionamento da guilhotina. Este Mtodo retornar um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o BMP 0: Erro de comunicao, Impressora Desligada Observaes: Exemplos: Exemplo em Visual Basic 6.0: Daruma Automao

297

Daruma Framework

Exemplo em Delphi 7.0:

1.15.11 Daruma_DUAL_Imprimimindo Codigos de Barras


Definio: Imprime cdigo de barras na DUAL atravs de Tags. DHTML Com o lanamento da Impressora Trmica, a Daruma passou a disponibilizar em seus modelos, fiscal e no fical (trmicos), a impresso de cdigo de barras, que muito til para a identificao de produtos. A seguir voc ir saber alm dos modelos de cdigos de barras que fazem parte do set de comandos da DR600, como a Daruma32.dll atravs da tags DHTML, facilita na hora da impresso dos coigos de barras. Vejamos ento os parmetros que compe os cdigos: 1. Tipo do Cdigo de barra a ser impresso (Obrigatrio) Contedo: <ean13> <ean8> <s2of5> <i2of5> <code128> <code39> <code93> <upc-a> <codabar> <msi> <code11> 2. Largura do cdigo de barra: (Ateno este parmetro opcional) Contedo: <wx> Possveis valores para a largura do cdigo de barras (x): 2 a 5 Default: 2 3. Altura do cdigo de barra: (Ateno este parmetro opcional) Contedo: <hx> Possveis valores para a altura do cdigo de barras (x): 50 a 200 Default: 50 4. Imprime o cdigo abaixo das barras: (Ateno este parmetro opcional) Contedo do cdigo: <txt> Default: No imprimir o cdigo abaixo das barras. O tamando do cdigo e o tipo dos carcteres que podero serem impressos dever respeitar a lista abaixo: EAN-13 12 dgitos de 0 a 9 EAN-8 7 dgitos de 0 a 9 UPC-A 11 dgitos de 0 a 9 CODE 39 Tamanho varivel. 0-9, A-Z, '-', '.', '%', '/', '$', ' ', '+' O caracter '*' de start/stop inserido automaticamente CODE 93 Tamanho varivel. 0-9, A-Z, '-', '.', ' ', '$', '/', '+', '%' O caracter '*' de start/stop inserido automaticamente CODABAR tamanho varivel. 0 - 9, '$', '-', ':', '/', '.', '+'

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;

1.15.12 Mtodos para Impresso na DUAL


1.15.12.1 Trabalhando com a DUAL NA PARALELA (LPT1, LPT2)

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

1.15.12.2 Resolvendo Problemas de Comunicao com a PARALELA

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

Pressione OK: Reinicie o Computador, efetue os testes normalmente.

1.15.12.3 Utilizando as Tags de Impresso de Texto e Formatao

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

<b></b> <i></i> <s></s> <e></e> <c></c> <n></n> <l></l> <ce></ce>

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;

1.15.12.4 Teste Completo com as Tags de Impresso de Texto

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;

1.15.12.5 10 Exemplos utilizando as tags de formatacao


1.15.12.5.1 Exemplo DUAL 01

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:

1.15.12.5.2 Exemplo DUAL 02

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:

1.15.12.5.3 Exemplo DUAL 03 (Tabulaes)

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:

1.15.12.5.4 Exemplo DUAL 04

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

-50: Impressora -51: Impressora -52: Impressora -60: Erro de Tag

OFF-Line Sem Papel Inicializando (tag invlida) Exemplos:

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:

1.15.12.5.5 Exemplo DUAL 05

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:

1.15.12.5.6 Exemplo DUAL 06

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

Exemplo em Delphi 7.0:

1.15.12.5.7 Exemplo DUAL 07

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:

1.15.12.5.8 Exemplo DUAL 08

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:

1.15.12.5.9 Exemplo DUAL 09

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:

1.15.12.5.10 Exemplo DUAL 10

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:

1.15.13 Mtodos para a DUAL de Configurao do Registry


1.15.13.1 Daruma_Registry_DUAL_Enter (ndice 30)
Definio do Mtodo: Permite Configurar se Cada vez que a Impressora, efetuar a Impresso de uma Linha ela ir Quebrar a Linha automaticamente. Parmetros do Mtodo: (1 Parmetro) 0 - No Quebra Linha Automaticamente 1 - Quebra Linha Automaticamente

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');

1.15.13.2 Daruma_Registry_DUAL_Espera (ndice 32)


Definio do Mtodo: Permite Sincronizar a dll com o Aplicativo: Se voce deseja que a DLL segura o processo apenas quando terminar a ltima linha Impressa, coloque esta Chave a 1(um), caso contrario quando o Buffer do PC estiver Vazio e o ECF ainda estiver imprimindo o que estiver em seu Buffer a dll Ir retornar para o Aplicativo, porm o ECF ainda estar Imprimindo. Parmetros do Mtodo: (1 Parmetro) 1: Espera Impressao Terminar para receber o Valor de Retorno da Funcao de Impressao da DLL 0: No espera 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_Espera("1") Exemplo em Delphi 7.0: Int_Retorno:= Daruma_Registry_DUAL_Espera('1');

1.15.13.3 Daruma_Registry_DUAL_ModoEscrita (ndice 33)


Definio do Mtodo: Permite Configurar qual o modo de escrita da dll na porta PARALELA. Este modo s funcional do CASO de se utilizar a porta Paralela. Com este Mtodo voc poder configurar qual o Modo de escrita que ser praticado. Parmetros do Mtodo: (1 Parmetro) 1 - Escrita DIRETO na PORTA de Comunicao Utilizando-se do HWINTERFACE.SYS 0 - Escrita sem Utilizar-se do HWINTERFACE.SYS Ao optar pelo Modo de Escrita 1(um) , em sistema operacionais como XP, NP e 2000 voc ter acesso a funes como: - VerificaDocumento. - Status da Impressora. Porm poder realizar todas as operaes de impresso sem problemas. Observao Importante!!!

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');

1.15.13.4 Daruma_Registry_DUAL_Porta (ndice 31)


Definio do Mtodo: Configura a porta de Comunicao que a DUAL ir Utilizar para se Comunicar. Parmetros do Mtodo: (1 Parmetro) String com o Valor da Porta "LPT1" "LPT2" "COM1" "COM2" "COM3" "COM4" 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 Observeo: Valor default da Chave = "LPT1" 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", "Lpt1") If Str_Porta = "" Then Exit Sub End If Int_Retorno = Daruma_Registry_DUAL_Porta(Str_Porta) Exemplo em Delphi 7.0: var Str_Porta: string; ClickedOK: Boolean; begin Str_Porta:='LPT1'; ClickedOK:=InputQuery('Entre com a Porta onde esta a Impressora:', 'Daruma Framework', Str_Porta); if (ClickedOK = False) or (Str_Porta='') then exit; Int_Retorno:= Daruma_Registry_DUAL_Porta(Str_Porta);

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;

1.15.13.5 Daruma_Registry_DUAL_Tabulacao (ndice 34)


Definio do Mtodo: Formata as tabulaes que sero utilizadas na DUAL. As tabulaes em nossa impressora, funcionam exatamente como em uma mquina de escrever, ou seja, primeiro voc define as tabulaes que sero usadas, depois voc utiliza. Parmetros do Mtodo: (1 Parmetro) String com as tabulaes: 05,10,15,20,25,35 Na sugesto passada como parmetro anteriormente, a primeira tabulao definida para a impresso comear na quinta coluna, depois na dcima, dcima-quinta, vigsima, vigsima-quinta e por ltimo na trigsima-quinta. Importante: da mesma forma que acontece em uma mquina de escrever, que se o texto que escrito for maior que o intervalo da tabulao pr-configurado, ento perde-se a tabulao, na impressora igual. Exemplificando melhor seria o seguinte: 1)Temos a tabulao DEFAULT, que 05,10,15,20,25,35. 2)Supondo que voc coloque o texto "QUANTIDADE", na primeira tabulao; 2.1)Como a palavra quantidade que tm 10(dez) caracteres, e maior que o intervalo da at a prxima tabulao que de apenas 5(cinco) colunas, ento a segunda tabulao 10(dez)colunas de tamanho ser perdida, nesta linha. 3)Uma dica seria, limitar-se sempre a trabalhar com um texto que nunca ultrapasse o intervalo programado, dessa forma o layout da tabela, que o objetivo maior por se estar utilizando tabulao, ficar perfeito, como no exemplo abaixo: QTD. 01 02 03 TAM. 50 78 40 COR AZUL VERDE CINZA

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;

1.15.13.6 Daruma_Registry_DUAL_Velocidade (ndice 46)


Definio do Mtodo: Permite configurar a velocidade a impressora DUAL Trmica DR600. Parmetros do Mtodo: (1 Parmetro) String com a Velocidade de comunicao "9600" "38400" "57600" "115200" 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 = "9600" Exemplos: Exemplo em Visual Basic 6.0: Exemplo em Delphi 7.0:

1.15.13.7 Daruma_Registry_DUAL_Termica (ndice 48)


Definio do Mtodo: Permite configurar para trabalhar com a impressora DUAL Trmica DR600. Parmetros do Mtodo: (1 Parmetro) 0 - Impressora DUAL Matricial 1 - Impressora DUAL Trmica DR600. 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: Exemplo em Delphi 7.0: Int_Retorno:= Daruma_Registry_DUAL_Termica('1');

Daruma Automao

Daruma Framework

330

1.16

Mtodos Exclusivos para o TA1000

1.16.1 Mtodos para Produtos


1.16.1.1 Daruma_TA1000_CadastrarProdutos(ndice 5420)
Definio do Mtodo: Permite cadastrar produtos no TA1000. Parmetros do Mtodo So: (12 Parmetros) 1. Descrio: String at 25 caracteres com a descrio do produto. 2. Cdigo: String com at 13 caracteres com cdigo numrico ou 7 alfa-numricos do produto. 3. Casas Decimais do Preo: String com apenas o carctere. 4. Casas Decimais da Quantidade: Strig com 2(dois) caracteres. 5. Preo do Produto: String com at 8 dgitos para o preo do item. 6. Acrscimo Desconto: String "A" para Acrscimo e "D" para Desconto. 7. Valor Desconto ou Acrscimo: String com 5 dgitos para desconto ou Acrscimo. 8. Unidade de Medida: String com 2 dgitos. 9. Alquota: String com o ndice da alquota. 10. Prximo Produto: String com 5 dgitos. 11. Produto Anterior: String com 5 dgitos.. 12. Estoque: String com 8 dgitos para o 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: - 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;

1.16.1.2 Daruma_TA1000_LerProdutos(ndice 5460)


Definio do Mtodo: Permite ler os produtos no TA1000. Parmetros do Mtodo: (13 Parmetros) 1. Indice: Inteiro com o ndice do produto. 2. Cdigo: String com at 13 caracteres com cdigo numrico ou 7 alfa-numricos do produto. 3. Descrio: String com at 25 espaos para receber a descrio. 4. Decimais Preo:String com at 8 espaos para receber do item. 5. Decimais Quantidade: String com at 25 espaos para receber a descrio. 6. Preo: String com at 25 espaos para receber a descrio. 7. Acrscimo Desconto: String com at 2 espaos para receber o byte indicador para acrscimo ou desconto. 8. Valor Acrscimo Desconto: String com 5 espaos para receber o valor do acrscimo ou desconto. 9. Unidade de Medida: String com 2 espaos para receber a unidade de medida. 10. Alquota: String com 3 para receber a alquota.

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;

1.16.1.3 Daruma_TA1000_ConsultarProdutos(ndice 5440)


Definio do Mtodo: Permite consultar produtos no TA1000. Parmetros do Mtodo: (12 Parmetros) 1. Cdigo: String com at 13 caracteres com cdigo numrico ou 7 alfa-numricos do produto. 2. Descrio: String com at 25 espaos para receber a descrio. 3. Decimais Preo:String com at 8 espaos para receber do item. 4. Decimais Quantidade: String com at 25 espaos para receber a descrio. 5. Preo: String com at 25 espaos para receber a descrio. 6. Acrscimo Desconto: String com at 2 espaos para receber o byte indicador para acrscimo ou desconto.

Daruma Automao

Daruma Framework

334

7. 8. 9. 10. 11. 12.

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;

1.16.1.4 Daruma_TA1000_AlterarProdutos(ndice 5410)


Definio do Mtodo: Permite alterar um determinado produto no TA1000. Parmetros do Mtodo: (13 Parmetros) 1. Cdigo: String com at 13 caracteres com cdigo numrico ou 7 alfa-numricos do produto. 2. Descrio: String at 25 caracteres com a descrio do produto. 3. Cdigo: String com at 13 caracteres contendo o cdigo do produto. 4. Casas Decimais do Preo: Strig com apenas o carctere. 5. Casas Decimais da Quantidade: Strig com 2(dois) caracteres. 6. Preo do Produto: String com at 8 dgitos para o preo do item. 7. Acrscimo Desconto: String "A" para Acrscimo e "D" para Desconto. 8. Valor Acrscimo Desconto: String com 5 dgitos para Acrscimo ou Acrscimo. 9. Unidade de Medida: String com 2 dgitos. 10. Alquota: String com o ndice da alquota. 11. Prximo Produto: String com 5 dgitos. 12. Produto Anterior: String com 5 dgitos.. 13. Estoque: String com 8 dgitos para o 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: Para que esse mtodo seja validado no TA1000, voce precisa chamar o mtodo Daruma_TA1000_EnviarBancoProdutos. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Codigo_Consultar As String

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

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;

1.16.1.5 Daruma_TA1000_EliminarProdutos(ndice 5430)


Definio do Mtodo: Permite eliminar um determinado produto no TA1000. Parmetros do Mtodo: (1 Parmetro) 1. Cdigo: String com at 13 caracteres com cdigo numrico ou 7 alfa-numricos do produto. 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_EnviarBancoProdutos. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Codigo As String Str_Codigo = InputBox("Entre com o Codigo do Produto que voce deseja Eliminar:", "Daruma Framework", "0001") Int_Retorno = Daruma_TA1000_EliminarProdutos(Str_Codigo) Exemplo em Delphi 7.0: var 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;

1.16.1.6 Daruma_TA1000_EnviarBancoProdutos(ndice 5350)


Definio do Mtodo: Permite enviar os produtos para o TA1000. 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: Dim Int_Status As Integer

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;

1.16.1.7 Daruma_TA1000_ReceberBancoProdutos(ndice 5360)


Definio do Mtodo: Permite receber os produtos cadastrados no TA1000. 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 Produtos.plu, em um path indicado no registry. O Path default e C:\ O formato do arquivo de retorno pode ser visto abaixo: Header v1.46 PRODUTOS ;00001;00001;00001;bjcpcxfcgfjgkgltmcmtpcptscttunvd Produto Numero1 ;1 ;2;2;00000100;-00000;un;TA;000;00002;00100;00000001 Produto Numero2 ;2 ;2;2;00000200;-00000;un;TA;000;00003;00001;00000002 Produto Numero3 ;3 ;2;2;00000300;-00000;un;TA;000;00004;00002;00000003 Produto Numero4 ;4 ;2;2;00000400;-00000;un;TA;000;00005;00003;00000004 Produto Numero5 ;5 ;2;2;00000500;-00000;un;TA;000;00006;00004;00000005 Produto Numero6 ;6 ;2;2;00000600;-00000;un;TA;000;00007;00005;00000006 Produto Numero7 ;7 ;2;2;00000700;-00000;un;TA;000;00008;00006;00000007 Produto Numero8 ;8 ;2;2;00000800;-00000;un;TA;000;00009;00007;00000008 Produto Numero9 ;9 ;2;2;00000900;-00000;un;TA;000;00010;00008;00000009 Produto Numero10 ;10 ;2;2;00001000;-00000;un;TA;000;00011;00009;00000010 Exemplos: Exemplo em Visual Basic 6.0: Dim Int_Status As Integer Int_Retorno = Daruma_TA1000_ReceberBancoProdutos()

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;

1.16.1.8 Daruma_TA1000_ReceberProdutosVendidos(ndice 5363)


Definio do Mtodo: Permite receber os produtos vendidos no TA1000. 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: 1. Este mtodo retornara os produtos em um arquivo TXTcom nome de ProdutosVendidos.plu, em um path indicado no registry. 2. O Path default e C:\ O formato do arquivo de retorno pode ser visto abaixo: Header PRODUTOS VENDIDOS ;00001;00001;00001; A1200b1800c1200d1500E////F////G////H////I////J////K////L////M////N////O////P//// Produto Numero1 ;1 ;2;2;00000100;00000;un;TA;000;00002;00010;00009900;0000001000;0000001000;0000001000; Produto Numero2 ;2 ;2;2;00000200;00000;un;TA;000;00003;00001;00009900;0000001000;0000001000;0000001000; Produto Numero3 ;3 ;2;2;00000300;00000;un;TA;000;00004;00002;00009800;0000002000;0000002000;0000002000; Produto Numero4 ;4 ;2;2;00000400;00000;un;TA;000;00005;00003;00009900;0000001000;0000001000;0000001000; Produto Numero5 ;5 ;2;2;00000500;00000;un;TA;000;00006;00004;00009900;0000001000;0000001000;0000001000; Produto Numero6 ;6 ;2;2;00000600;00000;un;TA;000;00007;00005;00009900;0000001000;0000001000;0000001000; Produto Numero7 ;7 ;2;2;00000700;00000;un;TA;000;00008;00006;00009900;0000001000;0000001000;0000001000; Produto Numero8 ;8 ;2;2;00000800;00000;un;TA;000;00009;00007;00009900;0000001000;0000001000;0000001000;

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;

1.16.1.9 Daruma_TA1000_ZerarProdutos(ndice 5450)


Definio do Mtodo: Permite zerar os produtos no TA1000. 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 que esse mtodo seja validado no TA1000, voce precisa chamar o mtodo Daruma_TA1000_EnviarBancoProdutos. 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

341

Daruma Framework

1.16.1.10 Daruma_TA1000_ZerarProdutosVendidos(ndice 5456)


Definio do Mtodo: Permite zerar os produtos vendidos no TA1000. 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 que esse mtodo seja validado no TA1000, voce precisa chamar o mtodo Daruma_TA1000_EnviarBancoProdutos. Exemplos: Exemplo em Visual Basic 6.0: Int_Retorno = Daruma_TA1000_ZerarProdutosVendidos() Exemplo em Delphi 7.0: begin Int_Retorno:= Daruma_TA1000_ZerarProdutosVendidos(); end;

1.16.2 Mtodos para Usurios


1.16.2.1 Daruma_TA1000_CadastrarUsuarios(ndice 5422)
Definio do Mtodo: Permite cadastrar usuros no TA1000. Parmetros do Mtodo: (6 Parmetros) 1. Nome: String at 26 caracteres com o nome do usurio. 2. CPF: String com at 13 caracteres contendo o CPF do usurio. 3. Cdigo do Convnio: String com at 6 dgitos contendo o cdigo do convnio. 4. Cdigo do Usurio: String com at 6 dgitos contendo o cdigo do usurio. 5. Prximo Usurio: String com 6 dgitos. 6. Usurio Anterior: String com 6 dgitos. 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: Dim Str_Nome As String Dim Str_CPF As String Dim Str_Codigo_Convenio As String Dim Str_Codigo_Usuario As String Dim Str_Usuario_Anterior As String Dim Str_Proximo_Usuario As String

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();

1.16.2.2 Daruma_TA1000_ConsultarUsuarios(ndice 5443)


Definio do Mtodo: Permite consultar usuarios no TA1000. Parmetros do Mtodo: (1 Parmetro) Cdigo: String com at 6 caracteres contendo o cdigo do usurio. 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 usurio a ser consultado e no mais alocar espaos para receber os dados do usurio. Exemplos: Exemplo em Visual Basic 6.0: Dim Str_Codigo_Consultar As String Dim Str_Nome As String Dim Str_CPF As String Dim Str_Codigo_Convenio As String Dim Str_Codigo_Usuario As String Dim Str_Usuario_Anterior As String Dim Str_Proximo_Usuario As String Str_Codigo_Consultar = TX_Codigo_Consultar.Text Str_Nome = Space(26) Str_CPF = Space(13) Str_Codigo_Convenio = Space(6) Str_Codigo_Usuario = Space(6) Str_Usuario_Anterior = Space(6)

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;

1.16.2.3 Daruma_TA1000_AlterarUsuarios(ndice 5412)


Definio do Mtodo: Permite alterar um determinado produto no TA1000. Parmetros do Mtodo: (1 Parmetro) Cdigo do usurio alterado: String com at 6 caracteres contendo o cdigo do usurio a ser alterado. 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: Dim Str_Codigo_Consultar As String Dim Str_Nome As String Dim Str_CPF As String Dim Str_Codigo_Convenio As String Dim Str_Codigo_Usuario As String Dim Str_Usuario_Anterior As String Dim Str_Proximo_Usuario As String Str_Codigo_Consultar = TX_Codigo_Consultar.Text

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;

1.16.2.4 Daruma_TA1000_EliminarUsuarios(ndice 5432)


Definio do Mtodo: Permite eliminar um determinado produto no TA1000. Parmetros do Mtodo: (1 Parmetro) Cdigo: String com at 13 caracteres contendo o cdigo do produto a ser eliminado. 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: Dim Str_Codigo As String Str_Codigo = InputBox("Entre com o Codigo do Produto que voce deseja Eliminar:", "Daruma Framework", "0001") Int_Retorno = Daruma_TA1000_EliminarProdutos(Str_Codigo) Exemplo em Delphi 7.0: var

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;

1.16.2.5 Daruma_TA1000_EnviarBancoUsuarios(ndice 5351)


Definio do Mtodo: Permite enviar os produtos para o TA1000. 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: Dim Int_Status As Integer Int_Retorno = Daruma_TA1000_EnviarBancoUsuarios() 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_EnviarBancoUsuarios(); 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;

1.16.2.6 Daruma_TA1000_ReceberBancoUsuarios(ndice 5361)


Definio do Mtodo: Permite receber os produtos vendidos.

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;

1.16.2.7 Daruma_TA1000_ZerarUsuarios(ndice 5452)


Definio do Mtodo: Permite zerar os produtos no TA1000. Parmetros do Mtodo: No H.

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;

1.16.3 Teste Completo Gerando Banco de Produtos e Usuarios


1.16.3.1 Daruma TA1000 Gerar Banco com Produtos
Definio do Mtodo: Algoritimo para gerar-se um banco contendo Produtos 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: Exemplos: Exemplo em Visual Basic 6.0: Dim Int_Contador As Integer Dim Str_Codigo As String Dim Str_Descricao As String Dim Str_Valor As String Dim Str_Estoque As String Dim Str_Proximo_Produto As String Dim Str_Produto_Anterior As String Dim Int_Quantidade_Produtos As Integer Int_Quantidade_Produtos = CInt("100") Int_Contador = 1 Int_Retorno = Daruma_TA1000_ZerarProdutos() Do While (Int_Contador <= Int_Quantidade_Produtos) Str_Codigo = CStr(Int_Contador) Str_Descricao = "Produto Numero" + CStr(Int_Contador) Str_Valor = String(6 - Len(CStr(Int_Contador)), "0") Str_Valor = Str_Valor + CStr(Int_Contador) + "00" Str_Estoque = "00010000"

If Int_Contador = 1 Then Str_Produto_Anterior = String(5 - Len(CStr(Int_Quantidade_Produtos)), "0") Str_Produto_Anterior = Str_Produto_Anterior + CStr(Int_Quantidade_Produtos)

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)

Int_Contador = Int_Contador + 1 Loop Exemplo em Delphi 7.0:

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;

1.16.3.2 Daruma TA1000 Gerar Banco com Usuarios


Definio do Mtodo: Algoritimo para gerar-se um banco contendo Usuarios 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: Exemplos: Exemplo em Visual Basic 6.0: Dim Int_Contador As Integer Dim Str_Codigo_Convenio As String Dim Str_Codigo_Usuario As String Dim Str_Nome As String Dim Str_Valor As String Dim Str_Estoque As String Dim Str_Proximo_Usuario As String Dim Str_Usuario_Anterior As String Dim Int_Quantidade_Usuarios As Integer Int_Quantidade_Usuarios = CInt("100") Int_Contador = 1 Int_Retorno = Daruma_TA1000_ZerarUsuarios() Do While (Int_Contador <= Int_Quantidade_Usuarios) Str_Codigo_Usuario = CStr(Int_Contador) Str_Nome = "Usuario Numero" + CStr(Int_Contador) Str_Codigo_Convenio = String(6 - Len(CStr(Int_Contador)), "0") Str_Codigo_Convenio = Str_Valor + CStr(Int_Contador) If Int_Contador = 1 Then Str_Usuario_Anterior = String(5 - Len(CStr(Int_Quantidade_Usuarios)), "0") Str_Usuario_Anterior = Str_Usuario_Anterior + CStr(Int_Quantidade_Usuarios) Else Str_Usuario_Anterior = String(5 - Len(CStr(Int_Contador)), "0")

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

Mtodos Exclusivos para Gerar o Sintegra (MFD)

1.17.1 Informaes sobre Sintegra


ALGUMAS INFORMAES IMPORTANTES O QUE O SINTEGRA ? Sistema Integrado de Informaes sobre Operaes Interestaduais com Mercadorias e Servios um conjunto de procedimentos administrativos e de sistemas computacionais de apoio, que est implantado em todo o pas, com a finalidade de facilitar o fornecimento de informaes dos contribuintes aos fiscos estaduais e de aprimorar o fluxo de dados nas Administraes Tributrias e entre as mesmas. DE ONDE SO EXTRADAS AS INFORMES QUE FORMAM O SINTEGRA ? So extradas de duas fontes de dados o ECF (MFD) a outra so as Notas Fiscais de Entrada. Neste manual, voc encontra somente os Mtodos que extraem as informaes do ECF (Smente Impressora MFD) QUAIS OS RELATRIOS QUE SO GERADOS PARTIR DO ECF (MFD)? 1. Sero gerados os seguintes relatrios: Tipo 10. Tipo 11. Todos os Tipos 60 (quando existir vendas). Tipo 90 Sempre. PREMISSAS PARA QUE SEJA GERADO CORRETAMENTE O SINTEGRA O ms tem de estar fechado. Ou seja, a Reduo Z do ltimo dia fiscal do ms dever ter sido emitida. Exemplo: se o ltimo dia fiscal foi 27, mas voc vai gerar o Sintegra somente no dia 01 do ms seguinte e a Reduo Z do movimento do dia 27 esta pendente, ento ter que emiti-la primeiro e aps isso gerar o Sintegra.

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

1.17.2 Mtodos de Alto Nvel para Gerar o Sintegra


1.17.2.1 Daruma_Sintegra_GerarRegistrosArq (ndice 6022)
Definio do Mtodo: Este um mtodo de alto nvel, que rene em um nico arquivo, todos os registros gerados pelo ECF, se preferir usar mtodos que contenham, informaes de forma avulsa, favor utilizar os mtodos de mdio nvel ou at mesmo o mtodo de baixo nvel, que voc encontra aqui mesmo neste help. Gera o arquivo Sintegra.txt no path configurado no flag Path no registry: HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\SINTEGRA. Para alterar o path, use o mtodo: Daruma_Registry_SintegraPath(ndice 71). Abaixo temos um exemplo do arquivo que gerado, note que primeiramente temos o Tipo 10 (clich), na segunda linha temos o Tipo 11 (endereo), aps temos os relatrios Tipo 60, conforme o movimento que teve o PDV e na ltima posio, temos o Tipo 90. 10076947150001309035904830 Suporte ao Desenvolvedor Curitiba 00000000002006120120061231331 11Av. Comendador Franco 01341Bloco B Jardim Botnico00080215Joo 000000000000 60M20061201DR0205BR0000000687570012D00105900106500005201800000000000003270000000000 778436 60A20061201DR0205BR0000000687571800000000000027 60D20061201DR0205BR00000006875700001 00000000000010000000000000005000000000000000118000000000000000 60I20061201DR0205BR0000000687572D00105900100001 000000000000100000000050000000000000011800000000000000

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;

1.17.3 Mtodos de Mdio Nvel para Gerar o Sintegra


1.17.3.1 Daruma_Sintegra_GerarRegistro10 (ndice 6023)
Definio do Mtodo: Executa o download bruto da MFD, no intervalo das datas definidas nos parmetros. Em seguida devolve um registro do Tipo 10. Exemplo de retorno: 10076947150001309035904830 Suporte ao Desenvolvedor 00000000002006120120061231313

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

Curitiba PR 4133616945 01012007 01022007 1 3

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;

1.17.3.2 Daruma_Sintegra_GerarRegistro11(ndice 6024)


Definio do Mtodo: Executa o download bruto da MFD, no intervalo das datas definidas nos parmetros. Em seguida devolve um registro do Tipo 11. Exemplo de retorno: 11Av. Comendador Franco 000000000000

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

-52: Erro de abertura de arquivos -11: Comando incompativel

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;

1.17.3.3 Daruma_Sintegra_GerarRegistro60M (ndice 6025)


Definio do Mtodo: Executa o download bruto da MFD, no intervalo das datas definidas nos parmetros. Em seguida gera um registro do tipo 60M (Mestre). Exemplo de retorno: 60M20061201DR0205BR0000000687570012D00105900106500005201800000000000003270000000000 778436 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 60M. Observaes: - Este mtodo exclusivo para impressora MFD. - A cada execuo desse mtodo, ser escrito na varivel, o movimento de um dia. - 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

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();

1.17.3.4 Daruma_Sintegra_GerarRegistro60A (ndice 6026)


Definio do Mtodo: Executa o download bruto da MFD, no intervalo das datas definidas nos parmetros. Em seguida gera um registro do tipo 60A (Analtico). Exemplo de retorno: 60A20061201DR0205BR0000000687571800000000000027 60A20061201DR0205BR0000000687571200000000000000 60A20061201DR0205BR0000000687570700000000000000 60A20061201DR0205BR000000068757F 000000000300 60A20061201DR0205BR000000068757I 000000000000 60A20061201DR0205BR000000068757N 000000000000 60A20061201DR0205BR000000068757CANC000000000000 60A20061201DR0205BR000000068757DESC000000000000 60A20061201DR0205BR000000068757ISS 000000000000 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 60A Observaes: - Este mtodo exclusivo para impressora MFD. - A cada execuo desse mtodo, ser escrito na varivel, o movimento de um dia, de acor com as alquotas programadas no ECF. - 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; 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

Int_Retorno:= Daruma_Sintegra_GerarRegistro60A(Str_Data_Inicio_Movimento, Str_Data_Fim_Movimento,Str_Retorno); Retorno_Registro60A.Lines.Text:= (Str_Retorno); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno(); end;

1.17.3.5 Daruma_Sintegra_GerarRegistro60D (ndice 6027)


Definio do Mtodo: Executa o download bruto da MFD, no intervalo das datas definidas nos parmetros. Em seguida gera um registro do tipo 60D (Resumo Dirio) ` Exemplo de retorno: 60D20061201DR0205BR00000006875700001 00000000000010000000000000005000000000000000118000000000000000 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 60D. Observaes: - Este mtodo exclusivo para impressora MFD. - A cada execuo desse mtodo, ser escrito na varivel, o movimento de um dia. - 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; 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;

1.17.3.6 Daruma_Sintegra_GerarRegistro60I (ndice 6028)


Definio do Mtodo: Executa o download bruto da MFD, no intervalo das datas definidas nos parmetros. Em seguida gera um registro do tipo 60I (tem).

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;

1.17.3.7 Daruma_Sintegra_GerarRegistro60R (ndice 6029)


Definio do Mtodo: Executa o download bruto da MFD, no intervalo das datas definidas nos parmetros. Em seguida gera um registro do tipo 60R (Resumo Mensal). Exemplo de retorno: 60R12200600001 0000000000001000000000000000500000000000000011800 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 60R. Observaes: - Este mtodo exclusivo para impressora MFD. - A cada execuo desse mtodo, ser escrito na varivel, o movimento de um dia. - O mtodo pode ser executado vrias vezes em um loop, at que o retorno seja uma string contendo FIM DOS DADOS.

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;

1.17.3.8 Daruma_Sintegra_GerarRegistro90 (ndice 6030)


Definio do Mtodo: Gera o registro do tipo 90. Deve existir previamente um arquivo contendo os registros 10, 11, 60M, 60D, 60I e 60R. O registro tipo 90 sera retornado em varivel. Exemplo de retorno:

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

1.17.4 Mtodos de Baixo Nvel para Gerar o Sintegra


1.17.4.1 Daruma_FIMFD_RetornarInfoDownloadMFD (ndice 6020)
Definio do Mtodo: Executa o download bruto da MFD, em um intervalo de datas ou de COOs, dependendo do parmetro TipoDL (tipode down-load). Em seguida, seleciona os dados retornados, de acordo com o parmetro ndice. O mtodo pode ser executado vrias vezes, em um loop, para consumir todos os dados referentes ao ndice requerido. Ao final dos dados, retornada uma string contendo o FIM DOS DADOS. Este procedimento dever ser seguido, quando tratar-se de ndices que retornam informacoes variveis, como por exemplo, os tens que foram vendidos. Parmetros: (5 parmetros) 1. TipoDL: String com tipo do down-load, sendo 1(um) Intervado de datas e 2(dois)Intervalo de COO 2. Data/COO Incio: String com a Data / COO com o nicio do down-load. 3. Data/COO Fim: String com a Data / COO com o fim do down-load. 4. ndice Dados: String com o ndice dos dados, que pode ser um dos que so listados mais abaixo nesta pgina. 5. Retorno: Varivel por referncia para receber os dados. 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.

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

1.17.4.2 Daruma_FIMFD_RetornarInfoDownloadMFDArquivo (ndice 6021)


Definio do Mtodo: Executa o download bruto da MFD, em um intervalo de datas ou de COOs, dependendo do parmetro TipoDL (tipo do down-load). Em seguida, seleciona os dados retornados, de acordo com o parmetro ndice e os grava no arquivo Sintegra_INDICE.txt, onde NDICE o contedo do parmetro ndice. O arquivo gerado no path configurado no registro por DEFAULT no C:\ - porm pode ser alterado atravs do mtodo:Daruma_Registry_SintegraPath(ndice 71). Parmetros: (5 parmetros) 1. TipoDL: String com tipo do down-load, sendo 1(um) Intervado de datas e 2(dois)Intervalo de COO. 2. Data/COO Incio: String com a Data / COO com o nicio do down-load. 3. Data/COO Fim: String com a Data / COO com o fim do down-load. 4 ndice Dados: String com o ndice dos dados, que pode ser um dos que so listados mais abaixo nesta pgina.

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.

Sobre os comprovantes de crdito/dbito. (no fiscais vinculados):

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

Daruma Framework 49 107 49 Forma de pagamento indicada no encontrada 161

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

90 Sequncia de validao de nmero de srie invlida 161 9600 102

-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

CupomNFNV 165, 166 CupomRestaurante 213 Cupons 76, 84, 249

-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 Framework Daruma_FIR_EmitirCupomAdicional 229

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

-QQual a verso da DLL? 176

-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

-XXPendente 121, 254

-ZZ 139, 264 ZAutomatica 81 Zera 243 Zerando o Registry 101 Zerar 340, 341, 346 ZPendente 121, 254

Daruma Automao

386

Endnotes 2... (after index)

Daruma Automao

Back Cover

You might also like