87514270 daruma framework

400
Daruma Automação Standard print manual template

Upload: andre-sousa

Post on 10-Aug-2015

552 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 87514270 Daruma Framework

Daruma Automação

Standard printmanual template

Page 2: 87514270 Daruma Framework

Title page 1Use this page to introduce the product

by <AUTHOR>

This is "Title Page 1" - you may use this page to introduceyour product, show title, author, copyright, company logos,etc.

This page intentionally starts on an odd page, so that it is onthe right half of an open book from the readers point of view.This is the reason why the previous page was blank (theprevious page is the back side of the cover)

Page 3: 87514270 Daruma Framework

All rights reserved. No parts of this work may be reproduced in any form or by any means - graphic, electronic, ormechanical, including photocopying, recording, taping, or information storage and retrieval systems - without thewritten permission of the publisher.

Products that are referred to in this document may be either trademarks and/or registered trademarks of therespective 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 noresponsibility for errors or omissions, or for damages resulting from the use of information contained in this documentor from the use of programs and source code that may accompany it. In no event shall the publisher and the author beliable for any loss of profit or any other commercial damage caused or alleged to have been caused directly orindirectly by this document.

Printed: junho 2007 in (whereever you are located)

Daruma Framework

Daruma Automação

PublisherSpecial thanks to:

All the people who contributed to this document, to mum and dadand grandpa, to my sisters and brothers and mothers in law, to oursecretary Kathrin, to the graphic artist who created this greatproduct logo on the cover page (sorry, don't remember your nameat the moment but you did a great work), to the pizza service downthe street (your daily Capricciosas saved our lives), to the copyshop where this document will be duplicated, and and and...

Last not least, we want to thank EC Software who wrote this greathelp tool called HELP & MANUAL which printed this document.

Managing Editor

Technical Editors

Cover Designer

...enter name...

...enter name...

...enter name...

...enter name...

...enter name...

Production

...enter name...

Team Coordinator

...enter name...

Page 4: 87514270 Daruma Framework

Table of Contents

Foreword 1

Part I Daruma Framework 3

................................................................................................................................... 31 Algumas informações sobre este manual

................................................................................................................................... 42 Lista dos Métodos disponíveis na DLL e seus índices

................................................................................................................................... 113 Configurando a Daruma32.DLL

................................................................................................................................... 124 Configurando a Daruma32.SO

................................................................................................................................... 135 Utlizando o FlagShip com Impressoras Daruma

.......................................................................................................................................................... 17Fazendo um Cupom Fiscal com o FlagShip com Impressoras Daruma

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

................................................................................................................................... 197 Configurando a Daruma32.SO para trabalhar com LTSP

................................................................................................................................... 238 Driver Daruma Observer para Aplicativos DOS/Win 16 Bit´s

.......................................................................................................................................................... 23O Quê é o Driver Daruma Observer?

.......................................................................................................................................................... 25Graficamente como Funciona o Observer

.......................................................................................................................................................... 25Instalando o Driver Observer

.......................................................................................................................................................... 27Instalando o Driver Linux Observer 2.0

.......................................................................................................................................................... 29Preparando seu Aplicativo para o Observer

.......................................................................................................................................................... 32Trabalhando com Comandos em Lote, usando o Mapeamento de Unidade

.......................................................................................................................................................... 33Trabalhando com o Observer linux em rede

......................................................................................................................................................... 33Observer com Network File System (NFS)

.......................................................................................................................................................... 34Métodos para o Observer de Configuração do Registry

......................................................................................................................................................... 34Configuração do Observer

......................................................................................................................................................... 35Daruma_Observer_Registry_Execucao (Índice 53)

......................................................................................................................................................... 35Daruma_Observer_Registry_Log (Índice 58)

......................................................................................................................................................... 35Daruma_Observer_Registry_Log_Path (Índice 59)

......................................................................................................................................................... 36Daruma_Observer_Registry_Entrada (Índice 50)

......................................................................................................................................................... 36Daruma_Observer_Registry_Saida (Índice 52)

......................................................................................................................................................... 37Daruma_Observer_Registry_Produto (Índice 61)

................................................................................................................................... 379 Métodos Exclusivos para Impressora Fiscal

.......................................................................................................................................................... 37Método para ajustar automático para Horário de Verão

......................................................................................................................................................... 37Daruma_FI_ConfiguraHorarioVerao(Índice 314)

.......................................................................................................................................................... 38Métodos de Cupom Fiscal

......................................................................................................................................................... 38Daruma_FI_AbreCupom(Índice 1000)

......................................................................................................................................................... 38Daruma_FI_VendeItem(Índice 1001)

......................................................................................................................................................... 40Daruma_FI_VendeItemDepartamento(Índice 1004)

......................................................................................................................................................... 42Daruma_FI_VendeItemTresDecimais(Índice 1019)

......................................................................................................................................................... 43Daruma_FI_CancelaCupom(Índice 1014)

......................................................................................................................................................... 44Daruma_FI_CancelaItemAnterior(Índice 1005)

......................................................................................................................................................... 44Daruma_FI_CancelaItemGenerico(Índice 1006)

......................................................................................................................................................... 45Daruma_FI_IniciaFechamentoCupom(Índice 1007)

......................................................................................................................................................... 46Daruma_FI_EfetuaFormaPagamento(Índice 1008)

......................................................................................................................................................... 46Daruma_FI_EfetuaFormaPagamentoDescricaoForma(Índice 1009)

......................................................................................................................................................... 47Daruma_FI_FechaCupomResumido(Índice 1012)

......................................................................................................................................................... 48Daruma_FI_FechaCupom(Índice 1011)

......................................................................................................................................................... 49Daruma_FI_TerminaFechamentoCupom(Índice 1010)

......................................................................................................................................................... 50Daruma_FI_EstornoFormasPagamento(Índice 1017)

Daruma FrameworkI

Daruma Automação

Page 5: 87514270 Daruma Framework

......................................................................................................................................................... 51Daruma_FI_IdentificaConsumidor(Índice 1013)

......................................................................................................................................................... 52Daruma_FI_EmitirCupomAdicional(Índice 1018)

......................................................................................................................................................... 52Daruma_FI_UsaUnidadeMedida(Índice 1016)

......................................................................................................................................................... 53Daruma_FI_AumentaDescricaoItem(Índice 1015)

.......................................................................................................................................................... 54Métodos de Recebimentos, Não Fiscais e Vinculados

......................................................................................................................................................... 54Daruma_FI_AbreComprovanteNaoFiscalVinculado(Índice 1203)

......................................................................................................................................................... 54Daruma_FI_UsaComprovanteNaoFiscalVinculado(Índice 1204)

......................................................................................................................................................... 55Daruma_FI_FechaComprovanteNaoFiscalVinculado(Índice 1205)

......................................................................................................................................................... 55Daruma_FI_AbreRelatorioGerencial(Índice 1208)

......................................................................................................................................................... 56Daruma_FI_FechaRelatorioGerencial(Índice 1201)

......................................................................................................................................................... 56Daruma_FI_AbreRecebimentoNaoFiscal(Índice 1210)

......................................................................................................................................................... 58Daruma_FI_EfetuaFormaPagamentoNaoFiscal(Índice 1211)

......................................................................................................................................................... 58Daruma_FI_FundoCaixa(Índice 1212)

......................................................................................................................................................... 59Daruma_FI_LeituraMemoriaFiscalData(Índice 1102)

......................................................................................................................................................... 60Daruma_FI_LeituraMemoriaFiscalReducao(Índice 1103)

......................................................................................................................................................... 60Daruma_FI_LeituraMemoriaFiscalSerialData(Índice 1104)

......................................................................................................................................................... 61Daruma_FI_LeituraMemoriaFiscalSerialReducao(Índice 1105)

......................................................................................................................................................... 62Daruma_FI_LeituraX(Índice 1101)

......................................................................................................................................................... 62Daruma_FI_RecebimentoNaoFiscal(Índice 1202)

......................................................................................................................................................... 63Daruma_FI_ReducaoZ(Índice 1100)

......................................................................................................................................................... 64Daruma_FI_ReducaoZAjustaDataHora(Índice 11006)

......................................................................................................................................................... 64Daruma_FI_RelatorioGerencial(Índice 1200)

......................................................................................................................................................... 65Daruma_FI_Sangria(Índice 1206)

......................................................................................................................................................... 66Daruma_FI_Suprimento(Índice 1207)

.......................................................................................................................................................... 66Métodos Gaveta Autenticação e Outras

......................................................................................................................................................... 66Daruma_FI_VerificaDocAutenticacao(Índice 1301)

......................................................................................................................................................... 67Daruma_FI_Autenticacao(Índice 1300)

......................................................................................................................................................... 67Daruma_FI_AutenticacaoStr(Índice 1302)

......................................................................................................................................................... 68Daruma_FI_VerificaEstadoGaveta(Índice 1311)

......................................................................................................................................................... 69Daruma_FI_VerificaEstadoGavetaStr(Índice 1312)

......................................................................................................................................................... 69Daruma_FI_AcionaGaveta(Índice 1310)

......................................................................................................................................................... 70Daruma_FI_AbrePortaSerial(Índice 600)

......................................................................................................................................................... 70Daruma_FI_FechaPortaSerial(Índice 601)

......................................................................................................................................................... 71Daruma_FI_AberturaDoDia(Índice 603)

......................................................................................................................................................... 71Daruma_FI_FechamentoDoDia(Índice 604)

......................................................................................................................................................... 72Daruma_FI_ImprimeConfiguracoesImpressora(Índice 607)

.......................................................................................................................................................... 72Métodos Pogramação e Configuração

......................................................................................................................................................... 73Daruma_FI_ProgramaAliquota(Índice 302)

......................................................................................................................................................... 73Daruma_FI_NomeiaTotalizadorNaoSujeitoIcms(Índice 304)

......................................................................................................................................................... 74Daruma_FI_ProgramaFormasPagamento(Índice 301)

......................................................................................................................................................... 75Daruma_FI_ProgramaOperador(Índice 310)

......................................................................................................................................................... 75Daruma_FI_ProgramaArredondamento(Índice 305)

......................................................................................................................................................... 76Daruma_FI_ProgramaTruncamento(Índice 306)

......................................................................................................................................................... 76Daruma_FI_LinhasEntreCupons(Índice 307)

......................................................................................................................................................... 77Daruma_FI_EspacoEntreLinhas(Índice 308)

......................................................................................................................................................... 77Daruma_FI_ProgramaHorarioVerao(Índice 303)

......................................................................................................................................................... 78Daruma_FI_EqualizaFormasPgto(Índice ???)

......................................................................................................................................................... 79Daruma_FI_ProgramaVinculados(Índice 312)

......................................................................................................................................................... 79Daruma_FI_ProgramaFormasPgtoSemVincular(Índice 313)

......................................................................................................................................................... 80Daruma_FI_CfgFechaAutomaticoCupom(Índice 400)

......................................................................................................................................................... 81Daruma_FI_CfgRedZAutomatico(Índice 401)

......................................................................................................................................................... 81Daruma_FI_CfgImpEstGavVendas(Índice 411)

......................................................................................................................................................... 82Daruma_FI_CfgLeituraXAuto(Índice 402)

......................................................................................................................................................... 82Daruma_FI_CfgCalcArredondamento(Índice 403)

IIContents

II

Daruma Automação

Page 6: 87514270 Daruma Framework

......................................................................................................................................................... 83Daruma_FI_CfgHorarioVerao(Índice 404)

......................................................................................................................................................... 83Daruma_FI_CfgSensorAut(Índice 405)

......................................................................................................................................................... 84Daruma_FI_CfgCupomAdicional(Índice 412)

......................................................................................................................................................... 84Daruma_FI_CfgEspacamentoCupons(Índice 407)

......................................................................................................................................................... 85Daruma_FI_CfgHoraMinReducaoZ(Índice 408)

......................................................................................................................................................... 86Daruma_FI_CfgLimiarNearEnd(Índice 409)

......................................................................................................................................................... 86Daruma_FI_CfgPermMensPromCNF(Índice 410)

......................................................................................................................................................... 87Regra de Configuração do Registry

......................................................................................................................................................... 88Valores do Registry para o ECF

......................................................................................................................................................... 91Daruma_Registry_AlteraRegistry (Índice 17)

......................................................................................................................................................... 91Daruma_Registry_Porta(Índice 1)

......................................................................................................................................................... 92Daruma_Registry_Path(Índice 2)

......................................................................................................................................................... 93Daruma_Registry_Status(Índice 3)

......................................................................................................................................................... 93Daruma_Registry_StatusFuncao(Índice 4)

......................................................................................................................................................... 94Daruma_Registry_Retorno(Índice 5)

......................................................................................................................................................... 94Daruma_Registry_ControlePorta(Índice 6)

......................................................................................................................................................... 94Daruma_Registry_ModoGaveta(Índice 7)

......................................................................................................................................................... 95Daruma_Registry_ConfigRede(Índice 8)

......................................................................................................................................................... 95Daruma_Registry_Log(Índice 9)

......................................................................................................................................................... 95Daruma_Registry_NomeLog(Índice 10)

......................................................................................................................................................... 96Daruma_Registry_Separador(Índice 11)

......................................................................................................................................................... 96Daruma_Registry_SeparaMsgPromo(Índice 12)

......................................................................................................................................................... 97Daruma_Registry_Vende1Linha(Índice 13)

......................................................................................................................................................... 97Daruma_Registry_XAutomatica(Índice 14)

......................................................................................................................................................... 98Daruma_Registry_ZAutomatica(Índice 15)

......................................................................................................................................................... 98Daruma_Registry_TerminalServer(Índice 21)

......................................................................................................................................................... 99Daruma_Registry_AbrirDiaFiscal(Índice 23)

......................................................................................................................................................... 99Daruma_Registry_IgnorarPoucoPapel(Índice 24)

......................................................................................................................................................... 100Daruma_Registry_ImprimeRegistry(Índice 18)

......................................................................................................................................................... 100Daruma_Registry_RetornaValor(Índice 19)

......................................................................................................................................................... 101Daruma_Registry_Default(Índice 20)

......................................................................................................................................................... 102Daruma_Registry_ErroExtendidoOk(Índice 22)

......................................................................................................................................................... 102Daruma_Registry_Velocidade(Índice 28)

......................................................................................................................................................... 103Daruma_Registry_Produto(Índice 34)

......................................................................................................................................................... 103Daruma_Registry_AplMensagem1(Índice 36)

......................................................................................................................................................... 104Daruma_Registry_AplMensagem2(Índice 37)

......................................................................................................................................................... 104Daruma_Registry_TEF_NumeroLinhasImpressao(Índice 38)

......................................................................................................................................................... 105Daruma_Registry_NumeroSerieNaoFormatado(Índice 42)

......................................................................................................................................................... 105Daruma_Registry_NumeroLinhasImpressao(Índice 38)

......................................................................................................................................................... 106Daruma_Registry_MFD_ProgramarSinalSonoro(Índice 52)

......................................................................................................................................................... 107Daruma_Registry_MFD_LeituraMFCompleta(Índice 49)

......................................................................................................................................................... 107Daruma_Registry_CupomAdicionalDll(Índice 56)

......................................................................................................................................................... 108Daruma_Registry_CupomAdicionalDllConfig(Índice 57)

......................................................................................................................................................... 109Daruma_Registry_ComandosEmLote(Índice 58)

......................................................................................................................................................... 110Daruma_Registry_FinalLote(Índice 59)

......................................................................................................................................................... 110Daruma_Registry_PathLote(Índice 60)

......................................................................................................................................................... 110Daruma_Registry_PCExpanionLogin(Índice 63)

......................................................................................................................................................... 111Daruma_Registry_MFDValorFinal(Índice 66)

......................................................................................................................................................... 112Daruma_Registry_LogTamMaxMB(Índice 69)

......................................................................................................................................................... 113Daruma_Registry_SintegraSeparador(Índice 70)

......................................................................................................................................................... 114Daruma_Registry_SintegraPath(Índice 71)

......................................................................................................................................................... 114Daruma_Registry_MaxFechamentoAutomatico(Índice 72)

.......................................................................................................................................................... 115Métodos de Informação, Status e Retornos

......................................................................................................................................................... 115Daruma FrameworkTabela de Retornos ST1 e ST2

Daruma FrameworkIII

Daruma Automação

Page 7: 87514270 Daruma Framework

......................................................................................................................................................... 116Daruma_FI_StatusCupomFiscal(Índice 1404)

......................................................................................................................................................... 117Daruma_FI_StatusRelatorioGerencial(Índice 1405)

......................................................................................................................................................... 117Daruma_FI_StatusComprovanteNaoFiscalVinculado(Índice 1403)

......................................................................................................................................................... 118Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado(Índice 1471)

......................................................................................................................................................... 118Daruma_FI_VerificaImpressoraLigada(Índice 1400]

......................................................................................................................................................... 119Daruma_FI_VerificaModeloECF(Índice 1469)

......................................................................................................................................................... 119Daruma_FI_VerificaHorarioVerao(Índice 1500)

......................................................................................................................................................... 120Daruma_FI_VerificaDiaAberto(Índice 1484)

......................................................................................................................................................... 121Daruma_FI_VerificaZPendente(Índice 1489)

......................................................................................................................................................... 121Daruma_FI_VerificaXPendente(Índice 1488)

......................................................................................................................................................... 122Daruma_FI_VerificaTipoImpressora(Índice 1444)

......................................................................................................................................................... 122Daruma_FI_VerificaDescricaoFormasPagamento(Índice 1470)

......................................................................................................................................................... 123Daruma_FI_VerificaFormasPagamento(Índice 1442)

......................................................................................................................................................... 123Daruma_FI_VerificaFormasPagamentoEx(Índice 1448)

......................................................................................................................................................... 124Daruma_FI_VerificaEstadoImpressora(Índice 1401)

......................................................................................................................................................... 125Daruma_FI_VerificaAliquotasIss(Índice 1440)

......................................................................................................................................................... 126Daruma_FI_VerificaIndiceAliquotasIss(Índice 1445)

......................................................................................................................................................... 126Daruma_FI_VerificaTotalizadoresNaoFiscais(Índice 1436)

......................................................................................................................................................... 126Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(Índice 1486)

......................................................................................................................................................... 127Daruma_FI_VerificaEpromConectada(Índice 1432)

......................................................................................................................................................... 127Daruma_FI_VerificaRecebimentosNaoFiscal(Índice 1443)

......................................................................................................................................................... 128Daruma_FI_VerificaTruncamento(Índice 1439)

......................................................................................................................................................... 129Daruma_FI_VerificaModoOperacao(Índice 1431)

......................................................................................................................................................... 130Daruma_FI_VerificaTotalizadoresParciais(Índice 1407)

......................................................................................................................................................... 130Daruma_FI_ClicheProprietario(Índice 1424)

......................................................................................................................................................... 131Daruma_FI_ClicheProprietarioEx(Índice 1467)

......................................................................................................................................................... 131Daruma_FI_NumeroCaixa(Índice 1425)

......................................................................................................................................................... 132Daruma_FI_NumeroLoja(Índice 1426)

......................................................................................................................................................... 132Daruma_FI_NumeroSerie(Índice 1411)

......................................................................................................................................................... 133Daruma_FI_RegistraNumeroSerie(Índice 1491)

......................................................................................................................................................... 133Daruma_FI_VerificaNumeroSerie(Índice 1492)

......................................................................................................................................................... 134Daruma_FI_RetornaSerialCriptografada(índice ????)

......................................................................................................................................................... 134Daruma_FI_VersaoFirmware(Índice 1412)

......................................................................................................................................................... 135Daruma_FI_CGC_IE(Índice 1413)

......................................................................................................................................................... 135Daruma_FI_NumeroCupom(Índice 1417)

......................................................................................................................................................... 136Daruma_FI_COO(Índice 1468)

......................................................................................................................................................... 137Daruma_FI_MinutosImprimindo(Índice 1430)

......................................................................................................................................................... 137Daruma_FI_MinutosLigada(Índice 1429)

......................................................................................................................................................... 138Daruma_FI_NumeroSubstituicoesProprietario(Índice 1422)

......................................................................................................................................................... 138Daruma_FI_NumeroIntervencoes(Índice 1421)

......................................................................................................................................................... 139Daruma_FI_NumeroReducoes(Índice 1420)

......................................................................................................................................................... 139Daruma_FI_NumeroCuponsCancelados(Índice 1419)

......................................................................................................................................................... 140Daruma_FI_NumeroOperacoesNaoFiscais(Índice 1418)

......................................................................................................................................................... 140Daruma_FI_DataHoraImpressora(Índice 1434)

......................................................................................................................................................... 141Daruma_FI_DataHoraReducao(Índice 1437)

......................................................................................................................................................... 141Daruma_FI_DataMovimento(Índice 1438)

......................................................................................................................................................... 142Daruma_FI_ContadoresTotalizadoresNaoFiscais(Índice 1435)

......................................................................................................................................................... 142Daruma_FI_LerAliquotasComIndice(Índice 1483)

......................................................................................................................................................... 143Daruma_FI_VendaBruta(Índice 1490)

......................................................................................................................................................... 143Daruma_FI_VendaBrutaAcumulada(Índice 1498)

......................................................................................................................................................... 144Daruma_FI_GrandeTotal(Índice 1414)

......................................................................................................................................................... 144Daruma_FI_Descontos(Índice 1415)

......................................................................................................................................................... 145Daruma_FI_Acrescimos(Índice 1441)

......................................................................................................................................................... 146Daruma_FI_Cancelamentos(Índice 1416)

IVContents

IV

Daruma Automação

Page 8: 87514270 Daruma Framework

......................................................................................................................................................... 146Daruma_FI_DadosUltimaReducao(Índice 1410)

......................................................................................................................................................... 147Daruma_FI_SubTotal(Índice 1408)

......................................................................................................................................................... 148Daruma_FI_Troco(Índice 1450)

......................................................................................................................................................... 148Daruma_FI_SaldoAPagar(Índice 1449)

......................................................................................................................................................... 149Daruma_FI_RetornoAliquotas (Índice 1406)

......................................................................................................................................................... 149Daruma_FI_ValorPagoUltimoCupom (Índice 1433)

......................................................................................................................................................... 150Daruma_FI_UltimaFormaPagamento (Índice 1473)

......................................................................................................................................................... 150Daruma_FI_ValorFormaPagamento (Índice 1446)

......................................................................................................................................................... 151Daruma_FI_ValorTotalizadorNaoFiscal (Índice 1447)

......................................................................................................................................................... 152Daruma_FI_UltimoItemVendido (Índice 1423)

......................................................................................................................................................... 152Daruma_FI_TipoUltimoDocumento (Índice 1493)

......................................................................................................................................................... 153Daruma_FI_MapaResumo(Índice 602)

......................................................................................................................................................... 154Daruma_FI_RelatorioTipo60Analitico(Índice 605)

......................................................................................................................................................... 155Daruma_FI_RelatorioTipo60Mestre(Índice 606)

......................................................................................................................................................... 156Daruma_FI_FlagsFiscais(Índice 1428)

......................................................................................................................................................... 157Daruma_FI_PalavraStatus(Índice 1481)

......................................................................................................................................................... 159Daruma_FI_FlagsFiscaisStr(Índice 1479)

......................................................................................................................................................... 160Daruma_FI_SimboloMoeda(Índice 1427)

......................................................................................................................................................... 160Daruma_FI_RetornoImpressora(Índice 1402)

......................................................................................................................................................... 161Daruma_FI_RetornaErroExtendido(Índice 1472)

......................................................................................................................................................... 163Daruma_FI_RetornaAcrescimoNF(Índice 1451)

......................................................................................................................................................... 163Daruma_FI_RetornaCFCancelados(Índice 1452)

......................................................................................................................................................... 164Daruma_FI_RetornaCNFCancelados(Índice 1453)

......................................................................................................................................................... 164Daruma_FI_RetornaCLX(Índice 1454)

......................................................................................................................................................... 165Daruma_FI_RetornaCNFNV(Índice 1455)

......................................................................................................................................................... 165Daruma_FI_RetornaCNFV(Índice 1456)

......................................................................................................................................................... 166Daruma_FI_RetornaDescicaoCNFV(Índice 1497)

......................................................................................................................................................... 167Daruma_FI_RetornaCRO(Índice 1457)

......................................................................................................................................................... 167Daruma_FI_RetornaCRZ(Índice 1458)

......................................................................................................................................................... 168Daruma_FI_RetornaCRZRestante(Índice 1459)

......................................................................................................................................................... 168Daruma_FI_RetornaCancelamentoNF(Índice 1460)

......................................................................................................................................................... 169Daruma_FI_RetornaDescontoNF(Índice 1461)

......................................................................................................................................................... 169Daruma_FI_RetornaGNF(Índice 1462)

......................................................................................................................................................... 170Daruma_FI_RetornaTempoImprimindo(Índice 1463)

......................................................................................................................................................... 170Daruma_FI_RetornaTempoLigado(Índice 1464)

......................................................................................................................................................... 171Daruma_FI_RetornaTotalPagamentos(Índice 1465)

......................................................................................................................................................... 171Daruma_FI_RetornaTroco(Índice 1466)

......................................................................................................................................................... 172Daruma_FI_RetornaRegistradoresNaoFiscais(Índice 1499)

......................................................................................................................................................... 174Daruma_FI_RetornaRegistradoresFiscais(Índice 1485)

......................................................................................................................................................... 174Daruma_FI_RetornaValorComprovanteNaoFiscal(Índice 1495)

......................................................................................................................................................... 175Daruma_FI_RetornaIndiceComprovanteNaoFiscal(Índice 1496)

......................................................................................................................................................... 176Daruma_FI_RetornarVersaoDLL(Índice 1502)

................................................................................................................................... 17610 Métodos Exclusivos para a Impressora MFD

.......................................................................................................................................................... 176Daruma_FIMFD_DownloadDaMFD (Índice 6004)

.......................................................................................................................................................... 177Daruma_FIMFD_RetornaInformacao (Índice 6000)

.......................................................................................................................................................... 185Daruma_FIMFD_ImprimeCodigoBarras (Índice 6001)

.......................................................................................................................................................... 186Daruma_FIMFD_TerminaFechamentoCupomCodigoBarras (Índice 6005)

.......................................................................................................................................................... 188Daruma_FIMFD_IndicePrimeiroVinculado (Índice 6003)

.......................................................................................................................................................... 189Daruma_FIMFD_CasasDecimaisProgramada (Índice 6002)

.......................................................................................................................................................... 190Daruma_FIMFD_StatusCupomFiscal (Índice 6008)

.......................................................................................................................................................... 190Daruma_FIMFD_SinalSonoro (Índice 53)

.......................................................................................................................................................... 191Daruma_FIMFD_ProgramaRelatoriosGerenciais (Índice 6013)

.......................................................................................................................................................... 191Daruma_FIMFD_AbreRelatorioGerencial (Índice 6014)

.......................................................................................................................................................... 192Daruma_FIMFD_VerificaRelatoriosGerenciais (Índice 6015)

Daruma FrameworkV

Daruma Automação

Page 9: 87514270 Daruma Framework

.......................................................................................................................................................... 192Daruma_FIMFD_EmitirCupomAdicional (Índice 6016)

.......................................................................................................................................................... 193Daruma_FIMFD_AcionarGuilhotina (Índice 6017)

.......................................................................................................................................................... 194Daruma_FIMFD_EqualizarVelocidade (Índice 6018)

.......................................................................................................................................................... 195Daruma_FIMFD_AbreRecebimentoNaoFiscal(Índice ????)

.......................................................................................................................................................... 196Daruma_FIMFD_RecebimentoNaoFiscal(Índice ????)

.......................................................................................................................................................... 197Daruma_FIMFD_IniciaFechamentoNaoFiscal(Índice ????)

.......................................................................................................................................................... 198Daruma_FIMFD_EfetuaFormaPagamentoNaoFiscal(Índice ????)

.......................................................................................................................................................... 199Daruma_FIMFD_TerminaFechamentoNaoFiscal(Índice ????)

.......................................................................................................................................................... 199Daruma_FIMFD_ProgramarGuilhotina(Índice 6019)

................................................................................................................................... 20011 Métodos Exclusivos para a Impressora FS2000

.......................................................................................................................................................... 200Daruma_Registry_FS2000_CupomAdicional(Índice 35)

.......................................................................................................................................................... 201Daruma_Registry_FS2000_TempoEsperaCheque(Índice 45)

.......................................................................................................................................................... 201Daruma_FI2000_StatusCheque(Índice 5015)

.......................................................................................................................................................... 202Daruma_FI2000_ImprimirCheque(Índice 5016)

.......................................................................................................................................................... 203Daruma_FI2000_ImprimirVersoCheque(Índice 5017)

.......................................................................................................................................................... 203Daruma_FI2000_LiberarCheque(Índice 5008)

.......................................................................................................................................................... 204Daruma_FI2000_LeituraCodigoMICR(Índice 5007)

.......................................................................................................................................................... 204Daruma_FI2000_CancelarCheque(Índice 5026)

.......................................................................................................................................................... 205Daruma_FI2000_LeituraTabelaCheque(Índice 5011)

.......................................................................................................................................................... 205Daruma_FI2000_CarregarCheque(Índice 5009)

.......................................................................................................................................................... 206Daruma_FI2000_CorrigirGeometriaCheque(Índice 5010)

.......................................................................................................................................................... 206Daruma_FI2000_DescontoSobreItemVendido(Índice 5018)

.......................................................................................................................................................... 207Daruma_FI2000_AcrescimosICMSISS(Índice 5021)

.......................................................................................................................................................... 208Daruma_FI2000_CancelamentosICMSISS(Índice 5022)

.......................................................................................................................................................... 208Daruma_FI2000_DescontosICMSISS(Índice 5023)

.......................................................................................................................................................... 209Daruma_FI2000_LeituraIformacaoUltimoDOC(Índice 5024)

.......................................................................................................................................................... 210Daruma_FI2000_LeituraIformacaoUltimosCNF(Índice 5025)

.......................................................................................................................................................... 210Daruma_FI2000_AbreRelatorioGerencial(Índice 5012)

.......................................................................................................................................................... 211Daruma_FI2000_CriaRelatorioGerencial(Índice 5013)

.......................................................................................................................................................... 211Daruma_FI2000_VerificaRelatorioGerencial(Índice 5014)

.......................................................................................................................................................... 212Daruma_FI2000_SegundaViaCNFV(Índice 5019)

.......................................................................................................................................................... 212Daruma_FI2000_CancelamentoCNFV(Índice 5020)

................................................................................................................................... 21312 Métodos Exclusivos para a Impressora Fiscal Restaurante

.......................................................................................................................................................... 213Métodos de Cupom Fiscal

......................................................................................................................................................... 213Daruma_FIR_AbreCupomRestaurante(Índice 3000)

......................................................................................................................................................... 213Daruma_FIR_AbreCupomBalcao(Índice 3053)

......................................................................................................................................................... 214Daruma_FIR_VendeItem(Índice 3070)

......................................................................................................................................................... 214Daruma_FIR_VendeItemBalcao(Índice 3054)

......................................................................................................................................................... 215Daruma_FIR_ConferenciaMesa(Índice 3046)

......................................................................................................................................................... 216Daruma_FIR_RegistrarVenda(Índice 3048)

......................................................................................................................................................... 216Daruma_FIR_RegistroVendaSerial(Índice 3049)

......................................................................................................................................................... 217Daruma_FIR_FechaCupomRestauranteResumido(Índice 3012)

......................................................................................................................................................... 218Daruma_FIR_IniciaFechamentoCupom(Índice 3007)

......................................................................................................................................................... 218Daruma_FIR_IniciaFechamentoCupomComServico(Índice 3042)

......................................................................................................................................................... 219Daruma_FIR_EfetuaFormaPagamento(Índice 3008)

......................................................................................................................................................... 220Daruma_FIR_EfetuaFormaPagamentoDescricaoForma(Índice 3009)

......................................................................................................................................................... 221Daruma_FIR_IdentificaConsumidor(Índice 3013)

......................................................................................................................................................... 221Daruma_FIR_TerminaFechamentoCupom(Índice 3010)

......................................................................................................................................................... 222Daruma_FIR_TerminaFechamentoCupomID(Índice ????)

......................................................................................................................................................... 223Daruma_FIR_FechaCupomRestaurante(Índice 3011)

......................................................................................................................................................... 224Daruma_FIR_CancelaItem(Índice 3071)

......................................................................................................................................................... 225Daruma_FIR_CancelaItemBalcao(Índice 3055)

......................................................................................................................................................... 225Daruma_FIR_CancelaCupom(Índice 3014)

VIContents

VI

Daruma Automação

Page 10: 87514270 Daruma Framework

......................................................................................................................................................... 226Daruma_FIR_CancelarVenda(Índice 3045)

......................................................................................................................................................... 226Daruma_FIR_TransferirVenda(Índice 3051)

......................................................................................................................................................... 227Daruma_FIR_TransferirMesa(Índice 3052)

......................................................................................................................................................... 227Daruma_FIR_ImprimePrimeiroCupomDividido(Índice 3040)

......................................................................................................................................................... 228Daruma_FIR_RestanteCupomDividido(Índice 3041)

......................................................................................................................................................... 229Daruma_FIR_EmitirCupomAdicional(Índice 3018)

......................................................................................................................................................... 229Daruma_FIR_RelatotioMesasAbertas(Índice 3050)

.......................................................................................................................................................... 230Métodos de Recebimentos, Não Fiscais e Vinculados

......................................................................................................................................................... 230Daruma_FIR_AbreComprovanteNaoFiscalVinculado(Índice 3203)

......................................................................................................................................................... 230Daruma_FIR_UsaComprovanteNaoFiscalVinculado(Índice 3204)

......................................................................................................................................................... 231Daruma_FIR_FechaComprovanteNaoFiscalVinculado(Índice 3205)

......................................................................................................................................................... 231Daruma_FIR_FechaRelatorioGerencial(Índice 3201)

......................................................................................................................................................... 232Daruma_FIR_AbreRecebimentoNaoFiscal(Índice 3210)

......................................................................................................................................................... 233Daruma_FIR_EfetuaFormaPagamentoNaoFiscal(Índice 3211)

......................................................................................................................................................... 233Daruma_FIR_FundoCaixa(Índice 3207)

......................................................................................................................................................... 234Daruma_FIR_LeituraMemoriaFiscalData(Índice 3102)

......................................................................................................................................................... 234Daruma_FIR_LeituraMemoriaFiscalReducao(Índice 3103)

......................................................................................................................................................... 235Daruma_FIR_LeituraMemoriaFiscalSerialData(Índice 3104)

......................................................................................................................................................... 236Daruma_FIR_LeituraMemoriaFiscalSerialReducao(Índice 3105)

......................................................................................................................................................... 236Daruma_FIR_LeituraX(Índice 3101)

......................................................................................................................................................... 237Daruma_FIR_RecebimentoNaoFiscal(Índice 3202)

......................................................................................................................................................... 237Daruma_FIR_ReducaoZ(Índice 3100)

......................................................................................................................................................... 238Daruma_FIR_ReducaoZAjustaDataHora(Índice 3106)

......................................................................................................................................................... 239Daruma_FIR_RelatorioGerencial(Índice 3200)

......................................................................................................................................................... 239Daruma_FIR_Sangria(Índice 3206)

......................................................................................................................................................... 240Daruma_FIR_Suprimento(Índice 3207)

.......................................................................................................................................................... 240Métodos Gaveta Autenticação e Outras

......................................................................................................................................................... 240Daruma_FIR_VerificaDocAutenticacao(Índice 3301)

......................................................................................................................................................... 241Daruma_FIR_AutenticacaoStr(Índice 3302)

......................................................................................................................................................... 242Daruma_FIR_VerificaEstadoGaveta(Índice 3311)

......................................................................................................................................................... 242Daruma_FIR_AcionaGaveta(Índice 3310)

.......................................................................................................................................................... 243Métodos para Cardápio

......................................................................................................................................................... 243Daruma_FIR_AdicionaProdutoCardapio (Índice 555)

......................................................................................................................................................... 243Daruma_FIR_ZeraCardapio(Índice 650)

......................................................................................................................................................... 244Daruma_FIR_ImprimeCardapio(Índice 651)

......................................................................................................................................................... 244Daruma_FIR_CardapioSerial(Índice 652)

.......................................................................................................................................................... 244Métodos Pogramação e Configuração

......................................................................................................................................................... 245Daruma_FIR_ProgramaAliquota(Índice 550)

......................................................................................................................................................... 245Daruma_FIR_NomeiaTotalizadorNaoSujeitoIcms(Índice 551)

......................................................................................................................................................... 246Daruma_FIR_ProgramaFormasPagamento(Índice 554)

......................................................................................................................................................... 246Daruma_FIR_ProgramaRelatorioGerencial(Índice 559)

......................................................................................................................................................... 247Daruma_FIR_ProgramaOperador(Índice 552)

......................................................................................................................................................... 247Daruma_FIR_ProgramaMsgTaxaServico(Índice 553)

......................................................................................................................................................... 248Daruma_FIR_CfgHorarioVerao(Índice 504)

......................................................................................................................................................... 249Daruma_FIR_CfgLimiarNearEnd(Índice 509)

......................................................................................................................................................... 249Daruma_FIR_CfgEspacamentoCupons(Índice 507)

.......................................................................................................................................................... 250Métodos de Informação, Status e Retornos

......................................................................................................................................................... 250Daruma_FIR_StatusCupomFiscal(Índice 3404)

......................................................................................................................................................... 250Daruma_FIR_StatusRelatorioGerencial(Índice 3405)

......................................................................................................................................................... 251Daruma_FIR_StatusComprovanteNaoFiscalVinculado(Índice 3403)

......................................................................................................................................................... 251Daruma_FIR_StatusComprovanteNaoFiscalNaoVinculado(Índice )

......................................................................................................................................................... 252Daruma_FIR_VerificaImpressoraLigada(Índice 3400]

......................................................................................................................................................... 252Daruma_FIR_VerificaModeloECF(Índice 3469)

......................................................................................................................................................... 253Daruma_FIR_VerificaHorarioVerao(Índice ????)

Daruma FrameworkVII

Daruma Automação

Page 11: 87514270 Daruma Framework

......................................................................................................................................................... 254Daruma_FIR_VerificaZPendente(Índice 3488)

......................................................................................................................................................... 254Daruma_FIR_VerificaXPendente(Índice 3489)

......................................................................................................................................................... 255Daruma_FIR_VerificaFormasPagamentoEx(Índice 3448)

......................................................................................................................................................... 256Daruma_FIR_VerificaEstadoImpressora(Índice 3401)

......................................................................................................................................................... 256Daruma_FIR_VerificaAliquotasIss(Índice 3440)

......................................................................................................................................................... 257Daruma_FIR_VerificaIndiceAliquotasIss(Índice 3445)

......................................................................................................................................................... 257Daruma_FIR_VerificaTotalizadoresNaoFiscais(Índice 3436)

......................................................................................................................................................... 258Daruma_FIR_VerificaEpromConectada(Índice 3432)

......................................................................................................................................................... 258Daruma_FIR_VerificaRecebimentoNaoFiscal(Índice 3443)

......................................................................................................................................................... 259Daruma_FIR_VerificaTruncamento(Índice 3439)

......................................................................................................................................................... 260Daruma_FIR_VerificaModoOperacao(Índice 3431)

......................................................................................................................................................... 260Daruma_FIR_VerificaTotalizadoresParciais(Índice 3407)

......................................................................................................................................................... 261Daruma_FIR_NumeroCaixa(Índice 3425)

......................................................................................................................................................... 262Daruma_FIR_NumeroSerie(Índice 3411)

......................................................................................................................................................... 262Daruma_FIR_CGC_IE(Índice 3413)

......................................................................................................................................................... 263Daruma_FIR_NumeroCupom(Índice 3417)

......................................................................................................................................................... 263Daruma_FIR_NumeroIntervencoes(Índice 3421)

......................................................................................................................................................... 264Daruma_FIR_NumeroReducoes(Índice 3420)

......................................................................................................................................................... 264Daruma_FIR_NumeroCuponsCancelados(Índice 3419)

......................................................................................................................................................... 265Daruma_FIR_NumeroOperacoesNaoFiscais(Índice 3418)

......................................................................................................................................................... 265Daruma_FIR_DataHoraImpressora(Índice 3434)

......................................................................................................................................................... 266Daruma_FIR_DataHoraReducao(Índice 3437)

......................................................................................................................................................... 266Daruma_FIR_DataMovimento(Índice 3438)

......................................................................................................................................................... 267Daruma_FIR_ContadoresTotalizadoresNaoFiscais(Índice 3435)

......................................................................................................................................................... 267Daruma_FIR_LerAliquotasComIndice(Índice 3483)

......................................................................................................................................................... 268Daruma_FIR_GrandeTotal(Índice 3414)

......................................................................................................................................................... 268Daruma_FIR_Descontos(Índice 3415)

......................................................................................................................................................... 269Daruma_FIR_Cancelamentos(Índice 3416)

......................................................................................................................................................... 269Daruma_FIR_DadosUltimaReducao(Índice 3410)

................................................................................................................................... 27013 Métodos Exclusivos para a Impressora MFD Bilhete de Passagem

.......................................................................................................................................................... 270Método Daruma_FIB_AbreBilhetePassagem(Índice 2000)

.......................................................................................................................................................... 272Método Daruma_FIB_VendeItem(Índice 2001)

................................................................................................................................... 27314 Métodos Exclusivos para TEF

.......................................................................................................................................................... 273Implementando TEF com a Daruma32.dll

.......................................................................................................................................................... 275Daruma_TEF_SetFocus(Índice 1902)

.......................................................................................................................................................... 275Daruma_TEF_FechaRelatorio(Índice 1904)

.......................................................................................................................................................... 276Daruma_TEF_ImprimirResposta(Índice 1901)

.......................................................................................................................................................... 277Daruma_TEF_ImprimirRespostaCartao(Índice 1905)

.......................................................................................................................................................... 278Daruma_TEF_EsperarArquivo(Índice 1900)

.......................................................................................................................................................... 280Daruma_TEF_TravarTeclado(Índice 1903)

.......................................................................................................................................................... 281Daruma_TEF_Tratando os Erros

................................................................................................................................... 28715 Métodos Exclusivos para Impressora DUAL

.......................................................................................................................................................... 287Daruma_DUAL_ImprimirTexto (Índice 4001)

.......................................................................................................................................................... 289Daruma_DUAL_ImprimirArquivo (Índice 4008)

.......................................................................................................................................................... 291Daruma_DUAL_VerificaSatus (Índice 4002)

.......................................................................................................................................................... 292Daruma_DUAL_VerificaDocumento (Índice 4003)

.......................................................................................................................................................... 293Daruma_DUAL_Autenticar (Índice 4004)

.......................................................................................................................................................... 294Daruma_DUAL_AcionaGaveta (Índice 4005)

.......................................................................................................................................................... 294Daruma_DUAL_StatusGaveta (Índice 4009)

.......................................................................................................................................................... 295Daruma_DUAL_EnviarBMP (Índice 4013)

.......................................................................................................................................................... 296Daruma_DUAL_VerificarGuilhotina (Índice 4014)

.......................................................................................................................................................... 296Daruma_DUAL_ProgramarGuilhotina (Índice 4015)

.......................................................................................................................................................... 297Daruma_DUAL_Imprimimindo Codigos de Barras

VIIIContents

VIII

Daruma Automação

Page 12: 87514270 Daruma Framework

.......................................................................................................................................................... 298Métodos para Impressão na DUAL

......................................................................................................................................................... 298Trabalhando com a DUAL NA PARALELA (LPT1, LPT2)

......................................................................................................................................................... 299Resolvendo Problemas de Comunicação com a PARALELA

......................................................................................................................................................... 300Utilizando as Tags de Impressão de Texto e Formatação

......................................................................................................................................................... 307Teste Completo com as Tags de Impressão de Texto

......................................................................................................................................................... 31310 Exemplos utilizando as tags de formatacao

......................................................................................................................................... 313Exemplo DUAL 01

......................................................................................................................................... 315Exemplo DUAL 02

......................................................................................................................................... 316Exemplo DUAL 03 (Tabulações)

......................................................................................................................................... 317Exemplo DUAL 04

......................................................................................................................................... 318Exemplo DUAL 05

......................................................................................................................................... 319Exemplo DUAL 06

......................................................................................................................................... 321Exemplo DUAL 07

......................................................................................................................................... 322Exemplo DUAL 08

......................................................................................................................................... 323Exemplo DUAL 09

......................................................................................................................................... 324Exemplo DUAL 10

.......................................................................................................................................................... 325Métodos para a DUAL de Configuração do Registry

......................................................................................................................................................... 325Daruma_Registry_DUAL_Enter (Índice 30)

......................................................................................................................................................... 326Daruma_Registry_DUAL_Espera (Índice 32)

......................................................................................................................................................... 326Daruma_Registry_DUAL_ModoEscrita (Índice 33)

......................................................................................................................................................... 327Daruma_Registry_DUAL_Porta (Índice 31)

......................................................................................................................................................... 328Daruma_Registry_DUAL_Tabulacao (Índice 34)

......................................................................................................................................................... 329Daruma_Registry_DUAL_Velocidade (Índice 46)

......................................................................................................................................................... 329Daruma_Registry_DUAL_Termica (Índice 48)

................................................................................................................................... 33016 Métodos Exclusivos para o TA1000

.......................................................................................................................................................... 330Métodos para Produtos

......................................................................................................................................................... 330Daruma_TA1000_CadastrarProdutos(Índice 5420)

......................................................................................................................................................... 331Daruma_TA1000_LerProdutos(Índice 5460)

......................................................................................................................................................... 333Daruma_TA1000_ConsultarProdutos(Índice 5440)

......................................................................................................................................................... 335Daruma_TA1000_AlterarProdutos(Índice 5410)

......................................................................................................................................................... 337Daruma_TA1000_EliminarProdutos(Índice 5430)

......................................................................................................................................................... 337Daruma_TA1000_EnviarBancoProdutos(Índice 5350)

......................................................................................................................................................... 338Daruma_TA1000_ReceberBancoProdutos(Índice 5360)

......................................................................................................................................................... 339Daruma_TA1000_ReceberProdutosVendidos(Índice 5363)

......................................................................................................................................................... 340Daruma_TA1000_ZerarProdutos(Índice 5450)

......................................................................................................................................................... 341Daruma_TA1000_ZerarProdutosVendidos(Índice 5456)

.......................................................................................................................................................... 341Métodos para Usuários

......................................................................................................................................................... 341Daruma_TA1000_CadastrarUsuarios(Índice 5422)

......................................................................................................................................................... 342Daruma_TA1000_ConsultarUsuarios(Índice 5443)

......................................................................................................................................................... 343Daruma_TA1000_AlterarUsuarios(Índice 5412)

......................................................................................................................................................... 344Daruma_TA1000_EliminarUsuarios(Índice 5432)

......................................................................................................................................................... 345Daruma_TA1000_EnviarBancoUsuarios(Índice 5351)

......................................................................................................................................................... 345Daruma_TA1000_ReceberBancoUsuarios(Índice 5361)

......................................................................................................................................................... 346Daruma_TA1000_ZerarUsuarios(Índice 5452)

.......................................................................................................................................................... 347Teste Completo Gerando Banco de Produtos e Usuarios

......................................................................................................................................................... 347Daruma TA1000 Gerar Banco com Produtos

......................................................................................................................................................... 349Daruma TA1000 Gerar Banco com Usuarios

................................................................................................................................... 35117 Métodos Exclusivos para Gerar o Sintegra (MFD)

.......................................................................................................................................................... 351Informações sobre Sintegra

.......................................................................................................................................................... 352Métodos de Alto Nível para Gerar o Sintegra

......................................................................................................................................................... 352Daruma_Sintegra_GerarRegistrosArq (Índice 6022)

.......................................................................................................................................................... 354Métodos de Médio Nível para Gerar o Sintegra

......................................................................................................................................................... 354Daruma_Sintegra_GerarRegistro10 (Índice 6023)

Daruma FrameworkIX

Daruma Automação

Page 13: 87514270 Daruma Framework

......................................................................................................................................................... 355Daruma_Sintegra_GerarRegistro11(Índice 6024)

......................................................................................................................................................... 356Daruma_Sintegra_GerarRegistro60M (Índice 6025)

......................................................................................................................................................... 357Daruma_Sintegra_GerarRegistro60A (Índice 6026)

......................................................................................................................................................... 358Daruma_Sintegra_GerarRegistro60D (Índice 6027)

......................................................................................................................................................... 358Daruma_Sintegra_GerarRegistro60I (Índice 6028)

......................................................................................................................................................... 359Daruma_Sintegra_GerarRegistro60R (Índice 6029)

......................................................................................................................................................... 360Daruma_Sintegra_GerarRegistro90 (Índice 6030)

.......................................................................................................................................................... 361Métodos de Baixo Nível para Gerar o Sintegra

......................................................................................................................................................... 361Daruma_FIMFD_RetornarInfoDownloadMFD (Índice 6020)

......................................................................................................................................................... 363Daruma_FIMFD_RetornarInfoDownloadMFDArquivo (Índice 6021)

Index 367

XContents

X

Daruma Automação

Page 14: 87514270 Daruma Framework

Foreword

This is just another title pageplaced between table of contents

and topics

Foreword1

Daruma Automação

Page 15: 87514270 Daruma Framework

Top Level IntroThis page is printed before a new

top-level chapter starts

Part

I

Page 16: 87514270 Daruma Framework

Daruma Framework3

Daruma Automação

1 Daruma Framework

1.1 Algumas informações sobre este manual

Manual Eletrônico Versão 2.39

Este manual e único para toda a nossa linha de impressoras e terminais, nãoimportando a linguagem de seu software, tampouco o sistema operacioal.Porque somos hoje o único fabricante que oferece suporte para Windows eLinux em total Igualdade, onde este manual atende as duas plataformas.

A nossa dll também é única ou seja um FRAMEWORK, que você pode utilizarpara qualquer um de nossos produtos, seja Impressora Fiscal Matricial ouTérmica, Mini-Impressoras Matricial ou Térmica, qualquer que seja nossoproduto voce poderá se basear por este manual.

Se você é desenvolvedor em linguagem DOS ou WIN 16b, poderá utilizar oOdserver, que é o nosso driver voltado para linguagens 16b e também voltadopara a Comunidade Clipper, Cobol, desenvolvedores que desejam utilizar a DLLmas não conseguem pela Limitação que a linguagem impões, para isso estacomunidade conta com o Observer2, que já está em sua Segunda Geraçãonésta edição já se é possível a troca de arquivos em ambiente linux facilitandopara você desenvolvedor que tem uma aplicação que roda em linux, porém nãoconsegue instânciar a Dauma32.SO.

Alguns motivos para você participar do nosso programa de Incentivo aoDesenvolvedor e adquirir hoje mesmo ECF para desenvolvimento e preçosubsidiado:

1. Porque tendo uma impressora na hora de corrigir bug´s é muito mais rápido;2. Quando for apresentar o SW para um cliente ou até mesma em uma feira

impressiona muito mais;3. No caso de homologacão de TEF, não seria aceito um emulador;4. Nos estados de MG, ES e Bahia o SW tem de ser homologado e não é aceito

Page 17: 87514270 Daruma Framework

Daruma Framework 4

Daruma Automação

emulador durante a homologação;5. Porque como ECF ao lado meu desenvolvimento será exatamente o que vai

acontecer no ponto de venda, e com um emulador eu não tenho esta certeza.

· Outras Generalidades deste manual:100% auto-explicativo, de fácil pesquisa.Objetivo, dinâmico.Auto-suficiente.Atende a todos os produtos.Funções Únicas para Windows e Linux.

Nossos canais de Suporte Técnico Especializado a Desenvolvedores Darumasão:

· Ligação gratuíta via internetSkype: suporte_darumaSkype: suporte_desenvolvedores_darumaSkype: desenvolvedores_suporte_darumaSkype: daruma_suporte_alexandreSkype: claudenir_andrade

· Por [email protected]@daruma.com.brdesenvolvedores.suporte@[email protected]· Via sitehttp://www.daruma.com.br/

· Por telefone(41)3361-6005(41)3361-6076(41)3361-6787

1.2 Lista dos Métodos disponíveis na DLL e seus índices

Índice Descrição do Método: 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

Page 18: 87514270 Daruma Framework

Daruma Framework5

Daruma Automação

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

Page 19: 87514270 Daruma Framework

Daruma Framework 6

Daruma Automação

650 - Daruma_FIR_ZeraCardapio 651 - Daruma_FIR_ImprimeCardapio 652 - Daruma_FIR_CardapioSerial1000 - Daruma_FI_AbreCupom1001 - Daruma_FI_VendeItem1004 - Daruma_FI_VendeItemDepartamento1005 - Daruma_FI_CancelaItemAnterior1006 - Daruma_FI_CancelaItemGenerico1007 - Daruma_FI_IniciaFechamentoCupom1008 - Daruma_FI_EfetuaFormaPagamento1009 - Daruma_FI_EfetuaFormaPagamentoDescricaoForma1010 - Daruma_FI_TerminaFechamentoCupom1011 - Daruma_FI_FechaCupom1012 - Daruma_FI_FechaCupomResumido1013 - Daruma_FI_IdentificaConsumidor1014 - Daruma_FI_CancelaCupom1015 - Daruma_FI_AumentaDescricaoItem1016 - Daruma_FI_UsaUnidadeMedida1017 - Daruma_FI_EstornoFormasPagamento1018 - Daruma_FI_EmitirCupomAdicional1019 - Daruma_FI_VendeItemTresDecimais1100 - Daruma_FI_ReducaoZ1101 - Daruma_FI_LeituraX1102 - Daruma_FI_LeituraMemoriaFiscalData1103 - Daruma_FI_LeituraMemoriaFiscalReducao1104 - Daruma_FI_LeituraMemoriaFiscalSerialData1105 - Daruma_FI_LeituraMemoriaFiscalSerialReducao1200 - Daruma_FI_RelatorioGerencial1201 - Daruma_FI_FechaRelatorioGerencial1202 - Daruma_FI_RecebimentoNaoFiscal1203 - Daruma_FI_AbreComprovanteNaoFiscalVinculado1204 - Daruma_FI_UsaComprovanteNaoFiscalVinculado1205 - Daruma_FI_FechaComprovanteNaoFiscalVinculado1206 - Daruma_FI_Sangria1207 - Daruma_FI_Suprimento1208 - Daruma_FI_AbreRelatorioGerencial1210 - Daruma_FI_AbreRecebimentoNaoFiscal1212 - Daruma_FI_FundoCaixa1011 - Daruma_FI_EfetuaFormaPagamentoNaoFiscal1300 - Daruma_FI_Autenticacao1301 - Daruma_FI_VerificaDocAutenticacao1302 - Daruma_FI_AutenticacaoStr1310 - Daruma_FI_AcionaGaveta1311 - Daruma_FI_VerificaEstadoGaveta1312 - Daruma_FI_VerificaEstadoGavetaStr1400 - Daruma_FI_VerificaImpressoraLigada1401 - Daruma_FI_VerificaEstadoImpressora1402 - Daruma_FI_RetornoImpressora1403 - Daruma_FI_StatusComprovanteNaoFiscalVinculado1404 - Daruma_FI_StatusCupomFiscal1405 - Daruma_FI_StatusRelatorioGerencial1406 - Daruma_FI_RetornoAliquotas1407 - Daruma_FI_VerificaTotalizadoresParciais1408 - Daruma_FI_SubTotal1410 - Daruma_FI_DadosUltimaReducao1411 - Daruma_FI_NumeroSerie1412 - Daruma_FI_VersaoFirmware1413 - Daruma_FI_CGC_IE1414 - Daruma_FI_GrandeTotal1415 - Daruma_FI_Descontos1416 - Daruma_FI_Cancelamentos1417 - Daruma_FI_NumeroCupom1418 - Daruma_FI_NumeroOperacoesNaoFiscais1419 - Daruma_FI_NumeroCuponsCancelados1420 - Daruma_FI_NumeroReducoes1421 - Daruma_FI_NumeroIntervencoes

Page 20: 87514270 Daruma Framework

Daruma Framework7

Daruma Automação

1422 - Daruma_FI_NumeroSubstituicoesProprietario1423 - Daruma_FI_UltimoItemVendido1424 - Daruma_FI_ClicheProprietario1425 - Daruma_FI_NumeroCaixa1426 - Daruma_FI_NumeroLoja1427 - Daruma_FI_SimboloMoeda1428 - Daruma_FI_FlagsFiscais1429 - Daruma_FI_MinutosLigada1430 - Daruma_FI_MinutosImprimindo1431 - Daruma_FI_VerificaModoOperacao1432 - Daruma_FI_VerificaEpromConectada1433 - Daruma_FI_ValorPagoUltimoCupom1434 - Daruma_FI_DataHoraImpressora1435 - Daruma_FI_ContadoresTotalizadoresNaoFiscais1436 - Daruma_FI_VerificaTotalizadoresNaoFiscais1437 - Daruma_FI_DataHoraReducao1438 - Daruma_FI_DataMovimento1439 - Daruma_FI_VerificaTruncamento1440 - Daruma_FI_VerificaAliquotasIss1441 - Daruma_FI_Acrescimos1442 - Daruma_FI_VerificaFormasPagamento1443 - Daruma_FI_VerificaRecebimentoNaoFiscal1444 - Daruma_FI_VerificaTipoImpressora1445 - Daruma_FI_VerificaIndiceAliquotasIss1446 - Daruma_FI_ValorFormaPagamento1447 - Daruma_FI_ValorTotalizadorNaoFiscal1448 - Daruma_FI_VerificaFormasPagamentoEx1449 - Daruma_FI_SaldoAPagar1450 - Daruma_FI_Troco1451 - Daruma_FI_RetornaAcrescimoNF1452 - Daruma_FI_RetornaCFCancelados1453 - Daruma_FI_RetornaCNFCancelados1454 - Daruma_FI_RetornaCLX1455 - Daruma_FI_RetornaCNFNV1457 - Daruma_FI_RetornaCRO1458 - Daruma_FI_RetornaCRZ1459 - Daruma_FI_RetornaCRZRestante1460 - Daruma_FI_RetornaCancelamentoNF1461 - Daruma_FI_RetornaDescontoNF1462 - Daruma_FI_RetornaGNF1463 - Daruma_FI_RetornaTempoImprimindo1464 - Daruma_FI_RetornaTempoLigado1465 - Daruma_FI_RetornaTotalPagamentos1466 - Daruma_FI_RetornaTroco1467 - Daruma_FI_ClicheProprietarioEx1468 - Daruma_FI_COO1469 - Daruma_FI_VerificaModeloECF1470 - Daruma_FI_VerificaDescricaoFormasPagamento1471 - Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado1473 - Daruma_FI_UltimaFormaPagamento1479 - Daruma_FI_FlagsFiscaisStr1481 - Daruma_FI_PalavraStatus1482 - Daruma_FI_PalavraStatusBinario1483 - Daruma_FI_LerAliquotasComIndice1484 - Daruma_FI_VerificaDiaAberto1485 - Daruma_FI_RetornaRegistradoresFiscais1486 - Daruma_FI_VerificaTotalizadoresNaoFiscaisEx1488 - Daruma_FI_VerificaXPendente1489 - Daruma_FI_VerificaZPendente1490 - Daruma_FI_VendaBruta1493 - Daruma_FI_TipoUltimoDocumento1494 - Daruma_FI_VerificaHorarioVerao1495 - Daruma_FI_RetornaValorComprovanteNaoFiscal1496 - Daruma_FI_RetornaIndiceComprovanteNaoFiscal1497 - Daruma_FI_RetornaDescricaoCNFV1498 - Daruma_FI_VendaBrutaAcumulada

Page 21: 87514270 Daruma Framework

Daruma Framework 8

Daruma Automação

1499 - Daruma_FI_RetornaRegistradoresNaoFiscais1502 - Daruma_FI_RetornarVersaoDLL1900 - Daruma_TEF_EsperarArquivo1901 - Daruma_TEF_ImprimirResposta1902 - Daruma_TEF_SetFocus1903 - Daruma_TEF_TravarTeclado1904 - Daruma_TEF_FechaRelatorio1905 - Daruma_TEF_ImprimirRespostaCartao2000 - Daruma_FIB_AbreBilhetePassagem2001 - Daruma_FIB_VendeItem3000 - Daruma_FIR_AbreCupomRestaurante3007 - Daruma_FIR_IniciaFechamentoCupom3008 - Daruma_FIR_EfetuaFormaPagamento3009 - Daruma_FIR_EfetuaFormaPagamentoDescricaoForma3013 - Daruma_FIR_IdentificaConsumidor3010 - Daruma_FIR_TerminaFechamentoCupom3011 - Daruma_FIR_FechaCupomRestaurante3012 - Daruma_FIR_FechaCupomRestauranteResumido3014 - Daruma_FIR_CancelaCupom3018 - Daruma_FIR_EmitirCupomAdicional3018 - Daruma_FIR_AbreCupomBalcao3040 - Daruma_FIR_ImprimePrimeiroCupomDividido3041 - Daruma_FIR_RestanteCupomDividido3042 - Daruma_FIR_IniciaFechamentoCupomComServico3048 - Daruma_FIR_RegistrarVenda3045 - Daruma_FIR_CancelarVenda3046 - Daruma_FIR_ConferenciaMesa3048 - Daruma_FIR_RegistrarVenda3049 - Daruma_FIR_RegistroVendaSerial3050 - Daruma_FIR_RelatorioMesasAbertas3051 - Daruma_FIR_TranferirVenda3052 - Daruma_FIR_TranferirMesa3054 - Daruma_FIR_VendeItemBalcao3055 - Daruma_FIR_CancelaItemBalcao3070 - Daruma_FIR_VendeItem3071 - Daruma_FIR_CancelaItem3100 - Daruma_FIR_ReducaoZ3101 - Daruma_FIR_LeituraX3102 - Daruma_FIR_LeituraMemoriaFiscalData3104 - Daruma_FIR_LeituraMemoriaFiscalSerialData3103 - Daruma_FIR_LeituraMemoriaFiscalReducao3105 - Daruma_FIR_LeituraMemoriaFiscalSerialReducao3200 - Daruma_FIR_RelatorioGerencial3201 - Daruma_FIR_FechaRelatorioGerencial3202 - Daruma_FIR_RecebimentoNaoFiscal3203 - Daruma_FIR_AbreComprovanteNaoFiscalVinculado3204 - Daruma_FIR_UsaComprovanteNaoFiscalVinculado3205 - Daruma_FIR_FechaComprovanteNaoFiscalVinculado3206 - Daruma_FIR_Sangria3207 - Daruma_FIR_Suprimento3210 - Daruma_FIR_AbreRecebimentoNaoFiscal3211 - Daruma_FIR_EfetuaFormaPagamentoNaoFiscal3310 - Daruma_FIR_AcionaGaveta3311 - Daruma_FIR_VerificaEstadoGaveta3300 - Daruma_FIR_AutenticacaoStr3301 - Daruma_FIR_VerificaDocAutenticacao3400 - Daruma_FIR_VerificaImpressoraLigada3401 - Daruma_FIR_VerificaEstadoImpressora3402 - Daruma_FIR_RetornoImpressora3403 - Daruma_FIR_StatusComprovanteNaoFiscalVinculado3485 - Daruma_FIR_StatusComprovanteNaoFiscalNaoVinculado3404 - Daruma_FIR_StatusCupomFiscal3405 - Daruma_FIR_StatusRelatorioGerencial3406 - Daruma_FIR_RetornoAliquotas3407 - Daruma_FIR_VerificaTotalizadoresParciais3408 - Daruma_FIR_SubTotal

Page 22: 87514270 Daruma Framework

Daruma Framework9

Daruma Automação

3410 - Daruma_FIR_DadosUltimaReducao3411 - Daruma_FIR_NumeroSerie3412 - Daruma_FIR_VersaoFirmware3414 - Daruma_FIR_GrandeTotal3415 - Daruma_FIR_Descontos3416 - Daruma_FIR_Cancelamentos3417 - Daruma_FIR_NumeroCupom3418 - Daruma_FIR_NumeroOperacoesNaoFiscais3419 - Daruma_FIR_NumeroCuponsCancelados3420 - Daruma_FIR_NumeroReducoes3421 - Daruma_FIR_NumeroIntervencoes3424 - Daruma_FIR_ClicheProprietario3425 - Daruma_FIR_NumeroCaixa3428 - Daruma_FIR_FlagsFiscais3429 - Daruma_FIR_TempoOperacional3430 - Daruma_FIR_MinutosEmititindoDocFiscal3431 - Daruma_FIR_VerificaModoOperacao3432 - Daruma_FIR_VerificaEpromConectada3433 - Daruma_FIR_ValorPagoUltimoCupom3434 - Daruma_FIR_DataHoraImpressora3435 - Daruma_FIR_ContadoresTotalizadoresNaoFiscais3436 - Daruma_FIR_VerificaTotalizadoresNaoFiscais3439 - Daruma_FIR_VerificaTruncamento3440 - Daruma_FIR_VerificaAliquotasIss3448 - Daruma_FIR_VerificaFormasPagamentoEx3443 - Daruma_FIR_VerificaRecebimentoNaoFiscal3445 - Daruma_FIR_VerificaIndiceAliquotasIss3446 - Daruma_FIR_ValorFormaPagamento3447 - Daruma_FIR_ValorTotalizadorNaoFiscal3469 - Daruma_FIR_VerificaModeloECF3470 - Daruma_FIR_RetornaErroExtendido3451 - Daruma_FIR_RetornaAcrescimoNF3452 - Daruma_FIR_RetornaCFCancelados3453 - Daruma_FIR_RetornaCNFCancelados3454 - Daruma_FIR_RetornaCLX3455 - Daruma_FIR_RetornaCNFNV3456 - Daruma_FIR_RetornaCNFV3457 - Daruma_FIR_RetornaCRo3458 - Daruma_FIR_RetornaCRZ3459 - Daruma_FIR_RetornaCRZRestante3460 - Daruma_FIR_RetornaCancelamentoNF3461 - Daruma_FIR_RetornaDescontoNF3462 - Daruma_FIR_RetornaGNF3463 - Daruma_FIR_RetornaTempoImprimindo3464 - Daruma_FIR_RetornaTempoLigado3465 - Daruma_FIR_RetornaTotalPagamentos3466 - Daruma_FIR_RetornaTroco3468 - Daruma_FIR_COO3471 - Daruma_FIR_MesasLivres3472 - Daruma_FIR_RegistroVendaLivre3473 - Daruma_FIR_DescontosNaoFiscais3475 - Daruma_FIR_CancelamentoNaoFiscais3476 - Daruma_FIR_TotalTroco3477 - Daruma_FIR_ReducoesRestantes3478 - Daruma_FIR_CooComecoDia3479 - Daruma_FIR_NumeroCancelamentoNaoFiscal3481 - Daruma_FIR_PalavraStatus3482 - Daruma_FIR_PalavraStatusBinario3484 - Daruma_FIR_VendaBruta3488 - Daruma_FIR_VerificaZPendente3489 - Daruma_FIR_VerificaXPendente3050 - Daruma_FIR_RelatorioMesasAbertasSerial4001 - Daruma_DUAL_ImprimirTexto4002 - Daruma_DUAL_VerificaStatus4003 - Daruma_DUAL_VerificaDocumento4004 - Daruma_DUAL_Autenticar

Page 23: 87514270 Daruma Framework

Daruma Framework 10

Daruma Automação

4005 - Daruma_DUAL_AcionaGaveta4008 - Daruma_DUAL_ImprimirArquivo4009 - Daruma_DUAL_StatusGaveta4012 - Daruma_DUAL_ImprimirCodigoBarras4014 - Daruma_DUAL_VerificarGuilhotina5000 - Daruma_FI2000_SelecionaBanco5001 - Daruma_FI2000_SelecionaCidade5002 - Daruma_FI2000_SelecionaData5003 - Daruma_FI2000_SelecionaFavorecido5004 - Daruma_FI2000_SelecionaValorChequeH5005 - Daruma_FI2000_SelecionaValorChequeV5006 - Daruma_FI2000_SelecionaTextoVersoCheque5007 - Daruma_FI2000_LeituraCodigoMICr5008 - Daruma_FI2000_LiberarCheque5009 - Daruma_FI2000_CarregarCheque5010 - Daruma_FI2000_CorrigirGeometriaCheque5012 - Daruma_FI2000_CriaRelatorioGerencial5013 - Daruma_FI2000_AbreRelatorioGerencial5014 - Daruma_FI2000_VerificaRelatorioGerencial5015 - Daruma_FI2000_StatusCheque5016 - Daruma_FI2000_ImprimirCheque5017 - Daruma_FI2000_ImprimirVersoCheque5018 - Daruma_FI2000_DescontoSobreItemVendido5019 - Daruma_FI2000_SegundaViaCNFVinculado5020 - Daruma_FI2000_CancelamentoCNFV5021 - Daruma_FI2000_AcrescimosICMSISS5022 - Daruma_FI2000_CancelamentosICMSISS5023 - Daruma_FI2000_DescontosICMSISS5024 - Daruma_FI2000_LeituraInformacaoUltimoDoc5025 - Daruma_FI2000_LeituraInformacaoUltimosCNF5300 - Daruma_Registry_TA1000_Cursor5301 - Daruma_Registry_TA1000_Produto5302 - Daruma_Registry_TA1000_Convenio5303 - Daruma_Registry_TA1000_Usuario5304 - Daruma_Registry_TA1000_Banco5305 - Daruma_Registry_TA1000_PrioridadeThread5306 - Daruma_Registry_TA1000_PathProdutos5307 - Daruma_Registry_TA1000_PathConvenios5308 - Daruma_Registry_TA1000_PathUsuarios5309 - Daruma_Registry_TA1000_Porta5311 - Daruma_Registry_TA1000_NumeroItensEnviados5350 - Daruma_TA1000_EnviarBancoProdutos5351 - Daruma_TA1000_EnviarBancoUsuarios5352 - Daruma_TA1000_EnviarBancoConvenio5360 - Daruma_TA1000_ReceberBancoProdutos5361 - Daruma_TA1000_ReceberBancoUsuarios5362 - Daruma_TA1000_ReceberBancoConvenio5363 - Daruma_TA1000_ReceberProdutosVendidos5364 - Daruma_TA1000_ReceberR60r5365 - Daruma_TA1000_ReceberR60d5366 - Daruma_TA1000_ReceberR60Ma5370 - Daruma_TA1000_CancelaComunicacao5371 - Daruma_TA1000_LeStatusTransferencia5372 - Daruma_TA1000_LeStatusRecebimento5400 - Daruma_TA1000_ListaProdutos5401 - Daruma_TA1000_ListaUsuarios5402 - Daruma_TA1000_ListaConvenios5403 - Daruma_TA1000_ListaProdutosVendidos5410 - Daruma_TA1000_AlterarProdutos5411 - Daruma_TA1000_AlterarConvenios5412 - Daruma_TA1000_AlterarUsuarios5420 - Daruma_TA1000_CadastrarProdutos5421 - Daruma_TA1000_CadastrarConvenios5422 - Daruma_TA1000_CadastrarUsuarios5430 - Daruma_TA1000_EliminarProdutos5431 - Daruma_TA1000_EliminarConvenios

Page 24: 87514270 Daruma Framework

Daruma Framework11

Daruma Automação

5432 - Daruma_TA1000_EliminarUsuarios5440 - Daruma_TA1000_ConsultarProdutos5441 - Daruma_TA1000_ConsultarProdutosVendidos5442 - Daruma_TA1000_ConsultarConvenios5443 - Daruma_TA1000_ConsultarUsuarios5450 - Daruma_TA1000_ZerarProdutos5451 - Daruma_TA1000_ZerarConvenios5452 - Daruma_TA1000_ZerarUsuarios5453 - Daruma_TA1000_ZerarR60MA5454 - Daruma_TA1000_ZerarR60R5455 - Daruma_TA1000_ZerarR60D5456 - Daruma_TA1000_ZerarProdutosVendidos5460 - Daruma_TA1000_LerProdutos6000 - Daruma_FIMFD_RetornaInformacao6001 - Daruma_FIMFD_ImprimeCodigoBarras6002 - Daruma_FIMFD_CasasDecimaisProgramada6003 - Daruma_FIMFD_IndicePrimeiroVinculado6004 - Daruma_FIMFD_DownloadDaMFD6008 - Daruma_FIMFD_StatusCupomFiscal6009 - Daruma_FIMFD_ProgramarGuilhotina6013 - Daruma_FIMFD_ProgramaRelatoriosGerenciais6014 - Daruma_FIMFD_AbreRelatorioGerencial6015 - Daruma_FIMFD_VerificaRelatoriosGerenciais6016 - Daruma_FIMFD_EmitirCupomAdicional6017 - Daruma_FIMFD_AcionarGuilhotina6018 - Daruma_FIMFD_EqualizarVelocidade6019 - Daruma_FIMFD_ProgramarGuilhotina6020 - Daruma_FIMFD_RetornarInfoDownloadMFD6021 - Daruma_FIMFD_RetornarInfoDownloadMFDArquivo6022 - Daruma_Sintegra_GerarRegistrosArq6023 - Daruma_Sintegra_GerarRegistro106024 - Daruma_Sintegra_GerarRegistro116026 - Daruma_Sintegra_GerarRegistro60M6027 - Daruma_Sintegra_GerarRegistro60A6028 - Daruma_Sintegra_GerarRegistro60I6029 - Daruma_Sintegra_GerarRegistro60R6030 - Daruma_Sintegra_GerarRegistro90

1.3 Configurando a Daruma32.DLL

Criamos métodos, para que você mesmo possa criar sua tela de configuração da dll direto em seuaplicativo de Automação Comercial, com isso voce poderá padronizar o processo de como sãoconfiguradas as opções da dll permitindo que o usuario faça isso através de seu aplicativo de AutomaçãoComercial, com a identidade visual de seu aplicativo e nao através de um editor padrão, isso porporcionamaior controle do software nas configurações que devem ser realizadas, oferecendo maior segurança eacesso a estas configurações somente através de seu software.

A DLL Daruma32.dll possui sua configuração através do Registry do windows, possibilitando maiorsegurança ao aplicativo e maior rapidez na configuração da dll. Proporciona maior velocidade aoaplicativo porque nao necessita trabalhar com acesso a disco para ler as configurações e sim com oregistry que esta em area de memoria e seu acesso é 0.760 Milisegundos mais rápido!!.

Para isso existem Funções que permitem que seu software de frente de caixa configure a dllDARUMA32.DLL, ou você poderá utilizar-se do Configurador que está disponivel em nossa paginapermitindo que independente do software de Automação Comercial você possa configurar a dll deComunicação.

Page 25: 87514270 Daruma Framework

Daruma Framework 12

Daruma Automação

Se você estiver utilizando a dll de comunicação pela primeira vez para desenvolvimento Não énecessário Criar as Chaves no Registry ou registrar a DLL, porque estas chaves serão criadasautomaticamente na primeira vez em que você chamar qualquer função da dll, sendo assim não énecessario que voce crie estas chaves através de seu software e tampouco na mão, nada disso énecessario, apenas execute qualquer função da dll através de seu software - Daruma_FI_LeituraX() por exemplo que as chaves serão criadas com valores DEFAULT.

Porém, se voce desejar criar as chaves na mão para que seja instalado a dll no cliente com algum tipo deconfiguração específica, poderá utilizar-se de dos recursos:

1) Chame qualquer funcão da dll de comunicação e após isso configure as chaves do registry com asfunções de configuração 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 oproprio Windows ( com o executavel REGEDIT) ou poderá utiliar nosso configurador para modificar emtempo 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 deCada uma destas Chaves nos Tópicos 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 configurações 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

Automação Comercial.

1.4 Configurando a Daruma32.SO

A share library da Daruma veio para oferecer as mesmas funcionalidades e facilidades da Dll paraWindows.

1. INSTALAÇÃO

A Share Library utiliza o mesmo processo de Registry para Windows, assim para se manter acompatibilidade e o source unificado será necessário os seguintes procedimentos:

mkdir -p /usr/local/share/Daruma

chmod 2777 /usr/local/share/Daruma

chown -R root.users /usr/local/share/Daruma

Não se esqueça de dar permissão de leitura e escrita para a porta que será utilizada, por exemplottyS0, para o usuário que irá utilizar a library.

Ou para facilitar:

chmod 777 /dev/ttyS0

O diretório /usr/local/share/Daruma irá conter o "registry" da share library intitulado Daruma32.conf,o qual conterá todas as variáveis de utilização da biblioteca.

Page 26: 87514270 Daruma Framework

Daruma Framework13

Daruma Automação

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 simbólico para a share library com o nome

de libDaruma32.so, isso facilita quando for linkar o seu software com a

library.library para o diretório correspondente e criar o atalho padrão, sem ser

necessário recompilar o seu software. Muito similar a Dll Windows.

Se você conseguir ver a library carregada com o comandoldconfig -v | grep libDaruma32.so acima a parte mais "difícil" foi feita.

Caso não 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 nível, usando as mesmosmétodos 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 nossasimpressoras atrevés do Observer2 para windows, poderá utilizar o mesmo fonte para o FlagShip, sem terque alterar uma única linha de codigo sequer, no módulo fiscal.

Instruções de Instalação

1. Introdução;Este manual de instalação do FlagShip, é voltado a você que é desenvolvedor em FlagShip e estáinteressado em desenvolver um aplicativo comercial, que se comunique com as nossas ImpressorasFiscais.

2. Pré-requisitos;1)É necessário instalarmos a lib Daruma32.so.Para baixar a lib acesse o seguinte link: Daruma32.so. ("Esta biblioteca será utilizada pelo driverObserver2 para Linux"), para você intalar ela, deverá realizar o procedimento:

2.1 Crie o seguinte diretório;mkdir -p usr/local/share/Daruma

2.2 Dê as permissões para este diretório e usuários;chmod 2777 usr/local/share/Darumachown -R root.users /usr/local/share/Daruma

2.3 Dadas as permissões, é hora de instalarmos e registramos a Daruma32.so;2.3.1Importante! O diretório /usr/local/share/Daruma irá conter o "registry" da

Daruma32.so, este arquivo se chama Daruma32.conf, o qual conterá todas as variáveis de utilização dabiblioteca;

Page 27: 87514270 Daruma Framework

Daruma Framework 14

Daruma Automação

2.3.2 Copie a lib para o diretório 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 "difícil" foi feita. Caso não veja a Daruma32.so com o comandoldconfig, verifique se o caminho /usr/local/lib está contido no arquivo /etc/ld.so.conf

2.4 Concluída a instalação da lib é hora de você baixar o Observer2linux para baixá-loacesse: Observer2linux;

O Observer2linux é uma ferramenta criada para permitir a utilização das facilidades implementadas nalib Daruma32.so, por programas escritos em linguagens que não acessam shared objects (.so).Seu funcionamento é baseado na troca de informações, utilizando arquivos texto, veremos mais a fundoeste assunto mais pra frente.

2.4.1 Crie o diretório para posterioemente copiar o Observer2linux: mkdir -p Observer2linux;2.4.2 Copie o Observer2linux para o diretório 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 diretório do Observer2linux, entre em qualquer editor disponível 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

começar a imprimir uma LeituraX, é bom sinal, funcionou o Observer2linux está pronto para ser usado.

Atenção 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 não esqueceu de dar alguma permissão ao usuário

2.5.6 Verifique também dentre os processos pelo comando ps -A | grep Observer2; 2.5.7 Verifique se o nome e extensão do arquivo, que contém o comando estão corretos, seele foi realmente salvo e onde;

2.5.8 Se mesmo com tudos estando ok, não funcionou, por favor entre em contato com onosso suporte ao desenvolvedor (41)3361-6005/3361-6076 ou mande-nos um e-mailpara:[email protected]. Dê preferência entre em contato por telefone, ou ainda se preferir nosinforme 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 tudodevidamente instalado "Daruma32.so"+"Observer2linux", teremos como resultado uma LeituraX e oseguinte 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 dousado no exemplo em Clipper, isso porque há uma semelhança muito grande entre o Clipper e o FlagShip.Na verdade o exemplo em FlagShip re-utiliza todo o código escrito em Clipper. Pois bem sendo assimvocê que já escreveu um aplicativo para nossas impressoras em clipper poderá re-utilizar o código emFlagShip, alterando apenas na rotina de envio e espera de arquivo o path onde é gravado o arquivo decomando Daruma.cmd e onde o Observerlinux irá gravar o arquivo de retorno Daruma.ret, acompanheessa mudança nos trechos tirados dos exemplos logo abaixo:

4. Exemplo em Clipper;

/*//////////////////////////////////////Função que envia os dados para oECF////////////////////////////////////////*/

static function COMUNICA_COM_ECF(VAR_COMANDO_ECF)

Delete File("c:\DARUMA.CMD")Delete File("c:\STATUS.TXT")Delete File("c:\RETORNO.TXT")Delete File("c:\DARUMA.RET")

Page 28: 87514270 Daruma Framework

Daruma Framework15

Daruma Automação

/*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 :=0else loopend 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 Função que envia os dados para oECF///////////////////////////////////*/

5. Exemplo em FlagShip;

/*//////////////////////////////////////Fun?o que envia os dados para oECF///////////////////////////////////////*/

static function COMUNICA_COM_ECF(VAR_COMANDO_ECF)

Delete File("/Observer2/Daruma.cmd")

Page 29: 87514270 Daruma Framework

Daruma Framework 16

Daruma Automação

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 > 0if File("/Observer2/Daruma.ret") VAR_ESPERA :=0else loopend 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 oECF///////////////////////////////////*/

*Muito bem agora que você já viu o que mudou e foi apenas o pah (caminho), em relação ao trecho decódigo de escrita e leitura de arquivo de comando. Vejamos como instalar o exemplo e testá-lo.

Page 30: 87514270 Daruma Framework

Daruma Framework17

Daruma Automação

6. Compilando o ".PRG" com FlagShip;Para você compilar o aplicativo Daruma32.prg, com o compilador FlagShip para Linux, observea seguinte mudança no código:Foi alterado somente o Path, onde o Aplicativo em FlagShip irá criar, e apagar, os seguintesarquivos:Daruma.cmd, Daruma.ret, Status.txt, Retorno.txt* Atenção: O arquivo Daruma.cmd, deve ser criado no mesmo diretório, onde o Observer2 paraLinux está configurado.

É possível compilar de duas formas, na forma dinâmica e estática, conforme a parametrização.

6.1 Compilando o Daruma32.prg de forma dinâmica;Para rodar o executável é necessário ter o FlagShip instalado em seu computador. Para

compilaro projeto digite os comando abaixo:# FlagShip Daruma32.prg -o Daruma32

6.2 Compilando o Daruma32.prg de forma estática;Para rodar o executável não é necessário ter o FlagShip instalado, pois as lib's necessárias já

estão incorporadas, neste caso, o FlagShip roda sem problemas, desde que a versão do GLib_C, seja amesma, veja no item 5.3 como verificar a versão da Glib_C, para compilar digite os comandos abaixo:# FlagShip Daruma32.prg -stat -o Daruma32*Atenção: é recomendado ter a versão "glibc-2.3.3" ou superior

6.2.1 Verificando a versão da GLib_C;Para verificar se o GLib_C está instalado, e qual sua versão, 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;É possível executar o aplicativo tanto modo gráfico, como em modo terminal (texto)Para rodar o aplicativo, entre no diretório onde se encontra o aplicativo, e digitar os comandosabaixo:# ./Daruma32

7.1 Como executar no modo texto;Essa opção 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á começando agora adesenvolver 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 relatório que contém todas as informações decorrentes do movimentorealizado no PDV(ponto-de-venda), onde esta o ECF. Sendo assim para abrir o movimento, bastandopara isso enviar o comando de LeituraX. Então 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 Método->Daruma_FI_LeituraX;

2ª) Outra forma, ao invéz de invocar o método pelo seu nome, é passado apenas oseu índice, seguido do(s) parâmetro(s): 1101;

Onde 1101 é o índice do método LeituraX;Ponto-e-vígula é o separador padrão usado para separar o índice dos

parâmetros;

2. Estando com o dia aberto, é hora de partirmos para o primeiro cupom fiscal;

Abaixo listarei os comandos usados para a emissão de nosso primeiro cupom fiscal:

Page 31: 87514270 Daruma Framework

Daruma Framework 18

Daruma Automação

2.1 1000; (parâmetro opcional); ou Daruma_FI_AbreCupom;(parâmetro 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, lebrandoque trata-se de um exemplo, e cada comando deverá ser preferêncialmente escrito em um arquivo,visando facilitar o tratamento dos arquivos de retorno.Por consequência teremos três arquivos de retorno, porém você deverá abrir cada um e certificar-se deque 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 aexecução do arquivo de comando Daruma.cmd;

3.1 Para cada comando Daruma.cmd enviado, você receberá um arquivo de retornoDaruma.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 método foi enviado com sucessopara o ECF. Importante!!! Qualquer valor diferente de 1(um), chame o métodoDaruma_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, cliqueaqui:Daruma FrameworkTabela de Retornos ST1 e ST2.

3.5 000: Equivale ao byte de Status 2, para ver a tabela de valores deste byte, cliqueaqui:Daruma FrameworkTabela de Retornos ST1 e ST2.

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

A Daruma32.dll permite também comunicação remota, utilizando-se do Windows TerminalService, para que isso seja possível descrevemos abaixo algumas configurações a serem feitas para umperfeito funcionamento.

Trabalhando Remotamente Localmente ou através de uma VPN.

1º)Preparando o nosso servidor.1.1 Baixar a Daruma32.dll versão server, que está disponível em nossa página para down-

load 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 configuração), no registry conforme imagemabaixo:

Uma vez criada a pasta Daruma devemos alterar o valor da chave Terminal Server para1(um). Você poderá clicar com o botão direito do mouse e escolhendo a opção modificar ou aindadando um duplo clique, que também permitirá alterar o valor da chave.

Alterada essa chave o nosso servidor já esta configurado.

2º)Preparando a nossa estação.2.1 Baixar a Daruma32.dll Versão Client, que está disponível em nossa página para down-

load no link:http://www.daruma.com.br/suporte/download/daruma32.zip.

Page 32: 87514270 Daruma Framework

Daruma Framework19

Daruma Automação

2.2 Baixar o Observer2 (driver) que fica monitorando o Endereço IP do Servidor. Para baixá-lo 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 máquina. Entre no Observer2 efaça um teste de comunicação local vendendo apenas 1 item, isso para ter a certeza de que acomunicação local está 100% Ok.

2.4 Tendo conseguido efetuar a venda sem maiores problemas, só résta configurar oObserver2 para passar a monitorar o End IP público do Servidor e também a Porta que será usada, quepor Default é 1002. Conforme nos mostra a figura abaixo:

2.4 Concluída a configuração. Pronto agora você já pode logar-se no servidor e entrar no aplicativo deautomação comercial e enviar os primeiros comandos.

Observação: O endereço 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 deverãoresponder, caso isso não aconteça, então reveja as configurações de sua Ethernet ou VPN.

1.7 Configurando a Daruma32.SO para trabalhar com LTSP

Primeiramente queremos deixar claro, que a nossa intenção não é a dar suporte napreparação(instalação/configuração) do LTSP e sim entender um pouco melhor comque o nosso driver irá trabalhar nesta topologia.

DEFINIÇÃO

Page 33: 87514270 Daruma Framework

Daruma Framework 20

Daruma Automação

O LTSP é uma solução mais usada para a criação de terminais leves com o Linux. Ele utiliza umacombinação de DHCP, TFTP, NFS e XDMCP para permitir que as estações não apenas rodem aplicativoxinstalados no servidor. Não é preciso ter HD nem CD-ROM nas estações, apenas um disquete (ou CD) deboot ou ainda um chip de boot conectando à placa de rede.

BREVE HISTÓRICO

· Arquitetura necessária:

1. Um Servidor de aplicação dotado de recurso de HD e Mémoria Ram;2. Uma ou mais estações de trabalho, enxutas sem HD, também chamadas de (diskless);

· Como funciona?

A placa de rede que será utilizada na estação de trabalho, deve possuir o PXEBoot na própria placa ou umdisco de boot (Etherboot). Exemplo: se a sua placa de rede for uma realtek, então acesse o site:http://www.etherboot.org/, e baixe o disco de boot;Observação: alguns modelos de placas mãe atuais, já posuem suporte ao PXEBoot, por isso verifique se asua placa mãe pussui e se sim, habilite-o.

Ao ligar a estação de trabalho, a máquina cliente através do Protocolo DHCP, solicita ao servidor oendereço IP, uma vez com o Endereço IP, é hora de saber o local de onde está armazenado o kernell noServidor para em seguida fazer down-load, com o TFTP.

Depois que o Kernel é carregado via TFTP, começa o boot "real" da estação. O TFTP é substituído entãopor um cliente NFS (um protocolo muito mais robusto), que é usado para montar a pasta "/opt/ltsp/i386"do servidor (em modo somente leitura) como diretório raiz. A estação pode então carregar o sistema doLTSP, que se encarrega de detectar o hardware da estação e abrir o X. Todos os arquivos de configuraçãoe alterações gerados nesta fase são salvos num ramdisk.

Concluída esta etapa, agora já temos uma estação de trabalho que não possui HD, totalmente funcional,porém o SO esta rodando em Memória.

· E o nosso driver, como irá funcionar?

Requisitos:

1. LTSP - Funcional2. 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 instalação, através do instalador desenvolvido especificamente paraisso:

Observação1: Tanto o scritpt ltsp_daruma_install, como a liDaruma32.so e o Observer2, devem estarno mesmo diretório:

Observação2: Para executar o script digite: ./ltsp_daruma_install

Page 34: 87514270 Daruma Framework

Daruma Framework21

Daruma Automação

O Próximo passo será informar o endereço de IP do Servidor. Lembrando que o IP do servidor emhipótese alguma poderá ser dinâmico.

Com o IP configuradado, é hora de informar a mácara de rede.

Com a máscara de rede configurada, é nessessário, 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).

Page 35: 87514270 Daruma Framework

Daruma Framework 22

Daruma Automação

Após ter editado a linha, você deverá incluir as seguintes linhas no arquivo lts.conf/opt/ltsp/i386/etc/lts.conf.

Observação!: concluída a instalação, re-inicie o serviço NFS

Pronto! Agora você já pode fazer um teste simples, porém eficiente para saber se "tudo" está do jeito queprecisa estar para a utilização do nosso driver;

Na máquina cliente, abra um shell e execute o seguinte comando: set | grep DISPLAY, ele irá retornar onome do máquina cliente conectada no servidor por exemplo.: ws199.ltsp

e a impressão está ocorrendo localmente.Entre em um shell (prompt), vá para o diretório 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 diretório observer.[/var/opt/ltsp/Daruma_Regs/ws199.ltsp]# cd observer

No diretório observer envie uma LeituraX para testar a impressora:[/var/opt/ltsp/Daruma_Regs/ws199.ltsp/observer]# echo "1101;" > Daruma.cmdPara 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 instalação do nosso driver estará concluída, retando apenas que o seu aplicativo efetua aescrita de arquivo de comandos, no diretório correto, como no caso acima.

Observação3: Note que o nome da máquina varia em cada cliente. Sendo assim é funcamental que oseu aplicativo, pegue a variável DISPLAY, cada vez que o seu aplicativo seja executado à partir dasmáquinas clientes. Exemplifimando melhor:

Cliente1: diretório de escrita deverá ser: /var/opt/ltsp/Daruma_Regs/ws001.ltsp/observerCliente2: diretório de escrita deverá ser: /var/opt/ltsp/Daruma_Regs/ws002.ltsp/observer

Page 36: 87514270 Daruma Framework

Daruma Framework23

Daruma Automação

.

.

. Cliente254: diretório de escrita deverá ser: /var/opt/ltsp/Daruma_Regs/ws254.ltsp/observer

Note que apenas o nome da máquina foi o que modou, mais nada.

1.8 Driver Daruma Observer para Aplicativos DOS/Win 16 Bit´s

1.8.1 O Quê é o Driver Daruma Observer?

O Driver Observer2 é o Único driver Desenvolvido no mercado de automação comercial, que permite ouso de um Único Protocolo entre os aplicativos DOS e Windows e ainda Linux que não consegueminstânciar uma biblioteca no Linux (Daruma32.SO).Este Driver reside no windows, permitindo que Aplicativos DOS/Win 16 bit´s, possam Acessar ao ECF commaior Facilidade tendo em vista a necessidade de se ter windows nos Equipamentos para a Realização doTEF. Com isso Desenvolvemos o Observer2 que ficará residente na área de Relógio do Windowsesperando 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 decomando, cultura e aprendizado de seus programadores com este protocolo utilizado pelo Observer2.

2) Porque todas as EVOLUÇÕES e MELHORIAS e FACILIDADES da Daruma32.dll estarãodisponíveis para seu Aplicativo DOS, porque o Observer2 utiliza-se da Dll de Comunicação com todas asfaciliadades que nela se encontra.

3) Porque agora para enviar os métodos para o ECF através de seu aplivativo DOS você utiliza-se dosMétodos de Alto-Nível que a Daruma32.dll contém, basta passar o ÍNDICE ou o nome do mesmo oíndice você Obtem ao Lado do nome da cada Método, neste Help, ou seja, com isso você consegue usarmétodos como por exemplo Daruma_FI_FechaCupomResumido antes não disponívies no DOS, porémagora disponivels no Observer2.

4) Porque agora você não necessita se preocupar com a passagem correta dos Parâmetros, como porexemplo na Descrição da venda de um íitem, você nao necessita se preocupar com preenchimento dorestante da Descrição pois a Daruma32.dll através do Observer2 faz isso para você!! Esta Facilidade antesestava disponível apenas no Windows, mas agora está disponível também para Aplicativos DOS/Win 16bit´s.

5) Agora você também consegue enviar não somente um método por vez, mas sim um lote, todos osmétodos 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 próprio, pore exemplo se no arquivode lote de comandos tivermos dois itens então teremos dois retornos.

6) Porque em ambiente Linux mesmo você não conseguindo instânciar um shared object ainda assimvocê poderá trabalhar com troca de arquivo.

Ao Instalar o Daruma Observer2 ele ficará residente com o Logo da DARUMA no Relógio do Windows,área denominada como Área de Notificação do Windows. Ao passar o mouse por cima aparecerá o Nomedo Driver e sua versão.

Após isso este driver ficará Observando um diretório pré-configurado em busca de Arquivos demétodos, o Valor DEFAULT deste Diretorio e deste Arquivo é C:\DARUMA.CMD, porém você poderáconfigurar no Menú do Proprio Driver ou através de Comandos.

Sua aplicação fica no Aguardo do Arquivo de Resposta, o Nome e Path DEFAULT deste arquivo de Repostaé C:\DARUMA.RET, porém você poderá configurar no Menú do Próprio Driver ou através de Comandos.

RET;ACK;ST1;ST2; ou

RET;ACK;ST1;ST2;INFORMAÇÃO;

RET - Retorno do Método.ACK - Byte Indicativo de Recebimento OK de Comunicação com a Impressora.

Page 37: 87514270 Daruma Framework

Daruma Framework 24

Daruma Automação

ST1 - Primeiro Byte que contém Erros ou avisos do ECF.ST2 - Segundo Byte que contém Erros ou aviosos do ECF.INFORMAÇÃO - Informação desejada caso o método enviado requera uma informação além do ACK

ST1 e ST2, como por exemplo, Número de Série do ECF, Data e Hora do ECF, SubTotal, Número doCupom..

4) SEMPRE o valor será terminado em ; (ponto e Virgula) e no formato de 3 Dígitos, por exemplo:

Exemplo 1) 001;006;064;001;001 - Indica que o Método Devolveu 1(indicativo de OK).006 - ACK indica que o Protocolo de Comunicação está OK.064 - Indica que o ECF está com Pouco Papel - Veja Tabela de Erro.001 - Indica que o Método não Foi Executado - Veja Tabela de Erro.

Exemplo 2) -27;006;064;000;-27 - Indica que o Método conseguiu enviar o comando para o ECF porém o ECF

contém erro ou avisos, isso acontece porque a chave StatusFunção 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 Método não Foi Executado - Veja Tabela de Erro.

Exemplo 3) Exemplo de Resposta a um método de Solicitação do Número do Cupom do ECF:001;006;000;000;00028;

001 - Indica que a Função Devolveu 1(indicativo de OK).006 - ACK indica que o Protocolo de Comunicação está OK.000 - Indica que Não Existe Erro - Veja Tabela de Erro.000 - Indica que Não Existe Erro - Veja Tabela de Erro.00028 - Número do Cupom.

Page 38: 87514270 Daruma Framework

Daruma Framework25

Daruma Automação

1.8.2 Graficamente como Funciona o Observer

O Driver Observer2 basicamente Varre o Diretório que nele foi configurado, no Menu TOOLS->CONFIGURAÇÕES você pode configurar o nome do arquivo que você deseja que seja o arquivo de comadoe o nome do arquivo que você deseja que seja o arquivo de resposta, poderá configurar também o pathde entrada (onde os arquivos de comandos serão criados) e o path de saida (onde os arquivos deresposta do Observer2) serão criados.

1.8.3 Instalando o Driver Observer

Para proceder a instalação do Driver Observer2, você deve baixar o Arquivo Observer2.ZIP em nossaPágina no link: http://www.daruma.com.br/suporte/download/observer.zip

1) Descompacte o arquivo OBSERVER.ZIP2) Ao descompactar você irá encontrar os seguintes Arquivos:

Page 39: 87514270 Daruma Framework

Daruma Framework 26

Daruma Automação

3) Dando um duplo-clique sobre o .exe o Observer2 já estará sendo startado, não necesitando mais deum processo do tipo next-->>next e finish.

DARUMA32_CLIPPER.ZIP - Contém um exemplo completo em Clipper utilizando o Obsever. Exemplocompleto com Fonte Aberto. Para baixá-loacesse:http://www.daruma.com.br/suporte/download/Clipper_Observer.zipDARUMA32_Help.ZIP - Contém o Help da Dll com os índices dos métodos que você deve chamar desdeseu aplicativo DOS/Win 16 bit´s. Para baixá-loacesse:http://www.daruma.com.br/suporte/download/daruma32help.zipPara 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) Faça dois clicks no Arquivo Observer22.EXE.

Se você desejar poderá colocar o Obsever2 para Startar Automaticamente com seu Windows, bastacolocar o OBSEVER.EXE no menu Iniciar de seu computador.

Ao Iniciar o você verá que o mesmo ficará executado na Barra de Notificações do Windows, conformefigura Abaixo.

Para Configurar o Observer2 basta dar um duplo-clique no Ícone (conforme fígura acima):

Page 40: 87514270 Daruma Framework

Daruma Framework27

Daruma Automação

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 opção Modo Arquivo setada,caso contrário ele para de varrer o diretório e passa para o Modo Terminal erver.

1.8.4 Instalando o Driver Linux Observer 2.0

LINUX Observer 2

1. Introdução;

O Linux Observer 2.0 é uma ferramenta criada para permitir a utilização das facilidadesimplementadas na Daruma32.so, por programas escritos em linguagens que não acessam shared objects(.so).

Seu funcionamento é baseado na troca de informações utilizando arquivos texto.

2. Pré-requisitos;

Para que o Observer funcione adequadamente, e necessário certificar-se que aDaruma32.so está corretamente instalada.Para isto, como root, deve-se executar o seguinte comando:

ldconfig -v | grep Daruma32

O retorno experado é:

Page 41: 87514270 Daruma Framework

Daruma Framework 28

Daruma Automação

libDaruma32.so -> libDaruma32.so

No caso de não aparecer ao menos uma vez o retorno acima, você deve seguir as instruções deinstalacao específicas da Daruma32.so, contida no arquivo LEIAME.txt da SOConfigurando a Daruma32.SO.

3. Instalação e Inicializacao do Observer;

Para utilizar o Observer não é necessário nenhum procedimento de instalação ou compilação. Deve-se apenas dar permissão de execucao ao arquivo binário 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 oID 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 linhade comando:

ps -A | grep Observer

O retorno esperado é: 123 pts/1 00:01:00 Observer

Com isto o Observer irá esperar no mesmo diretório onde ele se encontra um arquivo chamadoDaruma.cmd, que deverá ser gerado pelo seu software para comunicacao com a SO.

Este arquivo deverá conter o nome do método ou seu índice, e os parâmetros separados por ";",como mostrado no exemplo abaixo:

Se você deseja chamar a funcao Daruma_FI_AbreCupom que possui como parâmetro apenas o CGC(opcional), deve-se escrever no arquivo Daruma.cmd a seguinte linha:

Daruma_FI_AbreCupom;01234561234-00;

Este método será executado pela impressora, e gerará um arquivo de retorno (Daruma.ret). Estearquivo contém o retorno da chamada, Ack,ST1 ST2, e algum retorno adicional, caso o método possua.

Sempre separados por ";". Abaixo segue um exemplo de um arquivo de Retorno: 001;006;000;000;

4. Verificando a versão;

Para verificar a versão do Observer deve-se executar o Observer com a opção --versao(sem acento)da seguinte forma:

./Observer --versao

5. Execução em modo teste;

Quando o Observer e executado em modo teste, inicialmente ele emite uma LeituraX, e em seguida, acada 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 saída;

Para alterar o caminho onde sera lido o arquivo de entrada e gerado o arquivo de saída deve-se iniciaro Observer, passando como parametro o path, da seguinte maneira:./Observer /path_de_entrada/nome_arquivo_cmd /path_de_saida/nome_arquivo_ret &

Exemplifimando melhor:

Page 42: 87514270 Daruma Framework

Daruma Framework29

Daruma Automação

Imagine que você configurou o diretório de entrada como sendo DarumaIn e o diretório de saídaDarumaOut, e os nomes dos arquivos dos arquivos, (entrada) Daruma.cmd e Daruma (saída) 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 adiferença de não ter que se preocupar com o ID.

Para parar o Observer e necessário 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 Relógio.

2) Segundo Passo é criar o Arquivo de Comando no Diretório Configurado para a Recepção de Arquivos deComando. Para enviar um método para o ECF, use este mesmo manual. Basta você passar o índice doMétodo desejado com os Parâmetros separados por ; (ponto-e-vírgula) e terminado por ; (ponto-e-virgula).

· Por exemplo:

Você pode simplesmente entrar com a descrição do método ou o seu respectivo índice.Daruma_FI_AbreCupom;10.123.154-98; ou então1000;10.123.154-98; (Indica que esta desejando abrir o Cupom fiscal e o Parâmetro é o CNPJ ou

CPF)

Daruma_FI_AbreCupom;;1000;; (indica que deseja abrir o cupom fiscal e não deseja passar o parâmetro, ou seja o parâmetro

é opcional)

Daruma_FI_VendeItem;123;Lapis;FF;I;10;2;0,25;%;0000; ou então1001;123;Lapis;FF;I;10;2;0,25;%;0000; (Exemplo de VENDA DE ITEM)

Daruma_FI_CancelaItemAnterior; ou então1005; (Indica que desejo cancelar o Item Anterior, ou seja, com os métodos sem parâmetros,

apenas coloca-se o índice do Método desejado e finaliza-se com ;

Page 43: 87514270 Daruma Framework

Daruma Framework 30

Daruma Automação

Assinando individualmente os arquivos com os comandos:

Antes de abordar este assunto, vou dar um histórico do motivo que levou-nos a disponibilizar esterecurso.

A necessidade de saber se o arquivo retornado Daruma.ret, pertence ao último arquivo de comandoescrito anteriormente, foi que levou-nos a criar esta funcionalidade. Além disso a possibilidade de validarcom uma criptografia, também foi um dos motivos.

Vejamos então como é que podemos utilizar este recurso:

1. O que é obrigatório na assinatura? R: Deve estar entre colchetes.2. O que não pode fazer parte da assinatura? R: Não pode-se interir mais que 50

caracteres.3. Onde a assinatura deve estar dentro do arquidvo de comando? R: Sempre antes do índice,

ou Descritivo.4. A assinatura é obrigatória? R: Não, não é obrigatória.

Na prática você escreve o arquivo de comando Daruma.cmd com o seguinte conteúdo:

[assinatura]+indice ou descritivo+parâmetros.[abc123]1101; ou[abc123]Daruma_FI_LeituraX;

Como podemos ver anteriormente, a assinatura deve estar entre [colchetes], outro detalheimportante é que a assinatura pode conter caracteres alfa e tembém numéricos, ou seja, com isso, vocêpoderá fazer uma assinatura para cada arquivo de Comando.

Misturando estas combinações é possível criar centenas de assinaturas e/ou criptografias, deixandoainda mais segura a troca de arquivos.

Na sequência 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 preferência;

Conteúdo dos arquivos que serão 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 três arquivos de comando, que para cada arquivo foicriada uma assinatura, e a mesma assinatura, foi inserida no arquivo retornado pelo Observer, dessaforma, torna-se fácil saber a que arquivo de comando pertence o arquivo de retorno.

Observação: Utilize na assinatura no máximo 50 carácteres.

Outras informações indispensáveis para utilização do driver Observer

Neste Manual você indentifica o Índice dos Métodos que deseja Assim como na DLL, aqui tambémvocê não necessita passar a quantidade exata de casas, pois o Observer2 utiliza-se da dll epreenche para você!!!

CADA MÉTODO CONTÉM UM ÍNDICE QUE VOCÊ ENCONTRA AQUI NESTE MESMO MANUAL.

POR EXEMPLO O MÉTODO DE ABERTURA DE CUPOM:, EXEMPLO QUE UTILIZAMOS ACIMA COM O INDICE1000:

Page 44: 87514270 Daruma Framework

Daruma Framework31

Daruma Automação

3) Sua aplicação deverá esperar um retorno do ECF, no memo formato da dll de comunicação(Retorno.txt).

RET;ACK;ST1;ST2; ou

RET;ACK;ST1;ST2;INFORMAÇÃO;

RET - Retorno do Método (SEMPRE UM INTEIRO).ACK - Byte Indicativo de Recebimento OK de Comunicação com a Impressora.ST1 - Primeiro Byte que contém Erros ou avisos do ECF.ST2 - Segundo Byte que contém Erros ou aviosos do ECF.INFORMAÇÃO - Informação desejada caso o método enviado requera uma informação além do ACK

ST1 e ST2, como por exemplo, Número de Série do ECF, Data e Hora do ECF, SubTotal, Número doCupom..

4) SEMPRE o valor será terminado em ; (ponto e Virgula) e no formato de 3 Dígitos, por exemplo:

Exemplo 1)001;006;064;001;001 - Indica que o Método Devolveu 1(indicativo de OK).006 - ACK indica que o Protocolo de Comunicação está OK.064 - Indica que o ECF está com Pouco Papel - Veja Tabela de Retornos.001 - Indica que o Método não Foi Executado - Veja Tabela de Retornos.

Exemplo 2)-27;006;064;000;-27 - Indica que o Método conseguiu enviar o comando para o ECF porém o ECF

contém erro ou avisos, isso acontece porque a chave StatusFunção 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 Método não Foi Executado - Veja Tabela de Retornos.

Exemplo 3) Exemplo de Resposta a um método de Solicitação do Número do Cupom do ECF: 001;006;000;000;00028;

001 - Indica que a Função Devolveu 1(indicativo de OK).006 - ACK indica que o Protocolo de Comunicação está OK.000 - Indica que Não Existe Erro - Veja Tabela de Retornos.000 - Indica que Não Existe Erro - Veja Tabela de Retornos.00028 - Número 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 detarefas e clicar no botão Sair, como nos mostra a figura a seguir:

Page 45: 87514270 Daruma Framework

Daruma Framework 32

Daruma Automação

1.8.6 Trabalhando com Comandos em Lote, usando o Mapeamento de Unidade

Utilizar os Arquivos em Lote é uma prática interessante, em casos onde há regime especial ou seja, não éobrigatória venda em concomitância.

Pensando nisso, foram criados alguns métodos para que você desenvolvedor poça continuar a mandar oscomandos normalmente e a dll é quem gerencia em um nível mais baixo, gerando um lote com oscomandos.

Para utilizar essa solução, siga os passos abaixo:

1. Instale o Observer na máquina cliente;2. Crie uma pasta e deixe-a 100% compartilhada, ésta pasta será usada para a troca de arquivos;3. Configure o Observer2 para olhar para esta pasta saiba mais sobre o Observer2 clicando aqui;

Instalando o Driver Observer24. Copie a Daruma32.dll Versão Server, na máquina, onde estará instalado o aplicativo de automação;5. Mapeie a pasta, anteriormente criada;6. Supondo que você tenha escolhido a letra B:\ para o mapeamento, então execute o método

Page 46: 87514270 Daruma Framework

Daruma Framework33

Daruma Automação

Daruma_Registry_PathLote(Índice 60) para alterar a chave PathLote para a letra que você escolheupara o mapeamento;

7. Agora é só executar o método Daruma_Registry_ComandosEmLote(Índice 58) e passar todos oscomandos que irão estar no arquivo de lote;

8. Para finalizar o lote, utilize o método Daruma_Registry_FinalLote(Índice 59), quando for executadoeste método, pronto, o lote será enviado para a unidade mapeada e o Observer, na máquina clienteirá executar os comandos na impressora.

Pré-Requisitos:

1. Observer2 devidamente instalado no PDV, sem este driver torna-se impossível: veja mais sobre oObserver2:Instalando o Driver Observer2;

2. E os procedimentos de criação, permissão do compartilhamento;

3. O PDV(ponto de venda)deverá uma impressora fiscal ou não fiscal Daruma.

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 diretóriose arquivos NFS Network File System.

O NFS permite se acessar uma máquina remota, montando-a em sua própria como um dispositivoqualquer, permitindo assim um acesso simples, como a um diretório local.

Esta forma de se utilizar o driver Observer linux visa possibilitar que apenas um aplicativo rodando noservidor, atenda uma série de pontos de venda, facilitando assim a manutenção do aplicativo comercial.

· Pré-Requisitos:

1. Observer linux devidamente instalado nos PDV's, sem este driver torna-se impossível: veja maissobre o Observer:Instalando o Driver Linux Observer 2.0;

2. A lib utilizada pelo Observer linux a Daruma32.SO:Configurando a Daruma32.SO devidamenteinstalada, que sem ela tambem torna-se impossivel;

3. E os procedimentos de criação, permissão e montagem dos compartilhamentos vistos aseguir:Observer com Network File System (NFS);

4. Cada PDV(ponto de venda)deverá uma impressora fiscal.

5. O Serviço NFS (como servidor) deverá estar habilitado, em todos os PDV's.

1.8.7.1 Observer com Network File System (NFS)

Montando o Serviço de NFS

· Configurando o Servidor:

1)Criar o(s) seguinte(s) diretório(s) (aqui é apenas um nome sugestivo de exemplo);1.1)mkdir /mnt/PDV1 ou um diretório para cada PDV que fará parte da rede;

2)Dar permissão todal para o(s) mesmo(s);2.1)chmod 777 /mnt/PDV1;

3)Confira se a comunicação 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

Observação:IPPDV1 é o IP Host do PDV1, caso hajam mais PDV'S, basta criar mais diretórios eseguir a risca os mesmos passos para cada um deles.

Page 47: 87514270 Daruma Framework

Daruma Framework 34

Daruma Automação

· Configurando o(s) PDV (ponto de venda):

1)Criar o seguinte diretório (aqui é apenas um nome sugestivo de exemplo);1.1)mkdir /mnt/Compartilhado_PDV1;

2)Dar permissão todal para o mesmo;2.1)chmod 777 /mnt/Compartilhado_PDV1;

3)Copie o Observer para o diretório que acaba de ser criado - veja mais sobre o Observer clicando no linka seguir:Instalando o Driver Linux Observer 2.0;

4)Compartilhe o diretório 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 configurações tenham efeito, re-inicie o sistema NFS, se preferir o SO;5.1)Confira se o diretório 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 diretório 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 ação for impressa uma LeituraX é bom sinal, então daqui em diante será comseu aplicativo. Lembrando que o gerenciamento de onde será escrito o comando, fica 100% por conta doaplicativo comercial.

Por exemplo se você quizer escrever um arquivo de comando para o PDV1 então deverá fazê-lo:Compartilhado_PDV1, caso queira no PDV2 então Compartilhado_PDV2.

Para facilitar o controle de pra quem enviar o comando, procure sempre nomear os diretórios conforme onúmero do PDV(ponto de venda), dessa forma quando enviado um arquivo de comando no ODV1 porexemplo, a reposta devolvida pelo Observer, será escrita no mesmo diretório, ou seja neste nossoexemplo PDV1.

1.8.8 Métodos para o Observer de Configuração do Registry

1.8.8.1 Configuração do Observer

O Driver Observer2 é o Único driver Desenvolvido no mercado de automação comercial, que permite ouso de um Único Protocolo entre os aplicativos DOS e Windows.Este Driver reside no windows, permitindo que Aplicativos DOS/Win 16 bit´s, possam Acessar ao ECF commaior Facilidade tendo em vista a necessidade de se ter windows nos Equipamentos para a Realização doTEF. Com isso Desenvolvemos o Observer2 que ficará residente na área de Relógio do Windowsesperando que seja enviado métodos para ele.

O Driver é Totalmente configurável através do Registry, porém voce poderá setar as configurações doObserver2 no Início de seu aplicativo, basta chamar os métodos de Configuração do Registry.

· Estas são as Chaves Existentes para a Configuração do Observer2 e estes são os seusValores DEFAULT:

[HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA][HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\OBSERVER]

Local_Execucao = 1Log = 0

Page 48: 87514270 Daruma Framework

Daruma Framework35

Daruma Automação

Log_Path = C:\Observer.logPath_Entrada = C:\DARUMA.CMDPath_Log_Aquivo = C:\OBSERVER.LOGPath_Saida = C:\DARUMA.RETProduto = FS345Protocolo = 0Separador = ;

1.8.8.2 Daruma_Observer_Registry_Execucao (Índice 53)

· Definição do Método:Configura o Local em que o Observer2 ficará em execução.

· Parâmetros:String: com o Valor do Local desejado ("1" ou "2" ou "3")1 - Relogio (Área de Notificação do Windows)2 - Minizado na Barra de Tarefas3 - Maximizado na Tela (Centralizado na Tela)

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:· Valor default da Chave = 1

1.8.8.3 Daruma_Observer_Registry_Log (Índice 58)

· Definição do Método:Configura se o Observer2 irá Fazer Log dos comandos enviados e Recebidos ou não.

· Parâmetros:String: com o Valor desejado ("0" ou "1").0 - Nao Faz Log.1 - Faz Log.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:· Valor default da Chave = 0

1.8.8.4 Daruma_Observer_Registry_Log_Path (Índice 59)

· Definição do Método:Configura o Path + nome do Log desejado, esta chave só tem Efeito caso a Chave LOG estiver Ligada.

· Parâmetros:String: com o Valor desejado ( Exemplo "C:\OBSERVER.LOG").

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry

Page 49: 87514270 Daruma Framework

Daruma Framework 36

Daruma Automação

-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:· Valor default da Chave = C:\Observer.log

1.8.8.5 Daruma_Observer_Registry_Entrada (Índice 50)

· Definição do Método:Configura o Path + Nome do Arquivo de Comando que o Observer2 deverá esperar.

· Parâmetros:String: com o Valor desejado ("C:\DARUMA.CMD")

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:· Valor default da Chave = C:\DARUMA.CMD

1.8.8.6 Daruma_Observer_Registry_Saida (Índice 52)

· Definição do Método:Configura o Path + Nome do Arquivo de RESPOSTA que o Observer2 irá Criar.

· Parâmetros:String: com o Valor desejado ("C:\DARUMA.RET")

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:· Valor default da Chave =C:\DARUMA.RET

Page 50: 87514270 Daruma Framework

Daruma Framework37

Daruma Automação

1.8.8.7 Daruma_Observer_Registry_Produto (Índice 61)

· Definição do Método:Configura o Produto que será Usado com o Observer2.

· Parâmetros:String: com o Valor desejado ("FS345")

Lista de Produtos"FS345" - ECF Varejo."FS318" - ECF Restaurante."FS2000" - ECF Varejo Duas Estações."TA1000" - MicroTerminal Daruma."DS300" - MiniImpressora - Não Fiscal.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:· Valor default da Chave = FS345

1.9 Métodos Exclusivos para Impressora Fiscal

1.9.1 Método para ajustar automático para Horário de Verão

1.9.1.1 Daruma_FI_ConfiguraHorarioVerao(Índice 314)

· Definição do Método:Automatiza o processo de programação de entrada e saída no Horário de Verão.

· Parâmetros do Método: (03 Parâretros).1. Data Entrada: String com 6(seis) bytes com a data de início do horário de verão no seguinte

formato:ddmmnn.2. Data Saída:String com 6(seis) bytes com a data de saída do horário de verão 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 Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Data_Entrada As StringDim Str_Data_Saida As StringDim Str_Controle As StringStr_Data_Entrada = Data_Entrada.TextStr_Data_Saida = Data_Saida.TextStr_Controle = Controle.TextInt_Retorno = Daruma_FI_ConfiguraHorarioVerao(Str_Data_Entrada, Str_Data_Saida, Str_Controle)

· Exemplo em Delphi 7.0:var

Page 51: 87514270 Daruma Framework

Daruma Framework 38

Daruma Automação

Str_Data_Entrada: String; Str_Data_Saida: String; Str_Controle: String;beginStr_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 Métodos de Cupom Fiscal

1.9.2.1 Daruma_FI_AbreCupom(Índice 1000)

· Definição do Método:Abre o cupom fiscal na impressora fiscal Daruma.

· Parâmetros do Método: (1 Parâmetro, opcional).CPF ou CNPJ: Variável String de até 29 caracteres com o CPF ou CNPJ.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:· Exemplo em Visual Basic 6.0:Dim Str_CPF_ou_CNPJ As StringDim 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)

· Definição do Método:Vende o item na impressora fiscal.

· Parâmetros do Método: (9 Parâmetros).1. Código: String com até 13 caracteres contendo o código do produto.2. Descrição: String até 29 caracteres com a descrição do produto.3. Alíquota: String com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com

o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres.Ex. (18,00 para o valor ou 05 para o índice).

4. Tipo Quantidade: 1 (um) caráctere indicando o tipo de quantidade. 'I' - Inteira e 'F' - Fracionária.5. Quantidade: String com até 4 dígitos para quantidade inteira e 7 dígitos para quantidade fracionária.

Na quantidade fracionária são 3 casas decimais.6. Casas Decimais: Inteiro indicando o número de casas decimais para o valor unitário (2 ou 3).7. Valor Unitário: String até 8 dígitos para valor unitário.8. Tipo Desconto: 1 (um) caráctere indicando a forma do desconto. '$' desconto por valor e '%'

desconto percentual.9. Valor Desconto: String com até 8 dígitos para desconto por valor (2 casas decimais) e 4 dígitos para

desconto percentual (2 casas decimais). Importante! Caso seja passado um sinal de subtraçãoantes do valor exemplo: (-1,00), será aplicada a lógica inversa e ao invéz de um descontoserá feito um acréscimo.

Page 52: 87514270 Daruma Framework

Daruma Framework39

Daruma Automação

· Retorno do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Arredondamento: As impressoras MFD FS600 E 2100T, apenas truncam. Sendo assim foi criado omédodo Daruma_Registry_MFDValorFinal(Índice 66). Com este método, o problema de divergir o valor daimpressora, comparando-o com o valor da balança (supermercados), ou bomba de combustível (posto degasolina), pode ser contornado.- No último paramêtro (Valor Desconto), caso seja passado um valor negativo exe.:(-1,00), seráaplicada a lógica inversa e ao invéz de um desconto, será feito um acréscimo no valor do ítem.- Acentuação e/ou caracteres especiais, não são aceitos na descrição do item.- Na impressora Duas Estações FS2000, para se vender em apenas uma linha voce não poderá ter umCódigo maior que 6 digitos e a descrição maior que 14 caracteres. EX.:Código->123456 Descrição->Laranja Baiana. Uma combinação 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, porém todos com alíquota de serviço e o ECF não estejahabilitado para desconto em serviço, então o desconto não será permitido. Importante para habilitar odesconto sobre serviço é preciso que seja feito por meio de IT(interveção técnica) e isso só pode ser feitopor uma assistência técnica autorizada Daruma.- Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alíquota de serviço e oECF não esteja habilitado para o desconto, então o desconto incidirá sobre os itens com alíquota de ICMS.- E caso o ECF esteja hebilitado para desconto em serviço então para um cupom onde os itens sejam comalícota de serviço e também alíquota de ICMS o desconto será sobre todos os itens independentemente daalíquota.

- Alíquotas de mesmo valor: Imagine que há duas alíquotas com o valor 12% cadastradas naimpressora. A primeira cadastrada na posição 01 como ICMS e a outra na posição 05 como ISS. Se vocêinformar o valor 1200 ou 12,00 no parâmetro "alíquota" o Método irá imprimir o item usando a alíquota01 de ICMS. o Método lê as alíquotas da impressora e usa o índice da primeira ocorrência. Para usar aalíquota de ISS você deverá passar o índice 05 e não o valor 1200 ou 12,00. Se você não tiver duasalíquotas com o mesmo valor cadastradas na impressora use sempre o valor no parâmetro alíquota.- Outra maneira de fazer quando você tiver duas alíquotas de mesmo valor Ex: duas de 10,00% sendoque uma refere-se a ICMS e a outra a ISS e você quizer usar a que vem na 2ª (segunda) posição, ou sejaa de ISS neste caso então você poderá fazer isto passando apenas a letra 'I' para ICMS ou 'S' para ISS,Ex: "I10,00" ou "S10,00".- Na FS345 versão 1.11 (somente nesta versão), você deve passar no parâmetro descrição até 7caracteres e não podera dar desconto, para dar desconto e vender um item que tenha uma descriçãomaior do que 7 caracteres, tenha desconto no item use o Método Daruma_FI_VendeItemTresDecimais.Esta regra só é válida para a versão 1.11.- Para vender item em uma única linha você deverá passar o item com o código de até 13 caracteres e adescrição de até 6 caracteres ou vice-versa. Caso não se cumpra ésta condição, então será vendidoautomáticamente em 2 linhas.- Caso o item tenha desconto ou três decimais também será vendido automáticamente em 2 linhas.- Se o cupom estiver fechado o Framework abrirá o cupom para você.- Para dar um desconto sobre serviço, a impressora deverá ser programada por meio de I.T.(interveçãotécnica), caso contrário não será possível.- Isento (duas letras II maiúsculas).- Não tributado (duas letras NN maiúsculas).- Substituição tributária (duas letras FF maiúsculas).

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Codigo As StringDim Str_Descricao As StringDim Str_Aliquota As StringDim Str_Tipo_de_Quantidade As StringDim Str_Quantidade As StringDim Int_Casas_Decimais As IntegerDim Str_Valor_Unitario As StringDim Str_Tipo_de_Desconto As StringDim Str_Valor_do_Desconto As String

Page 53: 87514270 Daruma Framework

Daruma Framework 40

Daruma Automação

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)

· Definição do Método:Vende o item na impressora fiscal, podendo indicar a unidade de medida e também um índice para odepartamento .

· Parâmetros do Método: (9 Parâmetros).1. Código: STRING até 49 caracteres com o código do produto.2. Descrição: STRING até 201 caracteres com a descrição do produto.3. Alíquota: STRING com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado

com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres.Ex. (18,00 para o valor ou 05 para o índice)

4. Valor Unitário: STRING com até 9 dígitos para o valor (tres casas decimais).5. Quantidade: STRING com até 7 dígitos para a quantidade. Na venda com departamento a quantidade

é fracionária e são 3 casas decimais.6. Desconto: STRING com o desconto por valor com até 10 dígitos (2 casas decimais).7. Acréscimo: STRING com o acréscimo por valor com até 10 dígitos (2 casas decimais).8. Indíce Departamento: STRING com o índice do departamento com 2 dígitos.9. Unidade Medida: STRING com no máximo 2 caracteres para a unidade de medida. Caso não seja

passado nenhum caracter a unidade não é impressa.

· Retornos do Método:

Page 54: 87514270 Daruma Framework

Daruma Framework41

Daruma Automação

0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na descrição do item.- Para o caso de você ter 2 alíquotas 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 alíquota, tipo "I" para ICMS ou "S" para ISS Ex: I18,00 ou S18,00.3 - Na impressora Duas Estações FS2000 tamanho máximo para o código 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, porém todos com alíquota de serviço e o ECF não estejahabilitado para desconto em serviço, então o desconto não será permitido. Importante para habilitar odesconto sobre serviço é preciso que seja feito por meio de uma IT(interveção técnica) e isso só pode serfeito por uma assistência técnica autorizada Daruma.- Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alíquota de serviço e oECF não esteja habilitado para o desconto, então o desconto incidirá sobre os itens com alíquota de ICMS.- E caso o ECF esteja habilitado para desconto em serviço então para um cupom onde os itens sejam comalíquota de serviço e também alíquota de ICMS o desconto será sobre todos os itens independentementeda alíquota.- Na FS345 versão 1.11(somente nesta versão), você deve passar no parâmetro descrição até 7caracteres e não podera dar desconto, para dar desconto e vender um item que tenha uma descriçãomaior do que 7 caracteres, tenha desconto no item use o Método Daruma_FI_VendeItemTresDecimais.Esta regra só é válida para a versão 1.11.- Para vender item em uma única linha você deverá passar o item com o código de até 13 caracteres e adescrição de até 6 caracteres ou vice-versa. Caso não se cumpra ésta condição, então será vendidoautomáticamente em 2 linhas.- Caso o item tenha desconto ou três decimais também será vendido automáticamente em 2 linhas.- Se o cupom estiver fechado a dll abrirá o cupom para você.- Isento (duas letras II maiúsculas).- Não tributado (duas letras NN maiúsculas).- Substituição tributária (duas letras FF maiúsculas).

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Codigo As StringDim Str_Descricao As StringDim Str_Aliquota As StringDim Str_Valor_Unitario As StringDim Str_Quantidade As StringDim Str_Valor_do_Acrescimo As StringDim Str_Valor_do_Desconto As StringDim Str_Indice_Departameto As StringDim 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:

Page 55: 87514270 Daruma Framework

Daruma Framework 42

Daruma Automação

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)

· Definição do Método:Vende o item na impressora fiscal, 1.11.

· Parâmetros do Método: (7 Parâmetros).1. Código: String com até 13 caracteres contendo o código do produto.2. Descrição: String até 170 caracteres com a descrição do produto.3. Alíquota: String com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado

com o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2caracteres. Ex. (18,00 para o valor ou 05 para o índice).

4. Quantidade: String com até 4 dígitos para quantidade inteira e 7 dígitos para quantidade fracionária.Na quantidade fracionária são 3 casas decimais.

5. Valor Unitário: String até 8 dígitos para valor unitário.6. Acréscimo Desconto: String "A" para Acréscimo e "D" para Desconto.7. Percentual Acréscimo Desconto: String com até 4 dígitos para o acréscimo ou desconto (2 casas

decimais).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na descrição do item.- Este Método foi implementado para vender item com três decimais na FS345 vesão 1.11.- Este Médoto é exclusivo da FS345 versão 1.11.- O valor do acréscimo ou desconto nunca poderá ser igual ou maior do que o valor do item.- Caso a venda seja de um ou mais itens, porém todos com alíquota de serviço e o ECF não estejahabilitado para desconto em serviço, então o desconto não será permitido. Importante para habilitar odesconto sobre serviço é preciso que seja feito por meio de IT(interveção técnica) e isso só pode ser feitopor uma assistência técnica autorizada Daruma.- Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alíquota de serviço e oECF não esteja habilitado para o desconto, então o desconto incidirá sobre os itens com alíquota de ICMS.- E caso o ECF esteja habilitado para desconto em serviço então para um cupom onde os itens sejam com

Page 56: 87514270 Daruma Framework

Daruma Framework43

Daruma Automação

alíquota de serviço e também alíquota de ICMS o desconto será sobre todos os itens independentementeda alíquota.- Isento (duas letras II maiúsculas).- Não tributado (duas letras NN maiúsculas).- Substituição tributária (duas letras FF maiúsculas).

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Codigo As StringDim Str_Descricao As StringDim Str_Aliquota As StringDim Str_Quantidade As StringDim Str_Valor_Unitario As StringDim Str_Acrescimo_ou_Desconto As StringDim 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)

· Definição do Método:Cancela o último cupom emitido.

· Parâmetros do Método:Não há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECF

Page 57: 87514270 Daruma Framework

Daruma Framework 44

Daruma Automação

sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Não poderá ter ocorrido ReduçãoZ e nem LeituraX após a emissão do cupom.- Você não 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)

· Definição do Método:Cancela o último item vendido.

· Parâmetros do Método:Não há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar aberto.- Ao menos um item deve ter sido vendido.- Não 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)

· Definição do Método:Cancela qualquer item dentre os cem (100) últimos itens vendidos.

· Parâmetros do Método: (1 Parâmetro)Número Item: String com o número do item a ser cancelado com no máximo 3 dígitos.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar aberto

Page 58: 87514270 Daruma Framework

Daruma Framework45

Daruma Automação

- Ao menos 1(um) item deve ter sido vendido- O item não 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)

· Definição do Método:Inicia o fechamento do cupom com o uso das formas de pagamento.

· Parâmetros do Método: (3 Parâmetros)1. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para

desconto.2. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.3. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual (2 casas decimais).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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, porém todos com alíquota de serviço e o ECF não estejahabilitado para desconto em serviço você poderá receber erro 24 ou 44, então o desconto não serápermitido. Importante para habilitar o desconto sobre serviço é preciso que seja feito por meio deIT(interveção técnica) e isso só pode ser feito por uma assistência técnica autorizada Daruma.- Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alíquota de serviço e oECF não esteja habilitado para o desconto, então o desconto incidirá sobre os itens com alíquota de ICMS.- E caso o ECF esteja habilitado para desconto em serviço então para um cupom onde os itens sejam comalíquota de serviço e também alíquota de ICMS o desconto será sobre todos os itens independentementeda alíquota.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Acrescimo_ou_Desconto As StringDim Str_Tipo_do_Acrescimo_ou_Desconto As StringDim 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, _

Page 59: 87514270 Daruma Framework

Daruma Framework 46

Daruma Automação

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)

· Definição do Método:Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma.

· Parâmetros do Método: (2 Parâmetros)1. Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres.2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O fechamento do cupom com formas de pagamento deve ter sido iniciado.- Se a forma de pagamento não estiver cadastrada na impressora, o Método retorna erro. Paracadastrar a forma de pagamento você deve usar oMétodo:Daruma_FI_ProgramaFormasPagamento(Índice 301) e isso emediatamente após uma ReduçãoZ.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Descricao_da_Forma_Pagamento As StringDim Str_Valor_da_Forma_Pagamento As StringStr_Descriçca_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)

· Definição do Método:Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s). Permite a impressão de comentários na(s)forma(s) de pagamento.

Page 60: 87514270 Daruma Framework

Daruma Framework47

Daruma Automação

· Parâmetros do Método: (3 Parâmetros)1. Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres.2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.3. Descrição Forma Pagamento: String com a descrição da forma de pagamento com no máximo 48

caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O fechamento do cupom com formas de pagamento deve ter sido iniciado.- O texto livre será impresso 1(uma) linha após a forma de pagamento.- Se a forma de pagamento não estiver cadastrada na impressora, o Método retorna erro. Paracadastrar a forma de pagamento você deve usar oMétodo:Daruma_FI_ProgramaFormasPagamento(Índice 301) e isso emediatamente após uma ReduçãoZ.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Descricao_da_Forma_Pagamento As StringDim Str_Valor_da_Forma_Pagamento As StringDim 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)

· Definição do Método:Permite fechar o cupom de forma resumida, ou seja, sem acréscimo ou desconto no cupom e comapenas uma forma de pagamento. Esse Método lê o subtotal do cupom para fechá-lo.

· Parâmetros do Método: (2 Parâmetros)1. Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres.2. Mensagem Promocional: String com a mensagem promocional com até 384 caracteres (8 linhas X 48

colunas).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Page 61: 87514270 Daruma Framework

Daruma Framework 48

Daruma Automação

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na mensagem promocional.- O cupom deve estar aberto.- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado.- A utilização desse Método elimina a obrigatoriedade de uso das MétodoDaruma_FI_IniciaFechamentoCupom, Daruma_FI_EfetuaFormaPagamento eDaruma_FI_TerminaFechamentoCupom, que estão implementadas internamente no Método.- Se a forma de pagamento não estiver cadastrada na impressora, o Método retorna erro. Paracadastrar a forma de pagamento você deve usar oMétodo:Daruma_FI_ProgramaFormasPagamento(Índice 301) e isso emediatamente após uma ReduçãoZ.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Descricao_da_Forma_de_Pagamento As StringDim 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)

· Definição do Método:Fecha o cupom fiscal com a impressão da mensagem promocional.IMPORTANTE! Com este Método você não poderá informar com mais de um meio de pagamento.

· Parâmetros do Método: (6 Parâmetros)1. Forma Pagamento: String com o nome da forma de pagamento com no máximo 16 caracteres.2. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para

desconto.3. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.4. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual.5. Valor Pago: String com o valor pago com no máximo 14 dígitos.6. Mensagem Promocional: String com a mensagem promocional com até 384 caracteres (8 linhas X 48colunas).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na mensagem promocional.- O cupom deve estar aberto.- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado.- A utilização desse Método elimina a obrigatoriedade de uso das MétodoDaruma_FI_IniciaFechamentoCupom, Daruma_FI_EfetuaFormaPagamento e

Page 62: 87514270 Daruma Framework

Daruma Framework49

Daruma Automação

Daruma_FI_TerminaFechamentoCupom, que estão implementadas internamente no Método.- O valor do acréscimo ou desconto nunca poderá ser igual ou maior do que o valor do item.- Caso a venda seja de um ou mais itens, porém todos com alíquota de serviço e o ECF não estejahabilitado para desconto em serviço você poderá receber erro 24 ou 44, então o desconto não serápermitido. Importante para habilitar o desconto sobre serviço é preciso que seja feito por meio deIT(interveção técnica) e isso só pode ser feito por uma assistência técnica autorizada Daruma.- Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alíquota de serviço e oECF não esteja habilitado para o desconto, então o desconto incidirá sobre os itens com alíquota de ICMS.- E caso o ECF esteja habilitado para desconto em serviço então para um cupom onde os itens sejam comalícota de serviço e também alíquota de ICMS o desconto será sobre todos os itens independentemente daalíquota.- Se a forma de pagamento não estiver cadastrada na impressora, o Método retorna erro. Paracadastrar a forma de pagamento você deve usar oMétodo:Daruma_FI_ProgramaFormasPagamento(Índice 301) e isso emediatamente após uma ReduçãoZ.

Exemplos:· Exemplo em Visual Basic 6.0:Dim Str_Descricao_da_Forma_Pagamento As StringDim Str_Acrescimo_ou_Desconto As StringDim Str_Tipo_Acrescimo_ou_Desconto As StringDim Str_Valor_Acrescimo_ou_Desconto As StringDim Str_Valor_Pago As StringDim 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)

· Definição do Método:Termina o fechamento do cupom com mensagem promocional.

· Parâmetros do Método: (1 Parâmetro)Mensagem Promocional: String com a mensagem promocional com até 384 caracteres (8 linhas X 48colunas).

Page 63: 87514270 Daruma Framework

Daruma Framework 50

Daruma Automação

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na mensagem promocional.- A forma de pagamento deve ter sido efetuada.- Na impressora fiscal Daruma, serão 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)

· Definição do Método:Permite Estornar valores de uma forma de pagamento e transferir em outra forma.

· Parâmetros do Método: (3 Parâmetros)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 dígitos. Passando o valor

total da forma de pagamento de origem, não podendo ser maior ou menor do que o de origem.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método só pode ser executado após o fechamento do cupom fiscal.- Este Método não é compatível com a Impressora de Duas Estações FS2000.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Forma_de_Origem As StringDim Str_Nova_Forma As StringDim 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)

Page 64: 87514270 Daruma Framework

Daruma Framework51

Daruma Automação

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

· Definição do Método:Imprime a Identificação do Consumidor, este método deve ser enviado Imediatamente Antes do métodode TerminaFechamentoCupom, onde será impresso a mensagem Promocional.

· Parâmetros do Método: (3 Parâmetros)1. Nome: Nome do Consumidor com até 48 caracteres;2. Endereço: Endereço do Consumidor com até 48 caracteres;3. CNPJ ou CPF: Até 42 caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Estes Campos são Formatados automaticamente pelo ECF que imprimirá antes da MensagemPromocional o seguinte:

· Exemplo:-------------------------------------------------------Nome: Daruma Automção S.A.Endereço: Av. Independencia 3.500 TatuapéNº Doc: NNNNNNNN--------------------------------------------------------

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Nome_do_Consumidor As StringDim Str_Endereco As StringDim Str_CPF_ou_CNPJ As String

Str_Nome_do_Consumidor = "Daruma Automação 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 Automação S.A.'; Str_Endereco := 'Av. Independencia 3.500 Tatuapé';

Page 65: 87514270 Daruma Framework

Daruma Framework 52

Daruma Automação

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)

· Definição do Método:Emite um resumo do Cupom Fiscal Realizado Anteriormente, com Número do cupom, Valor e Data.Este resumo pode ser utilizado para Controle interno.

· Parâmetros do Método:Não Há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Para utilização deste Método, você deverá necessáriamente chamar oMétodo Daruma_FI_CfgCupomAdicional antes.- Este Método enibe a pré_impressão automática do cliche do próximo cupom, implicando diretamente eum gasto Maior - tanto de Bobina Quanto de Tempo na emissão do cupom fincal.- Este Método não é compatível com a Impressora de Duas Estações 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)

· Definição do Método:Imprime a unidade de medida após a quantidade do produto na venda de item.

· Parâmetros do Método: (1 Parâmetro)Tipo Unidade Medida: String com a unidade de medida até 2 caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método só pode ser executado, antes da abertura do cupom fiscal.- Este Método deve ser usado antes do envio do Método Daruma_FI_VendeItem.- Este Método tem validade, somente para a impressão de um item, voltando ao default que é a impressãode 2 (dois) espaços em branco após a quantidade do item vendido.- Este Método é incompatível com a FS345 versao 1.11.

Exemplos:

· Exemplo em Visual Basic 6.0:

Page 66: 87514270 Daruma Framework

Daruma Framework53

Daruma Automação

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)

· Definição do Método:Este Método permite aumentar a descrição do item até 200 caracteres.

· Parâmetros do Método: (1 Parâmetro)Descrição: String com a descrição do item com até 200 caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método só irá funcionar corretamente nas inpressoras térmicas, se a chave MFDTamMinDescProdno regsitry, estiver setada para 00(zero zero). Para alterar o valor desta chave, utilize o método:Daruma_Registry_AlteraRegistry (Índice 17), passando como parâmetro o nome da chave e o novo valorpara a mesma. Exemplo Daruma_Registry_AlteraRegistry("MFDTamMinDescProd", "00").- Acentuação e/ou caracteres especiais, não são aceitos na descrição do item.- Este método só pode ser executado, antes da abertura do cupom fiscal.- Este Método deve ser usada antes do Método Daruma_FI_VendeItem, pois assim, o item será impressocom a nova descrição.- Ela tem validade somente para a impressão de um item, voltando ao default que é de 29 caracteres naDescrição 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 ) );

Page 67: 87514270 Daruma Framework

Daruma Framework 54

Daruma Automação

1.9.3 Métodos de Recebimentos, Não Fiscais e Vinculados

1.9.3.1 Daruma_FI_AbreComprovanteNaoFiscalVinculado(Índice 1203)

· Definição do Método:Abre o comprovante não fiscal vinculado.

Parâmetros do Método: (3 Parâmetros)1. Forma Pagamento: Forma de pagamento com até 16 caracteres.2. Valor: Valor pago na forma de pagamento com até 14 dígitos (2 casas decimais).3. Número Cupom: Número do cupom a que se refere o comprovante com até 6 dígitos.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- A forma de pagamento deve ter sido utilizada no cupom, mesmo sendo a forma de Pagamento"Dinheiro".- Só pode ser emitido 1(um) comprovante não fiscal por forma de pagamento.- Os parâmetros "Valor" e "Numero do Cupom" tornam-se obrigatórios se for abrir um vinculado àpartir de um recebimento não fiscal, se o comprovante emitido não for referente a Última Forma dePagamento do Cupom Fiscal. Ou seja, se você teve "Dinheiro" e "Cheque" no último Cupom Fiscal, entãopara abrir um vinculado em Dinheiro terá de passar o Valor da primeira forma de pagamento.- A FS600 e FS2100T, não permitem a utilização da forma de pagamento dinheiro, para a abertura devinculados- A não 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 StringDim Str_Valor_Pago As StringDim 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)

· Definição do Método:Imprime o comprovante não fiscal vinculado.

· Parâmetros do Método: (1 Parâmetro)Texto: String com o Texto a ser impresso no comprovante não fiscal vinculado com até 618 caracteres.

Page 68: 87514270 Daruma Framework

Daruma Framework55

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Na impressora fiscal Daruma, só pode ser usado durante 2(dois) minutos após a abertura docomprovante não fiscal vinculado. Se esse tempo for ultrapassado o comprovante é fechadoautomaticamente.

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)

· Definição do Método:Encerrar o comprovante não fiscal vinculado.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O comprovante não fiscal vinculado deve ter sido aberto. Você poderá verificar o status através dométodo: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 Método:Abre o Relatório Gerencial.

· Parâmetros do Método:Não há.

Page 69: 87514270 Daruma Framework

Daruma Framework 56

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método apenas Abre o Relatório Gerencial, deixando-o pronto para que seja utilizado o MétodoDaruma_FI_RelatorioGerencial.- Nas Impressoras FS345 e FS2000 o gerencial uma vez aberto permanecerá 10(dez) Minutos e se auto-fechara.- 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)

· Definição do Método:Encerra o Relatório Gerencial.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O relatório gerencial deve estar aberto. Você poderá verificar o status através dométodo: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)

· Definição do Método:Abre o recebimento não fiscal "CNFNV".

· Parâmetros do Método: (6 Parâmetros)1. Descrição do Totalizador: Neste parâmetro você deve passar o descrição do totalizador.2. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para

desconto.3. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.4. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual.5. Valor do Recebimento: String com o valor da forma de pagamento com até 14 dígitos.

Page 70: 87514270 Daruma Framework

Daruma Framework57

Daruma Automação

6. Texto Livre. String com até 7 linhas 48 caracteres, totalizando 336. Importante! O texto passadoneste parâmetro, sairá impresso no fechamento do recebimento. Outra coisa é que poderãoserem usadas as tags DHTML. Por exemplo para negrito <b></b>, e x p a n d i d o <e></e> esublinhado <s></s>, uma de cada vez, até mesmo qualquer combinação entre elas,ex.:<b><e><s>Observação</s></e></b>. - Na impressora FS345 (matricial), o parâmetrosexto, não suporta as 7 linhas de texto e sim somente 40 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método não poderá ser aplicado para Sangria ou Suprimento.- Este Método abre o recebimento não fiscal que permanece aberto até que seja chamado o MétodoDaruma_FI_EfetuaFormaPagamentoNaoFiscal. Importante! verifique o status do recebimento antes detentar abrí-lo através do Método:Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado(Índice 1471).- Este Método deverá ser usado sempre que for preciso informar mais de uma forma de pagamento, noRecebimento.- Não existe Método para fechamento deste Método, o mesmo se fechará automaticamente, quando ototal do recebimento for pago.- Caso seja passado no parâmetro Índice do Totalizador Sangria, o Método será executado, porém ocupom será fechado automaticamente.

Exemplos:· Exemplo em Visual Basic 6.0:Dim Str_Descricao_do_Totalizador As StringDim Str_Acrescimo_ou_Desconto As StringDim Str_Tipo_Acrescimo_ou_Deconto As StringDim Str_Valor_do_Acrescimo_ou_Desconto As StringDim Str_Valor_do_Recebimento As StringDim 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 ) );

Page 71: 87514270 Daruma Framework

Daruma Framework 58

Daruma Automação

1.9.3.7 Daruma_FI_EfetuaFormaPagamentoNaoFiscal(Índice 1211)

· Definição do Método:Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma.

· Parâmetros do Método: (3 Parâmetros)1. Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres.2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.3. Observação Livre: String com até 48 caracteres, na FS345 e até 82 na FS600/FS2100T.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O fechamento do comprovante não fiscal acontecerá automaticamente assim que o total docomprovante não fiscal seja atingido.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Forma_de_Pagamento As StringDim Str_Valor_da_Forma_Pagamento As StringDim 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)

· Definição do Método:Faz um suprimento na impressora (entrada de dinheiro).

· Parâmetros do Método: (2 Parâmetros)1. Valor: String com o Valor do suprimento com até 14 dígitos (2 casas decimais).2. Forma Pagamento: String com a Forma de pagamento com até 16 caracteres. Se não for informada,

o suprimento será feito em Dinheiro.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Page 72: 87514270 Daruma Framework

Daruma Framework59

Daruma Automação

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Valor_do_Fundo_Caixa As StringDim 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)

· Definição do Método:Emite a leitura da memória fiscal da impressora por intervalo de datas.

· Parâmetros do Método: (2 Parâmetros)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 Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foipossível enviar o método.

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através dométodo:Daruma_FI_StatusCupomFiscal(Índice 1404).

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Data_Inicial As StringDim 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) );

Page 73: 87514270 Daruma Framework

Daruma Framework 60

Daruma Automação

1.9.3.10 Daruma_FI_LeituraMemoriaFiscalReducao(Índice 1103)

· Definição do Método:Emite a leitura da memória fiscal da impressora por intervalo de reduções.

· Parâmetros do Método: (2 Parâmetros)1. Redução Inicial: String com o Número da redução inicial com até 4 dígitos.2. Redução Final: String com o Número da redução final com até 4 dígitos.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foipossível enviar o método.

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através dométodo:Daruma_FI_StatusCupomFiscal(Índice 1404).

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Reducao_Inicial As StringDim 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)

· Definição do Método:Recebe os dados da memória fiscal por intervalo de datas pela serial e grava em arquivo texto.

· Parâmetros do Método: (2 Parâmetros)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 Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foipossível enviar o método.

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através dométodo:Daruma_FI_StatusCupomFiscal(Índice 1404).

Page 74: 87514270 Daruma Framework

Daruma Framework61

Daruma Automação

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Data_Inicial As StringDim 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)

· Definição do Método:Recebe os dados da leitura da memória fiscal, por intervalo de reduções, pela serial e grava em arquivotexto.

· Parâmetros do Método: (2 Parâmetros)1. Redução Inicial: String com o Número da reducao inicial com até 4 dígitos.2. Redução Final: String com o Número da reducao final com até 4 dígitos.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foipossível enviar o método.

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através dométodo:Daruma_FI_StatusCupomFiscal(Índice 1404).

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Reducao_Inicial As StringDim 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;

Page 75: 87514270 Daruma Framework

Daruma Framework 62

Daruma Automação

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)

· Definição:Emite a Leitura X na impressora.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através dométodo: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)

· Definição do Método:Imprime o comprovante não fiscal não vinculado.

· Parâmetros do Método: (3 Parâmetros)1. Descrição do Totalizador: String com a descrição do totalizador.2. Valor Recebimento: String com o Valor do recebimento com até 14 dígitos (duas casas decimais).3. Forma Pagamento: String com a Forma de pagamento com até 16 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método não poderá ser aplicado para Sangria ou Suprimento.- Este Método é único, ou seja você não precisará chamar outro método para encerrá-lo.- Caso você necessite informar mais de uma forma de pagamento então deve-se usar o MétodoDaruma_FI_AbreRecebimentoNaoFiscal.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Descricao_do_Totalizador As StringDim Str_Valor_do_Recebimento As StringDim Str_Forma_de_Pagamento As String

Page 76: 87514270 Daruma Framework

Daruma Framework63

Daruma Automação

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)

· Definição do Método:Emite a ReduçãoZ na impressora.

· Parâmetros do Método: (2 Parâmetros opcionais)1. Data: String com a Data atual da impressora no formato ddmmaa. Opcional2. Hora: String com a Hora a ser alterada no formato hhmmss. Opcional

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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. Horário este controlado pelo relógio interno daprópria Impressora.- Se o flag ZAutomatica estiver setado pra 1(um) no registry, então em havendo uma ReduçãoZpendende, a mesma será impressa automaticamente, mas somente se ZAutomatica estiver setadopra 1(um).- Nas Impressoras fiscais Térmicas, FS600 e Fs2100T, como há a compactação dos dados na MFD, entãoo tempo de retorno deste método é maior, do que, em impressoras matriciais, assim sendo, após o enviodeste método aguarde até que a função retorne o processo para o seu software.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Confirma As StringStr_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?' , 'DarumaFramework',mb_YesNo+mb_DefButton2+mb_IconQuestion); if (int_Confirma = 6) then //Int_Confirma = 6(Sim), = 7(Não), é o valor de retorno doApplication.MessageBox

Page 77: 87514270 Daruma Framework

Daruma Framework 64

Daruma Automação

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

end;

1.9.3.16 Daruma_FI_ReducaoZAjustaDataHora(Índice 11006)

· Definição do Método:Emite a ReduçãoZ na impressora. Permite ajustar o relógio interno da impressora em até 5 minutos.

· Parâmetros do Método: (2 Parâmetros)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 Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Importantíssimo este método não aceita separadores, você deverá passar apenas 12bytes.- Se os valores estiverem fora dessa faixa serão limitados a 5 minutos.

Exemplos:· Exemplo em Visual Basic 6.0:Dim Str_Data As StringDim 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)

· Definição do Método:Abre e Imprime Imprime o Relatório Gerencial.

Parâmetros do Método: (1 Parâmetro)Texto: String com o Texto a ser impresso no relatório com até 618 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Se o Relatorio Gerencial estiver aberto este Método imprime o texto que você deseja, e se desejar

Page 78: 87514270 Daruma Framework

Daruma Framework65

Daruma Automação

continuar imprimindo mais texto, continue Chamando este Método, que uma vez aberto o Gerencial, omesmo não será Aberto novamente até que seja chamada a Método.- Para fechar o Relatório, chame o Método:Daruma_FI_FechaRelatorioGerencial.- Se qualquer Método diferente da Daruma_FI_RelatorioGerencial for chamado com o relatório aberto,efetuará seu fechamento automaticamente.- Uma vez aberto o Relatório Gerencial, você terá 10(dez) minutos para a impressão de Texto Livre.- Caso você se esqueça de fechar o Relatório Gerencial o mesmo será fechado automaticamente após10(dez) minutos contando a partir de sua abertura.- Nas Impressoras Térmicas 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)

· Definição do método:Faz uma sangria na impressora (retirada de dinheiro).

Parâmetros do Método: (1 Parâmetro)Valor: String com o Valor da sangria com até 14 dígitos (2 casas decimais).

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Não será possível 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 ) );

Page 79: 87514270 Daruma Framework

Daruma Framework 66

Daruma Automação

1.9.3.19 Daruma_FI_Suprimento(Índice 1207)

· Definição do Método:Faz um suprimento na impressora (entrada de dinheiro).

· Parâmetros do Método: (2 Parâmetros)1. Valor: String com o Valor do suprimento com até 14 dígitos (2 casas decimais).2. Forma Pagamento: String com a Forma de pagamento com até 16 caracteres. Se não for informada,

o suprimento será feito em Dinheiro.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Valor_do_Suprimento As StringDim 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 Métodos Gaveta Autenticação e Outras

1.9.4.1 Daruma_FI_VerificaDocAutenticacao(Índice 1301)

· Definição do Método:Verifica se existe documento para ser Autenticado, este Método pode ser útil antes do envio daautenticação, ou seja, você apenas envia o método para a Autenticação quando tiver a certeza que odocumento esta presente.

· Uma prática interessante a ser aplicada é a seguinte:1) Chamar a Funcao Daruma_FI_VerificaDocAutenticação.2) Retornou igual a 1(um)?.3) Se sim, chamar o método Daruma_FI_Autentica.4) Caso contrário Voltar ao passo 1.

Com isso você garante que o método de Autenticação somente será chamado quando o documentoestiver presente.

· Parâmetros do Método:Não há.

Este Método retornará um dos Valores Inteiros listados Abaixo:

Page 80: 87514270 Daruma Framework

Daruma Framework67

Daruma Automação

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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 Não Posicionado!', 'Daruma Framework', mb_ok); end;

1.9.4.2 Daruma_FI_Autenticacao(Índice 1300)

· Definição do Método:Permite a autenticação de documentos.

· Parâmetros do Método:Não Há.

Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Para autenticar documentos na impressora fiscal FS2100T, você deve estar com o cupom fiscal aberto.- Deverá ser executada imediatamente após um recebimento não fiscal ou o término de um cupom fiscal.- Poderá ser repetido até 4 vezes para cada recebimento, após isso o método será ignorado.- Na impressora fiscal Daruma, serão aguardados 5 segundos para o posicionamento do documento eautenticará no documento a data, hora, número da loja, número do caixa e o número do último cupomfiscal. 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)

· Definição do Método:Permite a autenticação de documentos com a adição de uma String de até 13 caracteres.

· Parâmetros do Método: (1 Parâmetro)

Page 81: 87514270 Daruma Framework

Daruma Framework 68

Daruma Automação

String: de até 13 caracteres.

Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Para autenticar documentos na impressora fiscal FS2100T, você deve etar com o cuporm fiscal aberto.- Este Método permite ao usuário entrar com até 13 caracteres onde poderá utilizar para texto livre,observações ou até mesmo uma criptografia.- Deverá ser executada imediatamente após um recebimento não fiscal ou o término de um cupom fiscal.- Poderá ser repetido até 4 vezes para cada recebimento, após isso o método será ignorado.- Na impressora fiscal Daruma, serão aguardados 5 segundos para o posicionamento do documento eautenticará no documento a data, hora, número da loja, número do caixa e o número do último cupomfiscal. 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)

· Definição do Método:Retorna se a gaveta está fechada ou aberta.

· Parâmetros da Método:Estado: INTEIRO com a Variável para receber o estado da gaveta, onde:

- Estado = 0 sensor em nível 0 (fechada)- Estado = 1 sensor em nível 1 (aberta)

Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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;

Page 82: 87514270 Daruma Framework

Daruma Framework69

Daruma Automação

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)

· Definição do Método:Retorna se a gaveta está fechada ou aberta.

· Parâmetros da Método:Estado: String com a Variável para receber o estado da gaveta, onde:

- Estado = 0 sensor em nível 0 (fechada)- Estado = 1 sensor em nível 1 (aberta)

Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Abre a gaveta de dinheiro.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:

Page 83: 87514270 Daruma Framework

Daruma Framework 70

Daruma Automação

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Abre a porta serial para comunicação com a impressora.

· Parâmetros da Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.0: Não foi possível abrir a Porta Serial.

· Observações:- A Método lê o nome da porta a ser aberta no Na Chave do Registry Se o parâmetro "porta" estiverconfigurado com a palavra "Default" a Método localiza onde a impressora está conectada e configurado noRegistry. Você poderá alterar o valor da chave controle porta através dométodo:Daruma_Registry_ControlePorta(Índice 6).- Caso você tenha uma impressora não fiscal conectada ao micro ou até mesmo uma impressora dequalquer outro fabricante, então deverá estar com o flag Porta setado para DS300.

- Por Default a Daruma32.dll faz o gerenciamento de fluxo de dados, evitando dessa maneirade 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)

· Definição do Método:Fecha a porta serial.

· Parâmetros da Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.0: Não foi possível fechar a Porta Serial.

· Observações:- Caso você tenha uma impressora não fiscal conectada ao micro ou até mesmo uma impressora dequalquer outro fabricante, então 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:

Page 84: 87514270 Daruma Framework

Daruma Framework71

Daruma Automação

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)

· Definição do Método:Faz a abertura do caixa emitindo um suprimento e uma LeituraX. Obs.: Na FS600 (MFD), não será emitidaa LeituraX.

· Parâmetros da Método: (2 Parâmetros)1. Valor: String com o Valor do suprimento com até 14 dígitos (2 casas decimais). Informe o valor "0"

para não fazer suprimento.2. Forma Pagamento: String com a Forma de pagamento com até 16 caracteres. Se não for informado,

o suprimento será feito em Dinheiro.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- No caso de ter sido emitida uma LeituraX, no dia então será feito apenas um suprimento.- Nas Impressoras Térmicas MFD´s FS600 e FS2000T a abertura do dia da-se à partir da emissão dequalquer documento salvo uma LeituraX.

Exemplos:· Exemplo em Visual Basic 6.0:Dim Str_Valor_do_Suprimento As StringDim 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)

· Definição do Método:Faz o fechamento do dia. Esse Método grava o COO final e o Grande Total final que serão usados naMétodo Daruma_FI_RelatorioTipo60Mestre.

· Parâmetros da Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.

Page 85: 87514270 Daruma Framework

Daruma Framework 72

Daruma Automação

-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método deverá ser aplicado sempre antes do encerramento do dia fiscal.- Nunca emita nenhum relatório, antes de executar este Método.

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)

· Definição do Método:Imprime configurações da impressora fiscal em um relatório gerencial. Será emitida uma leitura X antes.Veja abaixo em "Observações" as informações que serão impressas.

· Parâmetros da Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Serão impressas as seguintes configurações:

Data da impressora 27/06/2001Hora da impressora 11:38:37Versão do firmware 120Versão da dll 1.9log da dll DesabilitadoLin. Imp. após pouco papel 0000Tipo Impressora fiscal + gaveta+autenticaçãoGravaStatus NÃOGrava Retorno NÃOStatus Método NÃOControle Porta NÃOModo gaveta 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 Métodos Pogramação e Configuração

Page 86: 87514270 Daruma Framework

Daruma Framework73

Daruma Automação

1.9.5.1 Daruma_FI_ProgramaAliquota(Índice 302)

· Definição do Método:Programa alíquota tributária na Impressora Fiscal.

· Parâmetros do Método: (2 Parâmetros)1. Alíquota: String com o valor da alíquota a ser programada.2. Vínculo: INTEIRO com o valor 0 (zero) para vincular a alíquota ao ICMS e 1 (um) para vincular ao

ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX, ou qualquer outrodocumento.- Nas Impressoras Daruma, você "não precisa" carregar diariamente as Alíquotas.- Na hora de passar o valor da alíquota você, não deve utilizar nenhum tipo de separador.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Valor_da_Aliquota As StringDim 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)

· Definição do Método:Programa Totalizador Não Sujeito ao ICMS. Equivale a por exemplo Conta de Luz, Água, Telefone, etc.

· Parâmetros do Método: (2 Parâmetros)1. Indice: INTEIRO com a posição em que o totalizador será programado.2. Totalizador: String até 21 caracteres com o nome do totalizador.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado.- Nas impressoras fiscais FS600(MFD) e FS2100T(MFD), só serão aceitos no máximo 15 carácteres nadescrição do totalizador não fiscal.

Page 87: 87514270 Daruma Framework

Daruma Framework 74

Daruma Automação

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Int_Indice_do_Totalizador As IntegerDim 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)

· Definição do Método:Realiza o casdastro das formas de pagamento na impressora fiscal, este Método deve ser enviadosomente após a realização de uma ReduçãoZ que é efetuado pela DLL de forma Automática dependendode como estiver a Chave do Registry Daruma_Registry_ZAutomatica.

· Parâmetros do Método: (1 Parâmetro)String contendo as formas de Pagamento desejadas, separadas por PONTO-E-VÍRGULA, cada forma depagamento deve ter o tamanho de até 16 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Nas Impressoras Térmicas MFD´s FS600 e FS2000T as descrições das formas de pagamentos poderãoser de no máximo 15 caracteres.- Quando é executado este método automaticamente a dll cria o compravente não fiscal vinculado paracada forma de pagamento programada. Dispensando com isso a programação dos Comprovantes NãoFiscais Vinculados.- O cupom fiscal deve estar fechado.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.- Nas Impressoras Térmicas MFD´s FS600 e FS2000T as formas não serão vinculáveis. Para torná-las avinculáveis na é preciso que seja feita uma Intervenção Técnica. Vide conênio 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

Page 88: 87514270 Daruma Framework

Daruma Framework75

Daruma Automação

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)

· Definição do Método:Programa o Operador no ECF, essa programação pode ser feita a qualquer momento do dia.

· Parâmetros do Método: (1 Parâmetro)Operador: String com até 20 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método 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)

· Definição do Método:Programa o modo arrendondamento na impressora.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado.- Será executada somente após uma ReduçãoZ.- Este método não está disponível para a FS2000, vide convênio 85/01.- Este método não está disponível para a FS600, vide convênio 85/01.- Este método não está disponível para a FS2100T, vide convênio 85/01.

Page 89: 87514270 Daruma Framework

Daruma Framework 76

Daruma Automação

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)

· Definição do Método:Programa o modo truncamento na impressora.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado.- Será executada somente após uma ReduçãoZ.- Este método não está disponível para a FS2000, pelo fato da mesma não permitir arredondamento, videconvênio 85/01.- Este método não está disponível para a FS600, pelo fato da mesma não permitir arredondamento, videconvênio 85/01.- Este método não está disponível para a FS2100T, pelo fato da mesma não permitir arredondamento,vide convênio 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)

· Definição do Método:Programa o espaçamento de linhas entre os cupons.

· Parâmetros do Método: (1 Parâmetro)Linhas: INTEIRO entre 0 e 15 indicando o número de linhas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O espaçamento ideal entre os cupons é de 7 linhas.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Int_Linhas_Entre_Cupons As Integer

Page 90: 87514270 Daruma Framework

Daruma Framework77

Daruma Automação

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)

· Definição do Método:Programa o espaçamento entre as linhas impressas no cupom.

· Parâmetros do Método: (1 Parâmetro)Dots: INTEIRO entre 0 e 255 indicando o espaço (dots) entre as linhas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O espaçamento 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)

· Definição do Método:Programa e desprograma o horário de verão. Se a impressora já estiver no horário de verão o mesmoserá desprogramado atrasando o relógio em 1 (uma) hora, caso contrário será adiantado 1 (uma) hora.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Page 91: 87514270 Daruma Framework

Daruma Framework 78

Daruma Automação

· Observações:- A programação do horário de verão será realizada somente após uma ReduçãoZ. Para desprogramar, oMétodo somente será aceito, 1 (uma) hora após a ReduçãoZ e não pode ter havido movimento naimpressora nesse período.- Você poderá deixar a entrada e saída do horário de verão automatizada. Para isso basta seguir asinstruções 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 válida no flag:DataEntradaHorarioVerao ex.:091205;4. Insira uma data válida no flag:DataSaidadaHorarioVerao ex.:091205.

Dessa maneira conforme você programou a Daruma32.dll quando verificar que chegou a data prevista emsua programação, irá fazer o ajuste automaticamente, tanto para a entrada quanto para a saída domesmo.Importante: Para que a saída do horário de verão seja aceita, é fundamental que a ReduçãoZ queantecede a data de saída do horário de verão seja feita ao final do período do dia anterior ao retorno aohorário normal. Exemplificando melhor: se o horário de verão for terminar no dia 100306, então aReduçãoZ 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 ???)

· Definição do Método:Equaliza as formas de pagamento.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado.

· Exemplo de aplicação do Método:- Imagine que você tenha uma forma de pagamento com a descrição vCartao, porém não tem o par delanos vinculados. E néssa hora que este Método torna-se indispensável, pelo fato de que quando executadoele criará o Vinculado que estava faltando, para fazer par com a forma de pagamento que havia sidoprogramada. Sendo assim passaríamos a ter nos meios de pagamento vCartao e agora também nosvinculados Cartao e só assim poderia-se fazer um Comprovante não Fiscal Vinculado à partir da forma depagamento vCartao.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_FI_EqualizaFormasPgto()

· Exemplo em Delphi 7.0:Int_Retorno := Daruma_FI_EqualizaFormasPgto();

Page 92: 87514270 Daruma Framework

Daruma Framework79

Daruma Automação

1.9.5.11 Daruma_FI_ProgramaVinculados(Índice 312)

· Definição do Método:Programa comprovante não fiscal vinculado.

· Parâmetros do Método: (1 Parâmetro)String: Com a descrição do vinculado com até 16 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método só deverá ser usado em casos onde já exitir a forma de pagamento e ela tenha uma letra vminúscula antes da descrição. Importante! a dll possui uma inteligência própria em relação a estasituação. Ou seja se existir uma forma de pagemento programada e que tenha o vZinho de vínculávelex.: vTEF e ainda não tenho o vinculado com a mesma descrição nos "CNFV", então a dll irá criarautomaticamente o vinculado.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.

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)

· Definição do Método:Programa forma de pagamento sem vincular.

· Parâmetros do Método: (1 Parâmetro)String: Com a descrição da forma de pagamento com até 16 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Quando é executado esta método, o vinculado que seria gerado automaticamente como acontece com afunção Daruma_FI_ProgramaFormasPagemento, deixa de ser programado. Portando se você necessita deprogramar uma forma de pagamento avulsa "sem o vinculado", deverá usar este método.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.- Este Método deverá ser aplicado sempre que a impressora já tiver o comprante vinculado e não tiver aforma de pagamento com a mesma descrição. Assim sendo você necessita criar uma forma de pagamento

Page 93: 87514270 Daruma Framework

Daruma Framework 80

Daruma Automação

com a mesma descrição, deixando-a em concomitância com o vinculado, para que você possa gerar umCNFV, 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)

· Definição do Método:Permite que você configure o ECF para que quando tenha um Cupom Fiscal Aberto, ao Ligar e Desligar amesma possa fechar o cupom automaticamente sem a intervenção do Software Aplicativo, permitindoeliminar situações de travamento. Este recurso foi descontinuado nas impressoras FS600 eFS2100T. Ambas térmicas.

· Parâmetros do Método: (1 Parâmetro)1 - Não fecha o Cupom Fiscal Automacamente, isso fica a cargo do aplicativo.0 - Fecha o Cupom Fiscal Automaticamente ao Ligar e Desligar o ECF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.- Este Método irá configurar diretamente a impressora.- O Default da dll irá setar pra 0 este recurso. Para habilitá-lo, você deverá chamar este método no start-up de sua aplicação.- Este método é incompatível 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');

Page 94: 87514270 Daruma Framework

Daruma Framework81

Daruma Automação

1.9.5.14 Daruma_FI_CfgRedZAutomatico(Índice 401)

· Definição do Método:Permite que você configure o ECF para que Realize a ReduçãoZ Automaticamente.

· Parâmetros do Método: (1 Parâmetro)0 - O ECf Não Realiza a ReduçãoZ Automaticamente1 - Realiza a ReduçãoZ Automaticamente.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Atenção! este Método anula completamente os valores da dll de ZAutomatica, ou seja, se você chamaa Método Daruma_Registry_ZAutomatica e passar os Valores a 1(um) para a dll Fazer Automaticamente,e se você chamar esta Método para que nao faça a ReduçãoZ Automatica de nada adiantará, ou seja, paraque o ECF nem a DLL realiza a ReduçãoZ Automaticamente e sim que seja comandada por seu aplicativovocê deverá chamar esta Método com o Valor 0(Zero) e a Método Daruma_Registry_ZAutomatica com oValor também 0(zero) com isso nem a dll nem o ECF irá Efetuar a ReduçãoZ Automaticamente deixandoesta Método totalmente a cargo de seu aplicativo.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.- Este Método irá configurar diretamente a impressora.- O Default da dll irá setar pra 0 este recurso. Para habilitá-lo, você deverá chamar este método no start-up de sua aplicação.

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)

· Definição do Método:Imprime na LeituraX e na ReduçãoZ quantas vezes a Gaveta foi Aberta.

· Parâmetros do Método: (1 Parâmetro)0 - Não Imprime na LeuturaX e na ReduçãoZ quantas Vezes a Gaveta foi Aberta.1 - Imprime na LeituraX e na ReduçãoZ quantas Vezes a Gaveta foi Aberta.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método irá configurar diretamente a impressora.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.

Exemplos:

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

Page 95: 87514270 Daruma Framework

Daruma Framework 82

Daruma Automação

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

1.9.5.16 Daruma_FI_CfgLeituraXAuto(Índice 402)

· Definição do Método:Permite que você configure o ECF seja realizado a Leitura X automaticamente para a Abertura do Dia.

· Parâmetros do Método: (1 Parâmetro)1 - Abre o Dia, ou realiza a LeituraX Automaticamente.0 - Não Abre o Dia, ou Não realiza a LeituaX Automaticamente.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método irá configurar diretamente a impressora.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.

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)

· Definição do Método:Configura o ECF para Calcular valores com a Regra de Arredondamento, ou seja, caso o valor calculadoresulte de 5(incluindo o 5) pra cima será arredondado a ultima casa para o valor superior. ExemplosR$1,347 será R$1,35

· Parâmetros do Método: (1 Parâmetro)0 - Não realiza os Cálculos por arredondamento e sim por truncamento.1 - Realiza os Cálculos por arredondamento.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado.- Será executada somente após uma ReduçãoZ.- Este método não está disponível para a FS2000, vide convênio 85/01.- Este método não está disponível para a FS600, vide convênio 85/01.- Este método não está disponível para a FS2100T, vide convênio 85/01.

Exemplos:

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

Page 96: 87514270 Daruma Framework

Daruma Framework83

Daruma Automação

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

1.9.5.18 Daruma_FI_CfgHorarioVerao(Índice 404)

· Definição do Método:Configura o ECF para trabalhar com Horário de Verão.

· Parâmetros do Método: (1 Parâmetro)1 - Comanda o ECF para entrar em Horario de Verão, ou seja, Automaticamente será Adiantado 1(uma)hora no Relógio da Impressora0 - Comanda o ECF para SAIR do horario de Verão, ou seja atrasa o Relógio em 1(uma) hora.

· Observações:Este Método só serão executados caso não tenha uma Venda no Dia, ou seja, Entre um a Redução Z(fechamento de Dia) e uma X (abertura de Dia). Para SAIR do horario de verão, você deve realizar umaRedução Z e ESPERAR 1(uma) hora antes de enviar o método, isso se deve pelo fato que uma vez que aZ foi Executada, o Horário em que a Z foi executada ficou gravado na Memória Fiscal que não Permitiráque o Relógio do ECF volte 1(uma) hora atrás da hora que já foi gravada na Memória Fiscal, por isso anecessidade de se esperar 1(uma) hora para SAIR do Horario de Verão.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método irá configurar diretamente a impressora.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.- Você poderá deixar a entrada e saída do horário de verão automatizada. Para isso basta seguir asinstruções 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 válida no flag:DataEntradaHorarioVerao ex.:091205;4. Insira uma data válida no flag:DataSaidadaHorarioVerao ex.:091205.

Dessa maneira conforme você programou a Daruma32.dll quando verificar que chegou a data prevista emsua programação, irá fazer o ajuste automaticamente, tanto para a entrada quanto para a saída domesmo.Importante: para que a saída do horário de verão seja aceita, é fundamental que a ReduçãoZ queantecede a data de saída do horário de verão seja feita ao final do período do dia anterior ao retorno aohorário normal. Exemplificando melhor: se o horário de verão for terminar no dia 100306, então aReduçãoZ 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)

· Definição do Método:Permite que você configure o ECF para ter o Sensor de Autenticação Habilitado ou não, permitindo quevocê utilize a Método Daruma_FI_VerificaDocAutenticacao para verificar se o Documento está presente ounão para ser Autenticado.

Page 97: 87514270 Daruma Framework

Daruma Framework 84

Daruma Automação

Parâmetros do Método: (1 Parâmetro)0 - Sensor de Autenticação Desabilitado.1- Sensor de Autenticação Habilitado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método irá configurar diretamente a impressora.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.- Este método é imcompatível 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)

· Definição do Método:Permite que você configure o ECF para a Emissão de um Cupom Adicional a cada Cupom Fiscal Emitido.

· Parâmetros do Método: (1 Parâmetro)0 - Emissão do Cupom Adicional Desablitado.1 - Emissão do Cupom Adicional Hablitado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método irá configurar diretamente a impressora.- O Default da dll irá setar pra 0 este recurso. Para habilitá-lo, você deverá chamar este método no start-up de sua aplicação.- Este Método não é compatível com a Impressora de Duas Estações 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)

· Definição do Método:Configura o Número de Linhas entre cupons, isso permite uma economia de Bobina e um controle doavanço entre os documentos.

Page 98: 87514270 Daruma Framework

Daruma Framework85

Daruma Automação

· Parâmetros do Método: (1 Parâmetro)2(Dois) dígitos com o número de linhas que você deseja avançar após a emissão de qualquer Documento.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:-Este Método irá configurar diretamente a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Valor As String

Str_Valor = InputBox("Entre com o número 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)

· Definição do Método:Permite configurar até que horas o ECF irá esperar para Realizar a Redução Z Automática (Caso estejaConfigurado para Fazer isso, ver Método Daruma_FI_CfgRedZAutomatico) ou para que o ECF passe aRejeitar novos métodos e imprime sempre "Redução Z Pendente" até que a Redução Z seja Comandadapor Software.

· Parâmetros do Método: (1 Parâmetro)Valor com 2(dois) Dígitos que contém a Hora da Redução Z. Exemplos: "02" ou "08".

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método 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 SubEnd IfInt_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 horário para RecuçãoZ:', 'Daruma Framework', '08'); if Str_Valor = '' Then Exit;

Page 99: 87514270 Daruma Framework

Daruma Framework 86

Daruma Automação

Int_Retorno := Daruma_FI_CfgHoraMinReducaoZ(Str_Valor);

1.9.5.23 Daruma_FI_CfgLimiarNearEnd(Índice 409)

· Definição do Método:Permite Configurar quantas linhas você deseja atrasar o sensor de Pouco Papel, ou seja, você pode indicarque o sensor de pouco papel só comece a sinalizar pouco papel quando a bobina estiver bem próxima dofinal, por Exemplos, em bobina de 22MM o valor de 0450 indica que o ECF irá sinalizar pouco papelquanto realmente estiver bem próximo do final da bobina. Isso economiza mais Papel através de umAproveitamento melhor do Sinal de "Pouco Papel"

· Parâmetros do Método: (1 Parâmetro)String com 4(quatro) dígitos que indica quantas linhas o sinal de pouco papel deve ser Atrasado, o Valor0000 indica que o sinal fica desabilitado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método 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 após a bobina terpassado pelo sensor é que ela passará a devolver o status de pouco papel.- Este método não é compatível com a impressora FS2000.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Numero_Linhas As String

Str_Numero_Linhas = InputBox("Entre com o número de linhas para o aviso de Pouco Papel:", "DarumaFramework", "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 número de linhas para o aviso de Pouco Papel:', 'DarumaFramework', '0450'); if Str_Numero_Linhas = '' Then Exit;

Int_Retorno := Daruma_FI_CfgLimiarNearEnd(Str_Numero_Linhas);

1.9.5.24 Daruma_FI_CfgPermMensPromCNF(Índice 410)

· Definição do Método:Permite o Uso da Mensagem Promocional no Comprovante Não Fiscal Não Vinculado.

· Parâmetros do Método: (1 Parâmetro)0 - Não exibe a Mensagem Promocional.1 - Exide a Mensagem Promocional.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECF

Page 100: 87514270 Daruma Framework

Daruma Framework87

Daruma Automação

sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método irá configurar diretamente a impressora.- O Default da dll irá setar pra 0 este recurso. Para habilitá-lo, você deverá chamar este método no start-up de sua aplicação.- Este método não é compatível 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 Configuração do Registry

Métodos de Configuração do Registry, Regra Geral:Todas os Métodos Referentes a Configuração do Registry da Impressora sempre recebem comoparâmetro uma String, que pode ser (0 zero, indicando desligado) ou (1 um, indicando Ligado) ou emalgumas Método 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 Métodos sempre devolvem um inteiro: 1 - OK-4 - Não OK, Chave não Encontrada.

Se em algum Método de configuração do Registry da dll você passar a variável com valor NULO ou VAZIAa dll se encarrega de gravar no Registry o Valor Default correspondente a Chave que você estátrabalhando.

Estes São os Valores DEFAULT do Registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA][HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF]Porta= DEFAULTPath= C:\Status= 0StatusFuncao= 0Retorno= 0ControlePorta= 1ModoGaveta= 0ConfigRede= 0Log= 0NomeLog= C:\Daruma32.logSeparador= ,SeparaMsgPromo= 1Vende1Linha = 1XAutomatica = 0ZAutomatica = 1AbrirDiaFiscal =1ErroExtendidoOk=000IgnorarPoucoPapel=1

Page 101: 87514270 Daruma Framework

Daruma Framework 88

Daruma Automação

1.9.5.26 Valores do Registry para o ECF

· Definições:Estas são as Chaves e os Valores Adotados para a Configuração do Registry para se trabalhar com o ECF:

[HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF]Porta= DEFAULTPath= C:\Status= 0StatusFuncao= 0Retorno= 0ControlePorta= 1ModoGaveta= 0ConfigRede= 0Log= 0NomeLog= C:\Daruma32.logSeparador= ,SeparaMsgPromo= 1Vende1Linha= 1XAutomatica= 0ZAutomatica = 1AbrirDiaFiscal=1ErroExtendidoOk=000IgnorarPoucoPapel=1AplMensagem1= DARUMA32 FrameWork Mensagem Não ProgramadaAplMensagem2= DARUMA32 FrameWork Mensagem Não ProgramadaTipoUltimoDocumento= Nesta Chave fica armazenado a sigla com o tipo do último documento que foiemitido no ECFVelocidade=9600TerminalServer=0PortaServidor=1002Tarantella=0TempoEsperaCheque=5MFDTamMinDescProd=15ThreadNoStartUp=1CupomAdicionaDll=1CupomAdicionaDllConfig=11111111111111111

· CHAVE:DARUMA\ECF - Nesta Chave Você encontrará as configurações para que a dll trabalhe com

nosso ECF.

VALORES:

Observação Geral: Caso queira alterar o valor de qualquer Chave da Pasta Daruma no Registry,então pode-se usar de forma genérica o método 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 comunicação 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ê estejatrabalhando com uma Impressora de outro fabricante então este flag deverá estar com DS300 setadocomo produto;

Path: Configura o diretório onde será criado o arquivo "STATUS.TXT", "RETORNO.TXT" e"Daruma32.LOG". O path default é o diretório raiz na unidade C:\;

Separador: Permite que você configure o caráctere separador dos dados que serão retornados, comoformas de Pagamento, etc.. permitindo maior flexibilidade do software de frente de caixa obter os dadossem que tenha que obedecer uma formatação especifica da dll, com tamanhos fixos pois ao configurar oseparador você programara a busca e separação dos dados pelo separador e não mais pelo tamanho fixodefinido pela dll. O Default é "," (Virgula);

Status: Se essa opção estiver com o valor 1, os Métodos da DLL irão gravar o status da impressora (ACK,

Page 102: 87514270 Daruma Framework

Daruma Framework89

Daruma Automação

ST1 e ST2) no arquivo chamado "STATUS.TXT". O valor default dessa opção é 0, com o status daimpressora sendo retornado através da Método Daruma_FI_RetornoImpressora;

Retorno: Se essa opção estiver com o valor 1, os Métodos de Informações da dll comoDaruma_FI_NumeroCupom( Str_NumeroCupom) da DLL irão gravar o retorno no arquivo chamado"RETORNO.TXT ". O valor default dessa opção é 0, com as informações sendo retornadas através dasvariáveis passadas como parâmetro nos Métodos;

StatusFuncao: Esta chave configura a DLL para retornar o valor –27 nas Método, quando o status daimpressora (ACK, ST1, ST2) for diferente de 006,000,000. Com essa configuração a MétodoDaruma_FI_RetornoImpressora poderá ser executada somente quando o retorno for –27. O valor um "1"habilita e o valor zero "0" desabilita essa configuração. O valor default é zero "0";

ControlePorta: Se estiver com o valor 0, a abertura e o fechamento da porta serão controlados peloprogramador. Se estiver com o valor 1, serão controlados pela DLL. A DLL irá abrir e fechar a portaautomaticamente em cada Método. É recomendável que o controle da porta seja realizado pela DLL;

ModoGaveta: Em alguns modelos de gaveta, este sinal poderá vir invertido, ou seja, o sinal quecorresponde 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 Método Daruma_FI_VerificaEstadoGaveta para maioresinformações;

Log: Se essa opção estiver com o valor 1, a DLL irá criar um arquivo de log chamado "Daruma32.LOG"com todas os Métodos executados, seus parâmetros e valores de retorno;

NomeLog: Nome do Arquivo de Log que você deseja Criar, possibilitando que o Arquivo de Log sejaPersonalizado de acordo com seu aplicativo. Este arquivo será gravado no path indicado no value Path esomente será válido que o value Log for igual a 1(um);

SeparaMsgPromo: Por questões de layout do cupom, adicionamos antes da mensagem promocional umalinha separatoria deixando mais clara o que é mensagem promoicional e o que é Total do Cupom, casovocê necessite utilizar o buffer de 620 bytes da mensagem promocional e não deseja que apareça estalinha separatória, configure esta chave para "0" (zero), seu Default é "1"(um);

Vende1Linha: Permite que a Método Daruma_FI_VendeItem tente imprimir a venda item em uma linhaapenas, com isso você terá uma econômia no cupom fiscal de até 40%, ou seja, com esta chave a 1(um)esta "inteligência" é ativada, caso contrário todos os itens serão vendidos em duas linhas. O Valor defaultdesta 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 método que gera impressão para o ECF, e o ECF tiveruma ReduçãoZ Pendente e esta chave estiver a 1(um) então a dll irá efetuar a LeituraX automaticamente.Importante! Nas Impressoras Térmicas MFD´s FS600 eFS2000T a abertura do dia não acontece por meiode impressão de uma LeituraX e sim por qualquer dopcumentos ex.: sangria suprimento ou até mesmoum cupom fiscal;

ZAutomatica: O Mesmo que acontece com a ReduçãoZ, a Impressora Daruma trabalha com o Conceitode não permitir que a ReduçãoZ aconteça automaticamente, por isso você deve "setar" esta chave para1(um) caso você deseje que a ReduçãoZ passe a ser executada de forma automatica;

AbrirDiaFiscal: A Impressora Daruma, necessita que seja efetuado uma LeituraX para a emissão doprimeiro Cupom Fiscal, por isso foi criado esta chave para que você possa configurar o que deseja, se adll faz a LeituraX automaticamente ou não, você poderá escolher a opção desejada apenas colocando0(nao) ou 1(um) nesta chave. Com a Chave a 1(um) ao solicitar uma Venda, através das MétodoDaruma_FI_AbreCupom ou Daruma_FI_VendeItem. Importante! Nas Impressoras Térmicas MFD´s FS600eFS2000T a abertura do dia não acontece por meio de impressão de uma LeituraX e sim por qualquerdopcumentos ex.: sangria suprimento ou até mesmo um cupom fiscal;

ErroExtendidoOk: A Método Daruma_FI_RetornaErroExtendido, devolve para o aplicativo o errosinalizado pelo ECF, com esta chave você poderá configurar qual o valor que você deseja retornar caso oECF retorne OK, o default desta chave é "000" para Tudo OK com o ECF na chamada da MétodoDaruma_FI_RetornaErroExtendido;

IgnorarPoucoPapel: Esta Chave tem por Default o Valor 1(um) ou seja, não trata o pouco papel, assimsendo quando o ECF indicar Pouco Papel a dll não ira retonar o -27 (caso seja programado para isso no

Page 103: 87514270 Daruma Framework

Daruma Framework 90

Daruma Automação

Método. Daruma_Registry_StatusFuncao) e tampouco retornará 64 no Byte de Status 2, conforme tabelade decodificação de Erro;

AplMensagem1: Esta Chave armazena uma mensagem com a identificação do aplicativoexemplo:Aplicativos Comerciais versão 1.00. Ela esta presente no final de todos os documentos emitidosnas MFD (impressoras térmicas), e é uma exigência do fisco. Caso você ainda não tenha programado estamensagem podera fazer isso através do método Daruma_Registry_AplMensagem1(Índice 36);

AplMensagem2: Esta Chave armazena uma mensagem com a identificação do aplicativoexemplo:Aplicativos Comerciais versão 1.00. Ela esta presente no final de todos os documentos emitidosnas MFD (impressoras térmicas), e é uma exigência do fisco. Caso você ainda não tenha programado estamensagem podera fazer isso através do método Daruma_Registry_AplMensagem2(Índice 37);

TipoUltimoDocumento: Sempre que houver a secessidade de você saber qual o tipo do últimodocumento emitido, bastara ler o conteudo desta Chave com a funçãoDaruma_Registry_RetornaValor(Índice 19), alguns exemplo de siglas: CNV(Comprovante Não Vinculado),LXX(LeituraX), CPF(Cupom Fiscal);

Velocidade: Esta Chave visa permitir ao aplicativo poder trabalhar com uma velocidade maior ou menorna porta serial somente nas impressoras MFD´s. A velocidade default na FS600 é 9600, caso queiraalterar para 38400 "velocidade máxima", basta executar o métodoDaruma_Registry_Velocidade(Índice 28);

TerminalServer: Esta Chave tem por default valor 0(zero), caso seja alterado para 1, etão a Dll (server),passará a não mais escrever na porta local e sim no EndereçoIP, que inviou o método. Importante o valordessa Chave deverá permanecer setedo sempre em 0(zero) e somente se você estiver em uma máquinacom sistema operacional windows versão server e de fato for trabalhar com comunicação via TerminalSerever, ai sim você deverá alterar o valor da mesma;

PortaServidor: Caso vecê esteja comunicando com o ECF via Terminal Server, então poderá customizara porta de comunicação que por default é 1002;

TempoEsperaCheque: Nesta é Configurado o tempo que a funçãoDaruma_FI2000_ImprimirCheque(Índice 5016), irá aguardar pelo posicionamento do cheque na hora daimpressão.

Tarantella: Esta Chave deverá ser setada em concomitância com a Chave Terminal Server. Porém aoinvés de trabalhar por endereçamento de IP, você trabalha com mapeamento de unidade e com troca dearquivos. Nesta modalidade, o Observer necessariamente ira aguardar por comandos, que serão escritospela dll server, na unidade mapeada no servidor.

MFDTamMinDescProd: Nas MFD´s FS600 e FS2110T. É possível determinar o tamanho mínimo que sequer obter na descrição. Quando é definido que a venda será feita em 1Linha, então também há umatolerância em relação ao tamanho a ser mantido na descrição, se você definir que irá trabalhar com umadescrição de no mínimo 15 caracteres, então a Dll para manter a descrição com no mínimo 15 caracterese cortar os caracteres que excederem o número previamente definido nesta Chave. Importante: NasMFD´s FS600 e FS2100T para um código de 13 caracteres o tamanho máximo que poderá teruma descrição, visando economia de bobina e por isso manter a venda em uma linha deveráser de até 20 caracteres e para um código de 1 caractere a descrição poderá ter até 32caracteres;

ThreadNoStartUp: Esta chave setada em 1(um) tem por objetivo libarar o processo para o aplicativodurante o StartUp da Dll. Caso seja setada pra 0(zero) então quando o aplicativo for startado o processoserá bloqueado pela Dll e devolvido somente após o StartUp da Dll.

NumeroSerioNaoFormatado: Esta chave setada em 1(um) tem por objetivo devolver o número do sérieda impressora sem a formatação "zeros à esquerda", caso esteja setada para 0 (zero) então quandosolicitdado o número de série, será devolvido com a formatação "zeros à esquerda".

LinhasTEF: O númeto de linhas que estiver setado nesta chave, será o número de linhas impressas porbuffer no método Daruma_TEF_ImprimirResposta, o valor default para esta chave é 2.

MFDLeituraMFCompleta: Esta chave setada em 1(um) tem por objetivo permitir que a leitura damemória fiscal nos ECF's FS600 e FS2100T, ocorra de forma completa, do contrário será simplificada.

CupomAdicionaDll: Esta chave setada em 1(um) tem por objetivo fazer a impressão do cupom

Page 104: 87514270 Daruma Framework

Daruma Framework91

Daruma Automação

adicional. Obs.: Este cupom adicional é criado pela dll, sendo assim se você faz comunicação direta,infelizmente não terá como imprimí-lo.

CupomAdicionaDllConfig: Esta chave possui um único parâmetro, que é composto de 10(dez)bytes,sendo que o décimo esta reservado para uso futuro, para ver os valores de configuração clique no link aseguir:Daruma_Registry_CupomAdicionalDllConfig(Índice 57)

MaxFechamentoAutomatico: Este método permite que seja fixado um valor mínimo, visando suprir osaldo devedor em casos onde pequenas diferênças no fechamento do cupom, como por exemplo 0,01centavo.

1.9.5.27 Daruma_Registry_AlteraRegistry (Índice 17)

· Definição do Método:Permite a Alteração das chaves do registry, ou seja, dispensando a utilização de um método específico.

· Parâmetros da Método: (2 Parâmetros)1. String com o nome da Chave que deseja Alterar.2. String com o Valor da Chave que deseja Alterar.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observação:- Este método não deverá ser utilizado, quando se tratar de alterar a velocidade decomunicação com a impressora.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Nome_da_Chave As StringDim Str_Valor_da_Chave As String

Str_Nome_da_Chave = InputBox("Entre com o nome da Chave que você deseja Alterar:", "DarumaFramework", "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 SubEnd 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)

· Definição do Método:Este Método permite Configurar a porta serial da impressora, ou simplesmente indicar para a dll quebusque para você onde a impressora está conectada, a dll buscará da COM1 até a COM15.

Page 105: 87514270 Daruma Framework

Daruma Framework 92

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: (1 Parâmetro)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 SubEnd 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)

· Definição do Método:Configura o Path onde será criado os arquivos de retorno, resposta, relatorios Tipo 60, Log da dll, sempree quando a dll tiver como dispositivo de "OutPut" um arquivo texto este será criado no path em que estáconfigurado nesta chave.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: (1 Parâmetro)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 SubEnd 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:\');

Page 106: 87514270 Daruma Framework

Daruma Framework93

Daruma Automação

if Str_Path = '' Then Exit;

Int_Retorno := Daruma_Registry_Path( pchar(Str_Path) );

1.9.5.30 Daruma_Registry_Status(Índice 3)

· Definição do Método:Configura se o status da Impressora será retornado na Variável (por referência) ou em arquivo Texto(STATUS.txt).

· Parâmetros do Método:0 - Não Retornará em Arquivo Texto.1 - Retorna em Arquivo Texto.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: (1 Parâmetro)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)

· Definição do Método:Este método possibilita a você um tratameto dos retornos (erros)de maneira simplificada. Por exemplo aoinvéz de você ler o inteiro que é retornado em cada método e também o ACK, ST1 e ST2, você le-ráapenas o iRetorno e sómente se o iRetorno for diferente de 1(um) ai sim você terá de ler os demais bytescom o detalhe que para ler os demais bytes você usará ométodo:Daruma_FI_RetornoImpressora(Índice 1402).

· Parâmetros do Método: (1 Parâmetro)0 - A Método terá sua tabela de Retorno normal.1 - A Método retornará -27 caso o ECF sinalize valores de status diferentes de OK.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- Caso o Método envie o método para o ECF e seja detectado um Erro na execução do método sinalizadopelo ECF ou um Warning sinalizado pelo ECF (Pouco Papel, por Exemplo), isso será sinalizado no retornoda propria Método, 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');

Page 107: 87514270 Daruma Framework

Daruma Framework 94

Daruma Automação

1.9.5.32 Daruma_Registry_Retorno(Índice 5)

· Definição do Método:Permite configurar como será o retorno de informações da impressora, por Exemplos, número de série doECF poderá vir na Variável por Referência ou em arquivo texto, RETORNO.TXT.

· Parâmetros do Método: (1 Parâmetro)0 - Retorna as informações na Variável.1 - Não retorna as informações na Variável passada e sim no arquivo Texto RETORNO.TXT.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: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)

· Definição do Método: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 DEBUGdo software.

· Parâmetros do Método: (1 Parâmetro)1 - Todo este controle fica a cargo da dll de comunicação Daruma32.dll.0 - O Aplicativo Controla a porta Serial e deve chamar as Método de Abertura e Fechamento de porta.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: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)

· Definição do Método:Permite inverter o sinal da Gaveta com a Lógica Negativa, se a gaveta estiver devolvendo o sinal deAberta mesmo que ela estaja fechada, inverta o valor desta chave para obter o resultado correto, isso foiimplementado devido o fato de muitas gavetas estarem saindo com problemas no sinal lógico.

· Parâmetros do Método: (1 Parâmetro)1 - Lógica Invertida.

Page 108: 87514270 Daruma Framework

Daruma Framework95

Daruma Automação

0 - Lógica normal.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: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)

· Definição do Método:Configura se deseja que a dll faça log de todas as ações, parâmetros e retornos. Será criado o ArquivoDaruma32.log no Path que esta configurado como valor da Chave Path.

· Parâmetros do Método: (1 Parâmetro)0 - Não Cria o Log.1 - Cria Log com todas as ações.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- 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)

· Definição do Método:Configurar o Nome do Arquivo Log que será Criado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: (1 Parâmetro)- Valor default da Chave = "Daruma32.Log".

Exemplos:

Page 109: 87514270 Daruma Framework

Daruma Framework 96

Daruma Automação

· 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 SubEnd 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)

· Definição do Método:Indica qual será o caráctere de Separação que você utilizará para o retorno de dados que seja necessárioa sepraração por este caráctere facilitando que o software possa utilizar e separar a informação, porExemplos: Retorno de Formas de Pagamento irá retornar "Dinheiro, Cheque,Cartao", com estes dadosseparado por Vírgula você terá uma maior facilidade de separar e utilizar os dados sem a necessidade deestar amarrado a um tamanho fixo dos dados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: (1 Parâmetro)O Valor Default é = "," ( Vírgula )

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

· Definição do Método:Indica se você deseja que antes da mensagem promocional seja traçado uma linha separadora, para

Page 110: 87514270 Daruma Framework

Daruma Framework97

Daruma Automação

deixar mais claro no cupom fiscal o que é mensagem promocional e o que é subtotal.

· Parâmetros do Método: (1 Parâmetro)0 - Não inclui a linha Separadora na Mensagem Promocional.1 - Inclui a linha Separadora na Mensagem Promocional.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: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)

· Definição do Método:Permite que a Método Daruma_FI_VendeItem tente imprimir a venda do item em uma linhaapenas, com isso você terá uma economia no cupom fiscal de até 40%, ou seja, com esta chave a 1(um)esta "inteligência" é ativada, caso contrario todos os itens serão vendidos em duas linhas. O Valor defaultdesta Chave é 1(um).

· Parâmetros da Método: (1 Parâmetro)0 - Não 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.

· Observações:O Valor Default desta chave é 1(um).

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não 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)

· Definição do Método: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 comuma LeituraX, e ao enviar o primeiro método para o ECF, e o ECF tiver uma ReduçãoZ Pendente e estachave estiver a 1(um) então a dll irá efetuar a X automaticamente.

· Parâmetros da Método: (1 Parâmetro)0 - Não efetua a Leitura X Automaticamente, deixa isso a cargo da aplicação.1 - Irá efetuar a Leitura X Automaticamente ao perceber que existe uma LeituraX Pendente para Abrir oDia.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry

Page 111: 87514270 Daruma Framework

Daruma Framework 98

Daruma Automação

-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- O Valor Default desta chave é 1(um).- Nas Impressoras Térmicas MFD´s FS600 e FS2000T o dia não é aberto à partir de uma LeituraX e sim àpartir do primeiro documento ser emitido seja ele fiscal ou não.

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)

· Definição do Método:O Mesmo que acontece com a LeituraZ, a Impressora Daruma trabalha com o Conceito de não permitirque a Redução Z aconteça automaticamente, por isso voec deve "setar" esta chave para 1(um) caso vocêdeseje que a Redução Z passe a ser executada de forma automatica.

· Parâmetros da Método: (1 Parâmetro)0 - Não efetua a Redução Z Automaticamente, deixa isso a cargo da aplicação.1 - Irá efetuar a Redução Z Automaticamente ao perceber que existe uma LeituraX Pendente para Abrir oDia.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- O Valor Default desta chave é 1(UM).Atenção! que Este Método anula completamente os valores da dll de ZAutomatica, ou seja, se vocêchama a Método Daruma_FI_CfgRedZAutomatico e passar os Valores a 1(um) para a dll FazerAutomaticamente, e se você chamar Este Método para que não faça a ReduçãoZ Automatica de nadaadiantará, ou seja, para que o ECF nem a DLL realize a ReduçãoZ Automaticamente e sim que sejacomandada por seu aplicativo você deverá chamar Este Método com o Valor 0(Zero) e a MétodoDaruma_FI_CfgRedZAutomatico com o Valor também 0(zero) com isso nem a dll nem o ECF irá Efetuar aReduçãoZ Automaticamente deixando Este Método 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)

· Definição do Método:Esta Chave indica para a Dll que deverá trabalhar através de Endereço IP e não através de Porta Serial.

Parâmetros da Método: (1 Parâmetro)0 - Trabalha com Porta Serial Local.1 - Trabalha com Terminal Server - Através do Endereço IP do Servidor.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:

Page 112: 87514270 Daruma Framework

Daruma Framework99

Daruma Automação

- O Valor Default desta chave é 0(Zero).- Esta Chave só deve ser alterada quando utilizada a DLL Versão SERVER, que deverá serCopiada no Servidor. Para Mais informação em como utilizar o ECF com Terminal Seververifique o topido específico neste Help.- Caso esta Chave esteja "setada" para 1(um) e você não estiver utilizando-se da Arquitetura TerminalServer, então a - Comunicação não poderá ser efetuada com o ECF devolvendo (ZERO) mas Método quevocê chamar, ou seja, Erro de Comunicação.

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)

· Definição do Método:A Impressora Daruma, necessita que seja efetuado uma LeituraX para a emissão do primeiro CupomFiscal, por isso foi criada esta chave, para que você possa configurar o que deseja, se a dll faz a LeituraXautomaticamente ou não, você poderá escolher a opção desejada apenas colocando 0(não) ou 1(um)nesta chave. Com a Chave a 1(um) ao solicitar uma Venda, através das Método Daruma_FI_AbreCupomou Daruma_FI_VendeItem.

· Parâmetros da Método: (1 Parâmetro)0 - Não efetua a LeituraX Automaticamente, deixa isso a cargo da aplicação.1 - Irá efetuar a LeituraX Automaticamente ao perceber que existe uma LeituraX Pendente para Abrir oDia.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- O Valor Default desta chave é 1(um).- Nas Impressoras Térmicas MFD´s FS600 e FS2000T o dia não é aberto à partir de uma LeituraX e sim àpartir do primeiro documento ser emitido seja ele fiscal ou não.

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)

· Definição do Método:Esta Chave tem por Default o Valor 1(um) ou seja, não trata o pouco papel, sendo assim quando o ECFindicar Pouco Papel a dll nao ira retonar o -27 (caso seja programado para isso na FuncaoDaruma_Registry_StatusFuncao) e tampouco retornará 64 no Byte de Status 2, conforme tabela dedecodificação de Erro.

· Parâmetros da Método: (1 Parâmetro)0 - Passa a considerar o Sinal de Pouco Papel, devolvendo -27 na Funcao ou 64 no Bit de Status.1 - Passa a Não considerar o sinal de pouco papel, devolvendo sempre 1(um) na Método quando o ECFsinalizar POUCO PAPEL.

· Observações:- O Valor Default desta chave é 1(UM).

Page 113: 87514270 Daruma Framework

Daruma Framework 100

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

1: OK, Sucesso ao Configurar o Registry.-4: Não OK, A chave ou Valor no Arquivo Registry não 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)

· Definição do Método:Imprime a Configuração Atual do Registry, passe o produto como Referencia que será impressor noRelatório Gerencial as configurações do Registry do produto passado como parâmetro..

· Parâmetros da Método: (1 Parâmetro)String com o Nome do Produto que podem ser as seguintes Strings:

ECF - Refere-se a Impressora Fiscal.DUAL - Refere-se a Impressora Não Fiscal, Miniimpressora.ECFR - Refere-se a Impressora Fiscal para Restaurantes.ECFB - Refere-se a Impressora Fiscal para Bilhete de Passagem RodoviariaTA1000 - Refere-se ao MicroTerminal TA1000

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Produto As StringStr_Produto = InputBox("Entre com o nome do Produto a ser impresso:", "Daruma Framework", "ECF")If Str_Produto = "" Then Exit SubEnd IfInt_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)

· Definição do Método:Retorna o Valor de uma Chave do Registry da DARUMA32.dll.

· Parâmetros da Método: (1 Parâmetro)String com o Nome do produto que podem ser:

ECF - Refere-se a Impressora Fiscal.

Page 114: 87514270 Daruma Framework

Daruma Framework101

Daruma Automação

DUAL - Refere-se a Impressora Não Fiscal, Miniimpressora.ECFR - Refere-se a Impressora Fiscal para Restaurantes.ECFB - Refere-se a Impressora Fiscal para Bilhete de Passagem RodoviariaTA1000 - Refere-se ao MicroTerminal TA1000

1. String com o Nome da Chave do produto2. String por Referencia com 50 espaços alocados para que possa retornar na variável o valor da Chave

que você deseja.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Nome_do_Produto As StringDim Str_Chave As StringDim 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 SubEnd If

Int_Retorno = Daruma_Registry_RetornaValor(Str_Nome_do_Produto, Str_Chave, Str_Retorno)MsgBox Str_Nome_do_Produto + " \ " + Str_Chave + " = " + Str_Retorno, vbInformation, "DarumaFramwork"

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

· Definição do Método:Zera as Configurações realizadas no Registry deixando o Registry com seus Valores Default.

· Parâmetros da Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Exemplos:

· Exemplo em Visual Basic 6.0:

Page 115: 87514270 Daruma Framework

Daruma Framework 102

Daruma Automação

Int_Retorno = Daruma_Registry_Default()

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

1.9.5.49 Daruma_Registry_ErroExtendidoOk(Índice 22)

· Definição do Método:O Método Daruma_FI_RetornaErroExtendido, devolve para o aplicativo o erro sinalizado pelo ECF, comesta chave você poderá configurar qual o valor que você deseja retornar caso o ECF retorne OK, o defaultdesta chave é "000" para Tudo OK com o ECF na chamada dO Método Daruma_FI_RetornaErroExtendido.

· Parâmetros do Método: (1 Parâmetro)Código com três dígitos que você deseja que seja retornado, por Exemplo, se você deseja que sejaretornando "000" quando o ECF retornar OK, você deve passar "000" no parâmetro dEste Método.

· Observações:- O Valor Default desta chave é "000".- O erro extendido é apenas um complemento ao ST1 e ST2. Portanto mesmo que você estejautilizando este método ainda assim deverá ter em sua rotina o métodoDaruma_FI_RetornoImpressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não 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 SubEnd 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)

· Definição do Método:Este Método permite a você configurar a velocidade na FS600 da porta serial de 9600 ou 38400.

· Parâmetros do Método: (1 Parâmetro)Velocidade: Variável String com a velocidade a ser programada no ECF.

· Observações:O Valor Default desta chave é "9600".

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry

Page 116: 87514270 Daruma Framework

Daruma Framework103

Daruma Automação

-4: Não OK, A chave ou Valor no Arquivo Registry não 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)

· Definição do Método:Este Método permite Configurar o modelo de ECF que está conectado na porta serial, ou simplesmenteindicar para a dll identique o Produto.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações: (1 Parâmetro)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)

· Definição do Método:Este Método possibilita a programação da mensagem do software aplicativo.

· Parâmetros do Método: (1 Parâmetro)Mensagem do aplicativo com 42 bytes.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- Caso a Mensagem não esteja programada o ECF acusará erro 180, vide tabela de errosDaruma_FI_RetornaErroExtendido(Índice 1470 ) - Esta mensagem é exigida pela legistação e será impressa em todos os comandos que concentramvalores exemplos: cupom fiscal, recebimento não fiscal, sangria e suprimento.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_AplMensagem_1 As StringStr_AplMensagem_1 = InputBox("Entre com a Mensagem de seu Aplicativo:", "Daruma Framework","DARUMA32 FrameWork Mensagem Não Programada")If Str_AplMensagem_1 = "" Then Exit SubEnd IfInt_Retorno = Daruma_Registry_AplMensagem1(Str_AplMensagem_1)

· Exemplo em Delphi 7.0: var

Page 117: 87514270 Daruma Framework

Daruma Framework 104

Daruma Automação

Str_AplMensagem_1: String;begin Str_AplMensagem_1:= InputBox('Entre com a Mensagem de seu Aplicativo:', 'Daruma Framework','DARUMA32 FrameWork Mensagem Não 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)

· Definição do Método:Este Método possibilita a programação da mensagem do software aplicativo.

· Parâmetros do Método: (1 Parâmetro)Mensagem do aplicativo com 42 bytes.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- Caso a Mensagem não esteja programada o ECF acusará erro 180, vide tabela de errosDaruma_FI_RetornaErroExtendido(Índice 1470 ) - Esta mensagem é exigida pela legistação e será impressa em todos os comandos que concentramvalores exemplos: cupom fiscal, recebimento não fiscal, sangria e suprimento.

Exemplos:

· Exemplo em Visual Basic 6.0:Private Sub MN_Daruma_Registry_AplMensagem_2_Click()Dim Str_AplMensagem_2 As StringStr_AplMensagem_2 = InputBox("Entre com a Mensagem de seu Aplicativo:", "Daruma Framework","DARUMA32 FrameWork Mensagem Não Programada")If Str_AplMensagem_2 = "" Then Exit SubEnd IfInt_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 Não 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)

· Definição do Método:Este Método possibilita a programação da mensagem do software aplicativo.

· Parâmetros do Método: (1 Parâmetro)Numero Linhas. String contendo o número de linhas para impressão por vez, o valor Default para estachave é 16.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Page 118: 87514270 Daruma Framework

Daruma Framework105

Daruma Automação

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Numero_Linhas_Impressao As StringStr_Numero_Linhas_Impressao = InputBox("Entre com o Numero de Linhas para Impressao:", "DarumaFramework", "2")If Str_Numero_Linhas_Impressao = "" Then Exit SubEnd IfInt_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)

· Definição do Método:Este Método permite configurar se o número de série da impressora será devolvido com ou sem os zerosà esquerda.

· Parâmetros do Método: (1 Parâmetro)Numero de Serie. Variável String com 0(para não devolver o número de série formatado ou seja sem oszeros à esquerda), ou 1-um(para retornar o número de série com os zeros à esquerda).

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não 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)

· Definição do Método:Este Método permite ajustar o número de linhas a serem impressas por vez, durante a impressão deresposta de TEF.

· Parâmetros do Método: (1 Parâmetro)Linhas para Impressão. Variável String com o 2(dois) bytes contendo o número de linhas a seremimpressas no buffer coloque um valor entre 01 a 16.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- O número máximo de linhas a serem impressas não poderá ser maior do que 16.

Exemplos:

Page 119: 87514270 Daruma Framework

Daruma Framework 106

Daruma Automação

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:

1.9.5.57 Daruma_Registry_MFD_ProgramarSinalSonoro(Índice 52)

· Definição do Método:Este Método permite programar chaves no registry, onde cada uma equivale a um tipo de cupom,podendo ser cupom fiscal, não fiscal (vinculado), não fiscal não vinculado e relatório gerencial.

· Parâmetros do Método: (2 Parâmetros)Chave String com o nome da Chave do Registry que você deseja programar;Valor String com 0 (desabilitar) 1(habilitar).

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- Este método aplica-se para as impressoras FS600 e FS2100T (ambas térmicas);- Para alterar as chaves siga a sequência abaixo:

BuzzerCF você irá habilitar para para seja emitido o sinal sonoro ao término do cupom fiscal;BuzzerCNF você irá habilitar para para seja emitido o sinal sonoro ao término do cupom não fiscal;BuzzerCNFV você irá habilitar para para seja emitido o sinal sonoro ao término do cupom não fiscal

vinculado;BuzzerRG você irá habilitar para para seja emitido o sinal sonoro ao término do relatório gerencial;

Importante: Para que o sinal sonoro seja emitido, você deverá previamente programá-lo compelo menos um beep através do método: Daruma_FIMFD_SinalSonoro (Índice 53).

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Chave As StringDim Str_Valor As String

Str_Chave = InputBox("Entre com o indice da Chave que você deseja habilitar o sinal sonoro ex.:Sepassado 1=(BuzzerCF), 2=(BuzzerCNFV), 3=(BuzzerCNF) ou 4=(BuzzerRG)::", "Daruma Framework","1")Str_Valor = InputBox("Entre com o número de beeps, podendo ser de 1 a 99 beeps:", "DarumaFramework", "1")If Str_Chave = "" Or Str_Valor = "" Then Exit SubEnd IfInt_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 osinal sonoro ex.:Se passado 1=(BuzzerCF), 2=(BuzzerCNFV), 3=(BuzzerCNF) ou 4=(BuzzerRG):', '1'); Str_Valor := InputBox('Daruma Framework', 'Entre com o número de beeps, podendo ser de 1 a 99beeps:', '1'); if (Str_Chave = '')or(Str_Valor = '') Then Exit; Int_Retorno := Daruma_Registry_MFD_ProgramarSinalSonoro(Str_Chave,Str_Valor);

Page 120: 87514270 Daruma Framework

Daruma Framework107

Daruma Automação

1.9.5.58 Daruma_Registry_MFD_LeituraMFCompleta(Índice 49)

· Definição do Método:Este Método permite programar a chave no registry, que controla se a Leitura da MF nas impressorasMFD's FS600 e FS2100T, será completa ou não.

· Parâmetros do Método: (1 Parâmetro)Valor String com 0 (simplificada) 1(completa).

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- Ligue este flag para poder efetuar a leitua completa da memória fiscal nas impressoras FS600 (MFD) eFS2100T que também é (MFD).- Para fazer a leitura da memória fiscal você poderá usar um dos métodos 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)

· Definição do Método:Este Método permite programar a chave no registry (CupomAdicionalDll), que controla se a impressão docupom adicional automática, após cada cupom fiscal, nas impressoras MFD's FS600 e FS2100T, serácompleta ou não.

· Parâmetros do Método: (1 Parâmetro)Valor String com 0 (não imprime) 2 e CupomAdicional = 1(um) (imprime) .

· Este Método retornará um dos Valores Inteiros listados Abaixo:-1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observação:- Para que seja impresso o cupom adicional feito pela dll é preciso colocar o valor 1(um) no flagCupomAdicional e valor 2(dois) no flag CupomAdicionalDll.

· Exemplo de um cupom adicional, recuperado da MFD:

DARUMA TELEC. INFORMÁTICA S/A�DARUMA TESTESAV. INDEPENDÊNCIA,3500TAUBATÉ-SP CEP:12032-000TEL:(12)3609-5000CNPJ: 45.170.289/0001-25IE: 688.023.460.11123/12/2006 15:33:55V GNF:000018 COO:000204GRG:000010 CER:0005 � RELATÓRIO GERENCIAL � � Cupom Adicional �

1)23/12/2006 15:33:41 2)CCF:000125 3)COO:000203

Page 121: 87514270 Daruma Framework

Daruma Framework 108

Daruma Automação

4)Qt Itens Vend:001 5)Qt Itens Canc:000 6)Tempo:00011s7)Valor:R$ 4,90 8)Aliquotas:18,009)Dinheiro:R$ 4,9010)23/12/2006 15:33:4111)Plataf:PT14 12)Poltr:13C13)Orig:Taubaté 14)Dest:Foz do Iguaçu15)Percurso:740KM 16)RG:72009528�� DARUMA32 FrameWork Mensagem Não Programada DARUMA32 FrameWork Mensagem Não ProgramadaDARUMA AUTOMAÇÃO FS600ECF-IF VERSÃO:01.03.00 ECF:001 Lj:A-01AAAAAAAAAAAAACIJGF 23/12/2006 15:33:57VFAB:DR0206BR000000090258

Como pode ser visto no exemplo acima, as informações contidas no cupom adicional são:

1. Data e Hora da Emissão;2. CFF Contador Cupom Fiscal;3. COO Contador Ordem Operação;4. Qtde Itens Vendidos;5. Qtde de Itens Cancelados;6. Tempo de Impressão;7. Valor Total do Cupom;8. Alíquotas usadas, menos Isento, Não Tributado e Substituição Tributária;9. Forma de Pagamento x Valor;10. Reservado para uso futuro;11. Data e Hora Embarque;12. Plataforma;13. Poltrona;14. Cidade de Origem;15. Cidade de Destino;16. Percurso;17. 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)

· Definição do Método:Este Método permite programar a chave no registry (CupomAdicionalDllConfig), que define os dados queserão impressos no cupom adicional, após cada cupom fiscal, nas impressoras MFD's FS600 e FS2100T.

· Parâmetros do Método: (1 Parâmetro)Valor String: 17 bytes, na seguinte ordem:

1. Data e Hora da Emissão;2. CFF Contador Cupom Fiscal;3. COO Contador Ordem Operação;4. Qtde Itens Vendidos;5. Qtde de Itens Cancelados;6. Tempo de Impressão;7. Valor Total do Cupom;8. Alíquotas usadas, menos Isento, Não Tributado e Substituição Tributária;9. Forma de Pagamento x Valor;10. Reservado para uso futuro;11. Data e Hora Embarque;12. Plataforma;13. Poltrona;

Page 122: 87514270 Daruma Framework

Daruma Framework109

Daruma Automação

14. Cidade de Origem;15. Cidade de Destino;16. Percurso;17. RG do Passageiro.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Exemplo de um cupom adicional, recuperado da MFD:

1)23/12/2006 15:33:41 2)CCF:000125 3)COO:0002034)Qt Itens Vend:001 5)Qt Itens Canc:000 6)Tempo:00011s7)Valor:R$ 4,90 8)Aliquotas:18,009)Dinheiro:R$ 4,9010)23/12/2006 15:33:4111)Plataf:PT14 12)Poltr:13C13)Orig:Taubaté 14)Dest:Foz do Iguaçu15)Percurso:740KM 16)RG:72009528�� DARUMA32 FrameWork Mensagem Não Programada DARUMA32 FrameWork Mensagem Não ProgramadaDARUMA AUTOMAÇÃO FS600ECF-IF VERSÃO:01.03.00 ECF:001 Lj:A-01AAAAAAAAAAAAACIJGF 23/12/2006 15:33:57VFAB:DR0206BR000000090258FAB: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)

· Definição do Método:Este Método permite tratalhar com comandos em Lote.

· Parâmetros do Método:Nenhum.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Observação:- Este método só deve ser utilizado, se você pretende trabalhar com mapeamento de unidade ebufferizando os comandos.

- Leia mais em: Trabalhando com Mapeamento de Unidade e Bufferizando os Comandos.

Page 123: 87514270 Daruma Framework

Daruma Framework 110

Daruma Automação

1.9.5.62 Daruma_Registry_FinalLote(Índice 59)

· Definição do Método:Este Método finaliza o Lote com os comandos.

· Parâmetros do Método:Nenhum.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Observação:- Este método só deve ser utilizado, se você pretende trabalhar com mapeamento de unidade ebufferizando os comandos.

- Leia mais em: Trabalhando com Comandos em Lote, usando o Mapeamento de Unidade.

1.9.5.63 Daruma_Registry_PathLote(Índice 60)

· Definição do Método:Este Método permite tratalhar configurar o Path onde serão escritos os comandos em Lote.

· Parâmetros do Método:Nenhum.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Observação:- Este método só deve ser utilizado, se você pretende trabalhar com mapeamento de unidade ebufferizando os comandos.

- Leia mais em:Trabalhando com Comandos em Lote, usando o Mapeamento de Unidade.

1.9.5.64 Daruma_Registry_PCExpanionLogin(Índice 63)

· Definição do Método:Este Método permite a utilização de mais de um ECF no mesmo computador.

Com a chegada do PCExpanion (um multiplicador de PC's), tornou-se necessário que em um mesmocomputador, se possa logar-se em cada uma das impressoras, cada qual em uma porta serial.

· Parâmetros do Método: (1 Parâmetro)Login String com o nome que será usado como login.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- Mesmo que você não possua um PCExpanion, ainda assim será possível trabalhar com mais de um ECFno mesmo micro, bastando para isso, você usar este método para logar-se em cada impressora.

· Exemplo de utilização:Suponha que você têm uma impressora na porta serial COM1 e outra na COM2, assim sendo, vocêexecutaria o método Daruma_Registy_PCExpanionLogin passando PDV1 para comunicar-se com o ECFque esta na COM1 e novamente executar o método, passando PDV2 para comunicar-se com o ECF que

Page 124: 87514270 Daruma Framework

Daruma Framework111

Daruma Automação

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)

· Definição do Método:Este Método permite passar o valor final que se pretende obter.

Esta solução vem de encontro com a necessidade de aproximar valores, quando a balança dosupermercado ou bomba de combustível, que arredonda os valores. Issto porque os ECF's com tecnologiaMFD, não permitem arredondamento, então, como forma de contornar este problema, você deve utilizareste metodo.

· Parâmetros do Método: (1 Parâmetro)ValorPretendido String com o valor pretendido.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:- Se a chave está setada e o número de casas decimais da quantidade da impressora MFD é maior que3(três) e o tipo de quantidade passada para a função Daruma_FI_VendeItem(Índice 1001), for fracionário("f" ou "F"), a DLL se encarregará de ajustar a quantidade para um novo valor, a fim de atingir o valorsetado na chave MFDValorFinal do registro path HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF chaveMFDValorFinal.- Assim que a venda do item é finalizada, a chave MFDValorFinal é automaticamente setada para "0"(zero).

· Exemplo de utilização:Suponha que você têm um ítem que custa 1,556 e a impressora esteja programada para trabalhar com 4casas 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 ovalor R$3,04.

Page 125: 87514270 Daruma Framework

Daruma Framework 112

Daruma Automação

Já se observarmos na balança ou na bomba, após arredondado o valor, obten-se o valor R$3,05.Por fazer o arredondamento, o valor não bate com o valor calculado pela impressora, mas se antes deenviar o comando de venda de ítem você passar o valor que se pretende alcançar neste método, a dll iráincrementar a quantidade, de maneira a alcançar o valor passado como parâmetro.

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

· Definição do Método:Este Método permite programar o tamanho máximo em mega bytes para o log. O Tamanho DEFAULTpara o log é de 5MB.

· Parâmetros do Método: (1 Parâmetro)TamanhoMB String com o tamanho maximo que ira ter o log.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observações:Com este método, o log quando atingir o tamanho que foi especificado no parametro.Indica o número máximo de MB (MegaBytes) que o arquivo de log poderá ter.

Quando o arquivo Daruma32.log atingir este tamanho, será criada uma cópia com nomeDaruma_DDMMAA_HHMM.log

a)DDMMAA = Data do sistemab)HHMM = Hora do sistema.

Após a cópia, o arquivo Daruma.log é recriado, com conteúdo vazio.

Exemplos:

Page 126: 87514270 Daruma Framework

Daruma Framework113

Daruma Automação

· Exemplo em Visual Basic 6.0: Dim Str_LogTamMaxMB As String

Str_LogTamMaxMB = InputBox("Entre com o Tamanho Máximo que você quer que tenha oDaruma32.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 Máximo que você quer quetenha 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)

· Definição do Método:Este método permite que seja cofigurado um separador específico para os dados retornados nos métodospara o sintegra.

· Parâmetros do Método: (1 Parâmetro).Flag: String, com o separador a ser fixado no registry.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não 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 SubEnd IfInt_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;

Page 127: 87514270 Daruma Framework

Daruma Framework 114

Daruma Automação

1.9.5.68 Daruma_Registry_SintegraPath(Índice 71)

· Definição do Método:Este método permite que seja cofigurado o path (caminho), onde será gravado o arquivo do sintegraespecífico para os dados retornados nos métodos para o sintegra.

· Parâmetros do Método: (1 Parâmetro).Flag: String, com o separador a ser fixado no registry.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não 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 SubEnd IfInt_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)

· Definição do Método:Este método permite que seja fixado um valor mínimo, visando suprir o saldo devedor em casos ondepequenas diferênças no fechamento do cupom,

Exemplo: se o total do cupom era 5,00, porém o software pagou 4,99 - então a dll, tendo é claro umvalor fixado neste flag, irá pagar automaticamente o saldo de 0,01(centavo), que neste exemplo éra oque faltava para fechar o cupom.

· Parâmetros do Método: (1 Parâmetro).Flag: String, com o valor a ser fixado no registry.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

Exemplos:

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:

Page 128: 87514270 Daruma Framework

Daruma Framework115

Daruma Automação

1.9.6 Métodos de Informação, Status e Retornos

1.9.6.1 Daruma FrameworkTabela de Retornos ST1 e ST2

· Definição do Método:Todos os métodos, executadas na impressora, possuem bytes de retorno, que significam o estado atualapós o envio. Cada byte é tratado da seguinte maneira:

Lógica 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 comcada bit.

As linhas abaixo são uma forma de você desenvolver um pedaço de código para saber quais bits estão"setados":

Codificando o ST1

If St1 >= 128 Then // bit 7St1 = St1 - 128sMsg = "O papel acabou"End IfIf St1 >= 64 Then // bit 6St1 = St1 - 64sMsg = "O papel esta acabando"End IfIf St1 >= 32 Then // bit 5St1 = St1 - 32sMsg = "Erro no relógio da impressora"End IfIf St1 >= 16 Then // bit 4St1 = St1 - 16sMsg = "Impressora em erro"End IfIf St1 >= 8 Then // bit 3

Page 129: 87514270 Daruma Framework

Daruma Framework 116

Daruma Automação

St1 = St1 - 8sMsg = "Primeiro dado do método não foi ESC"End IfIf St1 >= 4 Then // bit 2St1 = St1 - 4sMsg = "Método inexistente"End IfIf St1 >= 2 Then // bit 1St1 = St1 - 2sMsg = "Cupom fiscal aberto"End IfIf St1 >= 1 Then // bit 0St1 = St1 - 1sMsg = "Número de parâmetro(s) inválido(s)"End If

Codificando o ST2

If St2 >= 128 Then // bit 7St2 = St2 - 128sMsg = "Tipo de parâmetro do método inválido"End IfIf St2 >= 64 Then // bit 6St2 = St2 - 64sMsg = "Memória fiscal cheia"End IfIf St2 >= 32 Then // bit 5St2 = St2 - 32sMsg = "Erro na memória RAM"End IfIf St2 >= 16 Then // bit 4St2 = St2 - 16sMsg = "Alíquota não definida"End IfIf St2 >= 8 Then // bit 3St2 = St2 - 8sMsg = "Capacidade de alíquotas esgotada"End IfIf St2 >= 4 Then // bit 2St2 = St2 - 4sMsg = "Este cancelamento não é permitido"End IfIf St2 >= 2 Then // bit 1St2 = St2 - 2sMsg = "CNPJ/IE do Proprietário não definidos"End IfIf St2 >= 1 Then // bit 0St2 = St2 - 1sMsg = "Método não 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)

· Definição do Método:Retorna o status Cupom Fiscal, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:

Page 130: 87514270 Daruma Framework

Daruma Framework117

Daruma Automação

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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)

· Definição do Método:Retorna o status do Relatório Gerencial, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Devolverá 0(zero) para Relatório Fechado e 1(um) para Relatório 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)

· Definição do Método:Retorna o status do Comprovante Não Fiscal Vinculado, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:

Page 131: 87514270 Daruma Framework

Daruma Framework 118

Daruma Automação

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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)

· Definição do Método:Retorna o status do Comprovante Não Fiscal Não Vinculado, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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]

· Definição do Método:Verifica se a impressora está ligada ou conectada no computador.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECF

Page 132: 87514270 Daruma Framework

Daruma Framework119

Daruma Automação

sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna no Int_Retorno com Modelo do ECF, conforme lista abaixo.

· Valores Retornados no Int_Retorno:1 - FS345 - Impressora de varejo.2 - FS318 - Impressora para restaurantes.3 - FS2000 - Impressora de duas estações.4 - FS600 - MFD (térmica) - Impressora de varejo .

· Parâmetros do Método:Não Há.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_FI_VerificaModeloECF()TX_Retorno.Text = Int_RetornoInt_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)

· Definição do Método:Retorna se o relógio da impressora está em horário de verão.0 - Relógio da Impressora não programado para horário de verão.1 - Relógio da Impressora programado para horário de verão.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Page 133: 87514270 Daruma Framework

Daruma Framework 120

Daruma Automação

· Observações:- A programação do horário de verão será realizada somente após uma ReduçãoZ. Para desprogramar, oMétodo somente será aceito, 1 (uma) hora após a ReduçãoZ e não pode ter havido movimento naimpressora nesse período.- Você poderá deixar a entrada e saída do horário de verão automatizada. Para isso basta seguir asinstruções 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 válida no flag:DataEntradaHorarioVerao ex.:091205;4. Insira uma data válida no flag:DataSaidadaHorarioVerao ex.:091205.

Dessa maneira conforme você programou a Daruma32.dll quando verificar que chegou a data prevista emsua programação, irá fazer o ajuste automaticamente, tanto para a entrada quanto para a saída domesmo.Importante: Para que a saída do horário de verão seja aceita, é fundamental que a ReduçãoZ queantecede a data de saída do horário de verão seja feita ao final do período do dia anterior ao retorno aohorário normal. Exemplificando melhor: se o horário de verão for terminar no dia 100306, então aReduçãoZ 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)

· Definição do Método:Retorna se a o dia está aberto.1(um) Se o dia estiver Aberto e 0(zero) Se o dia estiver Fechado.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observação:- Na FS600 e FS2100T irá retornar

· Dica:Se você executar este método após a 0:00 (meia noite), e ainda não tiver efetuado a ReduçãoZ (aimpressora permite que você faça a ReduçãoZ até às 2 da manhã), este método irá retornar 0(zero).Chame o método Daruma_FI_DataMovimento, e se você receber a data do movimento atual e não 6(seis)bytes zerados, é porque você ainda esta com o dia aberto e ainda poderá enviar comandos de venda atéque o ECF sinalize ReduçãoZ Pendente.

Exemplos:

Page 134: 87514270 Daruma Framework

Daruma Framework121

Daruma Automação

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

· Definição do Método:Retorna se a ReduçãoZ está pendente.1(um) para ReduçãoZ Pendente e 0(zero) para ReduçãoZ já executada.· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna se a LeituraX está pendente.1(um) para LeituraX Pendente e 0(zero) para LeituraX já executada.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Str_Informacao = Space(2)Int_Retorno = Daruma_FI_VerificaXPendente(Str_Informacao)

Page 135: 87514270 Daruma Framework

Daruma Framework 122

Daruma Automação

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)

· Definição do Método:Retorna o tipo de impressora.

· Parâmetros do Método:Tipo Impressora: Variável inteira para receber o tipo da impressora (veja abaixo em "Observações" osvalores retornados).

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observações:- O valor do tipo de impressora pode ser:

1 - Impressora fiscal, gaveta, autenticaçao.2 - Impressora fiscal, gaveta, cutter.3 - Impressora fiscal, presenter, autenticaçao.4 - Impressora fiscal, presenter, cutter.5 - Impressora bilhete de passagem, gaveta, autenticaçao.6 - Impressora bilhete de passagem, gaveta, cutter.7 - Impressora bilhete de passagem, presenter, autenticaçao.8 - Impressora bilhete de passagem, presenter, cutter.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Informacao = 0Int_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)

· Definição do Método:Retorna Apenas a Descrição das Formas de Pagamento que Estão Programadas no ECF.

· Parâmetros do Método:Formas Pagamento: Variável String por referência com 275(duzentas e cinquenta) posições para receberas formas programadas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Page 136: 87514270 Daruma Framework

Daruma Framework123

Daruma Automação

· Observações:- Este Método retorna as informações das formas de pagamento na seguinte ordem:

Descrição da forma de pagamento.....................: 16 bytes+ 1 caráctere Separador, conforme configurado no Registry com o MétodoDaruma_Registry_Separador.

- São 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 TipoL,Pagamento Tipo M,Pagamento Tipo N,Pagamento Tipo O,Pagamento Tipo P,

- A impressora permite programar até 16 formas de pagamento, as formas que não estiveremprogramadas estarão com os valores zerados e a descrição em branco (veja Exemplos acima). Paraprogramar as formas de pagamento utilize o método: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)

Atenção!!!Este método está descontinuado, favor utilizar o método:Daruma_FI_VerificaFormasPagamentoEx(Índice 1448)

1.9.6.15 Daruma_FI_VerificaFormasPagamentoEx(Índice 1448)

· Definição do Método:Retorna as formas de pagamento e seus valores acumulados.

· Parâmetros do Método:Formas Pagamento: Variável String por referência com 1027(uma mil e vinte e sete) posições parareceber as formas programadas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método retorna as informações das formas de pagamento na seguinte ordem:

Descrição da forma de pagamento.....................: 16 bytesValor acumulado (2 casas decimais)..................: 20 bytesValor recebido no último cupom (2 casas decimais)...: 20 bytesValor indicando se a forma foi usada para a emissão

Page 137: 87514270 Daruma Framework

Daruma Framework 124

Daruma Automação

+ 1 caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.

- São retornadas16 formas de pagamento mais a forma "Valor Recebido" e "Troco" obedecendo a ordemdescrita anteriormente. As formas de pagamento são separadas por vírgula. Veja Exemplos a seguir:

Ticket 0000000000000000000000000000000000000000,Dinheiro 0000000000000002000000000000000000010000,Cartao 0000000000000000000000000000000000000000,A vista 0000000000000000000000000000000000000000,TEF 0000000000000000000000000000000000000000,Teste1 0000000000000000000000000000000000000000,Teste2 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 não estiveremprogramadas estarão com os valores zerados e a descrição em branco (veja Exemplos acima). Paraprogramar as formas de pagamento utilize ométodo: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)

· Definição do Método:Retorna o estado da impressora.

Parâmetros do Método:1. ACK: Variável inteira para receber o primeiro byte.2. ST1: Variável inteira para receber o segundo byte.3. ST2: Variável inteira para receber o terceiro byte.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método devolve o status da impressora.- Recomenda-se usar este método em concomitância com a chave StatusFuncao seteda pra 1(um) noregistry, assim sendo você só irá chamar este método quando o iRet retornar diferente de 1(um).

Exemplos:

Page 138: 87514270 Daruma Framework

Daruma Framework125

Daruma Automação

· Exemplo em Visual Basic 6.0:Dim Int_Estado_Ack As IntegerDim Int_Estado_St1 As IntegerDim Int_Estado_St2 As IntegerInt_Estado_Ack = 0Int_Estado_St1 = 0Int_Estado_St2 = 0Int_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)

· Definição do Método:Retorna as alíquotas de vinculação ao ISS.

· Parâmetros do Método:Aliquotas Iss: Variável String por referência com 79(setenta e nove) posições para receber as alíquotasvinculadas ao Iss.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- As alíquotas retornadas estarão separadas por vírgula. Ex.: 1800,1200,1500;- Para isento utilize II;- Para não tributado NN;- Para substituição 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);

Page 139: 87514270 Daruma Framework

Daruma Framework 126

Daruma Automação

1.9.6.18 Daruma_FI_VerificaIndiceAliquotasIss(Índice 1445)

· Definição:Retorna os índices das alíquotas de ISS.

· Parâmetros do Método:Índice Alíquotas: Variável String por referência com o tamanho de 48(quarenta e oito) posições parareceber os índices das alíquotas de ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Os índices retornados estarão separados por vírgula. 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)

Atenção!!!Este método está descontinuado, favor utilizar

Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(Índice 1486)  (indice1486)

1.9.6.20 Daruma_FI_VerificaTotalizadoresNaoFiscaisEx(Índice 1486)

· Definição do Método:Retorna a descrição dos totalizadores não fiscais programados na impressora com o MétodoDaruma_FI_NomeiaTotalizadorNaoSujeitoIcms

· Parâmetros do Método:Totalizadores: Variável String por referência com 300(trezentas) posições para receber a descrição dostotalizadores não fiscais programados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Os totalizadores virão separados por vírgula;- Este Método retorna somente os 16 primeiros cadastrados;- Ex. Sangria,Suprimento,Conta de Luz, etc...

Page 140: 87514270 Daruma Framework

Daruma Framework127

Daruma Automação

- Nas impressoras FS600(MFD) e FS2100T(MFD) só retornará 15 caracteres da descrição, isso porquê é omáximo de caracteres que é permito na descrição, 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)

· Definição do Método:Verifica se a Eprom está conectada.

· Parâmetros do Método:FlagEprom: Variável String por referência com 2(duas) posições para receber o flag de Eprom conectada.Onde:1 - Eprom conectada.0 - Eprom desconectada.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna os recebimentos não fiscais não vinculados programados na impressora.

· Parâmetros do Método:Recebimentos: Variável String por referência com 2200(duas mil e duzentas) posições para receber asinformações.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.

Page 141: 87514270 Daruma Framework

Daruma Framework 128

Daruma Automação

-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

- Este Método retorna as informações para os 50 totalizadores não fiscais não vinculados na seguinteordem:

Valor indicando quantas vezes cada recebimento foi utilizado: 4 bytesValor 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 não fiscais não vinculados, os totalizadores quenão estiverem programados estarão com os valores zerados e a descrição em branco (veja Exemplosacima).

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)

· Definição do Método:Retorna 1 se a impressora estiver no modo truncamento e 0 se estiver no modo arredondamento.

· Parâmetros do Método:Truncamento: Variável String por referência com 2(duas) posições para receber o retorno. Onde:1 - Impressora programada para Truncar.

Page 142: 87514270 Daruma Framework

Daruma Framework129

Daruma Automação

0 - Impressora programada para Arredondar.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Dispensasse o uso deste método nos seguintes modelos de impressoras:

- FS600 MFD;- FS2000;- FS2000T.

Isso porque as impressoras citadas acima só truncam e isto esta presvito no convênio 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)

· Definição do Método:Verifica se a impressora está em modo normal ou em intervenção técnica.

· Parâmetros do Método:Modo Operação: Variável String por referência com 2(duas) posições para receber o modo de operação daimpressora. Onde:1 - Modo normal0 - Intervenção técnica.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Str_Informacao = Space(2)Int_Retorno = Daruma_FI_VerificaModoOperacao(Str_Informacao)If Str_Informacao = 1 ThenTX_Retorno.Text = " 1 - Impressora em Modo Operacional !!!"ElseTX_Retorno.Text = " 0 - Impressora em Modo de Intervenção Técnica !!!"End If

· Exemplo em Delphi 7.0:var Str_Informacao: String;begin SetLength (Str_Informacao,2); Int_Retorno := Daruma_FI_VerificaModoOperacao(Str_Informacao);

Page 143: 87514270 Daruma Framework

Daruma Framework 130

Daruma Automação

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)

· Definição do Método:Retorna os totalizadores parciais cadastrados na impressora com as seguintes informações:

· Parâmetros do Método:Totalizadores: Variável String por referência com o tamanho de 445(quatrocentos e quarenta e cinco)posições para receber os totalizadores parciais cadastrados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observações:- São retornadas as seguintes informações separadas por vírgulas:

Totalizadores parciais tributados..........: 224 bytesIsenção....................................: 14 bytesNão insidência.............................: 14 bytesSubstitução................................: 14 bytesTotalizadores parciais não sujeitos ao ICMS: 126 bytesSangria....................................: 14 bytesSuprimento.................................: 14 bytesGrande 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 Método está descontinuado na dll, favor utilizarDaruma_FI_ClicheProprietarioEx (Índice 1467) 

Page 144: 87514270 Daruma Framework

Daruma Framework131

Daruma Automação

1.9.6.27 Daruma_FI_ClicheProprietarioEx(Índice 1467)

· Definição do Método:Retorna o clichê do proprietário cadastrado na impressora.

· Parâmetros do Método:ClicheProprietário: Variável String por referência com 400(quatrocentas) posições para receber clichêcadastrado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Str_Informacao = Space(400)Int_Retorno = Daruma_FI_ClicheProprietario(Str_Informacao)TX_Retorno.Text = Str_InformacaoDaruma_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)

· Definição do Método:Retorna o número do caixa cadastrado na impressora.

· Parâmetros do Método:Número Caixa: Variável String por referência com 4(quatro) posições para receber o número do caixacadastrado na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Str_Informacao = Space(04)Int_Retorno = Daruma_FI_NumeroCaixa(Str_Informacao)TX_Retorno.Text = Str_InformacaoDaruma_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);

Page 145: 87514270 Daruma Framework

Daruma Framework 132

Daruma Automação

1.9.6.29 Daruma_FI_NumeroLoja(Índice 1426)

· Definição do Método:Retorna o número da loja cadastrado na impressora.

· Parâmetros do Método:Número Loja: Variável String por referência com 4(quatro) posições para receber o número da lojacadastrado na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método foi criado por questões de compatibilidade com softwares de mercado.- Na impressora FS345, o número da Loja não esta presente em sua memória, por isso o Número da Lojaque será retornado é fixo em:0000.- Nas impressoras FS600/FS2100T, o número da loja foi incluíndo na memória da impressora e quandofor cadastrado por meio de intervenção técnica, então 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_InformacaoDaruma_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)

· Definição do Método:Retorna o número de série da impressora.

· Parâmetros do Método:Número Série: Variável String por referência com o tamanho de 15(quinze) posições para receber onúmero de série.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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

Page 146: 87514270 Daruma Framework

Daruma Framework133

Daruma Automação

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)

· Definição do Método:Ao chamar este método o Número de série do ECF será lido do ECF e Criptografado através do algoritmode RIJNDAEL de 128 bytes.

· Parâmetros do Método:Não ha.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplos:Vamos supor que o número de série do ECF seja 0000000010 ao utilizar o FrameWork Daruma ele setransforma em: 9619EFDF5C7991185D94BFCE1D4E6DBB5AC9DB2CE6BC6A09

Se o Número de série 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)

· Definição do Método:Este método irá devolver 0(zero) ou 1(um) - Zero indica que o número de série não bate com aCriptografia Armazenada pelo Método Daruma_FI_RegistraNumeroSerie(), 1(um) indica que o ECF éválido pois o número de série bate com o que foi Criptografado pelo MétodoDaruma_FI_RegistraNumeroSerie.

· Parâmetros do Método:Não ha.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_FI_VerificaNumeroSerie()

· Exemplo em Delphi 7.0:Int_Retorno:= Daruma_FI_VerificaNumeroSerie();

Page 147: 87514270 Daruma Framework

Daruma Framework 134

Daruma Automação

1.9.6.33 Daruma_FI_RetornaSerialCriptografada(índice ????)

· Definição do Método:Com este Método você irá receber o Número de Série e também a Criptografia do mesmo.

· Parâmetros do Método:Número Série Criptografado: Variável String por referência com o tamanho de 48(quarenta e oito)posições para receber o número de série criptografado.Número Série: Variável String por referência com o tamanho de 15(quinze) posições para receber onúmero de série.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplos:Vamos supor que o número de série do ECF seja 0000000010 ao utilizar o FrameWork Daruma ele setransforma em: 9619EFDF5C7991185D94BFCE1D4E6DBB5AC9DB2CE6BC6A09

Se o Número de série for 0000000011 a criptografia final será:31AD8F505D239B55A4E0876A59B3A4F2DEA4FC117A62B78E

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_SerialCriptografado As StringDim Str_NumeroSerial As StringStr_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;beginSetLength (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 método', mb_ok);

end;

1.9.6.34 Daruma_FI_VersaoFirmware(Índice 1412)

· Definição do Método:Retorna a versão do firmware da impressora.

· Parâmetros do Método:Versão Firmware: Variável String por referência com o tamanho de 4(quatro) posições para receber aversão do firmware.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

Page 148: 87514270 Daruma Framework

Daruma Framework135

Daruma Automação

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

· Definição do Método:Retorna o CGC e a Inscrição Estadual do cliente/proprietário cadastrado na impressora.

· Parâmetros do Método:CGC: Variável String por referência com 18(dezoito) posições para receber o CGC.IE: Variável String por referência com 15 posições para receber a Inscrição Estadual.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_CGC As StringDim Str_IE As StringStr_CGC = Space(18)Str_IE = Space(18)Int_Retorno = Daruma_FI_CGC_IE(Str_CGC, Str_IE)TX_Retorno.Text = " CGC:" + Str_CGCTX_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)

· Definição do Método:Retorna o número do cupom.

· Parâmetros do Método:Número Cupom: Variável String por referência com 6(seis) posições para receber o número do cupom.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECF

Page 149: 87514270 Daruma Framework

Daruma Framework 136

Daruma Automação

sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Quando este médodo e execudado antes do cupom ser aberto, então o número retornado e o dopróximo cupom.- Quando este método e executado com o cupom aberto, então será retornado o número do cupom enmaberto.

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)

· Definição do Método:Retorna o número do cupom INICIAL e ATUAL do DIA em que não foi efetuando a ReduçãoZ.

· Parâmetros do Método: (2 Parâmetros)1. Número Cupom INICIAL: Variável String por referência com 6(seis) posições para receber o número

do Primeiro Cupom do DIA.2. Número Cupom FINAL: Variável String por referência com 6(seis) posições para receber o número do

último cupom Emitido.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_COO_Inicial As StringDim Str_COO_Final As StringStr_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);

Page 150: 87514270 Daruma Framework

Daruma Framework137

Daruma Automação

1.9.6.38 Daruma_FI_MinutosImprimindo(Índice 1430)

· Definição do Método:Retorna o tempo em minutos que a impressora está ou esteve imprimindo.

· Parâmetros do Método:Minutos Imprimindo: Variável String por referência com 4(quatro) posições para receber os minutos emimpressão.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna o tempo em minutos que a impressora está ligada.

· Parâmetros do Método:Minutos Ligada: Variável String por referência com 4(quatro) posições para receber os minutos em que aimpressora está ligada.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Obsercação:- Na FS600 este método 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);

Page 151: 87514270 Daruma Framework

Daruma Framework 138

Daruma Automação

1.9.6.40 Daruma_FI_NumeroSubstituicoesProprietario(Índice 1422)

· Definição do Método:Retorna o número de substituições de proprietário.

· Parâmetros do Método:Substituições: Variável String por referência com 4(quatro) posições para receber o número desubstituições.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna o número de intervenções técnicas realizadas na impressora.

· Parâmetros do Método:Intervenções: Variável String por referência com 4(quatro) posições para receber o número deintervenções.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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);

Page 152: 87514270 Daruma Framework

Daruma Framework139

Daruma Automação

1.9.6.42 Daruma_FI_NumeroReducoes(Índice 1420)

· Definição do Método:Retorna o número de reduções Z realizadas na impressora.

· Parâmetros do Método:Reduções: Variável String por referência com 4(quatro) posições para receber o número de Reduções Z.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna o número de cupons cancelados.

· Parâmetros do Método:Cupons Cancelados: Variável String por referência com o tamanho de 4(quatro) posições para receber onúmero de cupons cancelados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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);

Page 153: 87514270 Daruma Framework

Daruma Framework 140

Daruma Automação

1.9.6.44 Daruma_FI_NumeroOperacoesNaoFiscais(Índice 1418)

· Definição do Método:Retorna o número de operações não fiscais executadas na impressora.

· Parâmetros do Método:Operações: Variável String por referência com 6(seis) posições para receber o número de operações.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna a data e a hora atual da impressora.

· Parâmetros do Método:1. Data: Variável String por referência com 6(seis) posições para receber a data atual da impressora no

formato ddmmaa.2. Hora: Variável String por referência com 6(seis) posições para receber a hora atual da impressora no

formato hhmmss.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Data As StringDim Str_Hora As StringStr_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);

Page 154: 87514270 Daruma Framework

Daruma Framework141

Daruma Automação

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)

· Definição do Método:Retorna a data e a hora da última Redução Z.

· Parâmetros do Método:1. Data Redução: Variável String por referência com 6(seis) posições para receber a data da última

redução no formato ddmmaa.2. Hora Redução: Variável String por referência com 6(seis) posições parar eceber a hora da última

redução no formato hhmmss.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Data_Rdz As StringDim Str_Hora_Rdz As StringStr_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)

· Definição do Método:Retorna a data do último movimento.

· Parâmetros do Método:Data Movimento: Variável por refêrencia 6(seis) posições para receber a data do movimento no formatoddmmaa.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observação:- Este método retornará na FS600 010100 caso o dia não tenha sido aberto.- Já na FS345 será retornado 000000.

Exemplos:

Page 155: 87514270 Daruma Framework

Daruma Framework 142

Daruma Automação

· Exemplo em Visual Basic 6.0:Dim Str_Data_Mov As StringStr_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)

· Definição do Mátodo:Retorna o número de vezes em que os totalizadores não sujeitos ao ICMS foram usados.

· Parâmetros do Método:Contadores: Variável por refêrencia com 44(quarenta e quatro) posições para receber os contadores dostotalizadores.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- A impressora fiscal Daruma, permite a programação de até 50 totalizadores não fiscais, porém esseMétodo retorna somente os contadores dos 9 primeiros totalizadores cadastrados.- O conteúdo da variável retornada será 36 dígitos separados de 4 em 4 por vírgura que representam os9 primeiros totalizadores. Ex.: "0001,0003,0001,0005,0004,0002,0003,0004,0007"- O primeiro valor corresponde ao número de vezes que o totalizador 01 foi usado, o segundocorresponde ao totalizador 02 e assim sucessivamente. A contagem Inicia-se do contador 03 em diantepois 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)

· Definição do Método:Retorna as alíquotas cadastradas na impressora com o Indice indicativo se a mesma esta cadastrada noISS ou no ICMS.

· Parâmetros do Método:Alíquotas: Variável por refêrencia com o tamanho de 300(trezentas) posições para receber as alíquotas.

Page 156: 87514270 Daruma Framework

Daruma Framework143

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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)

· Definição do Método:Retorna o valor Total Bruto Vendido até o momento do referido movimento.

· Parâmetros do Método:Venda Bruta: Variável por refêrencia com 18(dezoito) posições para receber o valor da venda bruta com2 casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna o Valor da Venda Bruta Acumulada na Memória Fiscal do ECF, referente ao último movimento.

· Parâmetros do Método:Venda Bruta Acumulada: Variável por refêrencia com 18(dezoito) posições para receber o valor da vendabruta acumulada na MF, até a última ReduçãoZ com 2 casas decimais.

Page 157: 87514270 Daruma Framework

Daruma Framework 144

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método deve ser executado imediatamente após o dia fiscal ter sido iniciado.- Este método não deve ser utilizado após o dia fiscal ter sido iniciado.- Para pegar a venda bruta após cada cupom utilize o método: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)

· Definição do Método:Retorna o valor do Grande Total da impressora.

· Parâmetros do Método:Grande Total: Variável por refêrencia com 18(dezoito) posições para receber o valor do grande total com2 casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna a valor acumulado dos descontos.

· Parâmetros do Método:Descontos: Variável por refêrencia com 14(quatorze) posições para receber o valor dos descontos com 2

Page 158: 87514270 Daruma Framework

Daruma Framework145

Daruma Automação

casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna a valor acumulado dos acrescimos.

· Parâmetros do Método:Descontos: Variável por refêrencia com 14(quatorze) posições para receber o valor dos descontos com 2casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observação:- Este método só irá retornar valores, se a impressora for uma FS600 ou uma FS2100T.Portanto não retornará acréscimos na FS345.- Não é armazenado o valor dos acréscimos (IOF), na MF do ECF FS345, porque a FS345 foi homologadaem um convênio que não exigia que se armazenasse os acréscimos. Assim sendo o valor retornado serásempre 00000000000000.- Este método irá retornar o valor acumulado dos acrescimos, somente na impressoras FS600 e FS2100TTérmicas, 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);

Page 159: 87514270 Daruma Framework

Daruma Framework 146

Daruma Automação

1.9.6.55 Daruma_FI_Cancelamentos(Índice 1416)

· Definição do Método:Retorna o valor acumulado dos itens e dos cupons cancelados, referente ao movimento atual.

· Parâmetros do Método:Cancelamentos: Variável por refêrencia com 14(quatorze) posições para receber o valor doscancelamentos com 2 casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna os dados da impressora no momento da última Redução Z.

· Parâmetros do Método:Dados Redução: Variável por refêrencia com o tamanho de 631(seiscentos e trinta e uma) posições parareceber os dados da última redução.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método só irá retornar valores, no campo acréscimos, se a impressora for uma FS600 ouuma FS2100T. Portanto não retornará acréscimos na FS345.- Não é armazenado o valor dos acréscimos (IOF), na MF do ECF FS345, porque a FS345 foi homologadaem um convênio que não exigia que se armazenasse os acréscimos. Assim sendo o valor retornado serásempre 00000000000000- São retornados os valores das seguintes informações separados por vírgulas:

Page 160: 87514270 Daruma Framework

Daruma Framework147

Daruma Automação

Observação: O campo Data de Impressão, irá conter a data de impressão, somente quando foruma 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)

· Definição do Método:Retorna o valor do subtotal do cupom.

· Parâmetros do Método:SubTotal: Variável por refêrencia com o tamanho de 14(quatorze) posições para receber o subtotal docupom.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.

Page 161: 87514270 Daruma Framework

Daruma Framework 148

Daruma Automação

-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna o valor do Troco do cupom.

· Parâmetros do Método:Troco: Variável por refêrencia com o tamanho de 18(dezoito) posições para receber o troco do cupom.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom deverá estar aberto;- Este método deve ser executado, emediatamente após o método Daruma_FI_EfetuaFormaPagamento;- Caso este método 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)

· Definição do Método:Retorna o valor do Saldo a Pagar do cupom.

· Parâmetros do Método:Saldo: Variável por refêrencia com o tamanho de 18(dezoito) posições para receber o saldo do cupom.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECF

Page 162: 87514270 Daruma Framework

Daruma Framework149

Daruma Automação

sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna as alíquotas cadastradas na impressora.

· Parâmetros do Método:Alíquotas: Variável por refêrencia com o tamanho de 79(setenta e nove) posições para receber asalíquotas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- As alíquotas retornadas estarão separadas por vírgula. 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)

· Definição do Método:Retorna o valor pago no último cupom.

· Parâmetros do Método:Valor: Variável por refêrencia com 14(quatorze) posições para receber o valor pago no último cupom.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Page 163: 87514270 Daruma Framework

Daruma Framework 150

Daruma Automação

· Observações:

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

· Definição do Método:Retorna a ultima forma de pagamento e também o valor que foi pago.

· Parâmetros do Método:- Forma Pagamento: Variável por refêrencia com 16(dezeseis) posições para a descrição da Forma dePagamento.- Valor: Variável por refêrencia com 14(quatorze) posições para receber o valor pago.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Descricao_Forma As StringDim Str_Valor_Forma As StringStr_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)

· Definição do Método:Retorna o valor acumulado em uma determinada forma de pagamento.

· Parâmetros do Método:Forma Pagamento: Variável por refêrencia com até 16(dezeseis) posições com a descrição da Forma de

Page 164: 87514270 Daruma Framework

Daruma Framework151

Daruma Automação

Pagamento que deseja retornar o seu valor.- Valor: Variável por refêrencia com 14(quatorze) posições para receber o total acumulado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Descricao_Forma As StringDim Str_Valor_Forma As StringStr_Descricao_Forma = Space(16)Str_Valor_Forma = Space(14)Str_Descricao_Forma = InputBox("Entre com a Forma de Pagamento a ser consultada:", "DarumaFramework", "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:', 'DarumaFramework', '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)

· Definição do Método:Retorna o valor acumulado em um determinado totalizador não fiscal.

· Parâmetros do Método:Totalizador: Variável por refêrencia com até 19(dezenove) posições com a descrição do Totalizador.Valor: Variável por refêrencia com 14(quatorze) posições para receber a informação.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.-25: Totalizador não programado.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Totalizador_Nao_Fiscal As StringDim Str_Valor_Totalizador As StringStr_Totalizador_Nao_Fiscal = Space(19)Str_Valor_Totalizador = Space(14)Str_Totalizador_Nao_Fiscal = InputBox("Entre com a Descrição 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;

Page 165: 87514270 Daruma Framework

Daruma Framework 152

Daruma Automação

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)

· Definição do Método:Retorna o número do último item vendido.

· Parâmetros do Método:Último Item: Variável por refêrencia com 4(quatro) posições para receber o número do último itemvendido.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna o tipo do último cupom emitido.

· Que poderá ser:

CPF Cupom FiscalCNF Comprovante Não FiscalLXG Leitura X GerencialLRG Leitura X Relatorio GerencialCNV comprovante Não Fiscal Vinculado (TEF)LMF Leitura Memória FiscalLXX Leitura X comum, sem relatorio gerencialLRZ Redução Z

· Parâmetros do Método:Último Item: Variável por refêrencia com 3(três) posições para receber o número do último item vendido.

· Este Método retornará um dos Valores Inteiros listados Abaixo:

Page 166: 87514270 Daruma Framework

Daruma Framework153

Daruma Automação

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplo:Se o último documento emitido tiver sido uma ReduçãoZ então 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)

· Definição do Método:Gera o relatório "Mapa Resumo" referente ao movimento do dia. As informações serão geradas noarquivo RETORNO.TXT no diretório configurado no parâmetro "path" na chave do Registry. O diretóriodefault configurado é o diretório raiz (C:\).

· Parâmetros da Função:Não há

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método só irá retornar valores, se a impressora for uma FS600 ou uma FS2100T.Portanto não retornará acréscimos na FS345.- Não é armazenado o valor dos acréscimos (IOF), na MF do ECF FS345, porque a FS345 foi homologadaem um convênio que não exigia que se armazenasse os acréscimos. Assim sendo o valor retornado serásempre 00000000000000.- As informações contidas no mapa resumo podem variar de Estado para Estado. Essa função gera orelatório com as informações padrões que são usadas na maioria dos Estados. O relatório gerado terá oseguinte layout:

Contador de Redução Z..: 0480

COO....................: 000110

Venda Bruta............: 0,00

Venda Líquida..........: 0,00

Cancelamentos..........: 0,00

Acréscimos.............: 0,00

Page 167: 87514270 Daruma Framework

Daruma Framework 154

Daruma Automação

Descontos..............: 0,00

ISS....................: 0,00

Isenção................: 0,00 - II

Não Incidência.........: 0,00 - NN

Substituição Tributária: 0,00 - FF

1200...................: 0,00 - Aliquota

- Após a linha "Substituição Tributária" serão gravadas as informações de vendas referente as alíquotasde ICMS. Portanto, o número de linhas irá variar de acordo com o número de alíquotas de ICMScadastradas na impressora.

- As informações contidas no mapa resumo serão referentes aos dados da última redução Z, portanto,para gerar o mapa resumo referente ao movimento do dia você deve executar essa função após aredução Z, caso contrário o mapa resumo será gerado com as informações referente ao movimento do diaanterior, para isso você mesmo podera efetuar a Redução ZDaruma_Registry_ZAutomatica configurandoa 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)

· Definição do Método:Gera o relatório "Tipo 60 analítico" exigido pelo convênio de ICMS 85/2001. As informações serão geradasno arquivo RETORNO.TXT no diretório configurado no parâmetro "path" na Chave do Registry. O diretóriodefault é o diretório raiz (C:\).

· Parâmetros da Função:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O relatório gerado terá o seguinte layout:

Tipo do relatório.........: 60

Subtipo...................: A

Data de emissão...........: 09/09/05

Número de série...........: 000000000036861

Cancelamentos.............: 0,00

Descontos.................: 0,00

Page 168: 87514270 Daruma Framework

Daruma Framework155

Daruma Automação

F.........................: 0,00

I.........................: 0,00

N.........................: 0,00

1200......................: 0,00

ISS.......................: 0,00

- Após a linha "N..." serão gravadas as informações de vendas referentes às alíquotas tributárias.Portanto, o número de linhas irá variar de acordo com o número de alíquotas cadastradas na impressora.

- As informações contidas no relatório Tipo 60 Analítico são referentes aos dados da última Redução Z.Portanto, para gerar o relatório referente ao movimento do dia você deve executar esse método após aRedução Z, caso contrário as informações geradas serão referentes ao movimento do dia anterior, paraisso você mesmo podera efetuar a Redução Z configurando Daruma_Registry_ZAutomatica o a Chavepara 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)

· Definição do Método:Gera o relatório "Tipo 60 Mestre" exigido pelo convênio de ICMS 85/2001. As informações serão geradasno arquivo RETORNO.TXT no diretório configurado no parâmetro "path" na chave do registry. O diretóriodefault é o diretório raiz (C:\).

· Parâmetros da Função:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O relatório gerado terá o seguinte layout:

Tipo do relatório.........: 60

Subtipo...................: M

Data de emissão...........: 09/09/05

Número de série...........: 000000000036861

Número do equipamento.....: 0013

Modelo do documento fiscal: 2D

COO inicial...............: 000111

Page 169: 87514270 Daruma Framework

Daruma Framework 156

Daruma Automação

COO final.................: 000125

Contador de reduções......: 0480

Reinicio de Operacao......: 0388

Venda Bruta...............: 0,00

Totalizador geral.........: 4.135.406,04

- As informações contidas no relatório Tipo 60 Mestre são alimentadas pelo MétodoDaruma_FI_AberturaDoDia e pelo outro Método Daruma_FI_FechamentoDoDia: e (veja esses métodospara maiores informações). O Método Daruma_FI_RelatorioTipo60Mestre deve ser executado apósDaruma_FI_FechamentoDoDia() e o método ou após a Redução Z (caso a redução tenha sido executadaautomaticamente 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)

· Definiçãdo do Método:Retorna um número referente ao flag fiscal da impressora. Veja discriminação abaixo.

· Parâmetros do Método:FlagFiscal: Variável inteira para receber um número representando o flag fiscal da impressora. Vejadiscriminação abaixo.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Discriminação dos valores para o flag fiscal:

Descrição ValorCupom fiscal aberto 1Fechamento de formas de pgto iniciado 2Horário de verão selecionado 4Já houve redução Z no dia 8Permite cancelar cupom fiscal 32Memória fiscal sem espaço 128

- Os valores podem vir somados o que indica mais de um estado.- Por Exemplos se o cupom estiver aberto e o horário de verão selecionado então o flag virá = 37.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Informacao = 0Int_Retorno = Daruma_FI_FlagsFiscais(Int_Informacao)TX_Retorno.Text = Int_Informacao

Page 170: 87514270 Daruma Framework

Daruma Framework157

Daruma Automação

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

· Definição do Método:Retorna o Status do ECF em Bytes 12 Bytes)

· Parâmetros do Método:String com 12 Posições para receber a palavra de status Ex. A4C60C000000.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método retorna 12 Caracteres ASCII no Seguinte Formato.

Byte 1 (S1) - S1 Significa STATUS 1Byte 2 (S2)Byte 3 (S3)Byte 4 (S4)Byte 5 (S5)Byte 6 (S6)Byte 7 (S7)Byte 8 (S8)Byte 9 (S9)Byte 10 (S10)Byte 11 (S11)Byte 12 (S12)

Para Analisar Cada Byte Siga a Seguinte Tabela Abaixo:

Bit Descrição de S1b3 0 = Gaveta do caixa fechada

1 = Gaveta do caixa abertab2 0 = Impressora operacional

1 = Impressora em falha mecânicab1 0 = Documento posicionado para autenticação

1 = Sem documento em posição de autenticaçãob0 0 = Papel presente

1 = Fim da bobina de papel

Bit Descrição de S2b3 0 = Impressora On Line

1 = Impressora Off Lineb2 0 = Periférico conectado na Interface Auxiliar

1 = Nenhum periférico conectadob1 0 = Não há redução Z pendente

1 = Redução Z do período anterior ainda pendenteb0 0 = Near End não detectado

1 = Detectado proximidade de Fim de Papel

Bit Descrição de S3b3 0 = Impressora em modo manutenção

1 = Impressora em modo operaçãob2 0 = Sensor de autenticação desabilitado

1 = Sensor de autenticação ativo

Page 171: 87514270 Daruma Framework

Daruma Framework 158

Daruma Automação

b1 0 = Guilhotina desabilitada1 = Guilhotina habilitada

b0 0 = Fechamento automático de C.F. desabilitado1 = Fechamento automático de C.F. habilitado

Bit Descrição de S4b3 0 = Relatório gerencial não aberto

1 = Relatório gerencial abertob2 0 = Cupom Fiscal não aberto

1 = Cupom Fiscal abertob1 0 = Buffer de comunicação não vazio

1 = Buffer de comunicação vaziob0 0 = Impressão encerrada

1 = Impressão em andamento

Bit Descrição de S5b3 0 = Jumper de operação instalado

1 = Jumper de operação removido (deslacrado)b2 0 = Impressora operacional

1 = Impressora em Erro Fiscal (bloqueada)b1 0 = MF presente

1 = MF ausente ou não inicializadab0 0 = Modo normal

1 = Modo treinamento

Bit Descrição de S6b3 0 = Configuração da IF habilitada

1 = Configuração da IF inibida até a próxima Redução Zb2 0 = Leitura X do início do dia ainda não emitida

1 = Leitura X do início do dia já emitidab1 0 = Impressora em operação

1 = Redução Z de hoje já emitido (IF travada até 0h)b0 0 = Fita detalhe OK

1 = Fim do papel da fita detalhe

Bit Descrição de S7b3 Sempre zerob Sempre zerob1 Sempre zerob0 Sempre zero

Bit Descrição de S8b3 Sempre zerob2 Sempre zerob1 0 = Não ocorreu queda de energia

1 = Ocorreu queda de energiab0 0 = Impressão encerrada

1 = Impressão em andamento ou pendente

Bit Descrição de S9b3 Sempre zerob2 Sempre zerob1 Sempre zerob0 0 = Totalizadores Fiscais OK

1 = Erro nos totalizadores fiscais

Bit Descrição de S10b3 0 = MF OK

1 = Erro na Leitura da MF ou MF substituídab2 0 = Gravação da MF OK

1 = Erro na gravação da MFb1 0 = Relógio interno OK

1 = Erro no relógio internob0 0 = Clichê do proprietário OK

1 = Clichê do proprietário danificado

Page 172: 87514270 Daruma Framework

Daruma Framework159

Daruma Automação

Bit Descrição de S11b3 Sempre zerob Sempre zerob1 Sempre zerob0 Sempre zero

Valor Descrição de S120 Impressora OK1 Falha no tacogerador2 Falha no sensor de margem4 Falha de guilhotina5 Firmware inválido

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)

· Definiçãdo do Método:Retorna um número referente ao flag fiscal da impressora. Veja discriminação abaixo.

· Parâmetros do Método:FlagFiscal: Variável string por referência para receber um número representando o flag fiscal daimpressora. Veja discriminação abaixo.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Discriminação dos valores para o flag fiscal:

Descrição ValorCupom fiscal aberto 1Fechamento de formas de pgto iniciado 2Horário de verão selecionado 4Já houve redução Z no dia 8Permite cancelar cupom fiscal 32Memória fiscal sem espaço 128

- Os valores podem vir somados o que indica mais de um estado.- Por Exemplos se o cupom estiver aberto e o horário de verão selecionado então o flag virá = 37.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Informacao = 0Int_Retorno = Daruma_FI_FlagsFiscaisStr(Int_Informacao)TX_Retorno.Text = Int_Informacao

Page 173: 87514270 Daruma Framework

Daruma Framework 160

Daruma Automação

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

· Definição do Método:Retorna o símbolo da moeda cadastrada na impressora.

· Parâmetros do Método:Símbolo Moeda: Variável por refêrencia com 2(duas) posições para receber o símbolo da moeda.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Lê o retorno da impressora referente ao último método enviado.

· Parâmetros do Método:1. ACK: Variável INTEIRA para receber o primeiro byte.2. ST1: Variável INTEIRA para receber o segundo byte.3. ST2: Variável INTEIRA para receber o terceiro byte.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método deve ser usado após a execução de qualquer outro Método. Este Método devolveRetorno da Impressora ou seja os valores do ST1 e do ST2 .

Exemplos:

· Exemplo em Visual Basic 6.0:Global Int_Retorno As IntegerGlobal Int_Ack As IntegerGlobal Int_St1 As Integer

Page 174: 87514270 Daruma Framework

Daruma Framework161

Daruma Automação

Global Int_St2 As IntegerGlobal Str_ErroExtendido As String

Public Function Daruma_MostrarRetorno()

Int_Ack = 0Int_St1 = 0Int_St2 = 0Daruma_FI_RetornoImpressora Int_Ack, Int_St1, Int_St2

Str_ErroExtendido = Space(4)Daruma_FI_RetornaErroExtendido Str_ErroExtendido

MsgBox "Retorno do Método = " + 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 Método"

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)

· Definição do Método:Retorna o Erro Extendido do ECF, além do ST1 e ST2 retorna uma Tabela Completa de Erros.

· Parâmetros do Método:String: Com 4 Posições que irá conter o Código de Erro Extendido que o ECF retorna.Retorna 999 caso tenha a DLL retorne TIME-OUT.Retorna a String original passada, com VAZIOS, caso NÃO HAJA ERRO.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Tabela de Erro Retornada:================================================================00 IF em modo Manutenção. Foi ligada sem o Jumper de Operação01 Método disponível somente em modo Manutenção02 Erro durante a gravação da Memória Fiscal03 Memória Fiscal esgotada04 Erro no relógio interno da IF05 Falha mecânica na IF06 Erro durante a leitura da Memória Fiscal07 Metodo permitido apenas em modo fiscal (IF sem jmper)10 Documento sendo emitido11 Documento não foi aberto12 Não existe documento a cancelar13 Dígito não numérico não esperado, foi encontrado nos Parâmetros do Método14 Não há mais memória disponível para esta operação/Não há nenhuma posição de méria disponível.15 Item a cancelar não foi encontrado16 Erro de sintaxe no método17 "Estouro" de capacidade numérica (overflow)18 Selecionado totalizador tributado com alíquota de imposto não definida19 Memória Fiscal vazia

Page 175: 87514270 Daruma Framework

Daruma Framework 162

Daruma Automação

20 Não existem campos que requerem atualização21 Detectado proximidade do final da bobina de papel22 Cupom de Redução Z já foi emitido. IF inoperante até 0:00h do próximo dia23 Redução Z do período anterior ainda pendente. IF inoperante24 Valor de desconto ou acréscimo inválido (limitado a 100%)25 Caráctere inválido foi encontrado nos Parâmetros do Métodos26 Médoto não pode ser executado27 Impressora fora de Linha/Nenhum periférico conectado a interface auxiliar28 Foi encontrado um campo em zero29 Documento anterior não foi Cupom Fiscal. Não pode emitir Cupom Adicional30 Acumulador Não Fiscal selecionado não é válido ou não está disponível31 Não pode autenticar. Excedeu 4 repetições ou não é permitida nesta fase32 Cupom adicional inibido por configuração35 Relógio Interno Inoperante36 Versão do firmware gravada na Memória Fiscal não é a esperada37 Alíquota de imposto informada já está carregada na memória38 Forma de pagamento selecionada não é válida39 Erro na seqüência de fechamento do Cupom Fiscal40 IF em Jornada Fiscal. Alteração da configuração não é permitida41 Data inválida. Data fornecida é inferior à última gravada na Memória Fiscal42 Leitura X inicial ainda não foi emitida43 Não pode emitir Comprovante Vinculado44 Cupom de Orçamento não permitido para este estabelecimento(Mensagem do Aplicativo NãoProgramada)45 Campo obrigatório em branco48 Não pode estornar49 Forma de pagamento indicada não encontrada50 Fim da bobina de papel51 Nenhum usuário cadastrado na MF52 MF não instalada ou não inicializada56 Documento já aberto61 Queda de energia durante a emissão de Cupom Fiscal75 Operação com ISS não permitida (se a sua impressora for uma FS600 ou FS2100T, então serápreciso ter uma inscrição municipal gravada em sua impressora para que seja possível programar/utilizaralíquota de serviço).76 Desconto em ISS não permitido neste ECF (a programação deverá ser feita por meio de intervençãotécnica e caso o Estado permita)77 Acréscimo em IOF inibido80 Periférico na interface auxiliar não pode ser reconhecido81 Solicitado preenchimento de cheque de banco desconhecido82 Solicitado transmissão de mensagem nula pela interface auxiliar83 Extenso do cheque não cabe no espaço disponível84 Erro na comunicação com a interface auxiliar85 Erro no dígito verificador durante comunicação com a PertoCheck86 Falha na carga de geometria de folha de cheque87 Parâmetros do Método: invállido para o campo de data do cheque90 Sequência de validação de número de série inválida180 Mensagem do aplicativo não programada. (Esta mensagem não é opcional e sim uma exigência dalegislação e deverá ser programada para que o ECF seja liberado para a emissão de documentos fiscais.Para programar a mensagem use os métodos:Daruma_Registry_AplMensagem1(Índice 36) emétodo:Daruma_Registry_AplMensagem2(Índice 37).181 Não é possivel realizar Redução Z entre 00:00am e 02:00am (Meia Noite e Duas da Manhã) nestaversão de firmware da FS600 (está limitação existe nas versões 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

Page 176: 87514270 Daruma Framework

Daruma Framework163

Daruma Automação

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)

· Definição do Método:Retorna o valor acumulado no totalizador de Acrescimos Não Fiscais. (14 Posições).

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 14(quatorze) posições para receber o acrescimoNF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna a Quantidade de Cupons Fiscais Cancelados (4 dígitos).

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 4(quatro) posições para receber os CFcancelados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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);

Page 177: 87514270 Daruma Framework

Daruma Framework 164

Daruma Automação

1.9.6.78 Daruma_FI_RetornaCNFCancelados(Índice 1453)

· Definição do Método:Retorna a Quantidade de Cupons Nao Fiscais Cancelados (4 dígitos)

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 4(quatro) posições para receber os CNFcancelados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna contador de LeituraX - Quantidade de Vezes em foram emitidas LeituraX no dia.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 4(quatro) posições para receber o CLX contador deleiturasX´s emitidas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método não está disponível 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);

Page 178: 87514270 Daruma Framework

Daruma Framework165

Daruma Automação

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

1.9.6.80 Daruma_FI_RetornaCNFNV(Índice 1455)

· Definição do Método:Retorna o Valor Acumulado nos Comprovantes Não Fiscais Não Vinculados (14 dígitos) em cada sequênciae por sua vez um contador de 4 dígitos indicando a quantidade de vezes em que foram utilizados no ECF.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 304(trezentas e quatro) posições para receber oCNFNV contador de comprovantes não fiscais não vinculados emitidos.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método retorna os 16 Totalizadodes Não Fiscais Não Vinculados (CNFNV) na seguinte Ordem16 Blocos composto de: 14 bytesValor Acumulado no Comprovante Não Fiscal Não Vinculado..........: 14 bytes - Recebimento Não Fiscal.Contador deste Comprovante indicando a quant. de vezes utilizado.: 4 bytes+ 1 caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.

Retorno do Método:000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,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)

· Definição do Método:Retorna o Valor Acumulado nos Comprovantes Não Fiscais Vinculados (14 dígitos) em cada sequência epor sua vez um contador de 4 dígitos indicando a quantidade de vezes em que foram utilizados no ECF.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 304(trezentas e quatro) posições para receber o CNFVcontador de comprovantes não fiscais vinculados emitidos.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.

Page 179: 87514270 Daruma Framework

Daruma Framework 166

Daruma Automação

Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método retorna os 16 Totalizadodes Não Fiscais Vinculados (CNFV) na seguinte Ordem16 Blocos composto de: 14 bytes.Valor Acumulado no Comprovante Não Fiscal Vinculado..........: 14 bytesContador deste Comprovante indicando a quant. de vezes utilizado.: 4 bytes+ 1 caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.

· Retorno do Método:000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,000000000000000000,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)

· Definição do Método:Retorna o Valor Acumulado nos Comprovantes Não Fiscais Vinculados (14 dígitos) em cada sequência epor sua vez um contador de 4 dígitos indicando a quantidade de vezes em que foram utilizados no ECF.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 336 (trezentas e trinta e seis) posições para receber asdescrições dos CNFV comprovantes não fiscais vinculados cadastrados, no ECF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método retorna os 16 Descrições dos Comprovantes Não Fiscais Vinculados (CNFV) na seguinteOrdem16 Blocos composto de: 21 bytes para cada descrição.

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

Page 180: 87514270 Daruma Framework

Daruma Framework167

Daruma Automação

1.9.6.83 Daruma_FI_RetornaCRO(Índice 1457)

· Definição do Método:Retorna a quantidade de Vezes em que se Reiniciou a Operação no ECF.CRO - Contador de Reinício de Operaçãoo - Geralmente quando se cadastra um Novo Usuário no ECF.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 4(quatro) posições para receber o CRO contador de re-inicío de operações.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna a quantidade de Vezes em que se Realizou uma Redução Z.CRZ - Contador de Redução Z.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 4(quatro) posições para receber o CRZ contador deReduçõesZ`s emitidas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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);

Page 181: 87514270 Daruma Framework

Daruma Framework 168

Daruma Automação

1.9.6.85 Daruma_FI_RetornaCRZRestante(Índice 1459)

· Definição do Método:Retorna a quantidade Redução Z Restante.CRZ - Contador de Redução Z.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 4(quatro) posições para receber o CRZRestantecontador de ReduçõesZ´s Restantes.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna o Valor acumulado que indica o Total em Reais dos cancelamentos não fiscais Realizados

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 14(quatorze) posições para receber osCancelamentosNF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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);

Page 182: 87514270 Daruma Framework

Daruma Framework169

Daruma Automação

1.9.6.87 Daruma_FI_RetornaDescontoNF(Índice 1461)

· Definição do Método:Retorna o Valor acumulado que indica o Total em Reais dos descontos não fiscais Realizados.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 14(quatorze) posições para receber os DescontosNF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna a quantidade de vezes em que foram emitidos Documentos Não Fiscais. (O que não é CupomFiscal)Ex: Relatorio Gerencial, Vinculado, Receber valor agua, (recebimento não fiscal), Sangria, Suprimento,etc..GNF - Geral Não Fiscal

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 6(seis) posições para receber os GNF´s.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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);

Page 183: 87514270 Daruma Framework

Daruma Framework 170

Daruma Automação

1.9.6.89 Daruma_FI_RetornaTempoImprimindo(Índice 1463)

· Definição do Método:Retona o Tempo em que esteve imprimindo documentos (tempo em Minutos)

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 4(quatro) posições para receber o tempo em que aimpressora ficou imprimindo.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retona o Tempo em que esteve Ligada (tempo em Minutos)

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 4(quatro) posições para receber o tempo em que aimpressora permaneceu ligada.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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);

Page 184: 87514270 Daruma Framework

Daruma Framework171

Daruma Automação

1.9.6.91 Daruma_FI_RetornaTotalPagamentos(Índice 1465)

· Definição do Método:Retorna o Total contabilizado em Reais nas 16 Formas de Pagamento do ECF.Retorna em Blocos de 14 dígitos o valor acumulado de cada forma de pagamento.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 304(trezentas e quatro) posições para receber os totaisacumulados nas formas de pagamento que foram utlizadas no período.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método retorna o Valor das 14 Formas de Pagamento na seguinte Ordem16 Blocos composto de:Valor Acumulado na Forma de Pagamento.........: 14 bytes+ 1 caráctere Separador, conforme configurado no Registry com o Método 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)

· Definição do Método:Retorna o Valor Acumulado no acumulador Troco da Impressora, com 14 dígitos.

· Parâmetros do Método:String: Variável por refêrencia com o tamanho de 14(quatorze) posições para receber o valor do troco.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este acumulador Troco, é incrementado ao longo do movimento do dia, e zerado após a emissão daReduçãoZ.

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:

Page 185: 87514270 Daruma Framework

Daruma Framework 172

Daruma Automação

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)

· Definição do Método:Retorna o Valor da CADA Registrador não Fiscal do ECF. Veja a descrição Abaixo

· Parâmetros do Método:String: com 950(novecantas e cinquenta) posições onde a dll irá retornar o valor de CADA TOTALIZADORou REGISTRADOR não fiscal do ECF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

- Este Método retorna as informações dos Registradores não Fiscais, cada registrador separado pelocaráctere Separador que você escolher ou programar na dll (o Default é ";") (caráctere Separador,conforme configurado no Registry com o Método Daruma_Registry_Separador.)

Page 186: 87514270 Daruma Framework

Daruma Framework173

Daruma Automação

CAMPO Tamanho Separador Tamanho ToTal

COO Inicial 5 1 6 Pocições

COO Final 5 1 6 Posições

Contador Geral Não Fiscal 6 1 7 Posições

Número de Cupons FiscaCancelado

4 1 5 Posições

Número de Cupom NFiscalCancelado

4 1 5 Posições

Contador de Leitura X Efetuada 4 1 5 Posições

Zeros Para Uso Futuro 4 1 5 Posições

Contador de Reinicio de Operação 4 1 5 Posições

Contador de Redução Z 4 1 5 Posições

Redução Z Restante 4 1 5 Posições

Total de Cada Forma dePagamento (16 Formas dePagamento com 14 Posições cadauma, indicando o ValorAcumulado até o momento)

16 * 14 1 225 Posições

Troco Acumulado 14 1 15 Posições

Contador de Uso e ValorAcumulado dos ComprovantesNão Fiscais Não Vinculado ( 16Totalizadores, cada um deles com14 Posições indicando o ValorAcumulado + 4 Posiçõesindicando a Quantidade de Vezesem que foi Utilizado)

16 *( 14 +4 )

1 289 Posições

Valor de Desconto Não Fiscal 14 1 15 Posições

Acrescimo Não Fiscal 14 1 15 Posições

Cancelamento Não Fiscal 14 1 15 Posições

Contador de Uso e ValorAcumulado dos ComprovantesNão Fiscais Vinculado ( 16Totalizadores, cada um deles com14 Posições indicando o ValorAcumulado + 4 Posiçõesindicando a Quantidade de Vezesem que foi Utilizado)

16 *( 14 +4 )

1 289 Posições

Tempo do ECF Ligada (emMinutos)

4 1 5 Posições

Tempo do ECF Imprimindo 4 1 5 Posições

Zeros Para Uso Futuro 10 1 11 Posições

Zeros Para Uso Futuro 10 1 11 Posições

Exemplos:

· 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

Page 187: 87514270 Daruma Framework

Daruma Framework 174

Daruma Automação

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)

· Definição do Método:Retorna o Valor da CADA Registrador Fiscal do ECF. Veja a descrição Abaixo

· Parâmetros do Método:String: com 400(quatrocentas) posições onde a dll irá retornar o valor de CADA TOTALIZADOR ouREGISTRADOR não fiscal do ECF.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método retorna as informações dos Registradores Fiscais, cada registrador separado pelo caráctereSeparador que você escolher ou programar na dll (o Default é ";") (caráctere Separador, conformeconfigurado no Registry com o Método Daruma_Registry_Separador1.)

CAMPO Tamanho Separador Tamanho ToTal

GT Inicial (Grande Total doComeço do DIA)

18 1 19 Pocições

Valor dos Descontos 14 1 15 Posições

Valor dos Cancelamentos 14 1 15 Posições

Valor dos Isentos ( II ) 14 1 15 Posições

Valor dos Não Incidentes ( NN ) 14 1 15 Posições

Valor da Substituição ( FF ) 14 1 15 Posições

Valor de Cada Aliquota (16Aloquotas com 14 Posições cadauma indicando o Valor Acumuladoem Cada uma delas)

16*14 1 225 Posições

Acrescimo IOF (ImpostoOperação Financeira)

14 1 15 Posições

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)

· Definição do Método:Retorna o Valor de um Comrpovante Não Fiscal do ECF. Veja a descrição Abaixo

Page 188: 87514270 Daruma Framework

Daruma Framework175

Daruma Automação

· Parâmetros do Método:String: com o índice do Comprovante Não Fiscal, que se deseja saber o total acumulado.String: com 14(quatroze) posições onde a dll irá retornar o valor acumulado do TOTALIZADOR indicado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Indice_CNF As StringStr_Informacao = Space(14)Str_Indice_CNF = InputBox("Entre com o Índice do Comprovante Não Fiscal para saber o TotalAcumulado:", "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 TotalAcumulado:', '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)

· Definição do Método:Retorna o Índice de um Comprovante Não Fiscal do ECF. Veja a descrição Abaixo

· Parâmetros do Método:String: com a descrição do Comprovante Não Fiscal, que se deseja saber o seu ÍndiceString: com 2(duas) posições para receber o índice do Comprovante selecionado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Descricao_CNF As StringStr_Informacao = Space(2)Str_Descricao_CNF = InputBox("Entre com a Descrição do Comprovante Não 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 oIndice:', 'Daruma Framework', 'Conta de Luz'); Int_Retorno := Daruma_FI_RetornaIndiceComprovanteNaoFiscal (Str_Descricao_CNF ,

Page 189: 87514270 Daruma Framework

Daruma Framework 176

Daruma Automação

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

end;

1.9.6.97 Daruma_FI_RetornarVersaoDLL(Índice 1502)

· Definição do Método:Retorna a versão da DLL, válido para o produto fiscal.

· Parâmetros do Método:String: com 8(oito) posições para receber a versão fiscal da DLL.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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 Métodos Exclusivos para a Impressora MFD

1.10.1 Daruma_FIMFD_DownloadDaMFD (Índice 6004)

· Definição do Método:Este método gera um arquivo com o nome de Retorno.txt no path que estiver configurado no registryDaruma_Registry_Path(Índice 2), com a 2ª(segunda) via dos cupons que estão no range informado desdeo COO inicial até o COO final.

· Parâmetros do Método:COO Inicial. String com o número do primeiro COO.COO Final. String com o número do último COO.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O Download da MFD só será possível na FS600/FS2100T versão de firmware 1.01 ou superior.

· Exemplo de retorno:

Page 190: 87514270 Daruma Framework

Daruma Framework177

Daruma Automação

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

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)

· Definição do Método:Este método permite que você pegue qualquer informação no que diz respeito às configurações daimpressora.

· Parâmetros do Método:Variáveis String por referência para receber as informacoes solicitadas.

Page 191: 87514270 Daruma Framework

Daruma Framework 178

Daruma Automação

Exemplo: Para receber o número de casas decimais que estão programadas para o valor.Variável String por referência com 2(dois) espaços alocados para receber o numero de decimais do valor.Variável String por referência com 2(dois) espaços alocados para receber o numero de decimais daquantidade.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:· Exemplo em Visual Basic 6.0:'Este trecho de código exemplifica o retorno das decimais do valor, quantidadeDim Str_Indice As StringDim Str_Valor As StringDim 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 código 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 informações que podem serem obtidas

C Tamanho Tipo Informação

1 18 N GT Grande Total

2 18 N GT Do início do dia

3 28 x 13 N T01 a T16 + F1 + F2+ I1 + I2 + N1 + N2 + FS1 + FS2 + IS1 +IS2 + NS1+ NS2 (alíquotas)

4 3 x 13 N Totalizadores de Descontos + Acréscimos + Cancelamentos ICMS

5 3 x 13 N Totalizadores de Descontos + Acréscimos + Cancelamentos ISS

Page 192: 87514270 Daruma Framework

Daruma Framework179

Daruma Automação

6 20 X 13 N Totalizador de Meios de Pagamento 01 a 20

7 13 N Totalizador de Troco

8 13 N Totalizador Não - Fiscal de Sangria

9 19 x 13 N Totalizadores Não - Fiscais 02 a 20

10 3 x 13 N Totalizadores de Descontos + Acréscimos + Cancelamentos NãoFiscais

11 13 N Totalizador de Descontos ICMS

12 13 N Totalizador de Acréscimos ICMS

13 13 N Totalizador de Cancelamentos ICMS

14 13 N Totalizador de Descontos ISS

15 13 N Totalizador de Acréscimos ISS

16 13 N Totalizador de Cancelamentos ISS

17 13 N Totalizador de Descontos Não Fiscais

18 13 N Totalizador de Acréscimos Não Fiscais

19 13 N Totalizador de Cancelamentos Não Fiscais

20 3 + 4 + 4 N 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-Início de Operação (Este contador é incrementado todasas vezes em que a impressora sofre uma Intervenção Técnica)

24 4 N CRZ Contador de ReduçãoZ

25 4 N CRZ Restantes

26 6 N COO Contador de Ordem de Operação (este contador será incrementadotodas as vezes em que for emitido um documanto quelquer)

27 6 N COO Inicial (este contador traz o número do primeiro documento emitidologo após a ReduçãoZ)

28 6 N GNF - Contador dos documentos Não Fiscais (ex: sangria, suprimentos eoutros)

29 6 N GNF - Inicial (*) (contador do primeiro comprovante não fiscal do dia)

30 6 N CCF - Contador Cupom Fiscal

Page 193: 87514270 Daruma Framework

Daruma Framework 180

Daruma Automação

31 6 N CCF - Inicial (*) (contador do primeiro cupom fiscal do dia)

32 6 N CVC - Contador Vinculado Cancelado

33 6 N GRG - Geral Relatorio Gerencial (número de gerencial emitidos)

34 6 N GRG - Inicial (*) (contador do primeiro relatório gerencial do dia)

35 6 N CFD - Contador de Fita Detalhe Quantas vezes foram emitidas as segundavia na Impressora

36 6 N CBP - Contador do Cupom Bilhere de Passagem

37 4 N NFC - Não Fiscal Cancelado (número de não fiscais cancelados)

38 4 N CMV - Contador de Movimento Vinculado (Número de vezes em que foiusado um Vinculado)

39 4 N CFC - Contador de Cupom Fiscal Cancelado

40 4 N CNC - Contador de Cupom Não Fiscal Cancelado

41 4 N CBC - Contador de Bilhete Cancelado

42 4 N NCN - Número Cancelamento Não Fiscal - Contador Cancelamento NãoFiscal Número de Não Fiscal Cancelado

43 20 x 4 N CON

44 20 x 4 N CER

45 4 N CDC - Contador de Débito e Crédito (antigo Não Fiscal Vinculado)

46 1 N Tipo do documento cancelável (0=nenhum, 1=CF, 2=CNF)

47 12 N Subtotal do documento

48 12 N Soma dos pagamentos aplicados ao documento atual

49 12 N Saldo restante a pagar

50 6 N COO do documento cancelável

51 6 N CCF do documento cancelável

52 6 N GNF do documento cancelável

53 4 N Número de CCDs emitidos em relação ao documento cancelável

54 4 N Número de CCDs estornados em relação do documento cancelável

55 6 N Número de itens cancelados no movimento atual

56 1 N Tipo do documento atual 0 = nenhum documento 1= CF 2=CNF 3=CCD4=RG

Page 194: 87514270 Daruma Framework

Daruma Framework181

Daruma Automação

57 1 N Estado do CF / CNF 0 = fechado 1 = CF em registro de item 2 = CF emtotalização 3 = CF em pagamento 4 = CF em finalização 5 = CNF em registro de item 6 = CNF emtotalização 7 = CNF em pagamento 8 = CNF em finalização

58 3 N Número do último item registrado (CF ou CNF)

59 11 N Valor bruto do último item registrado

60 11 N Valor do desconto do último item registrado

61 11 N Valor do acréscimo do último item registrado

62 11 N Valor líquido do último item registrado

63 12 N Troco do documento atual

64 1 N Número de autenticações restantes

65 12 N Valor a autenticar

66 14 N Data atual (DDMMAAAA hhmmss)

67 6 N Tempo emitindo documentos fiscais (segs)

68 6 N Tempo operacional (segs)

69 8 N Dia da tolerância de 2h para RZ (DDMMAAAA)

70 8 N Data do Movimento (DDMMAAAA)

71 8 N Data com ECF bloqueado até 23:59:59h

72 14 N Data da abertura do último documento (DDMMAAAA hhmmss)

73 14 N Data do fechamento impressa no último documento

74 14 N Data de fechamento do último documento ( não FD )

75 14 N Data do último registro gravado na MF (DDMMAAAA hhmmss)

76 14 N Data da primeira execução do SB (DDMMAAAA hhmmss)

77 20 A Número de série da MFDE

78 20 + 1 A Número de fabricação do ECF

79 7 A Tipo do ECF

80 20 A Marca do ECF

81 20 A Modelo do ECF

82 6 N Código de modelo Daruma

Page 195: 87514270 Daruma Framework

Daruma Framework 182

Daruma Automação

83 6 N Versão do SB instalado (firmaware)

84 6 N Versão do SB gravado na MF (firmaware)

85 14 N Data da atualização da versão do SB (firmaware)

86 2 N Número de ordem seqüencial da versão do SB (firmaware)

87 40 A Razão Social

88 96 A Nome Fantasia do Usuário

89 69 A Endereço do Usuário

90 20 A CNPJ do usuário atual

91 20 A IE do usuário atual

92 20 A IM do usuário atual

93 14 + 4 + 3 N Data + CRZ + CRO de cadastro do usuário

94 2 N Número de ordem seqüencial do usuário

95 2 A Símbolo da moeda atual

96 14 N Data de cadastro do símbolo da moeda atual

97 2 N Número de ordem seqüencial do símbolo da moeda

98 10 A Símbolos de codificação do GT

99 14 N Data de cadastro dos símbolos atuais de decodificação do GT

1002 N Número de ordem seqüencial dos símbolos de decodificação

1014 x 25 A Nome da Moeda: singular + plural + fração singular + fração plural(cheques)

102 A CMC-7

1035 N % disponível na MFDE

1048 H Capacidade da MFDE (em Hex )

105 SEM USO

106 SEM USO

1073 N ECF

1081 N Configuração: 1 se em H.Verão, 0 se não

1091 N Configuração: 1 se desconto em ISS habilitado, 0 se não

Page 196: 87514270 Daruma Framework

Daruma Framework183

Daruma Automação

1101 N Configuração: 1 se descrição em 1 linha habilitado, 0 se não

1111 N Configuração: 1 se imprime zeros não significativos na quantidade, 0 senão

1121 N Configuração: 1 se imprime zeros não significativos no valor unitário, 0 senão

1131 N Configuração: 1 se guilhotina habilitada

1141 N Configuração: 1 se Cupom Adicional habilitado

1151 N Configuração: 1 se mensagem promocional em CNF habilitada

1161 N Baud Rate da porta do fisco

1171 N Baud Rate da porta do usuário

1181 N Configuração: 1 se transmissão pela porta do usuário respeita CTS, 0 senão

1191 N Impressão antecipada de clichê: 0 = Sim / 1 = Não

1203 N Atraso entre caracteres na transmissão pela porta do usuário

1212 N Separação entre linhas em passos de 1/216"

1222 N Separação entre documentos, em linhas

1232 N Linha de acionamento da guilhotina

1243 x 18 N Logotipo para autenticação

12516 x 5 N Tipo + carga tributária ( S/T + nnnn ) (**)

12620 x 15 A Meios de Pagamento ( nome ) (**)

12720 x 15 A Nomes dos Totalizadores Não-Fiscais (**)

12820 x 15 A Nome dos Relatórios Gerenciais (**)

1294 N Número da Loja

13020 A Operador programado

13184 A Identificação do programa aplicativo

132Até 49+49+121 A Clichê do proprietário

1332 N Índice do primeiro meio de pagamento vinculável

13414 N Data do movimento anterior

1354 Até 7250 N B Tamanho útil do campo do logotipo Dados do campo do logotipo

1363 N Configuração dos bits de segurança do controlador da MF

Page 197: 87514270 Daruma Framework

Daruma Framework 184

Daruma Automação

1376 A Versão do SB da MFD

13810 A Modo de compatibilidade

1392 N Número de decimais da quantidade Número de decimais do valorunitário

1401164 N Informações da última RZ Data do Movimento 8Grande Total 18Grande Total Inicial 18Descontos ICMS 14Descontos ISS 14Cancelamentos ICMS 14Cancelamentos ISS 14Acréscimos ICMS 14Acréscimos ISS 14Tributados ICMS/ISS 224F1 ICMS 14F2 ICMS 14I1 ICMS 14I2 ICMS 14N1 ICMS 14N2 ICMS 14F1 ISS 14F2 ISS 14I1 ISS 14I2 ISS 14N1 ISS 14N2 ISS 14Totalizadores NF 280Descontos NF 14Cancelamentos NF 14Acréscimos NF 14Alíquotas 80CRO 4CRZ 4CRZ Restante 4COO 6GNF 6CCF 6CVC 6GRG 6CFD 6CBP 6NFC 4CMV 4CFC 4CNC 4CBC 4NCN 4CDC 4CON 80CER 80

1411 N Página de código atual -> 0-COM 1-CP850 2-ABICOMP 3-CP437

Page 198: 87514270 Daruma Framework

Daruma Framework185

Daruma Automação

1.10.3 Daruma_FIMFD_ImprimeCodigoBarras (Índice 6001)

· Definição do Método:Este método permite a impressão dos códigos de barras nas MFD´s FS600 e FS2100T.Esta impressão poderá ser feita à partir de qualquer documento não fiscal que esteja aberto, exemplos:gerêncial, não fiscal vinculado.

· Parâmetros do Método: (5 Parâmetros)1. Código: Variável String com 2(dois) dígitos contendo o código do tipo de código 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-CODABARMSICODE11

2. Variável String com o código a ser impresso. Obs.: O tamando do código e o tipo dos carácteresque poderão serem impressos deverá respeitar a lista abaixo:EAN-13 12 dígitos de 0 a 9EAN-8 7 dígitos de 0 a 9UPC-A 11 dígitos de 0 a 9CODE 39 Tamanho variável. 0-9, A-Z, '-', '.', '%', '/', '$', ' ', '+'O caracter '*' de start/stop é inserido automaticamenteCODE 93 Tamanho variável. 0-9, A-Z, '-', '.', ' ', '$', '/', '+', '%'O caracter '*' de start/stop é inserido automaticamenteCODABAR tamanho variável. 0 - 9, '$', '-', ':', '/', '.', '+'Existem 4 diferentes caracteres de start/stop: A, B, C, andD que são usados em pares e não podem aparecer emnenhum outro lugar do código.CODE 11 Tamanho variável. 0 a 9As barras são geradas com checksum de dois caracteresCODE 128 Tamanho variável. Todos os caracteres ASCIIInterleaved 2 of 5 Tamanho sempre par. 0 a 9Standard 2 of 5 Tamanho variável. 0 a 9MSI Tamanho variável. 0 a 9

3. Largura da Barra: Variável 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: Variável String com 3(três) 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. Imressão do Código do Produto abaixo do da barra: Variável String com 1(um) byte, 0(zero) nãoimprime 1(um) imprime.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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))

Page 199: 87514270 Daruma Framework

Daruma Framework 186

Daruma Automação

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:beginDaruma_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)

· Definição do Método:Este método permite que você termine o fechamento do cupom e inclua o código de barras, nos modelosFS600 e também FS2100T.

· Parâmetros do Método: (6 Parâtremos)1. Mensagem: Variável String com a mengasem promocional.2. Código: Variável String com 2(dois) dígitos contendo o código do tipo de código 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-CODABARMSICODE11

3. Largura da Barra: Variável String 1(um) byte com a largura da barra a ser impressa, vovê poderá usaruma medida entre 2 e 5. Se for utilizado zero será considerado 2.4. Altura da Barra: Variável String com 3(três) 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. Imressão do Código do Produto abaixo do da barra: Variável String com 1(um) byte, 0(zero) nãoimprime 1(um) imprime.6. Variável String com o código a ser impresso. Obs.: O tamando do código e o tipo dos carácteresque poderão serem impressos deverá respeitar a lista abaixo:

EAN-13 12 dígitos de 0 a 9EAN-8 7 dígitos de 0 a 9UPC-A 11 dígitos de 0 a 9CODE 39 Tamanho variável. 0-9, A-Z, '-', '.', '%', '/', '$', ' ', '+'O caracter '*' de start/stop é inserido automaticamenteCODE 93 Tamanho variável. 0-9, A-Z, '-', '.', ' ', '$', '/', '+', '%'O caracter '*' de start/stop é inserido automaticamenteCODABAR tamanho variável. 0 - 9, '$', '-', ':', '/', '.', '+'Existem 4 diferentes caracteres de start/stop: A, B, C, andD que são usados em pares e não podem aparecer emnenhum outro lugar do código.

Page 200: 87514270 Daruma Framework

Daruma Framework187

Daruma Automação

CODE 11 Tamanho variável. 0 a 9As barras são geradas com checksum de dois caracteresCODE 128 Tamanho variável. Todos os caracteres ASCIIInterleaved 2 of 5 Tamanho sempre par. 0 a 9Standard 2 of 5 Tamanho variável. 0 a 9MSI Tamanho variável. 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);

Page 201: 87514270 Daruma Framework

Daruma Framework 188

Daruma Automação

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)

· Definição do Método:Este método permite que você saiba qual é a posição do primeiro vinculado.

· Parâmetros do Método:Variável String por referência com 2(dois) espaços alocados para receber a posição índice.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.

Page 202: 87514270 Daruma Framework

Daruma Framework189

Daruma Automação

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Este método permite que você saiba qual é o número de casas decimais que está programado para ovalor e também para a quantidade na FS600 e também FS2100T.

· Parâmetros do Método:Variável String por referência com 2(dois) espaços alocados para receber o numero de decimais do valor.Variável String por referência com 2(dois) espaços alocados para receber o numero de decimais daquantidade.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:· Exemplo em Visual Basic 6.0:Dim Str_Decimais_Quantidade As StringDim Str_Decimais_Valor As StringStr_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;

Page 203: 87514270 Daruma Framework

Daruma Framework 190

Daruma Automação

1.10.7 Daruma_FIMFD_StatusCupomFiscal (Índice 6008)

· Definição do Método:Retorna o status atual do cupom fiscal na FS600 e também FS2100T.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método irá retornar um dos seguintes status:

0 Cupom Fiscal Fechado;1 Cupom Fiscal Aberto;2 Cupom Fiscal em Totalização;3 Cupom Fiscal em Fase de Pagamento;4 Cupom em Finalização (ou seja, já indicou as formas de pagamento e o valor já é igual ou maior

que o cupom fiscal, não 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)

· Definição do Método:Este método permite que você programe um aviso sonoro na FS600 e também FS2100T.

· Parâmetros do Método:Valor: Variável String valor que equivale ao número de beeps (sinais) que você que de ao final daimpressão, se configurado 0(zero) então será desabilitado.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método irá habilitar o sinal sonoro, quando passado 1 um beep, se for passado 2 então terá doisbeeps ao término da impressão, se quizer três beeps, então passe 3.

Exemplos:· Exemplo em Visual Basic 6.0:Dim Str_Numero_Beeps As String

Str_Numero_Beeps = InputBox("Entre com o número de beeps desejado, que pode ser de 1 a 99beeps:", "Daruma Framework", "1")If (Str_Numero_Beeps = "") Then Exit Sub

Page 204: 87514270 Daruma Framework

Daruma Framework191

Daruma Automação

End IfInt_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 número de beeps desejado, quepode 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)

· Definição do Método:Este método permite que você programe relatórios gerenciais nas impressoras Térmicas FS600 e tambémFS2100T.

· Parâmetros do Método:Nome Relatório: Variável String contendo um nome para o relatório com até 15 caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Na primeira posição você sempre terá Gerencial X, que é default.- O número máximo de relatórios que poderão ser programados é de 20(vinte), sendo que a primeiraposição já vem programada de fábrica.

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)

· Definição do Método:Este método permite que você abra um relatório gerencial, previamente programado.

· Parâmetros do Método:Nome Relatório: Variável String contendo o nome do relatório com até 15 caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECF

Page 205: 87514270 Daruma Framework

Daruma Framework 192

Daruma Automação

sinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Caso prefira antes de enviar o comando de abertura, verificar se o relatório esta aberto utilize ométodo: 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)

· Definição do Método:Este método permite que você verifique os relatórios gerenciais existentes em sua impressora.

· Parâmetros do Método:String: com 321(trezentas e vinte e uma) posições onde a dll irá retornar as descrições de cada relatóriogerencial programado em sua impressora.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:· Exemplo em Visual Basic 6.0:Str_Informacao = Space(321)Int_Retorno = Daruma_FIMFD_VerificaRelatoriosGerenciais(Str_Informacao)TX_Retorno.Text = Str_InformacaoDaruma_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)

· Definição do Método:Este método permite a impressão de um cupom adicional, que é feito dentro de um gerencial, somentenas impressoras Térmicas FS600 e FS2100T. Portanto não é compatível com a FS345.

· Parâmetros do Método:Não Há.· Retornos do Método:

Page 206: 87514270 Daruma Framework

Daruma Framework193

Daruma Automação

0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplo de um cupom adicional, recuperado da MFD:

28/09/2006 03:15:38 GNF:000046 COO:000234GRG:000025 CER:0002 � RELATÓRIO GERENCIAL � � Cupom Adicional �

1)28/09/2006 03:14:23 2)CCF:000130 3)COO:0002334)Qt Itens Vend:002 5)Qt Itens Canc:000 6)Tempo:00068s7)Valor:R$ 0,20 8)Aliquotas:18,009)Dinheiro:R$ 0,20�� DARUMA32 FrameWork Mensagem Não Programada DARUMA32 FrameWork Mensagem Não ProgramadaDARUMA AUTOMAÇÃO FS600ECF-IF VERSÃO:01.03.00 ECF:001 Lj:AAAAAAAAAAAAIBHBJC 28/09/2006 03:15:40FAB:DR0206BR000000080835

Como pode ser visto no exemplo acima, as informações contidas no cupom adicional são:

1. Data e Hora da Emissão;2. CFF Contador Cupom Fiscal;3. COO Contador Ordem Operação;4. Qtde Itens Vendidos;5. Qtde de Itens Cancelados;6. Tempo de Impressão;7. Valor Total do Cupom;8. Alíquotas usadas, menos Isento, Não Tributado e Substituição Tributária;9. Forma de Pagamento x Valor;10. Reservado para uso futuro.

· Observação:- Para alterar a configuração dos ítens que serão impressos, você deverá utilizar o método:

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)

· Definição do Método:Este método permite o acionamento da guilhotina nas impressoras FS600.

· Parâmetros do Método:Não há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Page 207: 87514270 Daruma Framework

Daruma Framework 194

Daruma Automação

Observação:- Este método é esclusivo para impressora térmica 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)

· Definição do Método:Este método permite a re-estabelecer a comunicação com a impressora MFD.

Este método foi criado porque as MFD's FS600 e FS2100T permiten-se trabalhar com um range develocidade:9600, 38400, 54700 e 115200.

Assim sendo, não é difícil de a impressora estar em uma velociade de comunicação e o nosso driverDaruma32.dll estar tentando comunicar-se com a impressora a uma outra velocidade.

Se isso vier a ocorrer com você, então basta executar este método, a dll irá encontrar a velocidade emque encontra-se a impressora e devolver em uma variável passada por referência.

· Parâmetros do Método:(1 Parâmetro)EqualizaVelocidade. Variável por referência, com 6 espaços para receber a velocidade que esta aimpressora.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observação:- Este método é esclusivo para impressoras térmicas 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:varStr_EqualizaVelocidade: String;begin SetLength (Str_EqualizaVelocidade,6); Int_Retorno:= Daruma_FIMFD_EqualizarVelocidade(Str_EqualizaVelocidade); Application.MessageBox(pchar('Retorno do metodo = ' + Str_EqualizaVelocidade), 'Daruma FrameworkRetorno do Metodo', mb_ok); Daruma_Analisa_Retorno();end;

Page 208: 87514270 Daruma Framework

Daruma Framework195

Daruma Automação

1.10.15 Daruma_FIMFD_AbreRecebimentoNaoFiscal(Índice ????)

· Definição do Método:Abre o recebimento não fiscal "CNFNV", nas impressoras MFD's FS600 e 2100T.

· Parâmetros do Método: (3 Parâmetros)1. CPF: Neste parâmetro você deve passar o CPF cliente2. Nome: Neste parâmetro você deve passar o nome do cliente3. Endereço: Neste parâmetro você deve passar o nome do cliente

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método não poderá ser aplicado para Sangria ou Suprimento.- Este Método abre o recebimento não fiscal que permanece aberto até que seja chamado o MétodoDaruma_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 através doMétodo:Daruma_FI_StatusComprovanteNaoFiscalNaoVinculado(Índice 1471).- Este Método deverá ser usado sempre que for preciso informar mais de uma forma de pagamento, noRecebimento.- Não existe Método para fechamento deste Método, o mesmo se fechará automaticamente, quando ototal do recebimento for pago.- Caso seja passado no parâmetro Índice do Totalizador Sangria, o Método será executado, porém ocupom será fechado automaticamente.

Exemplos:· Exemplo em Visual Basic 6.0:Dim Str_Nome As StringDim Str_CPF As StringDim 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;

Page 209: 87514270 Daruma Framework

Daruma Framework 196

Daruma Automação

1.10.16 Daruma_FIMFD_RecebimentoNaoFiscal(Índice ????)

· Definição do Método:Imprime o comprovante não fiscal não vinculado, Recebimento Não Fiscal, nas impressoras MFD's FS600 e2100T).

· Parâmetros do Método: (5 Parâmetros)1. Índice do Totalizador Não Fiscal: Neste parâmetro você deve passar o índice do totalizador com 2

dígitos.2. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para

desconto.3. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.4. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual.5. Valor do Recebimento: String com o valor da forma de pagamento com até 14 dígitos.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método não poderá ser aplicado para Sangria ou Suprimento.- Este Método é único, ou seja você não precisará chamar outro método para encerrá-lo.- Caso você necessite informar mais de uma forma de pagamento então deve-se usar o MétodoDaruma_FIMFD_AbreRecebimentoNaoFiscal(Índice ????).

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Indice_do_Totalizador_Nao_Fiscal As StringDim Str_Acresc_ou_Desc As StringDim Str_Tipo_Acresc_Desc As StringDim Str_Valor_Acresc_Desc As StringDim 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';

Page 210: 87514270 Daruma Framework

Daruma Framework197

Daruma Automação

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

· Definição do Método:Inicia o fechamento do recebimento não fiscal com o uso das formas de pagamento, nas impressorasMFD's FS600 e 2100T).

· Parâmetros do Método: (3 Parâmetros)1. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para

desconto.2. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.3. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual (2 casas decimais).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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, porém todos com alíquota de serviço e o ECF não estejahabilitado para desconto em serviço você poderá receber erro 24 ou 44, então o desconto não serápermitido. Importante para habilitar o desconto sobre serviço é preciso que seja feito por meio deIT(interveção técnica) e isso só pode ser feito por uma assistência técnica autorizada Daruma.- Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alíquota de serviço e oECF não esteja habilitado para o desconto, então o desconto incidirá sobre os itens com alíquota de ICMS.- E caso o ECF esteja habilitado para desconto em serviço então para um cupom onde os itens sejam comalíquota de serviço e também alíquota de ICMS o desconto será sobre todos os itens independentementeda alíquota.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Acrescimo_ou_Desconto As StringDim Str_Tipo_do_Acrescimo_ou_Desconto As StringDim 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';

Page 211: 87514270 Daruma Framework

Daruma Framework 198

Daruma Automação

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

· Definição do Método:Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma, nas impressoras MFD's FS600e 2100T).

· Parâmetros do Método: (3 Parâmetros)1. Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres.2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.3. Observação Livre: String com até 48 caracteres, na FS345 e até 82 na FS600/FS2100T.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O fechamento do comprovante não fiscal acontecerá automaticamente assim que o total docomprovante não fiscal seja atingido.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Descricao_da_Forma_Pagamento As StringDim Str_Valor_da_Forma_Pagamento As StringDim 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;

Page 212: 87514270 Daruma Framework

Daruma Framework199

Daruma Automação

1.10.19 Daruma_FIMFD_TerminaFechamentoNaoFiscal(Índice ????)

· Definição do Método:Termina o fechamento do cupom com mensagem promocional, nas impressoras MFD's FS600 e 2100T).

· Parâmetros do Método: (1 Parâmetro)Mensagem Promocional: String com a mensagem promocional com até 384 caracteres (8 linhas X 48colunas).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na mensagem promocional.- A forma de pagamento deve ter sido efetuada.- Na impressora fiscal Daruma, serão 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_MostrarRetornoEnd 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)

· Definição do Método:Este método permite que seja programada a guilhotina, na FS600. Permite também que seja programadoo espaçamento entre os documentos e também se o clichê do proprietário será impressora de formaantecipada.

· Parâmetros do Método: (4 Parâmetros)Linhas entre os Documentos: String com o Número de Linhas que você quer de separação entre osdocumentos impressos.Linhas para o Acionamento da Guilhotina: String com o número de Linhas para o Acionamento daGuilhotina.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 nào imprimir o clichê de forma antecipada. Sendoque 0(zero) habilita e 1(um) desabilita.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.

Page 213: 87514270 Daruma Framework

Daruma Framework 200

Daruma Automação

Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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_Cliche); Framework_Impressoras_Fiscais.Daruma_Analisa_Retorno();end;

1.11 Métodos Exclusivos para a Impressora FS2000

1.11.1 Daruma_Registry_FS2000_CupomAdicional(Índice 35)

· Definição do Método:Programa a Impressora FS2000 para poder emitir um Cupom Adicional

· Parâmetros do Método: (1 Parâmetro)Variável String:- 1 Programa.- 0 Desprograma.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Por Default a dll irá senpre deixar o cupom adicional desprogramado, portanto caso você queira utilizá-lodeverá chamar este método no início de seu código.

Exemplos:

Page 214: 87514270 Daruma Framework

Daruma Framework201

Daruma Automação

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

· Definição do Método:Ajusta o tempo de espera para o posicionamento impressão do cheque para a impressão.

· Parâmetros do Método: (1 Parâmetro)Variável String: Com o tempo em segundos.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método e aplicado para obter-se mais tempo na hora de posicionar o cheque para a impressão.

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 serPosicionado:", "Daruma Framework", "5")If Str_Tempo_Espera_Cheque = "" Then Exit SubEnd IfInt_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 serPosicionado:', '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)

· Definição do Método:Retorna o status Cheque, se o mesmo posiocionado para impressão ou não.

· Parâmetros do Método: (1 Parâmetro)Variável por refêrencia : com 2(dois) espaços alocados para escrita do Status

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

Page 215: 87514270 Daruma Framework

Daruma Framework 202

Daruma Automação

· Exemplo em Visual Basic 6.0:Dim Str_Status_Cheque As StringStr_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)

· Definição do Método:Imprime Cheque na FS2000.

· Parâmetros do Método: (6 Parâmetros)1. Número do Banco: String com 03 caracteres contendo o número do banco.2. Cidade de Emissão: String com o nome da cidade de emissão do cheque.3. Data de Emissão: String com a data de emissão 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. Posição do Cheque: String com a posição do cheque.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Numero_do_Banco As StringDim Str_Cidade_de_Emissao As StringDim Str_Data_de_Emissao As StringDim Str_Favorecido As StringDim Str_Valor As StringDim 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';

Page 216: 87514270 Daruma Framework

Daruma Framework203

Daruma Automação

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)

· Definição do Método:Imprime Texto no Verso do Cheque na FS2000.

· Parâmetros do Método: (1 Parâmetro)String: com até (80) caracteres contendo o texto que se deseja imprimir.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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 SubEnd IfInt_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)

· Definição do Método:Libera o Cheque na FS2000.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:

Page 217: 87514270 Daruma Framework

Daruma Framework 204

Daruma Automação

Int_Retorno = Daruma_FI2000_LiberarCheque()

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

1.11.7 Daruma_FI2000_LeituraCodigoMICR(Índice 5007)

· Definição do Método:Lê o MICR(codigo CMC7) na FS2000.

· Parâmetros do Método:Leitura MICR: Variável por refêrencia com (40) posições para receber o Codigo.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Para que a leitura do CMC7 seja possível há 3(três) condições:

1º)A impressora tem de ter o leitor que é opcional.2º)A leitura só é possível ser feita com o cheque posicionado na vertical e com o código de barras

voltado para o lado externo, ou seja para a para o lado direito.3º)Posicione o cheque somente após o envio do método.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Cdigo_MICR As StringStr_Codigo_MICR = Space(40)Int_Retorno = Daruma_FI2000_LeituraCodigoMICR(Str_Codigo_MICR) 'Este método le o Codigo direto dochequeTX_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)

· Definição do Método:Cancela o Médoto de impressão de cheque na FS2000.

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_FI2000_CancelarCheque()

Page 218: 87514270 Daruma Framework

Daruma Framework205

Daruma Automação

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

1.11.9 Daruma_FI2000_LeituraTabelaCheque(Índice 5011)

· Definição do Método:Lê a Tabela de cheques armazenada na Impressora.

· Parâmetros do Método:Leitura Tabela Cheque: Variável por refêrencia com 3060 posições para receber a tabela de chequescadastrada na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Tabela_Cheque As StringStr_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)

· Definição do Método:Carrega o Cheque na impressora FS2000 e FS2100T.

· Parâmetros do Método: (1 Parâmetro)Envia a Tabela Cheque para a Impressora: Variável por refêrencia com o Número do Banco a sercarregado na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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();

Page 219: 87514270 Daruma Framework

Daruma Framework 206

Daruma Automação

1.11.11 Daruma_FI2000_CorrigirGeometriaCheque(Índice 5010)

· Definição do Método:Carrige a Geometria do Cheque FS2000.

· Parâmetros do Método: (2 Parâmetros)Variável String: Com o Número do Banco a ser corrigida a Geometria.Variável String: Com a nova Geometria.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Sequência dos bytes a serem passados para a correção da geometria do cheque.29 dígitos que definem o cheque conforme:Número do banco com 3 dígitosDistância à linha do valor numérico com 2 dígitos (da borda a linha, em mm)Coluna (final) do valor numérico com 2 dígitosDistância à linha do primeiro extenso com 2 dígitos (da borda a linha, em mm)Coluna (inicial) do primeiro extenso com 2 dígitosDistância à linha do segundo extenso com 2 dígitos (da borda a linha, em mm)Coluna (inicial) do segundo extenso com 2 dígitosDistância à linha do favorecido com 2 dígitos (da borda a linha, em mm)Coluna (inicial) do favorecido com 2 dígitosDistância à linha da cidade com 2 dígitos (da borda a linha, em mm)Coluna (final) da cidade com 2 dígitosColuna (inicial) do dia com 2 dígitosColuna (inicial) do mês com 2 dígitosColuna (inicial) do ano com 2 dígitos

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Numero_do_Banco As StringDim 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)

· Definição do Método:Permite um desconto sobre um item vendido.

· Parâmetros do Método: (3 Parâmetros)

Page 220: 87514270 Daruma Framework

Daruma Framework207

Daruma Automação

1. Número Item: String com o número do item a ser concedido o desconto, com no máximo 3 dígitos.2. Tipo Desconto: 1 (um) caráctere indicando a forma do desconto. '$' desconto por valor e '%'

desconto percentual.3. Valor Desconto: String com até 8 dígitos para desconto por valor (2 casas decimais) e 4 dígitos paradesconto percentual.

Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Numero_do_Item As StringDim Str_Tipo_do_Desconto As StringDim 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)

· Definição do Método:Lê da memória da impressora o total de acréscimos ICMS/ISS.

· Parâmetros do Método:Acréscimos ICMS: Variável por refêrencia com o tamanho de 14 posições para receber os acréscimos emICMS.Acréscimos ISS: Variável por refêrencia com o tamanho de 14 posições para receber os acréscimos emISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_AcrescimosICMS As StringDim Str_AcrescimosISS As StringStr_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

Page 221: 87514270 Daruma Framework

Daruma Framework 208

Daruma Automação

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

· Definição do Método:Lê da memória da impressora o total de cancelamentos ICMS/ISS.

· Parâmetros do Método:Cancelamentos ICMS: Variável por refêrencia com o tamanho de 14 posições para receber oscancelamentos em ICMS.Cancelamentos ISS: Variável por refêrencia com o tamanho de 14 posições para receber oscancelamentos em ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_CancelamentosICMS As StringDim Str_CancelamentosICMS As StringStr_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)

· Definição do Método:Lê da memória da impressora o total de descontos ICMS/ISS.

· Parâmetros do Método:Dencontos ICMS: Variável por refêrencia com o tamanho de 14 posições para receber os descontos emICMS.Dencontos ISS: Variável por refêrencia com o tamanho de 14 posições para receber os descontos emISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:

Page 222: 87514270 Daruma Framework

Daruma Framework209

Daruma Automação

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_DencontosICMS As StringDim Str_DencontosISS As StringStr_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)

· Definição do Método:Retorna o total acumulado do último DOC emitido na impressora.

· Parâmetros do Método:Tipo último DOC: Variável por refêrencia com 10 posições para receber o tipo do último documentoemitido.Valor último DOC: Variável por refêrencia com 200 posições para receber o valor do último documentoemitido.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Tipo_Ultimo_Doc As StringDim Str_Valor_Ultimo_Doc As StringStr_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));

Page 223: 87514270 Daruma Framework

Daruma Framework 210

Daruma Automação

1.11.17 Daruma_FI2000_LeituraIformacaoUltimosCNF(Índice 5025)

· Definição do Método:Retorna o total acumulado dos últimos CNF, programados na impressora.

· Parâmetros do Método:Relatório Gerêncial: Variável por refêrencia com 200 posições para receber o conteúdo do último relatóriogerencial emitido na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_LeituraUltimosCNF As StringStr_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)

· Definição do Método:Abre um relatório gerencial previamente programado na impressora.

· Parâmetros do Método: (1 Parâmetro)Abre Relatório Gerencial: Variável String com o índice do relatório gerencial a ser aberto.

Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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 SubEnd IfInt_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:', 'DarumaFramework', '01'); if Str_Indice_Gerencial = '' Then

Page 224: 87514270 Daruma Framework

Daruma Framework211

Daruma Automação

Exit;

Int_Retorno := Daruma_FI2000_AbreRelatorioGerencial(pchar(Str_Indice_Gerencial));

1.11.19 Daruma_FI2000_CriaRelatorioGerencial(Índice 5013)

· Definição do Método:Permite programar na impressora relatórios gerenciais.

· Parâmetros do Método: (1 Parâmetro)Cria Relatório Gerêncial: Variável String com descrição do relatório gerencial com até (16) caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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 SubEnd IfInt_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)

· Definição do Método:Retorna as descrições dos relatórios programados na impressora.

· Parâmetros do Método:Relatório Gerêncial: Variável por refêrencia com 200 posições para receber as descrições dos relatóriosgerenciais programados na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Gerencial As StringStr_Gerencial = Space(358)Int_Retorno = Daruma_FI2000_VerificaRelatorioGerencial(Str_Gerencial)

Page 225: 87514270 Daruma Framework

Daruma Framework 212

Daruma Automação

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)

· Definição do Método:Permite emitir uma segunda via de um CNFV.

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Permite cancelar um CNFV.

· Parâmetros do Método: (1 Parâmetro)Cancelamento: Variável String com o índice do CNFV a ser cancelado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_COO_CNFV As StringStr_COO_CNFV = InputBox("Entre com o COO do CNFV a ser Cancelado:", "Daruma Framework", "001")

If Str_COO_CNFV = "" Then Exit SubEnd IfInt_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',

Page 226: 87514270 Daruma Framework

Daruma Framework213

Daruma Automação

'001'); if Str_COO_CNFV = '' Then Exit;

Int_Retorno := Daruma_FI2000_CancelamentoCNFV(pchar(Str_COO_CNFV));

1.12 Métodos Exclusivos para a Impressora Fiscal Restaurante

1.12.1 Métodos de Cupom Fiscal

1.12.1.1 Daruma_FIR_AbreCupomRestaurante(Índice 3000)

· Definição do Método:Abre o cupom fiscal e imprime os itens que foram previamente lançados na mesa através do método:Daruma_FIR_RegistrarVenda(Índice 3048).

· Parâmetros do Método: (1 Parâmetro, opcional).Numero Mesa:String com até três carácteres contendo o número da mesa a ser aberta.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Abre o cupom fiscal para a venda balcão, que pode ser feita através do método:Daruma_FIR_VendeItemBalcao(Índice 3054).

· Parâmetros do Método:Não há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:· Exemplo em Visual Basic 6.0:

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

Page 227: 87514270 Daruma Framework

Daruma Framework 214

Daruma Automação

1.12.1.3 Daruma_FIR_VendeItem(Índice 3070)

· Definição do Método:Vende o item na impressora fiscal.

· Parâmetros do Método: (8 Parâmetros).1. Mesa: String com até 03 caracteres contendo o número da mesa.2. Código: String até 05 caracteres com o código do produto.3. Descrição: String com até 18 caracteres com a descrição do produto.4. Alíquota: String com a alíquota Ex.:05,00 ou 18,00 ou ainda o valor da alíquota previamente

cadastrada no ECF. Passe II para Isento, NN para não Incidente, FF para Substituição Tributária.5. Quantidade: String com até 6 dígitos considerando três decimais Ex.: 1,000.6. Valor Unitário: String com até 8 dígitos, considerando duas cadas decimais Ex.: 1,00.7. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D'

para desconto.8. Percentual Acréscimo Desconto: String com no máximo 4 dígitos para apercentual do créscimo oudesconto Ex.:10,00(dez por cento) Obs.:Desc/Acresc por valor não é permitido.

· Retorno do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método só é compatível com impressoras FS318 versão 1.20.- Caso seja passado 000 no parâmetro mesa, então a venda será registrada no balcão.- Na versão 1.20, não necessita realizar o cadastro do item no cardápio. Pois o mesmo é cadastrado nomomento 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)

· Definição do Método:Vende o item na modalidade balcão, ou seja, não em uma mesa e sim direto no cupom fiscal.

Page 228: 87514270 Daruma Framework

Daruma Framework215

Daruma Automação

· Parâmetros do Método: (4 Parâmetros).1. Código: String até 05 caracteres com o código do produto.2. Quantidade: String com até 6 dígitos considerando três decimais Ex.: 1,000.3. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D'

para desconto.4. Percentual Acréscimo Desconto: String com no máximo 4 dígitos para apercentual do créscimo ou

desconto Ex.: 10,00(dez por cento) Obs.:Desc/Acresc por valor não é permitido.

· Retorno do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Para realizar a venda, é necessário que o item tenha sido previamente adicionado no cardápio, parafazer o cadastro utilize o método: Daruma_FIR_AdicionaProdutoCardapio (Índice 555).- Na versão 1.20, não necessita realizar o cadasdtro do item no cardápio. Pois o mesmo é cadastrado nomomento 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)

· Definição do Método:Emite a conferência (conta de mesa) de uma mesa em aberto, onde tenham sido lançados ítens.

Atenção: este cupom não tem valor fiscal, e serve especificamente para refletir os ítens consumidos namesa.

· Parâmetros do Método: (2 Parâmetros).1. Numero Mesa: String com até 03 caracteres contendo o número da mesa.2. Mensagem Promocional: String com até 90 caracteres com a mensagem promocional.

· Retorno do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:

Page 229: 87514270 Daruma Framework

Daruma Framework 216

Daruma Automação

1.12.1.6 Daruma_FIR_RegistrarVenda(Índice 3048)

· Definição do Método:Registra o item na mesa.

· Parâmetros do Método: (7 Parâmetros).1. Número Mesa: String com até 03 caracteres contendo o número da mesa.2. Código: String até 04 caracteres com o código do produto.3. Descrição: String com até 18 caracteres com a descrição do produto.4. Alíquota: String com5. Quantidade: String com até 5 dígitos considerando três decimais.6. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D'

para desconto.`7. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual (2 casas decimais).

· Retorno do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Para realizar a venda, é necessário que o item tenha sido previamente adicionado no cardápio, parafazer o cadastro utilize o método: Daruma_FIR_AdicionaProdutoCardapio (Índice 555).- Na versão 1.20, não necessita realizar o cadastro do item no cardápio. Pois o mesmo é cadastrado nomomento 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)

· Definição do Método:Registra a venda pela porta serial, gerando com isso um arquivo RETORNO.TXT, no c:\ (ou pathanteriormente customizado), com todos os registros de vendas efetuadas na mesa passada comoparâmetro.

Parâmetros do Método: (1 Parâmetro).Número Mesa: String com até 03 caracteres contendo o número da mesa.

· Retorno do Método:

Page 230: 87514270 Daruma Framework

Daruma Framework217

Daruma Automação

0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Para realizar a venda, é necessário que o item tenha sido previamente adicionado no cardápio, parafazer o cadastro utilize o método: Daruma_FIR_AdicionaProdutoCardapio (Índice 555).- Na versão 1.20, não necessita realizar o cadasdtro do item no cardápio. Pois o mesmo é cadastrado nomomento 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)

· Definição do Método:Permite fechar o cupom de forma resumida, ou seja, sem acréscimo ou desconto no cupom e comapenas uma forma de pagamento. Esse Método lê o subtotal do cupom para fechá-lo e não permite queseja informado o valor do pagamento.

· Parâmetros do Método: (2 Parâmetros)1. Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres.2. Mensagem Promocional: String com a mensagem promocional com até 384 caracteres (8 linhas X 48

colunas).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na mensagem promocional.- O cupom deve estar aberto.- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado.- A utilização desse Método elimina a obrigatoriedade de uso das MétodoDaruma_FIR_IniciaFechamentoCupom(Índice 3007), Daruma_FIR_EfetuaFormaPagamento(Índice 3008) eDaruma_FIR_TerminaFechamentoCupom(Índice 3010), que estão implementadas internamente noMétodo.- Se a forma de pagamento não estiver cadastrada na impressora, o Método retorna erro. Paracadastrar a forma de pagamento você deve usar oMétodo:Daruma_FIR_ProgramaFormasPagamento(Índice 554) e isso emediatamente após uma ReduçãoZ.

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

Page 231: 87514270 Daruma Framework

Daruma Framework 218

Daruma Automação

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)

· Definição do Método:Inicia o fechamento do cupom com o uso das formas de pagamento.

· Parâmetros do Método: (3 Parâmetros)1. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para

desconto.2. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.3. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual (2 casas decimais).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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, porém todos com alíquota de serviço e o ECF não estejahabilitado para desconto em serviço você poderá receber erro 24 ou 44, então o desconto não serápermitido. Importante! para habilitar o desconto sobre serviço é preciso que seja feito por meio deIT(interveção técnica) e isso só pode ser feito por uma assistência técnica autorizada Daruma.- Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alíquota de serviço e oECF não esteja habilitado para o desconto, então o desconto incidirá sobre os itens com alíquota de ICMS.- E caso o ECF esteja habilitado para desconto em serviço então para um cupom onde os itens sejam comalíquota de serviço e também alíquota de ICMS o desconto será sobre todos os itens independentementeda alíquota.

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)

· Definição do Método:Inicia o fechamento do cupom com o uso das formas de pagamento, permitindo a inclusão da taxa deserviço.

Page 232: 87514270 Daruma Framework

Daruma Framework219

Daruma Automação

· Parâmetros do Método: (4 Parâmetros)1. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para

desconto.2. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.3. Valor Acréscimo Desconto: String com com até 14 dígitos para acréscimo ou desconto por valor e 4

dígitos para acréscimo ou desconto por percentual (2 casas decimais).4. Indicador da Operação de Acréscimo ou Desconto que deseja Realizar, podendo ser um dosindicadores Abaixo:

0 para desconto percentual no rodapé;1 para desconto em valor no rodapé; 2 para acréscimo com incidência de ICMS em porcentagem;3 para acréscimo com incidência de ICMS em valor;4 para acréscimo IOF em porcentagem;5 para acréscimo IOF em valor;

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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, porém todos com alíquota de serviço e o ECF não estejahabilitado para desconto em serviço você poderá receber erro 24 ou 44, então o desconto não serápermitido. Importante para habilitar o desconto sobre serviço é preciso que seja feito por meio deIT(interveção técnica) e isso só pode ser feito por uma assistência técnica autorizada Daruma.- Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alíquota de serviço e oECF não esteja habilitado para o desconto, então o desconto incidirá sobre os itens com alíquota de ICMS.- E caso o ECF esteja habilitado para desconto em serviço então para um cupom onde os itens sejam comalíquota de serviço e também alíquota de ICMS o desconto será sobre todos os itens independentementeda alíquota.

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)

· Definição do Método:Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma.

Page 233: 87514270 Daruma Framework

Daruma Framework 220

Daruma Automação

· Parâmetros do Método: (2 Parâmetros)1. Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres.2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O fechamento do cupom com formas de pagamento deve ter sido iniciado.- Se a forma de pagamento não estiver cadastrada na impressora, o Método retorna erro. Paracadastrar a forma de pagamento você deve usar o Método:Daruma_FIR_ProgramaFormasPagamento(Índice 554) e isso imediatamente após uma ReduçãoZ.

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)

· Definição do Método:Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s). Permite a impressão de comentários na(s)forma(s) de pagamento. Permitindo a inserção de comentários.

· Parâmetros do Método: (3 Parâmetros)1. Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres.2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.3. Descrição Forma Pagamento: String com a descrição da forma de pagamento com no máximo 48

caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O fechamento do cupom com formas de pagamento deve ter sido iniciado.- O texto livre será impresso 1(uma) linha após a forma de pagamento.- Se a forma de pagamento não estiver cadastrada na impressora, o Método retorna erro. Paracadastrar a forma de pagamento você deve usar oMétodo:Daruma_FIR_ProgramaFormasPagamento(Índice 554) e isso imediatamente após uma ReduçãoZ.

Exemplos:

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:var

Page 234: 87514270 Daruma Framework

Daruma Framework221

Daruma Automação

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)

· Definição do Método:Imprime a Identificação do Consumidor, este método deve ser enviado Imediatamente Antes do métodode TerminaFechamentoCupom, onde será impresso a mensagem Promocional.

· Parâmetros do Método: (3 Parâmetros)1. Nome: Nome do Consumidor com até 48 caracteres;2. Endereço: Endereço do Consumidor com até 48 caracteres;3. CNPJ ou CPF: Até 42 caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Estes Campos são Formatados automaticamente pelo ECF que imprimirá antes da MensagemPromocional o seguinte:

· Exemplo:-------------------------------------------------------Nome: Daruma Automção S.A.Endereço: 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 Automação S.A.'; Str_Endereco := 'Av. Independância 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)

· Definição do Método:Termina o fechamento do cupom com mensagem promocional.

· Parâmetros do Método: (1 Parâmetro)

Page 235: 87514270 Daruma Framework

Daruma Framework 222

Daruma Automação

Mensagem Promocional: String com a mensagem promocional com até 384 caracteres (8 linhas X 48colunas).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na mensagem promocional.- A forma de pagamento deve ter sido efetuada.- Na impressora fiscal Daruma, serão 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 ????)

· Definição do Método:Termina o fechamento do cupom com mensagem promocional, podendo identificar o consumidor.

· Parâmetros do Método: (4 Parâmetros)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. Endereço do Cliente: String com o endereço com até 48 caracteres;4. Documento do Cliente: String com número do doc com até 48 caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na mensagem promocional.- A forma de pagamento deve ter sido efetuada.- Na impressora fiscal Daruma, serão 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';

Page 236: 87514270 Daruma Framework

Daruma Framework223

Daruma Automação

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)

· Definição do Método:Fecha o cupom fiscal com a impressão da mensagem promocional.IMPORTANTE! Com este Método você não poderá informar com mais de um meio de pagamento.

· Parâmetros do Método: (6 Parâmetros)1. Forma Pagamento: String com o nome da forma de pagamento com no máximo 16 caracteres.2. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para

desconto.3. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.4. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual.5. Valor Pago: String com o valor pago com no máximo 14 dígitos.6. Mensagem Promocional: String com a mensagem promocional com até 384 caracteres (8 linhas X 48colunas).

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Acentuação e/ou caracteres especiais, não são aceitos na mensagem promocional.- O cupom deve estar aberto.- Pelo menos 1 (um) item deve ter sido vendido e não pode ter sido cancelado.- A utilização desse Método elimina a obrigatoriedade de uso das MétodoDaruma_FIR_IniciaFechamentoCupom(Índice 3007), Daruma_FIR_EfetuaFormaPagamento(Índice 3008) eDaruma_FIR_TerminaFechamentoCupom(Índice 3010), que estão implementadas internamente noMétodo.- O valor do acréscimo ou desconto nunca poderá ser igual ou maior do que o valor do item.- Caso a venda seja de um ou mais itens, porém todos com alíquota de serviço e o ECF não estejahabilitado para desconto em serviço você poderá receber erro 24 ou 44, então o desconto não serápermitido. Importante para habilitar o desconto sobre serviço é preciso que seja feito por meio deIT(interveção técnica) e isso só pode ser feito por uma assistência técnica autorizada Daruma.- Caso a venda seja 2(dois) ou mais itens, sendo que pelo menos 1(um) seja com alíquota de serviço e oECF não esteja habilitado para o desconto, então o desconto incidirá sobre os itens com alíquota de ICMS.- E caso o ECF esteja habilitado para desconto em serviço então para um cupom onde os itens sejam comalícota de serviço e também alíquota de ICMS o desconto será sobre todos os itens independentemente daalíquota.- Se a forma de pagamento não estiver cadastrada na impressora, o Método retorna erro. Paracadastrar a forma de pagamento você deve usar oMétodo:Daruma_FIR_ProgramaFormasPagamento(Índice 554)e isso emediatamente após uma ReduçãoZ.

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

Page 237: 87514270 Daruma Framework

Daruma Framework 224

Daruma Automação

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)

· Definição do Método:Cancela o último item vendido.

· Parâmetros do Método:Não há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Ao menos um item deve ter sido vendido.- Este método só é compatível com a impressora FS318 versão 1.20.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Mesa As StringDim Str_Codigo As StringDim Str_Descricao As StringDim Str_Aliquota As StringDim Str_Quantidade As StringDim Str_Valor_Unitario As StringDim Str_Acrescimo_ou_Desconto As StringDim 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;

Page 238: 87514270 Daruma Framework

Daruma Framework225

Daruma Automação

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)

· Definição do Método:Cancela o último item vendido.

· Parâmetros do Método: (1 Parâmetro)Código: String com até 5 dígitos, com o número do item a ser cancelado.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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)

· Definição do Método:Cancela o último cupom emitido.

· Parâmetros do Método:Não há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método, só funciona, após uma venda efetuada no balcão.

Page 239: 87514270 Daruma Framework

Daruma Framework 226

Daruma Automação

- Não poderá ter ocorrido ReduçãoZ e nem LeituraX após a emissão do cupom.- Você não 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)

· Definição do Método:Cancela qualquer item dentre os cem (100) últimos itens vendidos.

· Parâmetros do Método:Não Há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cancelamento só poderá ser realizado imediatamente após a emissão 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)

· Definição do Método:Efetua a Tranferência de um ítem de uma mesa para outra mesa.

· Parâmetros do Método: (6 Parâmetros)1. Numero da mesa atual: String com até três dígitos contendo o número da mesa atual2. Numero da mesa destino: String com até três dígitos contendo o número da mesa destino3. Codigo do ítem: String com até 4 dígitos4. Quantidade do ítem: String com até 5 dígitos, considere três casas decimais

Page 240: 87514270 Daruma Framework

Daruma Framework227

Daruma Automação

5. Acrescimo/Desconto: String com "A"(acréscimo) ou "D"(desconto)6. Valor Acrescimo/Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:

1.12.1.22 Daruma_FIR_TransferirMesa(Índice 3052)

· Definição do Método:Efetua a Tranferência dos ítens de uma mesa para outra mesa.

· Parâmetros do Método: (2 Parâmetros)1. Numero da mesa atual: String com até três dígitos contendo o número da mesa atual2. Numero da mesa destino: String com até três dígitos contendo o número da mesa destino

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:

1.12.1.23 Daruma_FIR_ImprimePrimeiroCupomDividido(Índice 3040)

· Definição do Método:Imprime a primeira parte de um cupom onde a conta foi divida.

Passos a serem seguidos para dividir a Conta da Mesa:

1. Daruma_FIR_RegistrarVenda(Índice 3048);2. Daruma_FIR_ImprimePrimeiroCupomDivido(Índice 3040);3. Daruma_FIR_IniciaFechamentoCupom(Índice 3007);4. Daruma_FIR_EfetuaFormaPagamento(Índice 3008);5. Daruma_FIR_TerminaFechamentoCupom(Índice 3010);6. Daruma_FIR_RestanteCupomDividido(Índice 3041);7. Daruma_FIR_EfetuaFormaPagamento(Índice 3008);8. Daruma_FIR_TerminaFechamentoCupom(Índice 3010);

Atenção: os passos 6, 7, 8 deverão ser executados o número de vezes que foremnecessárias(número de cupons dividos).

· Parâmetros do Método: (2 Parâmetros)

Page 241: 87514270 Daruma Framework

Daruma Framework 228

Daruma Automação

Numero Mesa: String com 3 dígitos, contendo o número da mesa.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método deverá ser executado após o método:Daruma_FIR_RegistrarVenda.

Exemplos:

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:

1.12.1.24 Daruma_FIR_RestanteCupomDividido(Índice 3041)

· Definição do Método: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 123Você chamou o método Daruma_FIR_ImprimePrimeiroCupomDividido("123","4") - o Resultado é aimpressão da primeira parte do cupon, dos 4 desejados, com o valor de 25,00 (reais). Ao Chamar ométodo Daruma_FIR_RestanteCupomDividido, você terá como resultado a Impressão dos 3(três) cuponsno valor de 25,00 (reais) cada um deles.

Passos a serem seguidos para dividir a Conta da Mesa:

1. Daruma_FIR_RegistrarVenda(Índice 3048);2. Daruma_FIR_ImprimePrimeiroCupomDivido(Índice 3040);3. Daruma_FIR_IniciaFechamentoCupom(Índice 3007);4. Daruma_FIR_EfetuaFormaPagamento(Índice 3008);5. Daruma_FIR_TerminaFechamentoCupom(Índice 3010);6. Daruma_FIR_RestanteCupomDividido(Índice 3041);7. Daruma_FIR_EfetuaFormaPagamento(Índice 3008);8. Daruma_FIR_TerminaFechamentoCupom(Índice 3010);

Atenção: os passos 6, 7, 8 deverão ser executados o número de vezes que foremnecessárias(número de cupons dividos).

· Parâmetros do Método:Não há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método deverá ser executado após ométodo:Daruma_FIR_TerminaFechamentoCupom(Índice 3010).

Exemplos:

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:

Page 242: 87514270 Daruma Framework

Daruma Framework229

Daruma Automação

1.12.1.25 Daruma_FIR_EmitirCupomAdicional(Índice 3018)

· Definição do Método:Emite um resumo do Cupom Fiscal Realizado Anteriormente, com Número do cupom, Valor e Data.Este resumo pode ser utilizado para Controle interno.

· Parâmetros do Método:Não Há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método enibe a pré_impressão automática do cliche do próximo cupom, implicando diretamente eum gasto Maior - tanto de Bobina Quanto de Tempo na emissão do cupom fincal.- Este Método não é compatível com a Impressora de Duas Estações 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)

· Definição do Método:Imprime as Mesas que estão em Aberto na FS318 (entenda-se Aberto que ainda não Houve a Emissão doCupom Fiscal) e tambem será impresso todos os itens que já foram registrados nas respectivas mesas emaberto

· Parâmetros do Método:Não Há.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Caso não haja nenhuma mesa em aberto, será impresso apenas o cabeçalho abaixo:

NAO E DOCUMENTO FISCAL--------------RELATORIO DE MESAS EM ABERTO--------------Mesa Cód. Vendido Cancelado D/A Porc

NAO E DOCUMENTO FISCAL

Exemplos:

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:

Page 243: 87514270 Daruma Framework

Daruma Framework 230

Daruma Automação

1.12.2 Métodos de Recebimentos, Não Fiscais e Vinculados

1.12.2.1 Daruma_FIR_AbreComprovanteNaoFiscalVinculado(Índice 3203)

· Definição do Método:Abre o comprovante não fiscal vinculado.

Parâmetros do Método: (3 Parâmetros)1. Forma Pagamento: Forma de pagamento com até 16 caracteres.2. Valor: Valor pago na forma de pagamento com até 14 dígitos (2 casas decimais).3. Número Cupom: Número do cupom a que se refere o comprovante com até 6 dígitos.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- A forma de pagamento deve ter sido utilizada no cupom, mesmo sendo a forma de Pagamento"Dinheiro".- Só pode ser emitido 1(um) comprovante não fiscal por forma de pagamento.- Os parâmetros "Valor" e "Numero do Cupom" tornam-se obrigatórios se o comprovante emitido nãofor referente a Última Forma de Pagamento do Cupom Fiscal. Ou seja, se você teve "Dinheiro" e "Cheque"no último Cupom Fiscal, então para abrir um vinculado em Dinheiro terá de passar o Valor da primeiraforma de pagamento.- O cupom fiscal deverá estar fechado. Você poderá verificar o status através dométodo: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)

· Definição do Método:Imprime o comprovante não fiscal vinculado.

· Parâmetros do Método: (1 Parâmetro)Texto: String com o Texto a ser impresso no comprovante não fiscal vinculado com até 618 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Na impressora fiscal Daruma, só pode ser usado durante 2(dois) minutos após a abertura do

Page 244: 87514270 Daruma Framework

Daruma Framework231

Daruma Automação

comprovante não fiscal vinculado. Se esse tempo for ultrapassado o comprovante é fechadoautomaticamente.- O comprovante não fiscal vinculado deve ter sido aberto. Você poderá verificar o status através dométodo: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)

· Definição do Método:Encerrar o comprovante não fiscal vinculado.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O comprovante não fiscal vinculado deve ter sido aberto. Você poderá verificar o status através dométodo: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)

· Definição do Método:Encerra o Relatório Gerencial.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O relatório gerencial deve estar aberto. Você poderá verificar o status através dométodo:Daruma_FIR_StatusRelatorioGerencial(Índice 3405).

Page 245: 87514270 Daruma Framework

Daruma Framework 232

Daruma Automação

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)

· Definição do Método:Abre o recebimento não fiscal "CNFNV".

· Parâmetros do Método: (6 Parâmetros)1. Descrição do Totalizador: Neste parâmetro você deve passar a descrição do totalizador.2. Acréscimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D' para

desconto.3. Tipo Acréscimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.4. Valor Acréscimo Desconto: String com no máximo 14 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual.5. Valor do Recebimento: String com o valor da forma de pagamento com até 14 dígitos.6. Texto Livre. String com até 48 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método abre o recebimento não fiscal que permanece aberto até que seja chamado o Método:Daruma_FIR_EfetuaFormaPagamentoNaoFiscal(Índice ????).Importante! verifique o status do recebimento antes de tentar abrí-lo através doMétodo:Daruma_FIR_StatusComprovanteNaoFiscalNaoVinculado(Índice ????)- Este Método deverá ser usado sempre que for preciso informar mais de uma forma de pagamento, noRecebimento.- Não existe Método para fechamento deste Método, o mesmo se fechará automaticamente, quando ototal do recebimento for pago.- Caso seja passado no parâmetro Índice do Totalizador Sangria, o Método será executado, porém ocupom 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 ) );

Page 246: 87514270 Daruma Framework

Daruma Framework233

Daruma Automação

end;

1.12.2.6 Daruma_FIR_EfetuaFormaPagamentoNaoFiscal(Índice 3211)

· Definição do Método:Imprime a(s) forma(s) de pagamento e o(s) valor(es) pago(s) nessa forma.

· Parâmetros do Método: (3 Parâmetros)1. Forma Pagamento: String com a forma de pagamento com no máximo 16 caracteres.2. Valor Forma Pagamento: String com o valor da forma de pagamento com até 14 dígitos.3. Observação Livre: String com até 40 caracteres.

· Retornos do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O fechamento do comprovante não fiscal acontecerá automaticamente assim que o total docomprovante não 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)

· Definição do Método:Faz um suprimento na impressora (entrada de dinheiro).

· Parâmetros do Método: (2 Parâmetros)1. Valor: String com o Valor do suprimento com até 14 dígitos (2 casas decimais).2. Forma Pagamento: String com a Forma de pagamento com até 16 caracteres. Se não for informada,

o suprimento será feito em Dinheiro.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:

Page 247: 87514270 Daruma Framework

Daruma Framework 234

Daruma Automação

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

· Definição do Método:Emite a leitura da memória fiscal da impressora por intervalo de datas.

· Parâmetros do Método: (2 Parâmetros)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 Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foipossível enviar o método.

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através dométodo: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)

· Definição do Método:Emite a leitura da memória fiscal da impressora por intervalo de reduções.

· Parâmetros do Método: (2 Parâmetros)1. Redução Inicial: String com o Número da redução inicial com até 4 dígitos.2. Redução Final: String com o Número da redução final com até 4 dígitos.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foipossível enviar o método.

Page 248: 87514270 Daruma Framework

Daruma Framework235

Daruma Automação

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através dométodo: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)

· Definição do Método:Recebe os dados da memória fiscal por intervalo de datas pela serial e grava em arquivo texto.

· Parâmetros do Método: (2 Parâmetros)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 Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foipossível enviar o método.

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através dométodo: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;

Page 249: 87514270 Daruma Framework

Daruma Framework 236

Daruma Automação

1.12.2.11 Daruma_FIR_LeituraMemoriaFiscalSerialReducao(Índice 3105)

· Definição do Método:Recebe os dados da leitura da memória fiscal, por intervalo de reduções, pela serial e grava em arquivotexto.

· Parâmetros do Método: (2 Parâmetros)1. Redução Inicial: String com o Número da reducao inicial com até 4 dígitos.2. Redução Final: String com o Número da reducao final com até 4 dígitos.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foipossível enviar o método.

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através dométodo: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)

· Definição:Emite a Leitura X na impressora.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observações:- O cupom fiscal deve estar fechado. Você poderá verificar o status através do Método:Daruma_FIR_StatusCupomFiscal(Índice 3404).

Exemplos:

· Exemplo em Visual Basic 6.0:

· Exemplo em Delphi 7.0:

Page 250: 87514270 Daruma Framework

Daruma Framework237

Daruma Automação

begin Int_Retorno := Daruma_FIR_LeituraX();end;

1.12.2.13 Daruma_FIR_RecebimentoNaoFiscal(Índice 3202)

· Definição do Método:Imprime o comprovante não fiscal não vinculado.

· Parâmetros do Método: (3 Parâmetros)1. Descrição do Totalizador: String com a descrição do totalizador.2. Valor Recebimento: String com o Valor do recebimento com até 14 dígitos (duas casas decimais).3. Forma Pagamento: String com a Forma de pagamento com até 16 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método é único, ou seja você não precisará chamar outro método para encerrá-lo.- Caso você necessite informar mais de uma forma de pagamento então deve-se usar o Método: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)

· Definição do Método:Emite a ReduçãoZ na impressora.

· Parâmetros do Método: (2 Parâmetros opcionais)1. Data: String com a Data atual da impressora no formato ddmmaa. Opcional2. Hora: String com a Hora a ser alterada no formato hhmmss. Opcional

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.

Page 251: 87514270 Daruma Framework

Daruma Framework 238

Daruma Automação

-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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. Horário este controlado pelo relógio interno daprópria 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?' , 'DarumaFramework',mb_YesNo+mb_DefButton2+mb_IconQuestion); if (int_Confirma = 6) then //Int_Confirma = 6(Sim), = 7(Não), é o valor de retorno doApplication.MessageBox Int_Retorno := Daruma_FIR_ReducaoZ(' ', ' ') Else exit;end;

1.12.2.15 Daruma_FIR_ReducaoZAjustaDataHora(Índice 3106)

· Definição do Método:Emite a ReduçãoZ na impressora. Permite ajustar o relógio interno da impressora em até 5 minutos.

· Parâmetros do Método: (2 Parâmetros)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 Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Importantíssimo este método não aceita separadores, você deverá passar apenas 12bytes.- Se os valores estiverem fora dessa faixa serão 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;

Page 252: 87514270 Daruma Framework

Daruma Framework239

Daruma Automação

1.12.2.16 Daruma_FIR_RelatorioGerencial(Índice 3200)

· Definição do Método:Abre e Imprime Imprime o Relatório Gerencial.

Parâmetros do Método: (1 Parâmetro)Texto: String com o Texto a ser impresso no relatório com até 618 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Se o Relatorio Gerencial estiver aberto este Método imprime o texto que você deseja, e se desejarcontinuar imprimindo mais texto, continue Chamando este Método, que uma vez aberto o Gerencial, omesmo não será Aberto novamente até que seja chamada a Método.- Para fechar o Relatório, chame o Método:Daruma_FIR_FechaRelatorioGerencial(Índice 3201).- Se qualquer Método diferente da Daruma_FIR_RelatorioGerencial for chamado com o relatório aberto,efetuará seu fechamento automaticamente.- Uma vez aberto o Relatório Gerencial, você terá 10(dez) minutos para a impressão de Texto Livre.- Caso você se esqueça de fechar o Relatório Gerencial o mesmo será fechado automaticamente após10(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)

· Definição do método:Faz uma sangria na impressora (retirada de dinheiro).

Parâmetros do Método: (1 Parâmetro)Valor: String com o Valor da sangria com até 14 dígitos (2 casas decimais).

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Não será possível informar mais de uma forma de pagamento no casa de uma Sangria.

Exemplos:

· Exemplo em Visual Basic 6.0:

Page 253: 87514270 Daruma Framework

Daruma Framework 240

Daruma Automação

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

· Definição do Método:Faz um suprimento na impressora (entrada de dinheiro).

· Parâmetros do Método: (2 Parâmetros)1. Valor: String com o Valor do suprimento com até 14 dígitos (2 casas decimais).2. Forma Pagamento: String com a Forma de pagamento com até 16 caracteres. Se não for informada,

o suprimento será feito em Dinheiro.

· Este Método retornará um dos Valores Inteiros listados Abaixo:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações: - Caso queira fazer um Suprimento com mais de uma forma de pagamento deve-se chamar o Método:Daruma_FIR_AbreRecebimentoNaoFiscal(Índice ????), passando no parâmetro Índice o índice doSuprimento.

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 Métodos Gaveta Autenticação e Outras

1.12.3.1 Daruma_FIR_VerificaDocAutenticacao(Índice 3301)

· Definição do Método:Verifica se existe documento para ser Autenticado, este Método pode ser útil antes do envio daautenticação, ou seja, você apenas envia o método para a Autenticação quando tiver a certeza que odocumento esta presente.

· Uma prática interessante a ser aplicada é a seguinte:1) Chamar a Funcao Daruma_FIR_VerificaDocAutenticação.2) Retornou igual a 1(um)?.3) Se sim, chamar o método Daruma_FIR_AutenticacaoStr.4) Caso contrário Voltar ao passo 1.

Page 254: 87514270 Daruma Framework

Daruma Framework241

Daruma Automação

Com isso você garante que o método de Autenticação somente será chamado quando o documentoestiver presente.

· Parâmetros do Método:Não há.

Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método 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 Não Posicionado!', 'Daruma Framework', mb_ok); end;end;

1.12.3.2 Daruma_FIR_AutenticacaoStr(Índice 3302)

· Definição do Método:Permite a autenticação de documentos com a adição de uma String de até 13 caracteres.

· Parâmetros do Método: (1 Parâmetro)String: de até 13 caracteres.

Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método permite ao usuário entrar com até 13 caracteres onde poderá utilizar para texto livre,observações ou até mesmo uma criptografia.- Deverá ser executada imediatamente após um recebimento não fiscal ou o término de um cupom fiscal.- Poderá ser repetido até 4 vezes para cada recebimento, após isso o método será ignorado.- Na impressora fiscal Daruma, serão aguardados 5 segundos para o posicionamento do documento eautenticará no documento a data, hora, número da loja, número do caixa e o número do último cupomfiscal. 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;

Page 255: 87514270 Daruma Framework

Daruma Framework 242

Daruma Automação

1.12.3.3 Daruma_FIR_VerificaEstadoGaveta(Índice 3311)

· Definição do Método:Retorna se a gaveta está fechada ou aberta.

· Parâmetros da Método:Estado: INTEIRO com a Variável para receber o estado da gaveta, onde:

- Estado = 0 sensor em nível 0 (fechada)- Estado = 1 sensor em nível 1 (aberta)

Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Abre a gaveta de dinheiro.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:· Exemplo em Visual Basic 6.0:

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

Page 256: 87514270 Daruma Framework

Daruma Framework243

Daruma Automação

1.12.4 Métodos para Cardápio

1.12.4.1 Daruma_FIR_AdicionaProdutoCardapio (Índice 555)

· Definição do Método:Adiciona itens ao cardápio na impressora, para poder vender o item através do método:Daruma_FIR_RegistrarVenda(Índice 3048).

· Parâmetros do Método: (4 Parâmetros)1. Código: String até 04 caracteres com o código do produto.2. Valor Unitário: String com até 8 dígitos, considerando duas cadas decimais Ex.: 1,00.3. Alíquota: String com a alíquota Ex.:05,00 ou 18,00 ou ainda o valor da alíquota previamente

cadastrada no ECF. Passe II para Isento, NN para não Incidente, FF para Substituição Tributária.4. Descrição: String com até 18 caracteres com a descrição do produto.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Na versão 1.20, não necessita realizar o cadastro do item no cardápio. Pois o mesmo é cadastrado nomomento 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)

· Definição do Método:Apaga todos os itens existentes no cardápio.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· retornará um dos Valores Inteiros listados Abaixo:- Este método poderá ser executado a qualquer momento, mesmo com o dia aberto, desde que não tenhasido vendido nenhum dos ítens contidos no cardápio. Caso contrário, você deverá executar uma Redução

Page 257: 87514270 Daruma Framework

Daruma Framework 244

Daruma Automação

Z antes de zerar o cardápio.

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)

· Definição do Método:Imprime os itens que foram cadastrados no cardápio da impressora

· Parâmetros da Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Resgata pela porta serial, os itens cadastrados na impressora. Importante! Este método escreverá umarquivo chamado Retorno.txt no path que estiver configurado na chave Path.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:· Exemplo em Visual Basic 6.0:

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

1.12.5 Métodos Pogramação e Configuração

Page 258: 87514270 Daruma Framework

Daruma Framework245

Daruma Automação

1.12.5.1 Daruma_FIR_ProgramaAliquota(Índice 550)

· Definição do Método:Programa alíquota tributária na Impressora Fiscal Restaurante.

· Parâmetros do Método: (2 Parâmetros)1. Alíquota: String com o valor da alíquota a ser programada.2. Vínculo: INTEIRO com o valor 0 (zero) para vincular a alíquota ao ICMS e 1 (um) para vincular ao

ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX, ou qualquer outrodocumento.- Nas Impressoras Daruma, você "não precisa" carregar diariamente as Alíquotas.- Na hora de passar o valor da alíquota, você não 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)

· Definição do Método:Programa Totalizador Não Sujeito ao ICMS. Equivale a por exemplo Conta de Luz, Água, Telefone, etc.

· Parâmetros do Método: (2 Parâmetros)1. Indice: INTEIRO com a posição em que o totalizador será programado.2. Totalizador: String até 21 caracteres com o nome do totalizador.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O cupom fiscal deve estar fechado.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.

Exemplos:

· Exemplo em Visual Basic 6.0:

Page 259: 87514270 Daruma Framework

Daruma Framework 246

Daruma Automação

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

· Definição do Método:Realiza o casdastro das formas de pagamento na impressora fiscal restaurante, este Método deve serenviado somente após a realização de uma ReduçãoZ que é efetuado pela DLL de forma Automáticadependendo de como estiver a Chave do Registry Daruma_Registry_ZAutomatica.

· Parâmetros do Método: (1 Parâmetro)String contendo as formas de Pagamento desejadas, separadas por PONTO-E-VÍRGULA, cada forma depagamento deve ter o tamanho de até 16 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Quando é executado este método automaticamente a dll cria o compravente não fiscal vinculado paracada forma de pagamento programada. Dispensando com isso a programação dos Comprovantes NãoFiscais Vinculados.- O cupom fiscal deve estar fechado.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.- Nas Impressoras Térmicas MFD´s FS600 e FS2000T as formas não serão vinculáveis. Para torná-las avinculáveis na é preciso que seja feita uma Intervenção Técnica. Vide conênio 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)

· Definição do Método:Cadastra um título para um Relatório Gerencial específico. Importante: na versão 1.20, o relatóriogerencial necessita de ser previamente cadastrado, assim como já acontece para as alíquotas eformas de pagamento. Sendo assim caso não exista um gerencial cadastrado na impressora, adll irá tentar cadastrar um, automaticamente.

· Parâmetros do Método: (1 Parâmetro)String contendo as formas de Pagamento desejadas, separadas por PONTO-E-VÍRGULA, cada forma depagamento deve ter o tamanho de até 16 caracteres.

Page 260: 87514270 Daruma Framework

Daruma Framework247

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este método só é compatível com a FS318 versão 1.20.- O cupom fiscal deve estar fechado.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.

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)

· Definição do Método:Programa o Operador no ECF, essa programação pode ser feita a qualquer momento do dia.

· Parâmetros do Método: (1 Parâmetro)Operador: String com até 20 caracteres.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método 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)

· Definição do Método:Programa a mensagem que ira aparecer ao Fechar o Cupom com a de Serviço na impressora.

· Parâmetros do Método:String com a Mensagem desejada com até 19 carácteres.

Page 261: 87514270 Daruma Framework

Daruma Framework 248

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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)

· Definição do Método:Configura o ECF para trabalhar com Horário de Verão.

· Parâmetros do Método: (1 Parâmetro)1 - Comanda o ECF para entrar em Horario de Verão, ou seja, Automaticamente será Adiantado 1(uma)hora no Relógio da Impressora0 - Comanda o ECF para SAIR do horário de Verão, ou seja atrasa o Relogio em 1(uma) hora.

· Observações:Este Método só serão executados caso não tenha uma Venda no Dia, ou seja, Entre um a Redução Z(fechamento de Dia) e uma X (abertura de Dia). Para SAIR do horario de verão, você deve realizar umaRedução Z e ESPERAR 1(uma) hora antes de enviar o método, isso se deve pelo fato que uma vez que aZ foi Executada, o Horário em que a Z foi executada ficou gravado na Memória Fiscal que não Permitiráque o Relógio do ECF volte 1(uma) hora atrás da hora que já foi gravada na Memória Fiscal, por isso anecessidade de se esperar 1(uma) hora para SAIR do Horario de Verão.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método irá configurar diretamente a impressora.- Este Método só será executado após uma ReduçãoZ e antes de uma LeituraX ou qualquer outrodocumento.- Você poderá deixar a entrada e saída do horário de verão automatizada. Para isso basta seguir asinstruções 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 válida no flag:DataEntradaHorarioVerao ex.:091205;4. Insira uma data válida no flag:DataSaidadaHorarioVerao ex.:091205.

Dessa maneira conforme você programou a Daruma32.dll quando verificar que chegou a data prevista emsua programação, irá fazer o ajuste automaticamente, tanto para a entrada quanto para a saída domesmo.

Importante: para que a saída do horário de verão seja aceita, é fundamental que a ReduçãoZ queantecede a data de saída do horário de verão seja feita ao final do período do dia anterior ao retorno ao

Page 262: 87514270 Daruma Framework

Daruma Framework249

Daruma Automação

horário normal. Exemplificando melhor: se o horário de verão for terminar no dia 100306, então aReduçãoZ 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)

· Definição do Método:Permite Configurar quantas linhas você deseja atrasar o sensor de Pouco Papel, ou seja, você pode indicarque o sensor de pouco papel só comece a sinalizar pouco papel quando a bobina estiver bem próxima dofinal, por Exemplos, em bobina de 22MM o valor de 0450 indica que o ECF irá sinalizar pouco papelquanto realmente estiver bem próximo do final da bobina. Isso economiza mais Papel através de umAproveitamento melhor do Sinal de "Pouco Papel"

· Parâmetros do Método: (1 Parâmetro)String com 4(quatro) dígitos que indica quantas linhas o sinal de pouco papel deve ser Atrasado, o Valor0000 indica que o sinal fica desabilitado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método 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 após a bobina terpassado pelo sensor é que ela passará a devolver o status de pouco papel.- Este método não é compatível 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 número de linhas para o aviso de Pouco Papel:', 'DarumaFramework', '0450'); if Str_Numero_Linhas = '' Then Exit;

Int_Retorno := Daruma_FI_CfgLimiarNearEnd(Str_Numero_Linhas);

1.12.5.9 Daruma_FIR_CfgEspacamentoCupons(Índice 507)

· Definição do Método:Configura o Número de Linhas entre cupons, isso permite uma economia de Bobina e um controle doavanço entre os documentos.

· Parâmetros do Método: (1 Parâmetro)2(Dois) dígitos com o número de linhas que você deseja avançar após a emissão de qualquer Documento.

Page 263: 87514270 Daruma Framework

Daruma Framework 250

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro. Qualquer valordiferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:-Este Método 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 número de linhas:', '15'); if Str_Valor = '' Then Exit;

Int_Retorno := Daruma_FIR_CfgEspacamentoCupons(pchar(Str_Valor));

1.12.6 Métodos de Informação, Status e Retornos

1.12.6.1 Daruma_FIR_StatusCupomFiscal(Índice 3404)

· Definição do Método:Retorna o status Cupom Fiscal, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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)

· Definição do Método:Retorna o status do Relatório Gerencial, se o mesmo esta Aberto ou Fechado.

Page 264: 87514270 Daruma Framework

Daruma Framework251

Daruma Automação

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Devolverá 0(zero) para Relatório Fechado e 1(um) para Relatório 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)

· Definição do Método:Retorna o status do Comprovante Não Fiscal Vinculado, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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 )

· Definição do Método:Retorna o status do Comprovante Não Fiscal Não Vinculado, se o mesmo esta Aberto ou Fechado.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:

Page 265: 87514270 Daruma Framework

Daruma Framework 252

Daruma Automação

1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- 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]

· Definição do Método:Verifica se a impressora está ligada ou conectada no computador.

· Parâmetros do Método:Não há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O byte a ser verificado desverá ser o inteiro que é devolvida em TODOS os métodos.

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)

· Definição do Método:Retorna 1(um) Inteiro com Modelo do ECF.

· Valores Retornados no Int_Retorno:1 - FS345 - Impressora de varejo.2 - FS318 - Impressora para restaurantes.3 - FS2000 - Impressora de duas estações.4 - FS345 - MFD (térmica) - Impressora de varejo.

Page 266: 87514270 Daruma Framework

Daruma Framework253

Daruma Automação

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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 ????)

· Definição do Método:Retorna se o relógio da impressora está em horário de verão.0 - Relógio da Impressora não programado para horário de verão.1 - Relógio da Impressora programado para horário de verão.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- A programação do horário de verão será realizada somente após uma ReduçãoZ. Para desprogramar, oMétodo somente será aceito, 1 (uma) hora após a ReduçãoZ e não pode ter havido movimento naimpressora nesse período.- Você poderá deixar a entrada e saída do horário de verão automatizada. Para isso basta seguir asinstruções 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 válida no flag:DataEntradaHorarioVerao ex.:091205;4. Insira uma data válida no flag:DataSaidadaHorarioVerao ex.:091205.

Dessa maneira conforme você programou a Daruma32.dll quando verificar que chegou a data prevista emsua programação, irá fazer o ajuste automaticamente, tanto para a entrada quanto para a saída domesmo.Importante: Para que a saída do horário de verão seja aceita, é fundamental que a ReduçãoZ queantecede a data de saída do horário de verão seja feita ao final do período do dia anterior ao retorno aohorário normal. Exemplificando melhor: se o horário de verão for terminar no dia 100306, então aReduçãoZ 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

Page 267: 87514270 Daruma Framework

Daruma Framework 254

Daruma Automação

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)

· Definição do Método:Retorna se a ReduçãoZ está pendente.1(um) para ReduçãoZ Pendente e 0(zero) para ReduçãoZ já executada.· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna se a LeituraX está pendente.1(um) para LeituraX Pendente e 0(zero) para LeituraX já executada.

· Parâmetros do Método:Variável por refêrencia com 2(dois) espaços alocados para escrita do Status.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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;

Page 268: 87514270 Daruma Framework

Daruma Framework255

Daruma Automação

1.12.6.10 Daruma_FIR_VerificaFormasPagamentoEx(Índice 3448)

· Definição do Método:Retorna as formas de pagamento e seus valores acumulados.

· Parâmetros do Método:Formas Pagamento: Variável String por referência com 1027(uma mil e vinte e sete) posições parareceber as formas programadas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método retorna as informações das formas de pagamento na seguinte ordem:

Descrição da forma de pagamento.....................: 16 bytesValor acumulado (2 casas decimais)..................: 20 bytesValor recebido no último cupom (2 casas decimais)...: 20 bytesValor indicando se a forma foi usada para a emissão+ 1 caráctere Separador, conforme configurado no Registry com o Método Daruma_Registry_Separador.

- São retornadas16 formas de pagamento mais a forma "Valor Recebido" e "Troco" obedecendo a ordemdescrita anteriormente. As formas de pagamento são separadas por vírgula. Veja Exemplos a seguir:

Ticket 0000000000000000000000000000000000000000,Dinheiro 0000000000000002000000000000000000010000,Cartao 0000000000000000000000000000000000000000,A vista 0000000000000000000000000000000000000000,TEF 0000000000000000000000000000000000000000,Teste1 0000000000000000000000000000000000000000,Teste2 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 não estiveremprogramadas estarão com os valores zerados e a descrição em branco (veja Exemplos acima). Paraprogramar as formas de pagamento utilize ométodo: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;

Page 269: 87514270 Daruma Framework

Daruma Framework 256

Daruma Automação

1.12.6.11 Daruma_FIR_VerificaEstadoImpressora(Índice 3401)

· Definição do Método:Retorna o estado da impressora.

Parâmetros do Método:1. ACK: Variável inteira para receber o primeiro byte.2. ST1: Variável inteira para receber o segundo byte.3. ST2: Variável inteira para receber o terceiro byte.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Este Método devolve o status da impressora.- Recomenda-se usar este método em concomitância com a chave StatusFuncao seteda pra 1(um) noregistry, assim sendo você só irá chamar este método 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)

· Definição do Método:Retorna as alíquotas de vinculação ao ISS.

· Parâmetros do Método:Aliquotas Iss: Variável String por referência com 79(setenta e nove) posições para receber as alíquotasvinculadas ao Iss.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- As alíquotas retornadas estarão separadas por vírgula. Ex.: 1800,1200,1500;- Para isento utilize II;- Para não tributado NN;- Para substituição FF.

Exemplos:

· Exemplo em Visual Basic 6.0:

Page 270: 87514270 Daruma Framework

Daruma Framework257

Daruma Automação

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

· Definição:Retorna os índices das alíquotas de ISS.

· Parâmetros do Método:Índice Alíquotas: Variável String por referência com o tamanho de 48(quarenta e oito) posições parareceber os índices das alíquotas de ISS.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIr_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Os índices retornados estarão separados por vírgula. 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)

· Definição do Método:Retorna a descrição dos totalizadores não fiscais programados na impressora com o Método:Daruma_FIR_NomeiaTotalizadorNaoSujeitoIcms(Índice 551).

· Parâmetros do Método:Totalizadores: Variável String por referência com 300(trezentas) posições para receber a descrição dostotalizadores não fiscais programados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Os totalizadores virão separados por vírgula;- Este Método retorna somente os 16 primeiros cadastrados;- Ex. Sangria,Suprimento,Conta de Luz, etc...

Exemplos:

Page 271: 87514270 Daruma Framework

Daruma Framework 258

Daruma Automação

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

· Definição do Método:Verifica se a Eprom está conectada.

· Parâmetros do Método:FlagEprom: Variável String por referência com 2(duas) posições para receber o flag de Eprom conectada.Onde:1 - Eprom conectada.0 - Eprom desconectada.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna os recebimentos não fiscais não vinculados programados na impressora.

· Parâmetros do Método:Recebimentos: Variável String por referência com 2200(duas mil e duzentas) posições para receber asinformações.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

- Este Método retorna as informações para os 50 totalizadores não fiscais não vinculados na seguinteordem:

Page 272: 87514270 Daruma Framework

Daruma Framework259

Daruma Automação

Valor indicando quantas vezes cada recebimento foi utilizado: 4 bytesValor 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 não fiscais não vinculados, os totalizadores quenão estiverem programados estarão com os valores zerados e a descrição em branco (veja Exemplosacima).

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)

· Definição do Método:Retorna 1 se a impressora estiver no modo truncamento e 0 se estiver no modo arredondamento.

· Parâmetros do Método:Truncamento: Variável String por referência com 2(duas) posições para receber o retorno. Onde:1 - Impressora programada para Truncar.2 - Impressora programada para Arredondar.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Dispensasse o uso deste método nos seguintes modelos de impressoras:

Page 273: 87514270 Daruma Framework

Daruma Framework 260

Daruma Automação

- FS600 MFD;- FS2000;- FS2000T.

Isso porque as impressoras citadas acima só truncam e isto esta previto no convênio 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)

· Definição do Método:Verifica se a impressora está em modo normal ou em intervenção técnica.

· Parâmetros do Método:Modo Operação: Variável String por referência com 2(duas) posições para receber o modo de operação daimpressora. Onde:1 - Modo normal0 - Intervenção técnica.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna os totalizadores parciais cadastrados na impressora com as seguintes informações:

Page 274: 87514270 Daruma Framework

Daruma Framework261

Daruma Automação

· Parâmetros do Método:Totalizadores: Variável String por referência com o tamanho de 445(quatrocentos e quarenta e cinco)posições para receber os totalizadores parciais cadastrados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Observações:- São retornadas as seguintes informações separadas por vírgulas:

Totalizadores parciais tributados..........: 224 bytesIsenção....................................: 14 bytesNão insidência.............................: 14 bytesSubstitução................................: 14 bytesTotalizadores parciais não sujeitos ao ICMS: 126 bytesSangria....................................: 14 bytesSuprimento.................................: 14 bytesGrande 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)

· Definição do Método:Retorna o número do caixa cadastrado na impressora.

· Parâmetros do Método:Número Caixa: Variável String por referência com 4(quatro) posições para receber o número do caixacadastrado na impressora.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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;

Page 275: 87514270 Daruma Framework

Daruma Framework 262

Daruma Automação

1.12.6.21 Daruma_FIR_NumeroSerie(Índice 3411)

· Definição do Método:Retorna o número de série da impressora.

· Parâmetros do Método:Número Série: Variável String por referência com o tamanho de 15(quinze) posições para receber onúmero de série.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna o CGC e a Inscrição Estadual do cliente/proprietário cadastrado na impressora.

· Parâmetros do Método:CGC: Variável String por referência com 18(dezoito) posições para receber o CGC.IE: Variável String por referência com 15 posições para receber a Inscrição Estadual.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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;

Page 276: 87514270 Daruma Framework

Daruma Framework263

Daruma Automação

1.12.6.23 Daruma_FIR_NumeroCupom(Índice 3417)

· Definição do Método:Retorna o número do cupom.

· Parâmetros do Método:Número Cupom: Variável String por referência com 6(seis) posições para receber o número do cupom.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Quando este médodo e execudado antes do cupom ser aberto, então o número retornado e o dopróximo cupom.- Quando este método e executado com o cupom aberto, então será retornado o número do cupom enmaberto.

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)

· Definição do Método:Retorna o número de intervenções técnicas realizadas na impressora.

· Parâmetros do Método:Intervenções: Variável String por referência com 4(quatro) posições para receber o número deintervenções.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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();

Page 277: 87514270 Daruma Framework

Daruma Framework 264

Daruma Automação

end;

1.12.6.25 Daruma_FIR_NumeroReducoes(Índice 3420)

· Definição do Método:Retorna o número de reduções Z realizadas na impressora.

· Parâmetros do Método:Reduções: Variável String por referência com 4(quatro) posições para receber o número de Reduções Z.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna o número de cupons cancelados.

· Parâmetros do Método:Cupons Cancelados: Variável String por referência com o tamanho de 4(quatro) posições para receber onúmero de cupons cancelados.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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);

Page 278: 87514270 Daruma Framework

Daruma Framework265

Daruma Automação

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

1.12.6.27 Daruma_FIR_NumeroOperacoesNaoFiscais(Índice 3418)

· Definição do Método:Retorna o número de operações não fiscais executadas na impressora.

· Parâmetros do Método:Operações: Variável String por referência com 6(seis) posições para receber o número de operações.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna a data e a hora atual da impressora.

· Parâmetros do Método:1. Data: Variável String por referência com 6(seis) posições para receber a data atual da impressora no

formato ddmmaa.2. Hora: Variável String por referência com 6(seis) posições para receber a hora atual da impressora no

formato hhmmss.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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;

Page 279: 87514270 Daruma Framework

Daruma Framework 266

Daruma Automação

1.12.6.29 Daruma_FIR_DataHoraReducao(Índice 3437)

· Definição do Método:Retorna a data e a hora da última Redução Z.

· Parâmetros do Método:1. Data Redução: Variável String por referência com 6(seis) posições para receber a data da última

redução no formato ddmmaa.2. Hora Redução: Variável String por referência com 6(seis) posições parar eceber a hora da última

redução no formato hhmmss.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna a data do último movimento.

· Parâmetros do Método:Data Movimento: Variável por refêrencia 6(seis) posições para receber a data do movimento no formatoddmmaa.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Obsercação:- Este método retornará na FS600 010100 caso o dia não 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);

Page 280: 87514270 Daruma Framework

Daruma Framework267

Daruma Automação

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

1.12.6.31 Daruma_FIR_ContadoresTotalizadoresNaoFiscais(Índice 3435)

· Definição do Mátodo:Retorna o número de vezes em que os totalizadores não sujeitos ao ICMS foram usados.

· Parâmetros do Método:Contadores: Variável por refêrencia com 44(quarenta e quatro) posições para receber os contadores dostotalizadores.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- A impressora fiscal Daruma, permite a programação de até 50 totalizadores não fiscais, porém esseMétodo retorna somente os contadores dos 9 primeiros totalizadores cadastrados.- O conteúdo da variável retornada será 36 dígitos separados de 4 em 4 por vírgura que representam os9 primeiros totalizadores. Ex.: "0001,0003,0001,0005,0004,0002,0003,0004,0007"- O primeiro valor corresponde ao número de vezes que o totalizador 01 foi usado, o segundocorresponde ao totalizador 02 e assim sucessivamente. A contagem Inicia-se do contador 03 em diantepois 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)

· Definição do Método:Retorna as alíquotas cadastradas na impressora com o Indice indicativo se a mesma esta cadastrada noISS ou no ICMS.

· Parâmetros do Método:Alíquotas: Variável por refêrencia com o tamanho de 300(trezentas) posições para receber as alíquotas.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Inicio com S significa que é ISS.- Inicio com T significa que é ICMS.- As alíquotas retornadas estarão separadas por vírgula.I Ex.: Sa1200, TB1700, TC0500, Sc1800.

Page 281: 87514270 Daruma Framework

Daruma Framework 268

Daruma Automação

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)

· Definição do Método:Retorna o valor do Grande Total da impressora.

· Parâmetros do Método:Grande Total: Variável por refêrencia com 18(dezoito) posições para receber o valor do grande total com2 casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna a valor acumulado dos descontos.

· Parâmetros do Método:Descontos: Variável por refêrencia com 14(quatorze) posições para receber o valor dos descontos com 2casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:

Page 282: 87514270 Daruma Framework

Daruma Framework269

Daruma Automação

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

· Definição do Método:Retorna o valor acumulado dos itens e dos cupons cancelados, referente ao movimento atual.

· Parâmetros do Método:Cancelamentos: Variável por refêrencia com 14(quatorze) posições para receber o valor doscancelamentos com 2 casas decimais.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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)

· Definição do Método:Retorna os dados da impressora no momento da última Redução Z.

· Parâmetros do Método:Dados Redução: Variável por refêrencia com o tamanho de 631(seiscentos e trinta e uma) posições parareceber os dados da última redução.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FIR_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- São retornados os valores das seguintes informações separados por vírgulas:

Page 283: 87514270 Daruma Framework

Daruma Framework 270

Daruma Automação

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 Métodos Exclusivos para a Impressora MFD Bilhete de Passagem

1.13.1 Método Daruma_FIB_AbreBilhetePassagem(Índice 2000)

· Definição do Método:Abre o bilhete de passagem.

· Parâmetros do Método: (12 Parâretros).1. Percurço: 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).

Page 284: 87514270 Daruma Framework

Daruma Framework271

Daruma Automação

4. UF Destino: String com 2 caracteres, do estado de destino.5. Categoria: String com 1 caráctere. Sendo: (1->interestadual, 2->intermunicipal e 3->internacional).6. Modalidade: String com 1 carátere. Sendo: (1->rodoviário, 2->ferroviário e 3->hidroviário).7. Plataforma: String com até 4 caráteres, com a descrição da plataforma.8. Poltrona: String com até 4 caráteres, com o número da poltrona.

Data Hora Embarque: String com 14 caráteres, com a data seguida da hora de embarque.

Observação! não use separadores, o modelo a ser passado é: DDMMAAAA hhmmss, tudo juntosem espaço.

9. Pretadora: String com até 48 caracteres, com o nome da empresa pratadora do serviço.10. RG Passegeiro: String com até 29 caracteres, com o número de identidade do passageiro (opcional).11. Nome Passageiro: String com até 30 caracteres, com o nome do passageiro (opcional).12. Endereço Passageiro: String com até 79 caracteres, com o endereço do passageiro (opcional).

· Retorno do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Percurso As StringDim Str_Origem As StringDim Str_Destino As StringDim Str_UF As StringDim Str_Categoria As StringDim Str_Modalidade As StringDim Str_Plataforma As StringDim Str_Poltrona As StringDim Str_DataHora As StringDim Str_Prestadora As StringDim Str_RG_Passageiro As StringDim Str_Nome_Passageiro As StringDim 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:VarStr_Percurso: String;Str_Origem: String;Str_Destino: String;Str_UF:String;Str_Categoria: String;Str_Modalidade: String;Str_Plataforma: String;

Page 285: 87514270 Daruma Framework

Daruma Framework 272

Daruma Automação

Str_Poltrona: String;Str_DataHora: String;Str_Prestadora: String;Str_RG_Passageiro: String;Str_Nome_Passageiro: String;Str_Endereco_Passageiro: String;beginStr_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 Método Daruma_FIB_VendeItem(Índice 2001)

· Definição do Método:Vende bilhete de passagem .

· Parâmetros do Método: (6 Parâretros).1. Descrição: String até 21 caracteres com a descrição do produto.2. Alíquota: String com o valor ou o índice da alíquota tributária. Se for o valor deve ser informado com

o tamanho de 4 caracteres ou 5 com a vírgula. Se for o índice da alíquota deve ser 2 caracteres.Ex. (18,00 para o valor ou 05 para o índice).

3. ValorUnitário: String até 8 dígitos para valor unitário.4. Acrescimo Desconto: Indica se haverá acréscimo ou desconto no cupom. 'A' para acréscimo e 'D'

para desconto.5. Tipo Acrescimo Desconto: Indica se o acréscimo ou desconto é por valor ou por percentual. '$' para

desconto por valor e '%' para percentual.6. Valor Acrescimo Desconto: String com no máximo 11 dígitos para acréscimo ou desconto por valor e

4 dígitos para acréscimo ou desconto por percentual.

· Observações:- O valor do desconto nunca poderá ser igual ou maior do que o valor do item.

· Retorno do Método:0: Erro de comunicação, não foi possível enviar o método.1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Descricao As StringDim Str_Situacao_Tributaria As StringDim Str_Valor As StringDim Str_Acrescimo_Desconto As StringDim Str_Tipo_Acrescimo_Desconto As StringDim Str_Valor_Acrescimo_Desconto As String

Page 286: 87514270 Daruma Framework

Daruma Framework273

Daruma Automação

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:VarStr_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 Métodos Exclusivos para TEF

1.14.1 Implementando TEF com a Daruma32.dll

· Definição do Método:Para realizar o TEF, existe operações que infelizmente são um pouco difícies para determinadaslinguagens de programação Implementar.

Um Exemplo disso é o travamento do Teclado, Impressao da Resposta do TEF, problemas de foco naJanela, controle do ECF ligado e Desligado, etc.

Por isso implementamos para você desenvolvedor 5(Cinco) Funções Exclusivas para o TEF que permitiráque você efetue o TEF sem maiores problemas e sem dificuldades nas operações de

1) Esperar o Arquivo de Resposta.2) Imprimir Resposta controlando o Arquivo no ECF se foi desligado ou não e re-imprimindo no Gerencial.3) Setar o Foco na Janela de seu aplicativo de Automação.4) Fechar o Relatorio Seja ele Vinculado ou não.

Veja Graficamente como e quando usar as Funções Auxiliares de TEF: clique aquiDaruma_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.

Page 287: 87514270 Daruma Framework

Daruma Framework 274

Daruma Automação

Page 288: 87514270 Daruma Framework

Daruma Framework275

Daruma Automação

1.14.2 Daruma_TEF_SetFocus(Índice 1902)

· Definição do Método:Coloca o foco na Janela que você especificar. Isso resolve alguns problemas do TEF de perda de foco aposou durante uma transação TEF.

· Parâmetros do Método: (1 Parâmetro)JANELA = String com o TITULO da Janela, a Método irá buscar a janela para colocar o foco através doTÍTULO da Janela, do CAPTION da Janela. Apenas isso.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplo: Colocando o Foco em uma Janela que o Título da Janela é "Aplicativo de AutomaçãoComercial Versão 1.0"

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Titulo_Janela As StringStr_Titulo_JanelInt_Retorno = InputBox("Entre com o título 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 título da Janela que você deseja setar ofocu:', 'Daruma Framework Impressoras Fiscais'); Int_Retorno := Daruma_TEF_SetFocus(pchar(Str_Titulo_Janela));

1.14.3 Daruma_TEF_FechaRelatorio(Índice 1904)

· Definição do Método:Fecha o Relatório no ECF, seja qual for o relatório que estiver aberto. Não se preocupe em identificar se oRelatório é Gerencial ou Comprvante Não Fiscal Não Vinculado, apenas chame esta Método que possuiinteligência para Identificar qual é o relatório que está aberto e fechá-lo.

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplo: Se tiver um comprovante não fiscal aberto na impressora, esta método 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();

Page 289: 87514270 Daruma Framework

Daruma Framework 276

Daruma Automação

1.14.4 Daruma_TEF_ImprimirResposta(Índice 1901)

· Definição do Método:Um dos Grandes problemas Hoje das empresas de software na Homologação do TEF é a impressão daReposta no ECF.Abrir o Arquivo, Buscar o Campo a ser impresso, Controlar a impressao, etc.. tudo isso é realizado poreste Método.Passe apenas o PATH onde este arquivo se encontra e esta Método imprime pra você o Arquivo e irádevolver se a impressão foi com sucesso ou não, caso não tenha tido sucesso você deverá proceder ospassos do TEF de perguntar se deseja continuar a impressão ou não etc..Clique aqui e veja como tratar ospossíveis erros de impressão.

· Parâmetros do Método: (3 Parâmetros)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 não fiscal Vinculado, caso você

deseje imprimir o Arquivo no Relatório Gerêncial, passe este parâmetro VAZIO, NULO sem conteúdo.E o Arquivo será impresso em um relatório Gerencial.

3. Travar Teclado. O terceiro e último paramêtro Travar Teclado, esta setado internamente para"nunca" travar o teclado, já que as homologadoras de TEF, não exigem que durante a espera peloarquivo, seja travado o teclado.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:-· Fluxograma básico de uso desta Método:1) Retorno = Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001","Dinheiro","1")2)Retorno é Igual a 1(um)?3)Se Sim, chamar a Método para encerrar a impressao(Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial)4)Se Não, Colocar MSGBOX na Tela "Impressora Nao Responde, deseja Continuar?Sim ou não?"5)Se Sim, Voltar para o passo 1, só que não passando o parâmetroda Forma de Pagamento, passe um espaco em branco.(Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001"," ","1") isso fará com que a Método abre oRelatorio Gerencial e volte a imprimir tudo no Relatório Gerencial.6)Se não, chamar a Método para encerrar a impressao(Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial)

· Exemplo: Impressão do Arquivo INTPOS.001 no Comprovante Não Fiscal Vinculado.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Path_Arquivo_Resp_TEF As StringDim Str_Forma_de_Pagamento As StringDim Str_Travar_Teclado As String

Str_Path_Arquivo_Resp_TEF = TX_Path_Arquivo_Resp_TEF.TextStr_Forma_de_Pagamento = TX_Forma_de_Pagamento.TextStr_Travar_Teclado = TX_Teclado.TextInt_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;

Page 290: 87514270 Daruma Framework

Daruma Framework277

Daruma Automação

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)

· Definição do Método:Um dos Grandes problema Hoje das empresas de software na Homologação do TEF é a impressão daReposta no ECF.Abrir o Arquivo, Buscar o Campo a ser impresso, Controlar a impressao, etc.. tudo isso é realizado poresta Método.Passe apenas o PATH onde este arquivo se encontra e esta Método imprime pra você o Arquivo e irádevolver se a impressão foi com sucesso ou não, caso não tenha tido sucesso você deverá proceder ospassos do TEF de perguntar se deseja continuar a impressão ou não etc..

· Parâmetros do Método: (4 Parâmetros)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 não fiscal Vinculado, caso você

deseje imprimir o Arquivo no Relatório Gerêncial, passe este parâmetro com apenas um ESPAÇO EMBRANCO. E o Arquivo será impresso em um relatório Gerencial.

3. Travar Teclado: String com "0" ou "1" para travar o teclado durante a Impressão do Arquivo. "0" -Não Trava, "1" - Trava.

4. ValorForma: String como valor da forma de pagamento.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Fluxograma básico de uso desta Método:1) Retorno = Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001","Dinheiro","1")2)Retorno é Igual a 1(um)?3)Se Sim, chamar a Método para encerrar a impressao(Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial)4)Se Não, Colocar MSGBOX na Tela "Impressora Nao Responde, deseja Continuar?Sim ou não?"5)Se Sim, Voltar para o passo 1, só que não passando o parâmetroda Forma de Pagamento, passe um espaco em branco.(Daruma_TEF_ImprimirResposta("C:\TEF_DIAL\INTPOS.001"," ","1") isso fará com que a Método abre oRelatorio Gerencial e volte a imprimir tudo no Relatório Gerencial.6)Se não, chamar a Método para encerrar a impressao(Daruma_FI_FechaComprovanteNaoFiscalVinculado ou Daruma_FI_FechaRelatorioGerencial)

· Exemplo: Impressão do Arquivo INTPOS.001 no Comprovante Não Fiscal Vinculado.

· Observações: - Aplica-se este método quando se tratar de uma venda com mais de um cartão.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Path_Arquivo_Resp_TEF As StringDim Str_Forma_de_Pagamento As StringDim Str_Travar_Teclado As StringDim 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")

Page 291: 87514270 Daruma Framework

Daruma Framework 278

Daruma Automação

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

· Definição do Método:Faz com que a dll espere um Arquivo (que você passa como Parâmetro) por "X" segundos (que você

Page 292: 87514270 Daruma Framework

Daruma Framework279

Daruma Automação

também passa como parâmetro) e devolve se o Arquivo foi encontrado dentro do tempo especificado,caso contrario devolve TIME-OUT.

Este Método é de extrema utilidade para o TEF - Transferência Eletronica de Fundos - onde o aplicativonecessita esperar aquivos de resposta do Gerenciador Padrão, passe apenas o PATH com o nome doArquivo e o tempo que você deseja que a dll espere o arquivo e pronto, deixe que a dll faça o "contadorde tempo" para você, você ainda pode escolher se enquanto a dll aguarda a criação do Arquivo o Tecladodeve ser Bloqueado ou não.

· Parâmetros do Método: (3 Parâmetros)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" - Não Trava, "1" - Trava.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Exemplo: Esperar a chegada do arquivo INTPOS.001 pelos segundos que você espacificar, sem travaro teclado.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Path_Arquivo_Resp_TEF As StringDim 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 naopode 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 não foi localizdo, Tempo esgotado !!!', 'DarumaFramework', mb_ok + 16); end;

Page 293: 87514270 Daruma Framework

Daruma Framework 280

Daruma Automação

1.14.7 Daruma_TEF_TravarTeclado(Índice 1903)

· Definição do Método:Trava ou Destrava o Teclado para entrada de dados, não bufferiza e não deixa resíduos no Buffer. Travatotalmente a entrada de dados via teclado deixando o Buffer Zerado.

· Parâmetros do Método: (1 Parâmetro)String com 0(Zero) ou 1(um) , 0(Destrava) 1(Trava)

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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 começar!", vbCritical, "DarumaFramework"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 começar!!!','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);

Page 294: 87514270 Daruma Framework

Daruma Framework281

Daruma Automação

1.14.8 Daruma_TEF_Tratando os Erros

· Dicas de tratamentos de Impressão:

· 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 são previstos todos estes pontos.

Exemplo em Vb6:Dim Int_Sts_Func As IntegerDim Int_Impressao_TEF As IntegerDim Int_Numero_Vias As IntegerDim Str_Sts_CF As StringDim Str_Sts_CNFV As StringDim Str_Sts_Gerencial As StringDim Str_Confirma As StringDim Int_Sts_CF As IntegerDim Int_Sts_CNFV As IntegerDim Int_Sts_Gerencial As IntegerDim Int_Flag_Vinculado As IntegerDim Int_Ack_RetornoDim Int_Sts1 As IntegerDim Int_Sts2 As IntegerDim Int_Contador As Integer

Int_Sts_Func = 0Str_Sts_CNFV = Space(2)Str_Sts_Gerencial = Space(2)

Int_Sts_Func = Daruma_Registry_StatusFuncao("0")Int_Sts_Func = Daruma_FI_VerificaImpressoraLigadaIf 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 Variável 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 Variável para que caia no loop de impressora desligada End IfEnd IfIf Int_Sts_Func <> 1 Then MsgBox "Impressora Desligada ligue para comecar os testes!", vbCritical, "Daruma Framework" Exit SubEnd If

'Aqui fazemos uma venda para que o nosso arquivos de resposta possa ser impressoInt_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 Não Encontrado!", vbCritical, "Daruma Framework" Exit Sub

Page 295: 87514270 Daruma Framework

Daruma Framework 282

Daruma Automação

End IfInt_Sts_Func = Daruma_Registry_StatusFuncao("1")Int_Impressao_TEF = 0Int_Numero_Vias = 2Do 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 Variável 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 Variável para que caia no loop de impressora desligada End If Do While (Int_Sts_Func <> 1) 'Enquanto a impressora estiver desligada permaneço em loop Str_ConfirmInt_Retorno = 0 Str_ConfirmInt_Retorno = MsgBox("Impressora Desligada! Verifique e clique em Sim parareimpressão no Gerencial" _ + Chr(13) + Chr(10) + "ou Não para cancelar.", vbCritical + vbQuestion + vbYesNo, "DarumaFramework") If Str_ConfirmInt_Retorno = vbYes Then 'Verificando se o usuário deseja continuar ou não Int_Sts_Func = Daruma_Registry_StatusFuncao("0") Int_Sts_Func = Daruma_FI_VerificaImpressoraLigada Int_Sts_Func = Daruma_Registry_StatusFuncao("1") Else Exit Sub 'Método abortada!!! End If Loop 'Final do Do While Enquanto a impressora estiver desligada permaneço 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 Impressão 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 Variável 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 Variável 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 Variável String em integer evitando assimsujeira Int_Sts_Func = Daruma_FI_StatusRelatorioGerencial(Str_Sts_Gerencial) Int_Sts_Gerencial = CInt(Str_Sts_Gerencial) 'Converto a Variável String em integer evitandoassim sujeira

Page 296: 87514270 Daruma Framework

Daruma Framework283

Daruma Automação

Int_Sts_Func = Daruma_Registry_StatusFuncao("0") If ((Int_Sts_CNFV = 0 And Int_Sts_Gerencial = 0) Or Int_Flag_Vinculado = 0) Then 'Checandoo 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 Interrupção na Impressão Str_ConfirmInt_Retorno = MsgBox("Impressora Desligada! Verifique e clique em Sim parareimpressão no Gerencial" _ + Chr(13) + Chr(10) + "ou Não para cancelar.", vbCritical + vbQuestion + vbYesNo, "DarumaFramework") 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 parareimpressão no Gerencial" _ + Chr(13) + Chr(10) + "ou Não para cancelar.", vbCritical + vbQuestion + vbYesNo, "DarumaFramework") 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 Impressão da resposta de TEFLoop '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 Variável String em integer evitando assim sujeira Int_Sts_Func = Daruma_FI_StatusRelatorioGerencial(Str_Sts_Gerencial) Int_Sts_Gerencial = CInt(Str_Sts_Gerencial) 'Converto a Variável String em integer evitando assimsujeira If (Int_Sts_CNFV = 1 Or Int_Sts_Gerencial = 1) Then 'Checando o Status do CNFV e RelatorioGerencial Int_Sts_Func = Daruma_TEF_FechaRelatorio() 'Fim da Rotina de TEF MsgBox "Impressão de TEF concluída", vbInformation, "Daruma Framework" Exit Sub Else MsgBox "A impressão foi Imterrompida", vbCritical, "Daruma Framework" Exit Sub End If

· Exemplo em Delphi 7.0:

Page 297: 87514270 Daruma Framework

Daruma Framework 284

Daruma Automação

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!', 'DarumaFramework', 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);

Page 298: 87514270 Daruma Framework

Daruma Framework285

Daruma Automação

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 impressoradesligada End; //IF 07 //While_04 While ((Int_Sts_Func) <> (1)) do //Enquanto a impressora estiver desligada permaneco emloop begin Int_Confirma:= (0); Int_Confirma:= Application.MessageBox ('Impressora Desligada! Verifique e clique em Simpara 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(Não), é o valor de retorno doApplication.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 permanecoem 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);

Page 299: 87514270 Daruma Framework

Daruma Framework 286

Daruma Automação

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 impressoradesligada Int_Sts_Func:= Daruma_FI_StatusComprovanteNaoFiscalVinculado(pchar(Str_Sts_CNFV)); Int_Sts_CNFV:= Int_Sts_Func; //Converto a variavel string em integer evitando assimsujeira Int_Sts_Func:= Daruma_FI_StatusRelatorioGerencial(Str_Sts_Gerencial); Int_Sts_Gerencial:= StrToInt(Str_Sts_Gerencial); //Converto a variavel string em integerevitando 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 Simpara 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

Page 300: 87514270 Daruma Framework

Daruma Framework287

Daruma Automação

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 Simpara reimpressao no Gerencial ou Nao para cancelar.' , 'DarumaFramework',mb_YesNo+mb_DefButton2+mb_IconQuestion); //IF 16 If (Int_Confirma = 7) Then //Int_Confirma = 6(Sim), = 7(Não), é o valor de retorno doApplication.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 onumero 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 evitandoassim sujeira //IF 18 If (((Int_Sts_CNFV) = (1)) Or ((Int_Sts_Gerencial) = (1))) Then //Checando o Status do CNFV eRelatorio 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 18end;

1.15 Métodos Exclusivos para Impressora DUAL

1.15.1 Daruma_DUAL_ImprimirTexto (Índice 4001)

· Definição do Método:Imprime Texto na Impressora DUAL (Imprimirá na porta de Comunicação que foi configurada através doMétodo Daruma_Registry_DUAL_Porta.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

Aqui você poderá Utilizar o protocolo DHTM (DARUMA HTML) caso deseje formatar um texto.

Page 301: 87514270 Daruma Framework

Daruma Framework 288

Daruma Automação

· Por exemplo:Se deseja Centralizar um Texto na Bobina, chame este Método com o seguinte parâmetro:iRetorno = Daruma_DUAL_ImprimirTexto("<ce>Teste de Comunicação</ce>","0")

Se desejar Expandir o Texto e Deixá-lo em Negrito Utilize as Chaves:iRetorno = Daruma_DUAL_ImprimirTexto("<b><e>Teste de Comunicação</b></e>","0")

Se desejar Sublinhar apenas uma parte do Texto utilize a combinaçãoiRetorno = Daruma_DUAL_ImprimirTexto("<b><e>Teste de <s>Comunicação</s></b></e>","0")E desta maneira apenas a palavra Comunicação ficará Sublinhada.

Se desejar Tabular o Texto utilize a combinaçãoiRetorno =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 Comunicação ficará Sublinhada.

Estas são as Tag´s que você poderá a qualquer momento no meio de seu texto implementar, incluíndouma Combinação entre elas:

<b></b> Para sinalizar Negrito<i></i> Para sinalizar Itálico<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 Várias Linhas<tc>C</tc> Riscar Linha com um caráctere Especifico<ce></ce> Para Centralizar<dt></dt> Para Imprimir Data Atual<hr></hr> Para Imprimir Hora Atual<sp>NN</sp> Inserir NN Espaços em Branco<sn></sn> Sinal Sonoro, Apitar<g></g> Abre a Gaveta<a> Aguardar até o Término da Impressão</a> Não Aguardar até o Término da Impressão<tb></tb> Tabulação<bmp></bmp> Para fazer o UPLoad do Bitmap na Impressora<< Quando desejar imprimir o caráctere "<">> Quando desenar imprimir o caráctere ">"<gui></gui> Para acionamento da guilhotina, exclusivo impressora não fiscal térmica<da></da> Para duplicar a altura do caractere

Tags para Código 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 Código de Barraas PDF417Clique aqui para mais informações:Daruma_DUAL_Imprimimindo Codigos de Barras

Veja Aqui Alguns Exemplos de Utilização

· ParâmetrosString: 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 parâmetro.

· Obervação:Valor default da Chave = "0"

Page 302: 87514270 Daruma Framework

Daruma Framework289

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Texto_Livre As StringDim Str_Tamanho_Texto As String

If (TX_Texto_Livre = "") Then MsgBox "Digite um Texto!!" Exit SubEnd If

Str_Texto_Livre = TX_Texto_Livre.TextInt_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 IfEnd Sub

· Exemplo em Delphi 7.0: var Str_Texto_Livre: String; Memo: String; begin Memo:= TX_Texto_Livre.Text; if Memo = '' then //Verifica Existência 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)

· Definição do Método:Imprime arquivo de texto, com até 3000 bytes.

· Parâmetros do Método: (1 Parâmetro)String: Com o nome e o path de onde está o arquivo.

· Retornos do método: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel

Page 303: 87514270 Daruma Framework

Daruma Framework 290

Daruma Automação

-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Aqui você poderá Utilizar o protocolo DHTM (DARUMA HTML) para formatar o seu arquivo de texto.

Estas são as Tag´s que você poderá a qualquer momento no meio de seu texto implementar, incluíndouma Combinação entre elas:

<b></b> Para sinalizar Negrito<i></i> Para sinalizar Itálico<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 Várias Linhas<tc>C</tc> Riscar Linha com um caráctere Especifico<ce></ce> Para Centralizar<dt></dt> Para Imprimir Data Atual<hr></hr> Para Imprimir Hora Atual<sp>NN</sp> Inserir NN Espaços em Branco<sn></sn> Sinal Sonoro, Apitar<g></g> Abre a Gaveta<a> Aguardar até o Término da Impressão</a> Não Aguardar até o Término da Impressão<tb></tb> Tabulação<bmp></bmp> Para fazer o UPLoad do Bitmap na Impressora<< Quando desejar imprimir o caráctere "<">> Quando desenar imprimir o caráctere ">"<gui></gui> Para acionamento da guilhotina, exclusivo impressora não fiscal térmica<da></da> Para duplicar a altura do caractere<pdf></pdf> Para imprimir o Código de Barraas PDF417

Veja Aqui Alguns Exemplos de Utilização

· ParâmetrosArquivo: com texto que voce deseja Imprimir (até 3000 de tamanho)

· Obervação:As formatações que irá conter o arquivo devereão serem feitas através das tags DHTML.

Valor default da Chave = "0"

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Erro de comunicação, Impressora Desligada 1: OK, Sucesso ao enviar o arquivo-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: ECF Inicializando.-53: Erro de Impressão.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_DUAL_ImprimirArquivo("C:\DarumaFramework.txt")

· Exemplo em Delphi 7.0: var Str_Path: String;beginStr_Path:= InputBox('Daruma Framework','Entre com o Nome do Arquivo a serImpresso','C:\DarumaFramework.txt'); If (Str_Path = '') Then Exit;Int_Retorno:= Daruma_DUAL_ImprimirArquivo(Str_Path);

Page 304: 87514270 Daruma Framework

Daruma Framework291

Daruma Automação

if Int_Retorno = 1 then begin Application.MessageBox('Configuração 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)

· Definição do MétodoRetorna um Valor Inteiro com o Status da Impressora DUAL

· Parâmetros do Método:Não há

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando

· Observações:Se você estiver usando a porta LPT(Paralela) e deseja pegar o status Acima você deverá configurar achave ModoEscrita que deverá estar a 1(um) porque desta forma a DLL irá se comunicar diretamenteatravés do Endereço da Porta Paralela e não através da API Normal do Windows que não permite a leituradestes Status. Isso somente deve ser levado em consideração quando estiver Usando a LPT(Paralela).No Caso da Serial nada disso debve ser levado em consideração, porque no caso da Serial a Própria DUALé quem retorna um Byte indicando seu Atual Satus. Caso a chave ModoEscrita esteja igual a 0(zero) -Que é seu Default - este Método sempre retornará 1(um) e você não terá acesso aos Status detalhadosda Impressora. Na Porta Serial a Chave ModoEscrita não é levada em Consideração.Para maiores detalhes de como utilizar e configurar a chave Modo Escrita veja o LinkDaruma_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 IfIf Int_Retorno = -50 Then MsgBox "-50 - Impressora OFF-LINE", vbCritical, "Daruma Framework"End IfIf Int_Retorno = -51 Then MsgBox "-51 - Impressora Sem Papel", vbCritical, "Daruma Framework"End IfIf Int_Retorno = -27 Then MsgBox "-27 - Erro Genérico", vbCritical, "Daruma Framework"End IfIf Int_Retorno = 0 Then MsgBox "0 - Impressora Desligada", vbCritical, "Daruma Framework"End If

· Exemplo em Delphi 7.0:

Page 305: 87514270 Daruma Framework

Daruma Framework 292

Daruma Automação

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

· Definiçãod do Método:Retorna um Valor Inteiro que indica se o Documento está posicionado para Autenticar ou não

· Parâmetros do Método:Não há

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando

· Observação Importante:Se você estiver usando a porta LPT(Paralela) e deseja pegar o status Acima você deverá configurar achave ModoEscrita que deverá estar a 1(um) porque desta forma a DLL irá se comunicar diretamenteatravés do Endereço da Porta Paralela e não através da API Normal do Windows que não permite a leituradestes Status. Isso somente deve ser levado em consideração quando estiver Usando a LPT(Paralela).No Caso da Serial nada disso devolve ser levado em consideração, porque no caso da Serial a PrópriaDUAL é quem retorna um Byte indicando seu Atual Status. Caso a chave ModoEscrita esteja igual a0(zero) - Que é seu Default - este Método sempre retornará 1(um) e você não terá acesso aos Statusdetalhados da Impressora. Na Porta Serial a Chave ModoEscrita não é levada em Consideração.Para maiores detalhes de como utilizar e cosnfigurar a chave Modo Escrita veja o LinkDaruma_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 Não 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;

Page 306: 87514270 Daruma Framework

Daruma Framework293

Daruma Automação

end;

1.15.5 Daruma_DUAL_Autenticar (Índice 4004)

· Definição do Método:Permite Enviar um Texto para Autenticação e permite configurar o Tempo que deseja esperar paraAutenticar e também o local, na Bobina e no DOC ou só no Documento.

Aqui você poderá utilizar as TAGS DHTM para Impresão e formatar o texto que deseja Autenticar.

Por exemplo se deseja Autenticar com Sublinhado e Expandido envie o seguinte método: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 método:iRetorno = Daruma_DUAL_Autenticar("1","<dt><hr>Texto","10")

Veja Aqui Alguns Exemplos de Utilização

· Parâmetros do Método: (3 Parâmetros)1. Local: 1(um) só no Documento, 0(zero) no Documento e na Bobina2. String com 48 caracteres com a Autenticação desejada3. Quantos Segundos deseja esperar que o Usuario coloque o Documento

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

· ObservaçõesSe você estiver usando a porta LPT(Paralela) e deseja Autenticar, você poderá faze-lo de duas Formas.

1) Para Fazer uso do Parâmetro de Time-Out (ou seja, que a dll fique esperando pra você que o usuariocoloque o Papel na DUAL) voce deverá estar com a Chave ModoEscrita a 1(um).

2) Caso você não deseje que a dll Controle isso, voce deverá sempre chamar o método de Autenticarquando o Papel já estiver presente na DUAL. Caso a Chave ModoEscrita estiver igual a 0(zero) e vocechame a autenticação sem o papel, não irá funcionar.Para maiores detalhes de como utilizar e configurar a chave Modo Escrita veja o LinkDaruma_Registry_DUAL_ModoEscrita.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Vias As StringDim Str_Texto_Autenticacao As StringDim Str_Tempo_Espera As String

Str_Vias = "1"Str_Texto_Autenticacao = "<sn><c>DARUMA AUTENTICAÇÃO</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

Page 307: 87514270 Daruma Framework

Daruma Framework 294

Daruma Automação

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)

· Definição do Método:Aciona a Gaveta de dinheiro que está "plugada" a Impressora DUAL na Saida RJ45 da Impressora

· Parâmetros do Método:Não Há

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-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:beginInt_Retorno:= Daruma_DUAL_AcionaGaveta()end;

1.15.7 Daruma_DUAL_StatusGaveta (Índice 4009)

· Definição do Método:Devolve o status da gaveta de dinheiro na impressora DUAL não fiscal. Sendo 1(um) para gaveta aberta e0(zero) para gaveta fechada.

· Parâmetros do Método:Nenhum.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Time-Out, o Usuario não posicionou o Documento dentroOb do tempo indicado 1: OK, Sucesso ao enviar o método-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: ECF Inicializando.

· Observações:- Caso você esteja trabalhando com windows versão: ME, 2000, XP, NT e Sistemas Protegidos ecomunicando-se com a impressora pela porta LPT. Então deverá seguir os passos descritos no link aseguir: Trabalhando com a DUAL NA PARALELA (LPT1, LPT2) . Do contrário não será possível apanhar ostatus.- Se o sinal estiver invertido. Ou seja, se ao invéz de retornar 1(um) para gaveta aberta, estiverretornando 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 então vice-versa.

Page 308: 87514270 Daruma Framework

Daruma Framework295

Daruma Automação

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)

· Definição do Método:Envia um arquivo com o logotipo da empresa, no formato BMP, dentro dos padrões exigidos.

· Parâmetros do Método:(1Parâmetro)Path: O caminho e o nome do arquipo bitmap, exemplo:c:\nomedoarquivo.bmp

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o BMP 0: Erro de comunicação, Impressora Desligada -1: Erro, arquivo BMP inexistente -2: Erro na estrutura do arquivo -3: Arquivo BMP não está em preto e branco -4: arquivo não pode ser compactado -5: Altura inválida, verifique se esta na medida exigida -6: Largura inválida, verifique se esta na medida exigida -7: Arvivo foi gerado em um formato não compatível -8: Arvivo de origem inválido -9: Problema no arquivo de destino

· Observações:- Formato do logotipo: tem que ser em formato BMP(bitmap)- Dimensões: 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 StringStr_Path = InputBox("Entre com o Path de onde está o Logotipo e o Nome do Arquivo:", "DarumaFramework", "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

Page 309: 87514270 Daruma Framework

Daruma Framework 296

Daruma Automação

· 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 doArquivo:','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)

· Definição do Método:Este método verifica se a guilhotina (quando houver), esta habilitada. Sendo que devolverá 1(um) paraguilhotina habilitada e 0(zero) para guilhotina não habilitada.

· Parâmetros do Método:Nenhum.· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o BMP 0: Erro de comunicação, Impressora Desligada

· Observações:- 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)

· Definição do Método:Este método programa a Guilhotina na impressora DUAL.

· Parâmetros do Método:(2Parâmetros)Flag: Inteiro 1(um) para programar 0(zero) para desprogramar.LinhasAvanco: Inteiro de 0 a 20 linhas para o acionamento da guilhotina.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o BMP 0: Erro de comunicação, Impressora Desligada

· Observações:-

Exemplos:

· Exemplo em Visual Basic 6.0:

Page 310: 87514270 Daruma Framework

Daruma Framework297

Daruma Automação

· Exemplo em Delphi 7.0:

1.15.11 Daruma_DUAL_Imprimimindo Codigos de Barras

· Definição:Imprime código de barras na DUAL através de Tags. DHTML

Com o lançamento da Impressora Térmica, a Daruma passou a disponibilizar em seus modelos, fiscal enão fical (térmicos), a impressão de código de barras, que é muito útil para a identificação de produtos.

A seguir você irá saber além dos modelos de códigos de barras que fazem parte do set de comandos daDR600, como a Daruma32.dll através da tags DHTML, facilita na hora da impressão dos coigos de barras.

· Vejamos então os parâmetros que compõe os códigos:

1. Tipo do Código de barra a ser impresso (Obrigatório)Conteúdo: <ean13> <ean8> <s2of5> <i2of5> <code128> <code39> <code93> <upc-a>

<codabar> <msi> <code11>

2. Largura do código de barra: (Atenção este parâmetro é opcional)Conteúdo: <wx>Possíveis valores para a largura do código de barras (x): 2 a 5Default: 2

3. Altura do código de barra: (Atenção este parâmetro é opcional)Conteúdo: <hx>Possíveis valores para a altura do código de barras (x): 50 a 200Default: 50

4. Imprime o código abaixo das barras: (Atenção este parâmetro é opcional)Conteúdo do código: <txt>Default: Não imprimir o código abaixo das barras.

· O tamando do código e o tipo dos carácteres que poderão serem impressos deverá respeitara lista abaixo:

EAN-13 12 dígitos de 0 a 9

EAN-8 7 dígitos de 0 a 9

UPC-A 11 dígitos de 0 a 9

CODE 39 Tamanho variável. 0-9, A-Z, '-', '.', '%', '/', '$', ' ', '+'

O caracter '*' de start/stop é inserido automaticamente

CODE 93 Tamanho variável. 0-9, A-Z, '-', '.', ' ', '$', '/', '+', '%'

O caracter '*' de start/stop é inserido automaticamente

CODABAR tamanho variável. 0 - 9, '$', '-', ':', '/', '.', '+'

Existem 4 diferentes caracteres de start/stop: A, B, C, and D que são usados em pares e não podemaparecer em nenhum outro lugar do código.

CODE 11 Tamanho variável. 0 a 9

As barras são geradas com checksum de dois caracteres

CODE 128 Tamanho variável. Todos os caracteres ASCII

Interleaved 2 of 5 Tamanho sempre par. 0 a 9

Page 311: 87514270 Daruma Framework

Daruma Framework 298

Daruma Automação

Standard 2 of 5 Tamanho variável. 0 a 9

MSI Tamanho variável. 0 a 9

PDF417 Tamanho variável. 0 a 9

· Alguns exemplos de strings para impressão de códigos de barras:

Em todos os exemplos a seguir, o 4 parâmetro, que é o código de barras em sim, seráimpresso.

No exemplo a seguir, os parâmetros largura, altura e se imrpime o códgo ou não (opcionais) nãoforam passados, sendo assim permanece o default.

1) <ean13>123456789012</ean13>

Imprime o código ean13 com o conteúdo "123456789012", sendo a largura = 3 e a altura default2) <ean13><w3>123456789012</w3></ean13>

Imprime o código ean13 com o conteúdo "123456789012", sendo a largura = 3 e a altura = 1503) <ean13><w3><h150>123456789012</h150></w3></ean13>

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

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 Métodos para Impressão na DUAL

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

- O PROCESSO ABAIXO NÃO É NECESSÁRIO CASO VOCÊ ESTEJA UTILIZANDO A PORTA SERIALPARA SE COMUNICAR OU SISTEMAS OPERACIONAIS COMO W95 E W98.

- O PROCESSO ABAIXO DEVE SER SEGUIDO APENAS NO CASO DE USO DA PARALELA EMSISTEMA OPERACIONAIS PROTEGIDOS COMO W2000, WXP, WNT, WxxSERVER.

Devido a Existência do HAL (Hardware Abstract Layer), existe a necessidade de se Burlar ésta "Camada"de comunicação para que Status como FINAL de PAPEL, Operações como Autenticação e Verificação de

Page 312: 87514270 Daruma Framework

Daruma Framework299

Daruma Automação

papel presente para ser autenticado ou não, sejam utilizados e aceitos pelo HAL.

Por isso a dll fez uso de um serviço que fornece um endereço protegido de comunicação com a PARALELA,chamado HWINTERFACE.SYS.

Passos Para a INSTALAÇÃO DA DS300 na PARALELA para Uso da DARUMA32.Dll:(Devem ser Executados nesta Ordem)

1. Copie o Arquivo HWINTERFACE.SYS para o Diretório WINDOWS\SYSTEM32\DRIVERS.2. Após a Instalação Faça 2(dois) Cliques no Arquivo DARUMA.REG que irá Registrar este serviço do

Windows.3. Reinicie o Computador (Válido somente para WIN2000).4. Pronto!! você já pode usar a DARUMA32.Dll na Porta Paralela de seu computador com todas os

Métodos de Autenticação, Staus, etc... Tudo ON-LINE com a DUAL.

1.15.12.2 Resolvendo Problemas de Comunicação com a PARALELA

· Problema: Já realizei a Copia do HWINTERFACE.SYS, Fiz 2(dois) Clicks no DARUMA.REG, Reiniciei oComputador e ainda assim a DUAL não comunica na Paralela.

· Solução: Como a Porta Paralela é protegida pelo Sistema Operacional, pode ser que ainda necessite dealguns pequenos ajustes para funcionar, tudo isso pela limitação 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 não se comunicandocom a DUAL NA paralela.

· Solução: Faça um Click com o Botão Direiro no Ícone Meu Computador, escolha a OpçãoPropriedades, e a ficha "Hardware", nesta ficha escolha a Opção "Gerenciador de Dispositivos",após isso selecione a opção "PORTAS" e a porta onde esta conectada a DUAL.

· Faça um click na Opção Configuração de Portas e deixe a paralela com a Seguinte Configuração:Nunca Usar Interrupção, conforme figura abaixo:

Page 313: 87514270 Daruma Framework

Daruma Framework 300

Daruma Automação

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

1.15.12.3 Utilizando as Tags de Impressão de Texto e Formatação

· Definição do Método:Permite trabalhar com as Tags de Formatação.

· Parâmetros do Método: (1 Parâmetro)String: com as tags de formatação:ex:<b>TEXTO em NEGRITO</b>

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado 1: OK, Sucesso ao enviar o método-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: ECF Inicializando.-53: Erro de Impressão.

Exemplos:

· Exemplo em Visual Basic 6.0:

<b></b> Para sinalizar Negrito<i></i> Para sinalizar Itálico - Nas impressoras térmicas DR600, FS600 e FS2100T, não épossível utilizar esta tag, pois o texto não pode ser formatado para itálico.<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 Várias Linhas<tc>C</tc> Riscar Linha com um caráctere 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 Espaços em Branco<sn></sn> Sinal Sonoro, Apitar<g></g> Abre a Gaveta<a> Aguardar até o Término da Impressão</a> Não Aguardar até o Término da Impressão

Page 314: 87514270 Daruma Framework

Daruma Framework301

Daruma Automação

<tb></tb> Tabulação - 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 caráctere "<">> Quando desenar imprimir o caráctere ">"<gui></gui> Para acionamento da guilhotina, exclusivo impressora não fiscal térmica

Para impressão dos códigos de barras acesse o seguintelink:Daruma_DUAL_Imprimimindo Codigos de Barras

Private Sub Command1_Click()

Int_Retorno = Daruma_DUAL_ImprimirTexto(("<sn><e><b>Teste Formatação DHTM</b></e></sn>"),0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<n>Estes são os carácteres que você poderáutilizar<n><l>Você poderá a qualquer monento combinar as formatações!!"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<b>><</b>> Para sinalizar Negrito"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<i>><</i>> Para sinalizar Itálico"), 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 tabulação"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tb>><</tb>> Para saltar até a proxima tabulação"),0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<sl>>NN<</sl>> Para Saltar Várias Linhas"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tc>>C<</tc>>Riscar Linha com Carácter Específico"),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 Espaços 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 Término da Impressão"),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>TABULAÇÃO</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)

Page 315: 87514270 Daruma Framework

Daruma Framework 302

Daruma Automação

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>Anvançando 3 Linhas</ce><sl>3</sl>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Anvançando 1 Linha</ce><sl>1</sl>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l>Inserindo</l><sp>10</sp>10 espaços em Branco"),0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Formatação Normal</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><n>DARUMA AUTOMAÇÃO!!</n></l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGR+ITAL+SUBL+EXPAND</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><i><s><e>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</b></i></s></n>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e>DARUMA AUTOMAÇÃO!!<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 AUTOMAÇÃO!!</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><e>DARUMA AUTOMAÇÃO!!</b></e>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITÁLICO+EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<i><e>DARUMA AUTOMAÇÃO!!</i></e>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><e>DARUMA AUTOMAÇÃO!!</s></e>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+CONDENSADO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><c>DARUMA AUTOMAÇÃO!!</b></c>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITÁLICO+CONDENSADO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<i><c>DARUMA AUTOMAÇÃO!!</i></c>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>SUBLINHADO+CONDENSADO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><c>DARUMA AUTOMAÇÃO!!</s></c>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+NORMAL</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><n>DARUMA AUTOMAÇÃO!!</b></n>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITÁLICO+NORMAL</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><i><n>DARUMA AUTOMAÇÃO!!</i></n></l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>SUBLINHADO+NORMAL</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><n>DARUMA AUTOMAÇÃO!!</s></n><l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ad>DARUMA AUTOMAÇÃO!!</ad><l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA + EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e><ad>DARUMA AUTOMAÇÃO!!</ad></e><l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA + SUBLINHADO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ad><s>DARUMA AUTOMAÇÃO!!</s></ad><l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>CENTRALIZADO + EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e><ce>DARUMA AUTOMAÇÃO!!</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>Códigos 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>1234</pdf>"), 0)

'Enviando todos Juntos

Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><e><b>BUFFER COMPLETO</e></b>"), 0)Int_Retorno =

Page 316: 87514270 Daruma Framework

Daruma Framework303

Daruma Automação

Daruma_DUAL_ImprimirTexto(("<<e>>DATA:<<dt>><</dt>><</e>><<l>><<l/>><<e>>Hora:<<hr>><</hr>><</e>><<l>><<l/>><<ce>>" + _"Anvançando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaços emBranco<<l>>" + _"<<ce>>Formatação Normal<</ce>><<n>>DARUMAAUTOMAÇÃO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>" + _"<<b>><<i>><<s>><<e>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce>>" + _"<<b>><<i>><<s>><<c>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b>>" + _"<<i>><<s>><<n>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMAAUTOMAÇÃO!!" + _"<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMAAUTOMAÇÃO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMAAUTOMAÇÃO!!" + _"<</b>><</e>><<l>><<ce>>Itálico+EXPANDIDO<</ce>><<i>><<e>>DARUMAAUTOMAÇÃO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>" + _"<<s>><<e>>DARUMAAUTOMAÇÃO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMAAUTOMAÇÃO!!<</b>><</c>><<l>>" + _"<<ce>>Itálico+CONDENSADO<</ce>><<i>><<c>>DARUMAAUTOMAÇÃO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>" + _"DARUMAAUTOMAÇÃO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMAAUTOMAÇÃO!!<</b>><</n>><<l>><<ce>>Itálico+NORMAL" + _"<</ce>><<l>><<i>><<n>>DARUMAAUTOMAÇÃO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMAAUTOMAÇÃO!!<</s>><</n>>" + _"<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMAAUTOMAÇÃO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + _ EXPANDIDO<</ce>>" + _"<<e>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA + _SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAÇÃO!!<</s>><</ad>>" + _"<<l>><<ce>>CENTRALIZADO + _ EXPANDIDO<</ce>><<e>><<ce>>DARUMAAUTOMAÇÃO!!<</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>><<upc-a>>12345678901<</upc-a>><<code39>>CODE 39<</code39>><<code93>>CODE93<</code93>>" + _"<<codabar>>CODABAR<</codabar>><<msi>>123456789<</msi>><<code11>>12345678901<</code11>>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 IfEnd Sub

· Exemplo em Delphi 7.0:

<b></b> Para sinalizar Negrito<i></i> Para sinalizar Itálico<s></s> Para sinalizar Sublinhado<e></e> Para sinalizar E x p a n d i d o<c></c> Para sinalizar Condensado<n></n> Para sinalizar Normal<l></l> Para Saltar Uma Linha<ce></ce> Para Centralizar o Texto

Page 317: 87514270 Daruma Framework

Daruma Framework 304

Daruma Automação

<ad></ad> Para Alinhar a Direita<da></da> Para duplicar a altura do caracter<cr></cr> Retornar o Carro de Impressao para o Começo.<sl>NN</sl> Para Saltar Várias Linhas<tc>C</tc> Riscar Linha com um caráctere Especifico<ce></ce> Para Centralizar<dt></dt> Para Imprimir Data Atual<hr></hr> Para Imprimir Hora Atual<sp>NN</sp> Inserir NN Espaços em Branco<sn></sn> Sinal Sonoro, Apitar<g></g> Abre a Gaveta<tb></tb> Tabulação<a> Aguardar até o Término da Impressão</a> Não Aguardar até o Término da Impressão<< Quando desejar imprimir o caráctere "<">> Quando desenar imprimir o caráctere ">"

procedure TFramework_DUAL_ImprimirTexto.Button1Click( Sender: TObject);beginInt_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<sn><e><b>Teste FormataçãoDHTM</b></e></sn>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<n>Estes são os carácteres que você poderáutilizar<n><l>Você poderá a qualquer monento combinar as formatações!!'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<b>><</b>> Para sinalizar Negrito'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<i>><</i>> Para sinalizar Itálico'), 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 habilitartabulação'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tb>><</tb>> Para saltar até a proximatabulação'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sl>>NN<</sl>> Para Saltar Várias Linhas'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tc>>C<</tc>>Riscar Linha com CarácterEspecífico'), 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 Espaços emBranco'), 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 Término daImpressão'), 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>TABULAÇÃO</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);

Page 318: 87514270 Daruma Framework

Daruma Framework305

Daruma Automação

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<tb></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>Anvançando 3 Linhas</ce><sl>3</sl>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Anvançando 1 Linha</ce><sl>1</sl>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l>Inserindo</l><sp>10</sp>10 espaços emBranco'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Formatação Normal</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><n>DARUMA AUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</b></i></s></n>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>EXPANDIDO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e>DARUMA AUTOMAÇÃO!!<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 AUTOMAÇÃO!!</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+EXPANDIDO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><e>DARUMA AUTOMAÇÃO!!</b></e>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITÁLICO+EXPANDIDO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><e>DARUMA AUTOMAÇÃO!!</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 AUTOMAÇÃO!!</s></e>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+CONDENSADO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><c>DARUMA AUTOMAÇÃO!!</b></c>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITÁLICO+CONDENSADO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><c>DARUMA AUTOMAÇÃO!!</i></c>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+CONDENSADO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><c>DARUMA AUTOMAÇÃO!!</s></c>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+NORMAL</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><n>DARUMA AUTOMAÇÃO!!</b></n>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITÁLICO+NORMAL</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><i><n>DARUMA AUTOMAÇÃO!!</i></n></l>'),0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+NORMAL</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><n>DARUMA AUTOMAÇÃO!!</s></n><l>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ad>DARUMA AUTOMAÇÃO!!</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 AUTOMAÇÃO!!</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 AUTOMAÇÃO!!</s></ad><l>'),0);

Page 319: 87514270 Daruma Framework

Daruma Framework 306

Daruma Automação

Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>CENTRALIZADO + EXPANDIDO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e><ce>DARUMA AUTOMAÇÃO!!</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>Códigos 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>1234</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>>' +'Anvançando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaços emBranco<<l>>' +'<<ce>>Formatação Normal<</ce>><<n>>DARUMAAUTOMAÇÃO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>' +'<<b>><<i>><<s>><<e>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce>>' +'<<b>><<i>><<s>><<c>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b>>' +'<<i>><<s>><<n>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMAAUTOMAÇÃO!!' +'<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMAAUTOMAÇÃO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMAAUTOMAÇÃO!!' +'<</b>><</e>><<l>><<ce>>Itálico+EXPANDIDO<</ce>><<i>><<e>>DARUMAAUTOMAÇÃO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>' +'<<s>><<e>>DARUMAAUTOMAÇÃO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMAAUTOMAÇÃO!!<</b>><</c>><<l>>' +'<<ce>>Itálico+CONDENSADO<</ce>><<i>><<c>>DARUMAAUTOMAÇÃO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>' +'DARUMAAUTOMAÇÃO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMAAUTOMAÇÃO!!<</b>><</n>><<l>><<ce>>Itálico+NORMAL' +'<</ce>><<l>><<i>><<n>>DARUMAAUTOMAÇÃO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMAAUTOMAÇÃO!!<</s>><</n>>' +'<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMAAUTOMAÇÃO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + EXPANDIDO<</ce>>' +'<<e>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA +SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAÇÃO!!<</s>><</ad>>' +'<<l>><<ce>>CENTRALIZADO + EXPANDIDO<</ce>><<e>><<ce>>DARUMAAUTOMAÇÃO!!<</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>><<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);Int_Retorno:= Daruma_DUAL_ImprimirTexto(Pchar('<l><e><b>FIM BUFFER COMPLETO</e></b>'), 0);

Page 320: 87514270 Daruma Framework

Daruma Framework307

Daruma Automação

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 Impressão de Texto

· Definição do Método:Permite trabalhar com as Tags de Formatação.

Parâmetros do Método: (1 Parâmetro)String: com as tags de formatação:ex:<ce>CENTRALIZADO</ce>

· Este Método retornará um dos Valores Inteiros listados Abaixo: 0: Time-Out, o Usuario não posicionou o Documento dentro do tempo indicado 1: OK, Sucesso ao enviar o método-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: ECF Inicializando.-53: Erro de Impressão.

Exemplos:

· Exemplo em Visual Basic 6.0:

Int_Retorno = Daruma_DUAL_ImprimirTexto(("<sn><e><b>Teste Formatação DHTM</b></e></sn>"),0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<n>Estes são os carácteres que você poderáutilizar<n><l>Você poderá a qualquer monento combinar as formatações!!"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<b>><</b>> Para sinalizar Negrito"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<i>><</i>> Para sinalizar Itálico"), 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 tabulação"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tb>><</tb>> Para saltar até a proxima tabulação"),0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<sl>>NN<</sl>> Para Saltar Várias Linhas"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<<tc>>C<</tc>>Riscar Linha com Carácter Específico"),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 Espaços 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 Término da Impressão"),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>TABULAÇÃO</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 =

Page 321: 87514270 Daruma Framework

Daruma Framework 308

Daruma Automação

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>Anvançando 3 Linhas</ce><sl>3</sl>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Anvançando 1 Linha</ce><sl>1</sl>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l>Inserindo</l><sp>10</sp>10 espaços em Branco"),0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>Formatação Normal</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><n>DARUMA AUTOMAÇÃO!!</n></l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGR+ITAL+SUBL+EXPAND</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><i><s><e>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</b></i></s></n>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e>DARUMA AUTOMAÇÃO!!<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 AUTOMAÇÃO!!</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><e>DARUMA AUTOMAÇÃO!!</b></e>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITÁLICO+EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<i><e>DARUMA AUTOMAÇÃO!!</i></e>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce><dt></dt>SUBLINHADO+EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><e>DARUMA AUTOMAÇÃO!!</s></e>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+CONDENSADO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><c>DARUMA AUTOMAÇÃO!!</b></c>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITÁLICO+CONDENSADO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<i><c>DARUMA AUTOMAÇÃO!!</i></c>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>SUBLINHADO+CONDENSADO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><c>DARUMA AUTOMAÇÃO!!</s></c>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>NEGRITO+NORMAL</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<b><n>DARUMA AUTOMAÇÃO!!</b></n>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ITÁLICO+NORMAL</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<l><i><n>DARUMA AUTOMAÇÃO!!</i></n></l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>SUBLINHADO+NORMAL</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<s><n>DARUMA AUTOMAÇÃO!!</s></n><l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ad>DARUMA AUTOMAÇÃO!!</ad><l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA + EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e><ad>DARUMA AUTOMAÇÃO!!</ad></e><l>"), 0)

Page 322: 87514270 Daruma Framework

Daruma Framework309

Daruma Automação

Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>ALINHADO A DIREITA + SUBLINHADO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ad><s>DARUMA AUTOMAÇÃO!!</s></ad><l>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>DUPLA ALTURA</ce><l>", 0)Int_Retorno = Daruma_DUAL_ImprimirTexto("<da>DARUMA AUTOMAÇÃO!!</da><l>", 0)Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>DUPLA ALTURA + EXPANDIDO</ce><l>", 0)Int_Retorno = Daruma_DUAL_ImprimirTexto("<da><e>DARUMA AUTOMAÇÃO!!</da></e><l>", 0)Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>DUPLA ALTURA + SUBLINHADO</ce><l>", 0)Int_Retorno = Daruma_DUAL_ImprimirTexto("<da><s>DARUMA AUTOMAÇÃO!!</s></da><l>", 0)Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce>DUPLA ALT + CENT + NEGRITO</ce>", 0)Int_Retorno = Daruma_DUAL_ImprimirTexto("<da><ce><b>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</da></ad></b><l>", 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<ce>CENTRALIZADO + EXPANDIDO</ce>"), 0)Int_Retorno = Daruma_DUAL_ImprimirTexto(("<e><ce>DARUMA AUTOMAÇÃO!!</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>Códigos 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>1234</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:<<hr>><</hr>><</e>><<l>><<l/>><<ce>>" + _"Anvançando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaços emBranco<<l>>" + _"<<ce>>Formatação Normal<</ce>><<n>>DARUMAAUTOMAÇÃO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>" + _"<<b>><<i>><<s>><<e>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce>>" + _"<<b>><<i>><<s>><<c>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b>>" + _"<<i>><<s>><<n>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMAAUTOMAÇÃO!!" + _"<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMAAUTOMAÇÃO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMAAUTOMAÇÃO!!" + _"<</b>><</e>><<l>><<ce>>Itálico+EXPANDIDO<</ce>><<i>><<e>>DARUMAAUTOMAÇÃO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>" + _"<<s>><<e>>DARUMAAUTOMAÇÃO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMAAUTOMAÇÃO!!<</b>><</c>><<l>>" + _"<<ce>>Itálico+CONDENSADO<</ce>><<i>><<c>>DARUMAAUTOMAÇÃO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>" + _"DARUMAAUTOMAÇÃO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMAAUTOMAÇÃO!!<</b>><</n>><<l>><<ce>>Itálico+NORMAL" + _"<</ce>><<l>><<i>><<n>>DARUMAAUTOMAÇÃO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMAAUTOMAÇÃO!!<</s>><</n>>" + _"<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMAAUTOMAÇÃO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + _ EXPANDIDO<</ce>>" + _

Page 323: 87514270 Daruma Framework

Daruma Framework 310

Daruma Automação

"<<e>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA + _SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAÇÃO!!<</s>><</ad>>" + _"<<l>><<ce>>CENTRALIZADO + _ EXPANDIDO<</ce>><<e>><<ce>>DARUMAAUTOMAÇÃO!!<</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>><<upc-a>>12345678901<</upc-a>><<code39>>CODE 39<</code39>><<code93>>CODE93<</code93>>" + _"<<codabar>>CODABAR<</codabar>><<msi>>123456789<</msi>><<code11>>12345678901<</code11>><<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:beginInt_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<sn><e><b>Teste FormataçãoDHTM</b></e></sn>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<n>Estes são os carácteres que você poderáutilizar<n><l>Você poderá a qualquer monento combinar as formatações!!'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<b>><</b>> Para sinalizar Negrito'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<i>><</i>> Para sinalizar Itálico'), 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 docaracter'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<ft>>n1,n2,...,n6<</ft>> Para habilitartabulação'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tb>><</tb>> Para saltar até a proximatabulação'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<sl>>NN<</sl>> Para Saltar Várias Linhas'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<<tc>>C<</tc>>Riscar Linha com CarácterEspecífico'), 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 Espaços emBranco'), 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 Término daImpressão'), 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>TABULAÇÃO</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:=

Page 324: 87514270 Daruma Framework

Daruma Framework311

Daruma Automação

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<tb></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>Anvançando 3 Linhas</ce><sl>3</sl>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Anvançando 1 Linha</ce><sl>1</sl>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l>Inserindo</l><sp>10</sp>10 espaços emBranco'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>Formatação Normal</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><n>DARUMA AUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</b></i></s></n>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>EXPANDIDO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e>DARUMA AUTOMAÇÃO!!<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 AUTOMAÇÃO!!</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+EXPANDIDO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><e>DARUMA AUTOMAÇÃO!!</b></e>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITÁLICO+EXPANDIDO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><e>DARUMA AUTOMAÇÃO!!</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 AUTOMAÇÃO!!</s></e>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+CONDENSADO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><c>DARUMA AUTOMAÇÃO!!</b></c>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITÁLICO+CONDENSADO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<i><c>DARUMA AUTOMAÇÃO!!</i></c>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+CONDENSADO</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><c>DARUMA AUTOMAÇÃO!!</s></c>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>NEGRITO+NORMAL</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<b><n>DARUMA AUTOMAÇÃO!!</b></n>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ITÁLICO+NORMAL</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<l><i><n>DARUMA AUTOMAÇÃO!!</i></n></l>'),0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>SUBLINHADO+NORMAL</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<s><n>DARUMA AUTOMAÇÃO!!</s></n><l>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA</ce>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ad>DARUMA AUTOMAÇÃO!!</ad><l>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>ALINHADO A DIREITA + EXPANDIDO</ce>'),0);

Page 325: 87514270 Daruma Framework

Daruma Framework 312

Daruma Automação

Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<e><ad>DARUMA AUTOMAÇÃO!!</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 AUTOMAÇÃO!!</s></ad><l>'),0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<ce>DUPLA ALTURA</ce><l>'), 0);Int_Retorno:= Daruma_DUAL_ImprimirTexto(pchar('<da>DARUMA AUTOMAÇÃO!!</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 AUTOMAÇÃO!!</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 AUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</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>DARUMAAUTOMAÇÃO!!</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>Códigos 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>1234</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>>' +'Anvançando 5 Linhas<</ce>><<sl>>5<</sl>>Inserindo<<sp>>10<</sp>>10 espaços emBranco<<l>>' +'<<ce>>Formatação Normal<</ce>><<n>>DARUMAAUTOMAÇÃO!!<</n>><<l>><<ce>>NEGR+ITAL+SUBL+EXPAND<</ce>>' +'<<b>><<i>><<s>><<e>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</e>><<l>><<ce>>NEGR+ITAL+SUBL+CONDENSADO<</ce>>' +'<<b>><<i>><<s>><<c>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</c>><<l>><<ce>>NEGR+ITAL+SUBL+NORMAL<</ce>><<b>>' +'<<i>><<s>><<n>>DARUMAAUTOMAÇÃO!!<</b>><</i>><</s>><</n>><<l>><<ce>>EXPANDIDO<</ce>><<e>>DARUMAAUTOMAÇÃO!!' +'<<e>><<l>><<ce>>CONDENSADO<</ce>><<c>>DARUMAAUTOMAÇÃO!!<</c>><<l>><<ce>>NEGRITO+EXPANDIDO<</ce>><<b>><<e>>DARUMAAUTOMAÇÃO!!' +'<</b>><</e>><<l>><<ce>>Itálico+EXPANDIDO<</ce>><<i>><<e>>DARUMAAUTOMAÇÃO!!<</i>><</e>><<l>><<ce>>SUBLINHADO+EXPANDIDO<</ce>>' +'<<s>><<e>>DARUMAAUTOMAÇÃO!!<</s>><</e>><<l>><<ce>>NEGRITO+CONDENSADO<</ce>><<b>><<c>>DARUMAAUTOMAÇÃO!!<</b>><</c>><<l>>' +'<<ce>>Itálico+CONDENSADO<</ce>><<i>><<c>>DARUMAAUTOMAÇÃO!!<</i>><</c>><<l>><<ce>>SUBLINHADO+CONDENSADO<</ce>><<s>><<c>>' +'DARUMAAUTOMAÇÃO!!<</s>><</c>><<l>><<ce>>NEGRITO+NORMAL<</ce>><<b>><<n>>DARUMAAUTOMAÇÃO!!<</b>><</n>><<l>><<ce>>Itálico+NORMAL' +

Page 326: 87514270 Daruma Framework

Daruma Framework313

Daruma Automação

'<</ce>><<l>><<i>><<n>>DARUMAAUTOMAÇÃO!!<</i>><</n>><<l>><<ce>>SUBLINHADO+NORMAL<</ce>><<s>><<n>>DARUMAAUTOMAÇÃO!!<</s>><</n>>' +'<<l>><<ce>>ALINHADO A DIREITA<</ce>><<ad>>DARUMAAUTOMAÇÃO!!<</ad>><<l>><<ce>>ALINHADO A DIREITA + EXPANDIDO<</ce>>' +'<<e>><<ad>>DARUMA AUTOMAÇÃO!!<</ad>><</e>><<l>><<ce>>ALINHADO A DIREITA +SUBLINHADO<</ce>><<ad>><<s>>DARUMA AUTOMAÇÃO!!<</s>><</ad>>' +'<<l>><<ce>>CENTRALIZADO + EXPANDIDO<</ce>><<e>><<ce>>DARUMAAUTOMAÇÃO!!<</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>><<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);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 Existência 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

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line

Page 327: 87514270 Daruma Framework

Daruma Framework 314

Daruma Automação

-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Nome_Empresa As StringDim Str_Endereco_Empresa As StringDim Str_Fone_Empresa As StringDim Str_Numero_Pedido As StringDim Str_Tema_Mensagem As StringDim Str_Titulo_Mensagem As StringDim Str_Valor_Mensagem As StringDim Str_Forma_Cobranca As StringDim Str_Cliente As StringDim Str_Fone_Res As StringDim Str_Fone_Celular As StringDim Str_Fone_Com As StringDim Str_Mensagem_Promo As StringDim 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 = 'Agradeçemos a Preferência!!!'Str_Hora = TX_Hora.Text

'IMPRIMINDO A PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<i><e><sp>2</sp>" + TX_Nome_Empresa.Text +"</e></i>", 0)'IMPRIMINDO A SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><tc>-</tc></ce>", 0)'IMPRIMINDO A TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Endereco_Empresa.Caption + "<i>" +TX_Endereco_Empresa.Text + "</i>", 0)'IMPRIMINDO A QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Fone_Empresa.Caption + "<i>" +TX_Fone_Empresa.Text + "</i>", 0)'IMPRIMINDO A QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Pedido_Nº.Caption + "<i>" +TX_Numero_Pedido.Text + "</i>", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Data.Caption + "<i><dt></dt></i>",0)'IMPRIMINDO A SETIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><tc>-</tc></ce>", 0)'IMPRIMINDO A OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Tema_Mensagem.Caption + "<i>" +TX_Tema_Mensagem.Text + "</i>", 0)'IMPRIMINDO A NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Titulo_Mensagem.Caption + "<i>" +TX_Titulo_Mensagem.Text + "</i>", 0)'IMPRIMINDO A DECIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Valor_Mensagem.Caption + "<i>" +TX_Valor_Mensagem.Text + "</i>", 0)'IMPRIMINDO A DECIMA PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Forma_Cobranca.Caption + "<i>" +

Page 328: 87514270 Daruma Framework

Daruma Framework315

Daruma Automação

TX_Forma_Cobranca.Text + "</i>", 0)'IMPRIMINDO A DECIMA SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Cliente.Caption + "<i>" +TX_Cliente.Text + "</i>", 0)'IMPRIMINDO A DECIMA TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Fone_Res.Caption + "<i>" +TX_Fone_Res.Text + "</i>", 0)'IMPRIMINDO A DECIMA QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>4</sp>" + LB_Celular.Caption + "<i>" +TX_Celular.Text + "</i>", 0)'IMPRIMINDO A DECIMA QUINTA LINHAInt_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 LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><b>" + Tx_Mensagem_Promo.Text +"</b></ce><sl>2</sl>", 0)'IMPRIMINDO A DECIMA OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>35</sp>" + LB_Hora.Caption + "<hr></hr>", 0)'IMPRIMINDO A DECIMA NONA LINHAInt_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

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Retorno As IntegerDim Str_Empresa As StringDim Str_Endereco_Empresa As StringDim Str_Fone_Empresa As StringDim Str_Cliente As StringDim Str_Cadastro As StringDim Str_Data_Devolucao As StringDim Str_Filme As StringDim Str_Categoria As StringDim Str_Valor As StringDim Str_Mensagem_Promocional As String

Str_Empresa = 'Lucas Video'Str_Edereco_Empresa = 'AV. Constantino Lopes, 550 - Centro - Ctba.'

Page 329: 87514270 Daruma Framework

Daruma Framework 316

Daruma Automação

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 = 'Lançamento'Str_Valor = '4,50'Str_Mensagem_Promocional = 'A cada 2 lançamentos brinde 1 catálogo'

'IPRIMINDO A PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce><b>" + TX_Empresa.Text + "</ce></e></b>",0)'IPRIMINDO A SEGUNRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto(LB_Endereco_Empresa.Caption + "<i><sp>1</sp>" +TX_Endereco_Empresa.Text + "</i>", 0)'IPRIMINDO A TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto(LB_Fone_Empresa.Caption + "<i><sp>1</sp>" +TX_Fone_Empresa.Text + "</i>", 0)'IMPRIMINDO A QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto(LB_Nome_Cliente + "<i><sp>1</sp>" + TX_Cliente.Text +"</i>", 0)'IMPRIMINDO A QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto(LB_Cadastro + "<i><sp>1</sp>" + TX_Cadastro.Text +"</i>", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto(LB_Data_Devolucao + "<i><sp>1</sp>" +TX_Data_Devolucao.Text + "</i>", 0)'IMPRIMINDO A SETIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto(LB_Filme + "<i><sp>1</sp>" + TX_Filme.Text + "</i>",0)'IMPRIMINDO A OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto(LB_Categoria + "<i><sp>1</sp>" + TX_Categoria +"</i>", 0)'IMPRIMINDO A NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto(LB_Valor + "<i><sp>1</sp>" + TX_Valor +"</i><sl>2</sl>", 0)'IMPRIMINDO A DECIMA LINHAInt_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 (Tabulações)

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando

Page 330: 87514270 Daruma Framework

Daruma Framework317

Daruma Automação

-60: Erro de Tag (tag inválida)

· Observações:- As tabulações podem ser definidas da seguinte maneira: Daruma_DUAL_ImprimirTexto("tf""0");

Exemplos:

· Exemplo em Visual Basic 6.0:'IMPRIMINDO A PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>FRAB<tb>Ano<tb>Modelo<tb>Valor<tb>Cor", 0)'IMPRIMINDO A SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>2000<tb>Corsa<tb>12.000<tb>Azul", 0)'IMPRIMINDO A TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Ford<tb>2005<tb>Fiesta<tb>14.000<tb>Verde", 0)'IMPRIMINDO A QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1998<tb>Uno Mille<tb>9.000<tb>Branco",0)'IMPRIMINDO A QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1997<tb>Vectra<tb>18.000<tb>Prata", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1999<tb>Tigra<tb>17.000<tb>Verde", 0)'IMPRIMINDO A SETIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Ford<tb>2001<tb>Versalhes<tb>5.000<tb>Vinho",0)'IMPRIMINDO A OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1998<tb>Corsa<tb>10.000<tb>Preto", 0)'IMPRIMINDO A NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1996<tb>Fiurino<tb>6.000<tb>Branca", 0)'IMPRIMINDO A DECIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>WV<tb>1979<tb>Fusca<tb>3.000<tb>Bordo", 0)'IMPRIMINDO A DECIMA PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>GM<tb>1996<tb>Vectra<tb>16.000<tb>Grafite", 0)'IMPRIMINDO A DECIMA SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1985<tb>Fiat147<tb>3.000<tb>Azul", 0)'IMPRIMINDO A DECIMA TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Hond<tb>2003<tb>Civic<tb>28.000<tb>Preto", 0)'IMPRIMINDO A DECIMA QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Fiat<tb>1999<tb>Palio<tb>12.000<tb>Cinza", 0)'IMPRIMINDO A DECIMA QUINTA LINHAInt_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

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico

Page 331: 87514270 Daruma Framework

Daruma Framework 318

Daruma Automação

-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>~</tc><l></l>", 0)'IMPRIMINDO A PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><b>CENTRO DE DANÇA FLESH</b></e></ce>",0)'IMPRIMINDO A SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><tc>~</tc>", 0)'IMPRIMINDO A TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Rua: <c>XV de Novembro N 785 Centro CTBAPR</c>", 0)'IMPRIMINDO A QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>Fone: 234-5678 <tb>Fax:324-5678</i>", 0)'IMPRIMINDO A QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Data: <dt></dt><tb><tb>Hora: <hr></hr>", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Pedido:00069<tb><tb>Cliente:00013", 0)'IMPRIMINDO A SÉTIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><b>Atividades Escolhidas:</b></ce>", 0)'IMPRIMINDO A OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>SAMBA<tb>+<tb>BOLERO<tb>+<tb>FORRÓ", 0)'IMPRIMINDO A NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><tb><i><e><b>Valor:55,00</b></e></i><l></l>", 0)'IMPRIMINDO A DECIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>Vencimento: 10-03-05</c>", 0)'IMPRIMINDO A DECIMA PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>o não pagamento implica no cancelamento davaga </c>", 0)'IMPRIMINDO A DECIMA SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>Início dia 01 de Fevereiro as 17:30hr", 0)'IMPRIMINDO A DECIMA TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<l></l><tb>Venha Dançar!!!<l></l>", 0)'IMPRIMINDO A DECIMA QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><s><c>Samba,Bolero,Soltinho,Forró,Zouk</c></s></ce>", 0)'IMPRIMINDO A DECIMA QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Obrigado.</ad>", 0)'IMPRIMINDO A DECIMA SEXTA LINHAInt_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 SÉTIMA LINHAIf 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

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

Page 332: 87514270 Daruma Framework

Daruma Framework319

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce><s>ESTACIONAMENTOLAC_PARK<s></ce></e>", 0)'IMPRIMINDO A PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<n>Endereço:</n><c> A Dr. Teobaldo Freitas Silva Ribas- Nº1912</c>", 0)'IMPRIMINDO A SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<c>Santo André - São Paulo - SP - Brasil</c><l></l>", 0)'IMPRIMINDO A TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<n>TICKET NÚMERO:<tb> 0005423</n><l></l>", 0)'IMPRIMINDO A QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><b>Entrada:<tb><dt></dt><tb><hr></hr></b>",0)'IMPRIMINDO A QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>MARCA: Fiat<tb><tb>MODELO:Stilo</i><l></l>", 0)'IMPRIMINDO A SETIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>PLACA: ANA-1069<tb>COR:Vermelho</i><l></l>", 0)'IMPRIMINDO A OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0)'IMPRIMINDO A DECIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ad><n>R$ 2,00 à Hora</n></ad>", 0)'IMPRIMINDO A DECIMA PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ad><n>R$ 0,50 à Cada 15 Minutos</n></ad>", 0)'IMPRIMINDO A DECIMA SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c><s><b>Não nos Responsabilizamos Por Objetosde Valor</b></s></c>", 0)'IMPRIMINDO A DECIMA TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c><s><b>Deixados no Interior doVeículo</b></s></c><l></l>", 0)'IMPRIMINDO A DECIMA QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><b>OBRIGADO</b></e></ce>", 0)'IMPRIMINDO A DECIMA QUINTA LINHAInt_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

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

Page 333: 87514270 Daruma Framework

Daruma Framework 320

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)'IMPRIMINDO A PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>VENDA - A VISTA</e></ce>", 0)'IMPRIMINDO A SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)'IMPRIMINDO A TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><n>Cliente...: 000001 - CONSUMIDOR</n>", 0)'IMPRIMINDO A QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><n>Vendedor...:</n> <e>00069 - ANDREA </e>",0)'IMPRIMINDO A QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><n>Contrato...:</n> <e>02195 -</e><n>Data:<dt></dt></n>", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)'IMPRIMINDO A SETIMA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("CÓDIGO<sp>3</sp>DESCRIÇÃO<sp>3</sp>QT<sp>6</sp>UNIT<sp>8</sp>TOTAL", 0)'IMPRIMINDO A OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)'IMPRIMINDO A DECIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("06540<tb>TENISREEF<sp>2</sp>1<tb>149,90<sp>6</sp>149,90", 0)'IMPRIMINDO A DECIMA PRIMEIRA LINHAInt_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 LINHAInt_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 LINHAInt_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 LINHAInt_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 LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)'IMPRIMINDO A DECIMA SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ad>DESCONTOS: - 12,80</ad>", 0)'IMPRIMINDO A DECIMA SETIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)'IMPRIMINDO A DECIMA OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<e>TOTAL VENDA...:<sp>2</sp>243,00</e>", 0)'IMPRIMINDO A DECIMA NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc>", 0)'IMPRIMINDO A VIGÉSIMA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0)'IMPRIMINDO A VIGÉSIMA PRIMEIRA LINHAIf Int_Retorno = 1 Then MsgBox "Impressao Concluida!", vbInformation, "Daruma Framework"Else MsgBox "Erro!", vbCritical, "Daruma Framework"End If

Page 334: 87514270 Daruma Framework

Daruma Framework321

Daruma Automação

· Exemplo em Delphi 7.0:

1.15.12.5.7 Exemplo DUAL 07

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_DUAL_ImprimirTexto("<tc>#</tc>", 0)'IMPRIMINDO A PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<e><ce>ACADEMIA NEW SPORTS</ce></e>", 0)'IMPRIMINDO A SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>Rua Nossa Senhora da Luz</i>, 350", 0)'IMPRIMINDO A TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>Jardim Social - Curitiba - PR</i>", 0)'IMPRIMINDO A QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb>CNPJ 04.888.968/0001-79<tb><e>234-5678<l></l></e>", 0)'IMPRIMINDO A QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>#</tc><l></l>", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<i><dt></dt><i>", 0)'IMPRIMINDO A SÉTIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Recibo nr.258963</ad><l></l>", 0)'IMPRIMINDO A OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<c>Nome : </c><b>ELAINEMARIA</b><sp>5</sp>(545)<l></l> ", 0)'IMPRIMINDO A NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<c>Plano : </c><b>MUSCULAÇÃONOTURNO</b><sp>5</sp>(5)<l></l> ", 0)'IMPRIMINDO A DECIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>VALOR PAGO : 45,00</e></ce> ", 0)'IMPRIMINDO A DECIMA PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<c>Ref. ao período de 03/04/2005 até03/05/2005</c><l></l>", 0)'IMPRIMINDO A DECIMA SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<c>Obs: MENSALIDADE</c><l></l>", 0)'IMPRIMINDO A DECIMA TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0)'IMPRIMINDO A DECIMA QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>WWW.ACADEMIANEW.COM.BR</e></ce>", 0)'IMPRIMINDO A DECIMA QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tc>_</tc><l></l>", 0)'IMPRIMINDO A DECIMA SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e>SAUDE BELEZA E BEM ESTAR</e></ce>", 0)'IMPRIMINDO A DECIMA SÉTIMA LINHAInt_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

Page 335: 87514270 Daruma Framework

Daruma Framework 322

Daruma Automação

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

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno =Daruma_DUAL_ImprimirTexto("________________________________________________", 0)'IMPRIMINDO A PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>5</sp><e><s>CASA ASHFAQAHMED</s></e><sp>6</sp>|", 0)'IMPRIMINDO A SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("|<c>Nota de : </c> <e>VENDAS</e><sp>24</sp>|", 0)'IMPRIMINDO A TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("|<c>Número : </c> <e>032165</e><sp>24</sp>|", 0)'IMPRIMINDO A QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("|<c>Vendedor: </c> <e>ZORAIDE</e><sp>22</sp>|",0)'IMPRIMINDO A QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>CÓDIGO<sp>4</sp>|<sp>2</sp>DESCRIÇÃO<sp>8</sp>| VALOR</b> |", 0)'IMPRIMINDO A SÉTIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A OITAVA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>00074185<sp>2</sp>|<sp>2</sp>DVD PANA-LS345<sp>3</sp>|<sp>2</sp>499,00</b><sp>4</sp>|", 0)'IMPRIMINDO A NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A DECIMA LINHAInt_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 LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A DECIMA SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>00258852<sp>2</sp>|<sp>2</sp>TVTOSHI0<sp>2</sp>48P<sp>3</sp>|4,480,00</b><sp>4</sp>|", 0)'IMPRIMINDO A DECIMA TERCEIRA LINHA

Page 336: 87514270 Daruma Framework

Daruma Framework323

Daruma Automação

Int_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A DECIMA QUARTA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("|<sp>2</sp><b>000789654<sp>1</sp>|<sp>2</sp>SONYT68i<sp>8</sp>|<sp>2</sp>659,00</b><sp>4</sp>|", 0)'IMPRIMINDO A DECIMA QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A DECIMA SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>45</sp>|", 0)'IMPRIMINDO A DECIMA SÉTIMA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("|<e><sp>3</sp>TOTAL<sp>3</sp>5,727,00</e><sp>7</sp>|", 0)'IMPRIMINDO A DECIMA OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>45</sp>|", 0)'IMPRIMINDO A DECIMA NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A VIGÉSIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>18</sp>CONFIRA SUASMERCADORIAS<sp>3</sp>|", 0)'IMPRIMINDO A VIGÉSIMA PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("|<sp>5</sp>NÃO ACEITAMOS RECLAMAÇÕESPOSTERIORES<sp>3</sp>|", 0)'IMPRIMINDO A VIGÉSIMA SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A VIGÉSIMA TERCEIRA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0)'IMPRIMINDO A VIGÉSIMA QUARTA LINHAIf 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

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

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 LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<sp>32</sp><c>1º VIA</c>", 0)'IMPRIMINDO A SEGUNDA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("<e><sp>1</sp>INFO<sp>2</sp>XV</e><sp>14</sp><c>VENCIMENTO:<c><dt></dt>", 0)'IMPRIMINDO A TERCEIRA LINHA

Page 337: 87514270 Daruma Framework

Daruma Framework 324

Daruma Automação

Int_Retorno = Daruma_DUAL_ImprimirTexto("<sp>32</sp><c>NÚMERO: 00654</c>", 0)'IMPRIMINDO A QUARTA LINHAInt_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 LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<b>INQUILINO<sp>4</sp>..:</b> José Maria ", 0)'IMPRIMINDO A SÉTIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<b>FIADOR<sp>7</sp>..:</b> Roberto Carlos ", 0)'IMPRIMINDO A OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<b>IMÓVEL LOCADO..:</b> AV. Almirante Sab Nº 258 ",0)'IMPRIMINDO A NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<b>VALOR<sp>8</sp>..:</b> 455,00 ", 0)'IMPRIMINDO A DECIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------<l></l><l></l>", 0)'IMPRIMINDO A DECIMA PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Ass:-----------------------------</ad>", 0)'IMPRIMINDO A DECIMA SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>NOTA PARA SIMPLES CONFERÊNCIA</c>", 0)'IMPRIMINDO A DECIMA TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>SEM VALOR FISCAL</c>", 0)'IMPRIMINDO A DECIMA QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><i>FECHA..:<sp>2</sp><dt></dt><hr></hr></i>", 0)'IMPRIMINDO A DECIMA QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A DECIMA SEXTA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("<sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl><sl></sl>", 0)'IMPRIMINDO A DECIMA SÉTIMA LINHAIf 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

· Definição do Método:Permite a Impressão de Texto com as TAGS de formatação.

· Parâmetros do Método: (2 Parâmetros)String: Com o texto desejado, com até 3000 bytes.Inteiro: Indicando se será aguardado o término da impressão 0(zero) não aguarda 1(um) aguardo.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao enviar o método 0: Erro de comunicação, Impressora Desligada-27: Erro Genérico-50: Impressora OFF-Line-51: Impressora Sem Papel-52: Impressora Inicializando-60: Erro de Tag (tag inválida)

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_DUAL_ImprimirTexto("<ce><e><s>Consultório Médico</s></e></ce><l></l>", 0)'IMPRIMINDO A PRIMEIRA LINHA

Page 338: 87514270 Daruma Framework

Daruma Framework325

Daruma Automação

Int_Retorno = Daruma_DUAL_ImprimirTexto("<c>MÉDICO<sp>3</sp>__:</c><sp>2</sp>DR. AvôFrança", 0)'IMPRIMINDO A SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<c>REGISTRO __:</c><sp>2</sp>321654", 0)'IMPRIMINDO A TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<c>END. CONS__:</c><sp>2</sp>Rua Hugo Boos Nº98, Centro CTBA PR", 0)'IMPRIMINDO A QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>REGISTRO DE CONSULTAS</i></b>", 0)'IMPRIMINDO A SEXTA LINHAInt_Retorno =Daruma_DUAL_ImprimirTexto("<tb><c>PACIENTE<sp>5</sp>__:</c><sp>2</sp>Maria de Lurdes",0)'IMPRIMINDO A SÉTIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>DATACONSULTA__:<sp>1</sp>02/02/08</c><sp>7</sp>(orto)", 0)'IMPRIMINDO A OITAVA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<tb><c>HORA CONSULTA__:<sp>1</sp>16:20:00</c>",0)'IMPRIMINDO A NONA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>TOLERÂNCIA DE ATRASO</i></b><l></l>", 0)'IMPRIMINDO A DECIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ad>15 Minutos </ad>", 0)'IMPRIMINDO A DECIMA PRIMEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>DESISTÊNCIA</i></b>", 0)'IMPRIMINDO A DECIMA SEGUNDA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Avisar com 24 Horas de Antesedência</ad>", 0)'IMPRIMINDO A DECIMA TERCEIRA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>OBSERVAÇÃO</i></b>", 0)'IMPRIMINDO A DECIMA QUARTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ad>Raio X e Outros Exames não Estão Inclusos</ad>",0)'IMPRIMINDO A DECIMA QUINTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<b><i>DATA HOJE</i></b>", 0)'IMPRIMINDO A DECIMA SEXTA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("<ce><dt></dt><sp>3</sp><hr></hr></ce>", 0)'IMPRIMINDO A DECIMA SÉTIMA LINHAInt_Retorno = Daruma_DUAL_ImprimirTexto("------------------------------------------------", 0)'IMPRIMINDO A DECIMA OITAVA LINHAInt_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 LINHAIf 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 Métodos para a DUAL de Configuração do Registry

1.15.13.1 Daruma_Registry_DUAL_Enter (Índice 30)

· Definição do Método:Permite Configurar se Cada vez que a Impressora, efetuar a Impressão de uma Linha ela irá Quebrar aLinha automaticamente.

· Parâmetros do Método: (1 Parâmetro)0 - Não Quebra Linha Automaticamente1 - Quebra Linha Automaticamente

Page 339: 87514270 Daruma Framework

Daruma Framework 326

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Obervação: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)

· Definição do Método:Permite Sincronizar a dll com o Aplicativo:Se voce deseja que a DLL segura o processo apenas quando terminar a última linha Impressa, coloqueesta Chave a 1(um), caso contrario quando o Buffer do PC estiver Vazio e o ECF ainda estiver imprimindoo que estiver em seu Buffer a dll Irá retornar para o Aplicativo, porém o ECF ainda estará Imprimindo.

· Parâmetros do Método: (1 Parâmetro)1: Espera Impressao Terminar para receber o Valor de Retorno da Funcao de Impressao da DLL0: Não espera

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Obervação: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)

Definição do Método:Permite Configurar qual o modo de escrita da dll na porta PARALELA. Este modo só é funcional do CASOde se utilizar a porta Paralela.

Com este Método você poderá configurar qual o Modo de escrita que será praticado.

· Parâmetros do Método: (1 Parâmetro)1 - Escrita DIRETO na PORTA de Comunicação Utilizando-se do HWINTERFACE.SYS0 - 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 afunções como:

- VerificaDocumento.- Status da Impressora.

Porém poderá realizar todas as operações de impressão sem problemas.

· Observação Importante!!!

Page 340: 87514270 Daruma Framework

Daruma Framework327

Daruma Automação

SE VOCÊ CONFIGUROU ESTA CHAVE PARA 1(UM) DEVERÁ ENTÃO PROCEDER OS PASSOS DEINSTALAÇÃO DO ARQUIVO HWINTERFACE.SYS. PARA ISSO VEJA O LINK:Trabalhando com a DUAL NA PARALELA (LPT1, LPT2) 

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Obervação: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)

· Definição do Método:Configura a porta de Comunicação que a DUAL irá Utilizar para se Comunicar.

· Parâmetros do Método: (1 Parâmetro)String com o Valor da Porta"LPT1""LPT2""COM1""COM2""COM3""COM4"

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Observeção: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 SubEnd 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);

Page 341: 87514270 Daruma Framework

Daruma Framework 328

Daruma Automação

if Int_Retorno = 1 then Application.MessageBox('Configuração 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)

· Definição do Método:Formata as tabulações que serão utilizadas na DUAL.As tabulações em nossa impressora, funcionam exatamente como em uma máquina de escrever, ou seja,primeiro você define as tabulações que serão usadas, depois você utiliza.

· Parâmetros do Método: (1 Parâmetro)String com as tabulações: 05,10,15,20,25,35

Na sugestão passada como parâmetro anteriormente, a primeira tabulação definida para a impressãocomeçar na quinta coluna, depois na décima, décima-quinta, vigésima, vigésima-quinta e por último natrigésima-quinta.

Importante: da mesma forma que acontece em uma máquina de escrever, que se o texto que escritofor maior que o intervalo da tabulação pré-configurado, então perde-se a tabulação, na impressora éigual. Exemplificando melhor seria o seguinte:

1)Temos a tabulação DEFAULT, que é 05,10,15,20,25,35.2)Supondo que você coloque o texto "QUANTIDADE", na primeira tabulação; 2.1)Como a palavra quantidade que têm é 10(dez) caracteres, e é maior que o intervalo da até apróxima tabulação que é de apenas 5(cinco) colunas, então a segunda tabulação 10(dez)colunas detamanho será perdida, nesta linha.3)Uma dica seria, limitar-se sempre a trabalhar com um texto que nunca ultrapasse o intervaloprogramado, dessa forma o layout da tabela, que é o objetivo maior por se estar utilizando tabulação,ficará perfeito, como no exemplo abaixo:

QTD. TAM. COR01 50 AZUL02 78 VERDE03 40 CINZA

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não 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 SubEnd 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 SubEnd If

· Exemplo em Delphi 7.0: var Str_Tabulacao: String; beginStr_Tabulacao:= InputBox('Entre com o Desejada:', 'Daruma Framework', '05,10,15,20,25,35');

Page 342: 87514270 Daruma Framework

Daruma Framework329

Daruma Automação

if Str_Tabulacao = '' then begin exit end;Int_Retorno:= Daruma_Registry_DUAL_Tabulacao(Str_Tabulacao); if Int_Retorno = 1 then begin Application.MessageBox('Configuração 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)

· Definição do Método:Permite configurar a velocidade a impressora DUAL Térmica DR600.

· Parâmetros do Método: (1 Parâmetro)String com a Velocidade de comunicação"9600""38400""57600""115200"

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Obervação: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)

· Definição do Método:Permite configurar para trabalhar com a impressora DUAL Térmica DR600.

· Parâmetros do Método: (1 Parâmetro)0 - Impressora DUAL Matricial1 - Impressora DUAL Térmica DR600.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: OK, Sucesso ao Configurar o Registry-4: Não OK, A chave ou Valor no Arquivo Registry não Foi Encontada

· Obervação:Valor default da Chave = "1"

Exemplos:

· Exemplo em Visual Basic 6.0:

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

Page 343: 87514270 Daruma Framework

Daruma Framework 330

Daruma Automação

1.16 Métodos Exclusivos para o TA1000

1.16.1 Métodos para Produtos

1.16.1.1 Daruma_TA1000_CadastrarProdutos(Índice 5420)

· Definição do Método:Permite cadastrar produtos no TA1000.

· Parâmetros do Método São: (12 Parâmetros)1. Descrição: String até 25 caracteres com a descrição do produto.2. Código: String com até 13 caracteres com código numérico ou 7 alfa-numéricos do produto.3. Casas Decimais do Preço: String com apenas o caráctere.4. Casas Decimais da Quantidade: Strig com 2(dois) caracteres.5. Preço do Produto: String com até 8 dígitos para o preço do item.6. Acréscimo Desconto: String "A" para Acréscimo e "D" para Desconto.7. Valor Desconto ou Acréscimo: String com 5 dígitos para desconto ou Acréscimo.8. Unidade de Medida: String com 2 dígitos.9. Alíquota: String com o índice da alíquota.10. Próximo Produto: String com 5 dígitos.11. Produto Anterior: String com 5 dígitos..12. Estoque: String com 8 dígitos para o estoque.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- O parâmetro alíquota, especificamente para o TA1000 você deverá passar por índice TA, TB...TP.

Caso queira cadastrar ítem como isendo, utilize a sigla II, substituição FF e não tributado NN.Onde cada índice representa uma alíquota em uma determinada posição de memória na impressora.Para ler as alíquotas exitentes na impressora use afunção:Daruma_FI_LerAliquotasComIndice(Índice 1483) .

- Para que esse método seja validado no TA1000, você precisa chamar o métodoDaruma_TA1000_EnviarBancoProdutos.- O ideal é que o seu aplicativo gere todo o banco de produtos, para somente após você enviá-los para oTA1000. Enquanto isso os itens permanecerão em memória.- 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 StringDim Str_Codigo As StringDim Str_Decimais_Preco As StringDim Str_Decimais_Quantidade As StringDim Str_Preco As StringDim Str_Acrescimo_Desconto As StringDim Str_Valor_Acrescimo_Desconto As StringDim Str_Unidade_Medida As StringDim Str_Aliquota As StringDim Str_Proximo_Produto As StringDim Str_Produto_Anterior As StringDim 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"

Page 344: 87514270 Daruma Framework

Daruma Framework331

Daruma Automação

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:varStr_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;beginStr_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)

· Definição do Método:Permite ler os produtos no TA1000.

· Parâmetros do Método: (13 Parâmetros)1. Indice: Inteiro com o índice do produto.2. Código: String com até 13 caracteres com código numérico ou 7 alfa-numéricos do produto.3. Descrição: String com até 25 espaços para receber a descrição.4. Decimais Preço:String com até 8 espaços para receber do item.5. Decimais Quantidade: String com até 25 espaços para receber a descrição.6. Preço: String com até 25 espaços para receber a descrição.7. Acréscimo Desconto: String com até 2 espaços para receber o byte indicador para acréscimo ou

desconto.8. Valor Acréscimo Desconto: String com 5 espaços para receber o valor do acréscimo ou desconto.9. Unidade de Medida: String com 2 espaços para receber a unidade de medida.10. Alíquota: String com 3 para receber a alíquota.

Page 345: 87514270 Daruma Framework

Daruma Framework 332

Daruma Automação

11. Próximo Produto: String com 5 espaços para receber o próximo produto.12. Produto Anterior: String com 5 espaços para receber o código do produto anterior.13. Estoque: String com 8 espaços para receber a quantidade de produtos em estoque.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Basta você passar o indice do produto a ser lido e no mais alocar espaços para receber os dados doproduto. Lembrando que se for passado zero, então a Daruma32.dll irá varrer desde o primeiro ítem.- Este método dispensa o uso do método Daruma_TA1000_ConsultarProdutos. Pois com este método vocênão 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 IntegerDim Str_Codigo As StringDim Str_Descricao As StringDim Str_Decimais_Preco As StringDim Str_Decimais_Quantidade As StringDim Str_Preco As StringDim Str_Acrescimo_Desconto As StringDim Str_Valor_Acrescimo_Desconto As StringDim Str_Unidade_Medida As StringDim Str_Aliquota As StringDim Str_Proximo_Produto As StringDim Str_Produto_Anterior As StringDim Str_Estoque As String

Str_Indice = TX_Indice.TextStr_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_DescricaoTX_Codigo.Text = Str_CodigoTX_Decimais_Preco.Text = Str_Decimais_PrecoTX_Decimais_Quantidade.Text = Str_Decimais_QuantidadeTX_Preco.Text = Str_PrecoTX_Acrescimo_Desconto.Text = Str_Acrescimo_DescontoTX_Valor_Acrescimo_Desconto.Text = Str_Valor_Acrescimo_DescontoTX_Unidade_Medida.Text = Str_Unidade_MedidaTX_Aliquota.Text = Str_AliquotaTX_Proximo_Produto.Text = Str_Proximo_ProdutoTX_Produto_Anterior.Text = Str_Produto_AnteriorTX_Estoque.Text = Str_Estoque

Page 346: 87514270 Daruma Framework

Daruma Framework333

Daruma Automação

End Sub

· Exemplo em Delphi 7.0:varStr_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;beginStr_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)

· Definição do Método:Permite consultar produtos no TA1000.

· Parâmetros do Método: (12 Parâmetros)1. Código: String com até 13 caracteres com código numérico ou 7 alfa-numéricos do produto.2. Descrição: String com até 25 espaços para receber a descrição.3. Decimais Preço:String com até 8 espaços para receber do item.4. Decimais Quantidade: String com até 25 espaços para receber a descrição.5. Preço: String com até 25 espaços para receber a descrição.6. Acréscimo Desconto: String com até 2 espaços para receber o byte indicador para acréscimo ou

desconto.

Page 347: 87514270 Daruma Framework

Daruma Framework 334

Daruma Automação

7. Valor Acréscimo Desconto: String com 5 espaços para receber o valor do acréscimo ou desconto.8. Unidade de Medida: String com 2 espaços para receber a unidade de medida.9. Alíquota: String com 3 para receber a alíquota.10. Próximo Produto: String com 5 espaços para receber o próximo produto.11. Produto Anterior: String com 5 espaços para receber o código do produto anterior.12. Estoque: String com 8 espaços para receber a quantidade de produtos em estoque.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:- Basta você passar o código do produto a ser consultado e no mais alocar espaços para receber os dadosdo produto.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Codigo As StringDim Str_Descricao As StringDim Str_Decimais_Preco As StringDim Str_Decimais_Quantidade As StringDim Str_Preco As StringDim Str_Acrescimo_Desconto As StringDim Str_Valor_Acrescimo_Desconto As StringDim Str_Unidade_Medida As StringDim Str_Aliquota As StringDim Str_Proximo_Produto As StringDim Str_Produto_Anterior As StringDim 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:varStr_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

Page 348: 87514270 Daruma Framework

Daruma Framework335

Daruma Automação

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)

· Definição do Método:Permite alterar um determinado produto no TA1000.

· Parâmetros do Método: (13 Parâmetros)1. Código: String com até 13 caracteres com código numérico ou 7 alfa-numéricos do produto.2. Descrição: String até 25 caracteres com a descrição do produto.3. Código: String com até 13 caracteres contendo o código do produto.4. Casas Decimais do Preço: Strig com apenas o caráctere.5. Casas Decimais da Quantidade: Strig com 2(dois) caracteres.6. Preço do Produto: String com até 8 dígitos para o preço do item.7. Acréscimo Desconto: String "A" para Acréscimo e "D" para Desconto.8. Valor Acréscimo Desconto: String com 5 dígitos para Acréscimo ou Acréscimo.9. Unidade de Medida: String com 2 dígitos.10. Alíquota: String com o índice da alíquota.11. Próximo Produto: String com 5 dígitos.12. Produto Anterior: String com 5 dígitos..13. Estoque: String com 8 dígitos para o estoque.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Para que esse método seja validado no TA1000, voce precisa chamar o métodoDaruma_TA1000_EnviarBancoProdutos.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Codigo_Consultar As String

Page 349: 87514270 Daruma Framework

Daruma Framework 336

Daruma Automação

Dim Str_Descricao As StringDim Str_Codigo As StringDim Str_Decimais_Preco As StringDim Str_Decimais_Quantidade As StringDim Str_Preco As StringDim Str_Acrescimo_Desconto As StringDim Str_Valor_Acrescimo_Desconto As StringDim Str_Unidade_Medida As StringDim Str_Aliquota As StringDim Str_Proximo_Produto As StringDim Str_Produto_Anterior As StringDim 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:varStr_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;beginFramework_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),

Page 350: 87514270 Daruma Framework

Daruma Framework337

Daruma Automação

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)

· Definição do Método:Permite eliminar um determinado produto no TA1000.

· Parâmetros do Método: (1 Parâmetro)1. Código: String com até 13 caracteres com código numérico ou 7 alfa-numéricos do produto.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Para que esse método seja validado no TA1000, voce precisa chamar o métodoDaruma_TA1000_EnviarBancoProdutos.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Codigo As StringStr_Codigo = InputBox("Entre com o Codigo do Produto que voce deseja Eliminar:", "DarumaFramework", "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 Código do Produto que Você DesejaEliminar:','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)

· Definição do Método:Permite enviar os produtos para o TA1000.

· Parâmetros do Método:Não Há.· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Int_Status As Integer

Page 351: 87514270 Daruma Framework

Daruma Framework 338

Daruma Automação

Int_Retorno = Daruma_TA1000_EnviarBancoProdutos()Daruma_Framework_TA1000_Progress.Show

Int_Status = 0Do While (Int_Status <> 100) Int_Status = Daruma_TA1000_LeStatusTransferencia() Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_StatusLoopRetorno_TA1000Unload 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)

· Definição do Método:Permite receber os produtos cadastrados no TA1000.

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Este método retornara os produtos em um arquivo TXTcomo nome de Produtos.plu, em um path indicadono registry.O Path default e C:\

· O formato do arquivo de retorno pode ser visto abaixo:Header v1.46 PRODUTOS ;00001;00001;00001;bjcpcxfcgfjgkgltmcmtpcptscttunvdProduto Numero1 ;1 ;2;2;00000100;-00000;un;TA;000;00002;00100;00000001Produto Numero2 ;2 ;2;2;00000200;-00000;un;TA;000;00003;00001;00000002Produto Numero3 ;3 ;2;2;00000300;-00000;un;TA;000;00004;00002;00000003Produto Numero4 ;4 ;2;2;00000400;-00000;un;TA;000;00005;00003;00000004Produto Numero5 ;5 ;2;2;00000500;-00000;un;TA;000;00006;00004;00000005Produto Numero6 ;6 ;2;2;00000600;-00000;un;TA;000;00007;00005;00000006Produto Numero7 ;7 ;2;2;00000700;-00000;un;TA;000;00008;00006;00000007Produto Numero8 ;8 ;2;2;00000800;-00000;un;TA;000;00009;00007;00000008Produto Numero9 ;9 ;2;2;00000900;-00000;un;TA;000;00010;00008;00000009Produto 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()

Page 352: 87514270 Daruma Framework

Daruma Framework339

Daruma Automação

Daruma_Framework_TA1000_Progress.Show

Int_Status = 0Do While (Int_Status <> 100) Int_Status = Daruma_TA1000_LeStatusTransferencia() Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_StatusLoopRetorno_TA1000Unload Daruma_Framework_TA1000_Progress

· Exemplo em Delphi 7.0:var Int_Status: Integer;beginInt_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)

· Definição do Método:Permite receber os produtos vendidos no TA1000.

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:1. Este método 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;

Page 353: 87514270 Daruma Framework

Daruma Framework 340

Daruma Automação

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 = 0Do While (Int_Status <> 100) Int_Status = Daruma_TA1000_LeStatusTransferencia() Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_StatusLoopRetorno_TA1000Unload Daruma_Framework_TA1000_ProgressEnd Sub· Exemplo em Delphi 7.0:var Int_Status: Integer;beginInt_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)

· Definição do Método:Permite zerar os produtos no TA1000.

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Para que esse método seja validado no TA1000, voce precisa chamar o métodoDaruma_TA1000_EnviarBancoProdutos.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_TA1000_ZerarProdutos()

· Exemplo em Delphi 7.0:beginInt_Retorno:= Daruma_TA1000_ZerarProdutos();

end;

Page 354: 87514270 Daruma Framework

Daruma Framework341

Daruma Automação

1.16.1.10 Daruma_TA1000_ZerarProdutosVendidos(Índice 5456)

· Definição do Método:Permite zerar os produtos vendidos no TA1000.

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Para que esse método seja validado no TA1000, voce precisa chamar o métodoDaruma_TA1000_EnviarBancoProdutos.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_TA1000_ZerarProdutosVendidos()

· Exemplo em Delphi 7.0:beginInt_Retorno:= Daruma_TA1000_ZerarProdutosVendidos();

end;

1.16.2 Métodos para Usuários

1.16.2.1 Daruma_TA1000_CadastrarUsuarios(Índice 5422)

· Definição do Método:Permite cadastrar usuáros no TA1000.

Parâmetros do Método: (6 Parâmetros)1. Nome: String até 26 caracteres com o nome do usuário.2. CPF: String com até 13 caracteres contendo o CPF do usuário.3. Código do Convênio: String com até 6 dígitos contendo o código do convênio.4. Código do Usuário: String com até 6 dígitos contendo o código do usuário.5. Próximo Usuário: String com 6 dígitos.6. Usuário Anterior: String com 6 dígitos.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Para que esse método seja validado no TA1000, voce precisa chamar o métodoDaruma_TA1000_EnviarBancoUsuarios.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Nome As StringDim Str_CPF As StringDim Str_Codigo_Convenio As StringDim Str_Codigo_Usuario As StringDim Str_Usuario_Anterior As StringDim Str_Proximo_Usuario As String

Page 355: 87514270 Daruma Framework

Daruma Framework 342

Daruma Automação

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

· Definição do Método:Permite consultar usuarios no TA1000.

· Parâmetros do Método: (1 Parâmetro)Código: String com até 6 caracteres contendo o código do usuário.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Basta você passar o código do usuário a ser consultado e no mais alocar espaços para receber os dadosdo usuário.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Codigo_Consultar As StringDim Str_Nome As StringDim Str_CPF As StringDim Str_Codigo_Convenio As StringDim Str_Codigo_Usuario As StringDim Str_Usuario_Anterior As StringDim Str_Proximo_Usuario As String

Str_Codigo_Consultar = TX_Codigo_Consultar.TextStr_Nome = Space(26)Str_CPF = Space(13)Str_Codigo_Convenio = Space(6)Str_Codigo_Usuario = Space(6)Str_Usuario_Anterior = Space(6)

Page 356: 87514270 Daruma Framework

Daruma Framework343

Daruma Automação

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

· Definição do Método:Permite alterar um determinado produto no TA1000.

· Parâmetros do Método: (1 Parâmetro)Código do usuário alterado: String com até 6 caracteres contendo o código do usuário a ser alterado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Para que esse método seja validado no TA1000, voce precisa chamar o métodoDaruma_TA1000_EnviarBancoUsuarios.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Codigo_Consultar As StringDim Str_Nome As StringDim Str_CPF As StringDim Str_Codigo_Convenio As StringDim Str_Codigo_Usuario As StringDim Str_Usuario_Anterior As StringDim Str_Proximo_Usuario As String

Str_Codigo_Consultar = TX_Codigo_Consultar.Text

Page 357: 87514270 Daruma Framework

Daruma Framework 344

Daruma Automação

Str_Nome = TX_Nome.TextStr_CPF = TX_CPF.TextStr_Codigo_Convenio = TX_Codigo_Convenio.TextStr_Codigo_Usuario = TX_Codigo_Usuario.TextStr_Usuario_Anterior = TX_Usuario_Anterior.TextStr_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)

· Definição do Método:Permite eliminar um determinado produto no TA1000.

· Parâmetros do Método: (1 Parâmetro)Código: String com até 13 caracteres contendo o código do produto a ser eliminado.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Para que esse método seja validado no TA1000, voce precisa chamar o métodoDaruma_TA1000_EnviarBancoUsuarios.

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Str_Codigo As StringStr_Codigo = InputBox("Entre com o Codigo do Produto que voce deseja Eliminar:", "DarumaFramework", "0001")Int_Retorno = Daruma_TA1000_EliminarProdutos(Str_Codigo)

· Exemplo em Delphi 7.0:var

Page 358: 87514270 Daruma Framework

Daruma Framework345

Daruma Automação

Str_Codigo: String;begin

Str_Codigo:= InputBox('Daruma Framework' , 'Entre com o Código do Produto que Você DesejaEliminar:','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)

· Definição do Método:Permite enviar os produtos para o TA1000.

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método 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 = 0Do While (Int_Status <> 100) Int_Status = Daruma_TA1000_LeStatusTransferencia() Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_StatusLoopRetorno_TA1000Unload 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)

· Definição do Método:Permite receber os produtos vendidos.

Page 359: 87514270 Daruma Framework

Daruma Framework 346

Daruma Automação

· Parâmetros do Método:Não Há.

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Este método retornara os produtos em um arquivo TXTcomo nome de Usuarios.plu, que sera em um pathindicado no registry.

· O formato do arquivo de retorno pode ser visto abaixo:Header v1.40 USUARIOS ;00001;00001;00001;bjcpcxfcgfjgkgltUsuario Numero1 ;877E774E145; 0001Usuario Numero2 ;877.774.145;2 ;2 ;00001;00003Usuario Numero3 ;877.774.145;3 ;3 ;00002;00004Usuario Numero4 ;877.774.145;4 ;4 ;00003;00005Usuario Numero5 ;877.774.145;5 ;5 ;00004;00006Usuario Numero6 ;877.774.145;6 ;6 ;00005;00007Usuario Numero7 ;877.774.145;7 ;7 ;00006;00008Usuario Numero8 ;877.774.145;8 ;8 ;00007;00009Usuario Numero9 ;877.774.145;9 ;9 ;00008;00010Usuario 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 = 0Do While (Int_Status <> 100) Int_Status = Daruma_TA1000_LeStatusTransferencia() Daruma_Framework_TA1000_Progress.PB_TA1000.Value = Int_StatusLoopRetorno_TA1000Unload 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)

· Definição do Método:Permite zerar os produtos no TA1000.

· Parâmetros do Método:Não Há.

Page 360: 87514270 Daruma Framework

Daruma Framework347

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:Para que esse método seja validado no TA1000, voce precisa chamar o métodoDaruma_TA1000_EnviarBancoUsuarios.

Exemplos:

· Exemplo em Visual Basic 6.0:Int_Retorno = Daruma_TA1000_ZerarProdutos()

· Exemplo em Delphi 7.0:beginInt_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

· Definição do Método:Algoritimo para gerar-se um banco contendo Produtos

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Int_Contador As IntegerDim Str_Codigo As StringDim Str_Descricao As StringDim Str_Valor As StringDim Str_Estoque As StringDim Str_Proximo_Produto As StringDim Str_Produto_Anterior As StringDim 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)

Page 361: 87514270 Daruma Framework

Daruma Framework 348

Daruma Automação

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 + 1Loop

· 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

Page 362: 87514270 Daruma Framework

Daruma Framework349

Daruma Automação

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

· Definição do Método:Algoritimo para gerar-se um banco contendo Usuarios

· Este Método retornará um dos Valores Inteiros listados Abaixo:1: OK, Sucesso ao enviar o método.-27(Somente se o Flag Status Função estiver setado pra 1(um): O Método foi executado, porém o ECFsinalizou Erro, chame o Método Daruma_FI_RetornoImpressora para identificar o Erro.Qualquer valor diferente dos listados acima deve ser encarado como Erro de execução do Método no ECF.

· Observações:

Exemplos:

· Exemplo em Visual Basic 6.0:Dim Int_Contador As IntegerDim Str_Codigo_Convenio As StringDim Str_Codigo_Usuario As StringDim Str_Nome As StringDim Str_Valor As StringDim Str_Estoque As StringDim Str_Proximo_Usuario As StringDim Str_Usuario_Anterior As StringDim 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")

Page 363: 87514270 Daruma Framework

Daruma Framework 350

Daruma Automação

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 + 1Loop

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

Page 364: 87514270 Daruma Framework

Daruma Framework351

Daruma Automação

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 Métodos Exclusivos para Gerar o Sintegra (MFD)

1.17.1 Informações sobre Sintegra

ALGUMAS INFORMAÇÕES IMPORTANTES

· O QUE É O SINTEGRA ?

Sistema Integrado de Informações sobre Operações Interestaduais com Mercadorias e Serviços – É umconjunto de procedimentos administrativos e de sistemas computacionais de apoio, que está implantadoem todo o país, com a finalidade de facilitar o fornecimento de informações dos contribuintes aos fiscosestaduais e de aprimorar o fluxo de dados nas Administrações Tributárias e entre as mesmas.

· DE ONDE SÃO EXTRAÍDAS AS INFORMÇÕES QUE FORMAM O SINTEGRA ?

São extraídas de duas fontes de dados o ECF (MFD) a outra são as Notas Fiscais de Entrada.

· Neste manual, você encontra somente os Métodos que extraem as informações do ECF(Sómente Impressora MFD)

· QUAIS OS RELATÓRIOS QUE SÃO GERADOS À PARTIR DO ECF (MFD)?

· Serão gerados os seguintes relatórios:- Tipo 10.- Tipo 11.- Todos os Tipos 60 (quando existir vendas).- Tipo 90 Sempre.

· PREMISSAS PARA QUE SEJA GERADO CORRETAMENTE O SINTEGRA

1. O mês tem de estar fechado. Ou seja, a Redução Z do último dia fiscal do mês deverá ter sidoemitida. Exemplo: se o último dia fiscal foi 27, mas você vai gerar o Sintegra somente no dia 01 domês seguinte e a Redução Z do movimento do dia 27 esta pendente, então terá que emiti-la primeiroe após isso gerar o Sintegra.

2. A data final paera gerar o Sintegra deverá ser a última data que teve movimento.

3. O arquivo que será gerado, pelos métodos, será gravado no path configurado no flag Path noregistry: HKEY_LOCAL_MACHINE\SOFTWARE\DARUMA\ECF. Para alterar o path, use o método:

Page 365: 87514270 Daruma Framework

Daruma Framework 352

Daruma Automação

Daruma_Registry_Path(Índice 2)

· Porém o objetivo maior deste help não é falar sobre o Sintegra em sim, mais expor algunsmétodos que irão facilitar você na geração do mesmo.

· O que de fato você encontrará disponível para trabalhar neste help?

Você encontrará um método de alto nível. Chamamos de alto nível, pois em um único método, foramreúnidos todos os registros, que podem ser gerados através do ECF.

Temos também as mesmas informações em métodos avulsos de médio nível, ou seja, por exemplo, oRelatório que contém o clichê do estabelecimento Tipo 10, pode ser obtido através do métodoDaruma_Sintegra_GerarResgitro10:Daruma_Sintegra_GerarRegistro10 (Índice 6023).

Além de termos os métodos de médio nível, temos também outros 2(dois) métodos de baixo nível, quepermitirão a você extrair qualquer informação do ECF, bastando para isso informar um índice, e éstainformação poderá ser obtida em uma variável, ou em arquivo txt.

Abaixo temos um exemplo de uma informação extraída atráves do métodoDaruma_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 Métodos de Alto Nível para Gerar o Sintegra

1.17.2.1 Daruma_Sintegra_GerarRegistrosArq (Índice 6022)

· Definição do Método:Este é um método de alto nível, que reúne em um único arquivo, todos os registros gerados pelo ECF, sepreferir usar métodos que contenham, informações de forma avulsa, favor utilizar os métodos de médionível ou até mesmo o método de baixo nível, 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 método:Daruma_Registry_SintegraPath(Índice 71).

Abaixo temos um exemplo do arquivo que é gerado, note que primeiramente temos o Tipo 10 (clichê), nasegunda linha temos o Tipo 11 (endereço), após temos os relatórios Tipo 60, conforme o movimento queteve o PDV e na última posição, temos o Tipo 90.

10076947150001309035904830 Suporte ao Desenvolvedor Curitiba0000000000200612012006123133111Av. Comendador Franco 01341Bloco B Jardim Botânico00080215João00000000000060M20061201DR0205BR0000000687570012D00105900106500005201800000000000003270000000000

77843660A20061201DR0205BR000000068757180000000000002760D20061201DR0205BR00000006875700001

0000000000001000000000000000500000000000000011800000000000000060I20061201DR0205BR0000000687572D00105900100001

000000000000100000000050000000000000011800000000000000

Page 366: 87514270 Daruma Framework

Daruma Framework353

Daruma Automação

60R12200600001 000000000000100000000000000050000000000000001180090076947150001309035904830 60000003429900000345

1

Para saber mais sobre o layout dos relatórios, acesse o site oficial do sintegra, www.sintegra.gov.br

· Este arquivo íra conter o seguinte conteúdo:- Este método é exclusivo para impressora MFD.- Relatório Tipo10 e 11- Todos os relatórios do Tipo60- Relatório Tipo90

· Parâmetros: (14 parâmetros)1. DataInicio: String com a Data de inicio do download. Esta data é a data do primeiro dia do mês.2. DataFim: String com a Data de fim do download. Esta data é a última data que teve movimento no

mês.3. Municipio: String com o Município do informante.4. Fax: String com o número 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 operações informadas.7. CodFinalid: String com o Codigo da finalidade utilizada no arquivo magnético.8. Logradouro: String com o Logradouro.9. Numero: String com o Número.10. Complemento: String com o Complemento.11. Bairro: String com o Bairro.12. CEP: String com o Código de Endereçamento Postal.13. NomeContato: String com o Pessoa responsável para contato.14. Telefone: String com o Número do telefone para contato.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução OK

0: Erro em arquivos binarios -2: Datas invalidas -52: Erro de abertura de arquivos

-11: Comando incompativel

· Observação:- Se você não sabe qual informação que deve ser colocada no parâmetros: 5, 6 ou 7, acesse o site doSintegra 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');

Page 367: 87514270 Daruma Framework

Daruma Framework 354

Daruma Automação

Str_Logradouro:= Trim(Av. Comendador Franco); Str_Numero:= Trim('1341'); Str_Complemento:= Trim('Bloco B'); Str_Bairro:= Trim('Jardim Botânico'); Str_CEP:= Trim('80215-090'); Str_Nome_Contato:= Trim('João'); 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 Métodos de Médio Nível para Gerar o Sintegra

1.17.3.1 Daruma_Sintegra_GerarRegistro10 (Índice 6023)

· Definição do Método:Executa o download bruto da MFD, no intervalo das datas definidas nos parâmetros. Em seguida devolveum registro do Tipo 10.

· Exemplo de retorno:10076947150001309035904830 Suporte ao Desenvolvedor Curitiba00000000002006120120061231313

No Denominação do Campo Tamanho Conteúdo01 Tipo 02 1002 CGC/MFCGC/MF do estabelecimento 14 0769471500013003 Inscrição

Estadual 14 903590483004 Nome do Contribuinte Nome comercial

(razão Social/denominação) do contribuinte 35 Suporte ao Desenvolvedor05 Município Município onde está domiciliado o

estabelecimento informante 30 Curitiba06 Unidade da Federação 2 PR07 Fax Número do fax 10 413361694508 Data Inicial 8 0101200709 Data Final 8 0102200710 Código da identificação do Convênio 111 Código da identificação da natureza das operações

informadas 1 1 12 Código da finalidade do arquivo magnético Código da finalidade utilizado no arquivo magnético 1 3

· Parâmetros: (8 parâmetros)1. DataInicio: String com a Data de inicio do download. Esta data é a data do primeiro dia do mês.2. DataFim: String com a Data de fim do download. Esta data é a última data que teve movimento no

mês.3. Municipio: String com o Municipio do informante.4. Fax: String com o número do Fax do estabelecimento do informante.5. CodIdConvenio: Codigo da identificacao do convenio utilizado.6. CodIdNatureza: Codigo da identificacao da natureza das operações informadas.7. CodFinalid: Codigo da finalidade utilizada no arquivo magnetico.8. Retorno: Variável por referência com 127 espaços para receber o retorno contendo o registro tipo 10.

· Observações:- Este método é exclusivo para impressora MFD.- Se você não sabe qual informação que deve ser colocada no parâmetros: 5, 6 ou 7, acesse o site doSintegra para saber: www.sintegra.gov.br

· Este Método retornará um dos Valores Inteiros listados Abaixo:

Page 368: 87514270 Daruma Framework

Daruma Framework355

Daruma Automação

1: Execução 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)

· Definição do Método:Executa o download bruto da MFD, no intervalo das datas definidas nos parâmetros. Em seguida devolveum registro do Tipo 11.

· Exemplo de retorno:11Av. Comendador Franco 01341Bloco B Jardim Botânico00080215João000000000000

· Parâmetros: (8 parâmetros)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: Variável por referência para receber o retorno contendo o registro tipo 11 com 127espaços.

· Observações:- Este método é exclusivo para impressora MFD.- Se preferir, poderá acessar o site: www.sintegra.com.br.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução OK

0: Erro em arquivos binarios -2: Datas invalidas

Page 369: 87514270 Daruma Framework

Daruma Framework 356

Daruma Automação

-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 Botânico'); Str_CEP:= Trim('80215-090'); Str_Numero:= Trim('1341'); Str_Nome_Contato:= Trim('Jõao'); 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)

· Definição do Método:Executa o download bruto da MFD, no intervalo das datas definidas nos parâmetros. Em seguida gera umregistro do tipo 60M (Mestre).

· Exemplo de retorno:60M20061201DR0205BR0000000687570012D00105900106500005201800000000000003270000000000778436

· Parâmetros: (3 parâmetros)1. DataInicio: String com a Data de inicio do download. Esta data é a data do primeiro dia do mês.2. DataFim: String com a Data de fim do download. Esta data é a última data que teve movimento no

mês.3. Retorno: Variável por referência para receber o retorno contendo o registro tipo 60M.

· Observações:- Este método é exclusivo para impressora MFD.- A cada execução desse método, será escrito na variável, o movimento de um dia.- O método pode ser executado várias vezes em um loop, até que o retorno seja uma string contendoFIM DOS DADOS.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução OK

0: Erro em arquivos binarios -2: Datas invalidas -52: Erro de abertura de arquivos -11: Comando incompativel

Page 370: 87514270 Daruma Framework

Daruma Framework357

Daruma Automação

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

· Definição do Método:Executa o download bruto da MFD, no intervalo das datas definidas nos parâmetros. Em seguida gera umregistro do tipo 60A (Analítico).

· Exemplo de retorno:60A20061201DR0205BR000000068757180000000000002760A20061201DR0205BR000000068757120000000000000060A20061201DR0205BR000000068757070000000000000060A20061201DR0205BR000000068757F 00000000030060A20061201DR0205BR000000068757I 00000000000060A20061201DR0205BR000000068757N 00000000000060A20061201DR0205BR000000068757CANC00000000000060A20061201DR0205BR000000068757DESC00000000000060A20061201DR0205BR000000068757ISS 000000000000

· Parâmetros: (3 parâmetros)1. DataInicio: String com a Data de inicio do download. Esta data é a data do primeiro dia do mês2. DataFim: String com a Data de fim do download. Esta data é a última data que teve movimento no

mês3. Retorno: Variável por referência para receber o retorno contendo o registro tipo 60A

· Observações:- Este método é exclusivo para impressora MFD.- A cada execução desse método, será escrito na variável, o movimento de um dia, de acor com asalíquotas programadas no ECF.- O método pode ser executado várias vezes em um loop, até que o retorno seja uma string contendoFIM DOS DADOS.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução 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);

Page 371: 87514270 Daruma Framework

Daruma Framework 358

Daruma Automação

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)

· Definição do Método:Executa o download bruto da MFD, no intervalo das datas definidas nos parâmetros. Em seguida gera umregistro do tipo 60D (Resumo Diário)`· Exemplo de retorno:60D20061201DR0205BR0000000687570000100000000000010000000000000005000000000000000118000000000000000

· Parâmetros: (3 parâmetros)1. DataInicio: String com a Data de inicio do download. Esta data é a data do primeiro dia do mês.2. DataFim: String com a Data de fim do download. Esta data é a última data que teve movimento no

mês.3. Retorno: Variável por referência para receber o retorno contendo o registro tipo 60D.

· Observações:- Este método é exclusivo para impressora MFD.- A cada execução desse método, será escrito na variável, o movimento de um dia.- O método pode ser executado várias vezes em um loop, até que o retorno seja uma string contendoFIM DOS DADOS.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução 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)

· Definição do Método:Executa o download bruto da MFD, no intervalo das datas definidas nos parâmetros. Em seguida gera umregistro do tipo 60I (Ítem).

Page 372: 87514270 Daruma Framework

Daruma Framework359

Daruma Automação

· Exemplo de retorno:60I20061201DR0205BR0000000687572D00105900100001000000000000100000000050000000000000011800000000000000

· Parâmetros: (3 parâmetros)1. DataInicio: String com a Data de inicio do download. Esta data é a data do primeiro dia do mês.2. DataFim: String com a Data de fim do download. Esta data é a última data que teve movimento no

mês.3. Retorno: Variável por referência para receber o retorno contendo o registro tipo 60I.

· Observações:- Este método é exclusivo para impressora MFD.- A cada execução desse método, será escrito na variável, 01(um) ítem.- O método pode ser executado várias vezes em um loop, até que o retorno seja uma string contendoFIM DOS DADOS.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução 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)

· Definição do Método:Executa o download bruto da MFD, no intervalo das datas definidas nos parâmetros. Em seguida gera umregistro do tipo 60R (Resumo Mensal).

· Exemplo de retorno:60R12200600001 0000000000001000000000000000500000000000000011800

· Parâmetros: (3 parâmetros)1. DataInicio: String com a Data de inicio do download. Esta data é a data do primeiro dia do mês.2. DataFim: String com a Data de fim do download. Esta data é a última data que teve movimento no

mês.3. Retorno: Variável por referência para receber o retorno contendo o registro tipo 60R.

· Observações:- Este método é exclusivo para impressora MFD.- A cada execução desse método, será escrito na variável, o movimento de um dia.- O método pode ser executado várias vezes em um loop, até que o retorno seja uma string contendoFIM DOS DADOS.

Page 373: 87514270 Daruma Framework

Daruma Framework 360

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução 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)

· Definição do Método: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 variável.

· Exemplo de retorno:

· Parâmetros: (2 parâmetros)1. Path: String com o Path para o Arquivo de Entrada.2. Retorno: Variável por referência para receber o retorno contendo o registro tipo 90 com 127 espaços.

· Observações:- Nunca execute este método antes de gerar os registros Tipo 10, Tipo 11, Todos os Tipos 60, pois estemétodo depende da execução antecipada desses métodos.- Este método é exclusivo para impressora MFD.- Para saber mais sobre o layout dos relatórios, acesse o site oficial do sintegra, www.sintegra.gov.br

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução 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;

Page 374: 87514270 Daruma Framework

Daruma Framework361

Daruma Automação

1.17.4 Métodos de Baixo Nível para Gerar o Sintegra

1.17.4.1 Daruma_FIMFD_RetornarInfoDownloadMFD (Índice 6020)

· Definição do Método:Executa o download bruto da MFD, em um intervalo de datas ou de COOs, dependendo do parâmetroTipoDL (tipode down-load).

Em seguida, seleciona os dados retornados, de acordo com o parâmetro índice.

O método pode ser executado várias 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á serseguido, quando tratar-se de índices que retornam informacoes variáveis, como por exemplo, os ítens queforam vendidos.

· Parâmetros: (5 parâmetros)1. TipoDL: String com tipo do down-load, sendo 1(um) Intervado de datas e 2(dois)Intervalo de COO2. Data/COO Início: 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 são listados mais abaixo

nesta página.5. Retorno: Variável por referência para receber os dados.

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução 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 informação que serão retornadas, acesse os linksabaixo:

Sobre o Hardware da Impressora:

Índice ECFHW - Este índice retorna informações sobre o hardware da impressora fiscal.

Índice ECFCFG - Este índice retorna informações sobre as configurações da impressora fiscal.

Índice CADFPG - Este índice retorna as formas de pagamentos cadastradas na impressora fiscal.

Índice CADALQ - Este índice retorna as alíquotas cadastradas na impressora fiscal.

Índice CADCNF - Este índice retorna totalizadores cadastradas na impressora fiscal.

Índice CADGER - Este índice retorna relatórios gerenciais cadastradas na impressora fiscal.

Índice LMF - Este índice retorna as informações referentes as leituras da memória fiscal tiradas naimpressa.

Índice LX - Este índice retorna as informações referentes as leituras x impressas.

Índice RZABE - Este índice retorna as informações referentes a abertura das reduções z impressas.

Sobre os cupons fiscais:

Índice CFABE - Este índice retorna informações 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.

Page 375: 87514270 Daruma Framework

Daruma Framework 362

Daruma Automação

Í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 totalização.

Í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 informações do encerramento dos cupons fiscais.

Índice CFEST - Este índice retorna informações referente aos estornos nos cupons fiscais.

Sobre os cupons adicionais:

Índice CUADC - Este índice retorna os cupons adicionais emitidos.

Sobre os comprovantes de crédito/débito. (não fiscais vinculados):

Índice CCDABE - Este índice retorna os dados de abertura dos comprovantes de crédito/débito.

Índice CCDTXL - Este índice retorna texto livre dos comprovantes de crédito/débito.

Índice CCDVADABE - Este índice retorna os dados de abertura da via adicional dos comprovantes decrédito/débito.

Índice CCDTXL - Este índice retorna os textos livres dos comprovantes de crédito/débito.

Índice CCDVADTXL - Este índice retorna os textos livres da via adicional dos comprovantes decrédito/débito.

Índice CCD2VIA - Este índice retorna a segunda via dos comprovantes de crédito/débito.

Índice CCDREI - Este índice retorna a reimpressão dos comprovantes de crédito/débito.

Índice CCDESTABE - Este índice retorna os comprovantes de crédito/débito que foram estornados.

Índice CCDESTTXL - Este índice retorna os textos livres impressos noa comprovantes de crédito/débitosestornados.

Sobre os comprovantes não fiscais (recebimentos não fiscais):

Índice CNFABE - Este índice retorna os comprovantes não fiscais que foram abertos.

Índice CNFRNF - Este índice retorna os recebimentos não fiscais.

Índice CNFCDI - Este índice retorna os cancelamentos de descontos dos comprovantes não fiscais.

Índice CNFCTI - Este índice retorna os cancelamentos no total dos ítens dos comprovantes não fiscais.

Índice CNFTOT - Este índice retorna os comprovantes não fiscais em totalização.

Índice CNFCDS - Este índice retorna os cancelamentos de descontos no subtotal dos comprovantes nãofiscais.

Índice CNFFPG - Este índice retorna as formas de pagamento usadas nos comprovantes não fiscais.

Índice CNFCEM - Este índice retorna os cancelamentos dos comprovantes não fiscais em emissão.

Page 376: 87514270 Daruma Framework

Daruma Framework363

Daruma Automação

Índice CNFENC - Este índice retorna os comprovantes não fiscais em encerramento.

Índice CNFINTEST - Este índice retorna o interior dos estornos das formas de pagamento doscomprovantes não fiscais.

Índice CNFCAN - Este índice retorna os comprovantes não fiscais cancelados.

Índice CNFSAN - Este índice retorna comprovante não fiscal sangria.

Índice CNFSUP - Este índice retorna comprovante não fiscal suprimento.

Índice CNFEST - Este índice retorna os comprovantes não fiscais estornados.

Índice GERABE - Este índice informações referente a abertura dos relatórios gerenciais.

Índice GERTXL - Este índice retorna os textos livres que foram impressos nos relatórios 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 totalização.

Índice CFBPCDS - Este índice retorna os cancelamentos de desconto no subtotal dos bilhetes depassagem.

Índice CFBPFPG - Este índice retorna as formas de pagamento usadas nos cupons fiscais bilhetes depassagem.

Índice CFBPCEM - Este indice retorna os cancelamentos dos bilhetes de passagem em emissão.

Índice CFBPENC - Este índice retorna informações dos bilhetes de passagem em encerramento.

Índice CFBPINTEST - Este índice retorna o interior dos estornos nos bilhetes de passagem.

· Observações:- 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)

· Definição do Método:Executa o download bruto da MFD, em um intervalo de datas ou de COOs, dependendo do parâmetroTipoDL (tipo do down-load).

Em seguida, seleciona os dados retornados, de acordo com o parâmetro Índice e os grava no arquivoSintegra_INDICE.txt, onde ÍNDICE é o conteúdo do parâmetro Índice.

O arquivo é gerado no path configurado no registro por DEFAULT é no C:\ - porém pode ser alteradoatravés do método:Daruma_Registry_SintegraPath(Índice 71).

· Parâmetros: (5 parâmetros)1. TipoDL: String com tipo do down-load, sendo 1(um) Intervado de datas e 2(dois)Intervalo de COO.2. Data/COO Início: 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 são listados mais abaixo nestapágina.

Page 377: 87514270 Daruma Framework

Daruma Framework 364

Daruma Automação

· Este Método retornará um dos Valores Inteiros listados Abaixo: 1: Execução 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 informação que serão retornadas, acesse os linksabaixo:

Sobre o Hardware da Impressora:

Índice ECFHW - Este índice retorna informações sobre o hardware da impressora fiscal.

Índice ECFCFG - Este índice retorna informações sobre as configurações da impressora fiscal.

Índice CADFPG - Este índice retorna as formas de pagamentos cadastradas na impressora fiscal.

Índice CADALQ - Este índice retorna as alíquotas cadastradas na impressora fiscal.

Índice CADCNF - Este índice retorna totalizadores cadastradas na impressora fiscal.

Índice CADGER - Este índice retorna relatórios gerenciais cadastradas na impressora fiscal.

Índice LMF - Este índice retorna as informações referentes as leituras da memória fiscal tiradas naimpressa.

Índice LX - Este índice retorna as informações referentes as leituras x impressas.

Índice RZABE - Este índice retorna as informações referentes a abertura das reduções z impressas.

Sobre os cupons fiscais:

Índice CFABE - Este índice retorna informações 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 totalização.

Í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 informações do encerramento dos cupons fiscais.

Índice CFEST - Este índice retorna informações referente aos estornos nos cupons fiscais.

Sobre os cupons adicionais:

Índice CUADC - Este índice retorna os cupons adicionais emitidos.

Sobre os comprovantes de crédito/débito. (não fiscais vinculados):

Page 378: 87514270 Daruma Framework

Daruma Framework365

Daruma Automação

Índice CCDABE - Este índice retorna os dados de abertura dos comprovantes de crédito/débito.

Índice CCDTXL - Este índice retorna texto livre dos comprovantes de crédito/débito.

Índice CCDVADABE - Este índice retorna os dados de abertura da via adicional dos comprovantes decrédito/débito.

Índice CCDTXL - Este índice retorna os textos livres dos comprovantes de crédito/débito.

Índice CCDVADTXL - Este índice retorna os textos livres da via adicional dos comprovantes decrédito/débito.

Índice CCD2VIA - Este índice retorna a segunda via dos comprovantes de crédito/débito.

Índice CCDREI - Este índice retorna a reimpressão dos comprovantes de crédito/débito.

Índice CCDESTABE - Este índice retorna os comprovantes de crédito/débito que foram estornados.

Índice CCDESTTXL - Este índice retorna os textos livres impressos noa comprovantes de crédito/débitosestornados.

Sobre os comprovantes não fiscais (recebimentos não fiscais):

Índice CNFABE - Este índice retorna os comprovantes não fiscais que foram abertos.

Índice CNFRNF - Este índice retorna os recebimentos não fiscais.

Índice CNFCDI - Este índice retorna os cancelamentos de descontos dos comprovantes não fiscais.

Índice CNFCTI - Este índice retorna os cancelamentos no total dos ítens dos comprovantes não fiscais.

Índice CNFTOT - Este índice retorna os comprovantes não fiscais em totalização.

Índice CNFCDS - Este índice retorna os cancelamentos de descontos no subtotal dos comprovantes nãofiscais.

Índice CNFFPG - Este índice retorna as formas de pagamento usadas nos comprovantes não fiscais.

Índice CNFCEM - Este índice retorna os cancelamentos dos comprovantes não fiscais em emissão.

Índice CNFENC - Este índice retorna os comprovantes não fiscais em encerramento.

Índice CNFINTEST - Este índice retorna o interior dos estornos das formas de pagamento doscomprovantes não fiscais.

Índice CNFCAN - Este índice retorna os comprovantes não fiscais cancelados.

Índice CNFSAN - Este índice retorna comprovante não fiscal sangria.

Índice CNFSUP - Este índice retorna comprovante não fiscal suprimento.

Índice CNFEST - Este índice retorna os comprovantes não fiscais estornados.

Índice GERABE - Este índice informações referente a abertura dos relatórios gerenciais.

Índice GERTXL - Este índice retorna os textos livres que foram impressos nos relatórios 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.

Page 379: 87514270 Daruma Framework

Daruma Framework 366

Daruma Automação

Í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 totalização.

Índice CFBPCDS - Este índice retorna os cancelamentos de desconto no subtotal dos bilhetes depassagem.

Índice CFBPFPG - Este índice retorna as formas de pagamento usadas nos cupons fiscais bilhetes depassagem.

Índice CFBPCEM - Este indice retorna os cancelamentos dos bilhetes de passagem em emissão.

Índice CFBPENC - Este índice retorna informações dos bilhetes de passagem em encerramento.

Índice CFBPINTEST - Este índice retorna o interior dos estornos nos bilhetes de passagem.

· Observações:- Se desejar saber mais sobre o Sintegra, acesse o site do Sintegra para saber: www.sintegra.gov.br

Page 380: 87514270 Daruma Framework

Index- . -.log 95

- ? -??? 78

???? 134, 195, 196, 197, 198, 199, 222, 251, 253

- < -</a> Não Aguardar até o Término da Impressão 300, 307

<a> Aguardar até o Término da Impressão 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 iTálico 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 Várias Linhas" 300, 307

0) 300, 307

<sn></sn> Sinal Sonoro 300, 307

Apitar 300, 307

<sp>NN</sp> Inserir NN Espaços em Branco 300,307

<tc>C</tc> Riscar Linha com um Caracter Especifico 300, 307

- 0 -00 IF em modo Manutenção. Foi ligada sem oJumper de Operação 161

01 313

01 Método disponível somente em modoManutenção 161

02 Erro durante a gravação da Memória Fiscal 161

03 Memória Fiscal esgotada 161

04 Erro no relógio interno da IF 161

05 Falha mecânica na IF 161

06 Erro durante a leitura da Memória Fiscal 161

07 Metodo permitido apenas em modo fiscal (IF semjmper) 161

- 1 -1 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 não foi aberto 161

1100 63

1101 62

1102 59

1103 60

1104 60

1105 61

1106 64

12 96

12 Não existe documento a cancelar 161

1200 64

1201 56

1202 62

1203 54

1204 54

Daruma Framework367

Daruma Automação

Page 381: 87514270 Daruma Framework

1205 55

1206 65

1207 66

1208 55

1210 56

1211 58

1212 58

13 97

foi encontrado nos Parâmetros do Método 161

1300 67

1301 66

1302 67

1310 69

1311 68

1312 69

14 97

14 Não há mais memória disponível para estaoperação/Não há nenhuma posição de mériadisponível. 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

1429 137

1430 137

1431 129

1432 127

1433 149

1434 140

1435 142

1436 126

1437 141

1438 141

1439 128

1440 125

1441 145

1442 123

1443 127

1444 122

1445 126

1446 150

1447 151

1448 123

1449 148

1450 148

1451 163

1452 163

1453 164

1454 164

1455 165

1456 165

1457 167

1458 167

1459 168

1460 168

1461 169

1462 169

1463 170

1464 170

1465 171

1466 171

1467 131

1468 136

1469 119

1470 122

1471 118

1472 161

1473 150

1479 159

1481 157

Index 368

Daruma Automação

Page 382: 87514270 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 não foi encontrado 161

1500 119

1502 176

16 Erro de sintaxe no método 161

17 91

17 "Estouro" de capacidade numérica (overflow) 161

18 100

18 Selecionado totalizador tributado com alíquota deimposto não definida 161

180 Mensagem do aplicativo não programada. (Estamensagem não é opcional e sim uma exigência dalegislação e deverá ser programada para que o ECFseja liberado para a emissão de documentos fiscais.Para programar a mensagem use osmétodos:Daruma_Registry_AplMensagem1(Índice36) emétodo:Daruma_Registry_AplMensagem2(Índice37). 161

181 Não é possivel realizar Redução Z entre00:00am e 02:00am (Meia Noite e Duas da Manhã)nesta versão de firmware da FS600 (está limitaçãoexiste nas versões 1.1 pra baixo. 161

19 100

19 Memória Fiscal vazia 161

1900 278

1901 276

1902 275

1903 280

1904 275

1905 277

1Linha 38, 97

- 2 -2 92

2 ou mais impressoras 110

20 101

20 Não existem campos que requerem atualização 161

2000 270

2001 272

21 98

21 Detectado proximidade do final da bobina depapel 161

22 102

22 Cupom de Redução Z já foi emitido. IF inoperanteaté 0:00h do próximo dia 161

23 99

23 Redução Z do período anterior ainda pendente. IFinoperante 161

24 99

24 Valor de desconto ou acréscimo inválido (limitadoa 100%) 161

25 Caráctere inválido foi encontrado nos Parâmetrosdo Métodos 161

26 Médoto não pode ser executado 161

27 Impressora fora de Linha/Nenhum periféricoconectado a interface auxiliar 161

28 102

28 Foi encontrado um campo em zero 161

29 Documento anterior não foi Cupom Fiscal. Nãopode emitir Cupom Adicional 161

- 3 -3 93

30 325

30 Acumulador Não Fiscal selecionado não é válidoou não está disponível 161

3000 213

3007 218

3008 219

3009 220

301 74

3010 221

3011 223

3012 217

3013 221

3014 225

Daruma Framework369

Daruma Automação

Page 383: 87514270 Daruma Framework

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 Não pode autenticar. Excedeu 4 repetições ounão é 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 configuração 161

3200 239

3201 231

3202 237

3203 230

3204 230

3205 231

3206 239

3207 233, 240

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 Relógio Interno Inoperante 161

36 103

36 Versão do firmware gravada na Memória Fiscalnão é a esperada 161

37 104

Index 370

Daruma Automação

Page 384: 87514270 Daruma Framework

37 Alíquota de imposto informada já está carregadana memória 161

38 104, 105

38 Forma de pagamento selecionada não é válida 161

38400 102

39 Erro na seqüência de fechamento do CupomFiscal 161

- 4 -4 93

40 IF em Jornada Fiscal. Alteração da configuraçãonão é 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 inválida. Data fornecida é inferior à últimagravada na Memória Fiscal 161

410 86

411 81

412 84

42 105

42 Leitura X inicial ainda não foi emitida 161

43 Não pode emitir Comprovante Vinculado 161

44 Cupom de Orçamento não permitido para esteestabelecimento(Mensagem do Aplicativo NãoProgramada) 161

45 201

45 Campo obrigatório em branco 161

46 329

48 329

48 Não pode estornar 161

49 107

49 Forma de pagamento indicada não encontrada 161

- 5 -5 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 usuário cadastrado na MF 161

52 106

52 MF não instalada ou não 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 Framework371

Daruma Automação

Page 385: 87514270 Daruma Framework

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 161

57 108

58 35, 109

59 35, 110

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

6029 359

603 71

6030 360

604 71

605 154

606 155

607 72

61 37

61 Queda de energia durante a emissão de CupomFiscal 161

650 243

651 244

652 244

66 111

69 112

- 7 -7 94

72 114

76 Desconto em ISS não permitido neste ECF (aprogramação deverá ser feita por meio deintervenção técnica e caso o Estado permita) 161

77 Acréscimo em IOF inibido 161

- 8 -8 95

80 Periférico na interface auxiliar não pode serreconhecido 161

81 Solicitado preenchimento de cheque de bancodesconhecido 161

82 Solicitado transmissão de mensagem nula pelainterface auxiliar 161

83 Extenso do cheque não cabe no espaçodisponível 161

84 Erro na comunicação com a interface auxiliar 161

85 Erro no dígito verificador durante comunicaçãocom a PertoCheck 161

86 Falha na carga de geometria de folha de cheque 161

87 Parâmetros do Método: invállido para o campo dedata do cheque 161

- 9 -9 95

Index 372

Daruma Automação

Page 386: 87514270 Daruma Framework

90 Sequência de validação de número de sérieinválida 161

9600 102

- A -Abertas 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

Autenticação 67, 83, 241

Autenticar na Bobina 293, 294

Autenticar no Documento 293, 294

Automatica 82, 97, 98

Automatico 80, 114

Automático 37

- B -Balança 111

Balcao 214, 225

Banco 347, 349

Barras 185, 186, 297

Bipmap 295

Bomba 111

Bruta 143

Bufferizando 32

- C -Cadastrar 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

Combutível 111

ComIndice 142, 267

Comprivante 55

Comprovante 54, 117, 118, 174, 175, 230, 231,251

COMX 91

Conectada 127, 258

Daruma Framework373

Daruma Automação

Page 387: 87514270 Daruma Framework

Conferencia 215

ConferenciaMesa 215

Config 95, 108

Configura 37

Configurações 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 comLinux Terminal Service 19

Configurando a Daruma32.dll para trabalhar comTerminal 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 Redução 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

CupomNFNV 165, 166

CupomRestaurante 213

Cupons 76, 84, 249

- D -Dados 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

Index 374

Daruma Automação

Page 388: 87514270 Daruma Framework

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_EfetuaFormaPagamentoDescricaoForma 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 (Índice1103) 60

Daruma_FI_LeituraMemoriaFiscalSerialData (Índice1104) 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

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 Framework375

Daruma Automação

Page 389: 87514270 Daruma Framework

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

Index 376

Daruma Automação

Page 390: 87514270 Daruma Framework

Daruma_FIMFD_IniciaFechamentoNaoFiscal 197

Daruma_FIMFD_ProgramaRelatoriosGerenciais 191

Daruma_FIMFD_ProgramarGuilhotina 199

Daruma_FIMFD_RecebimentoNaoFiscal 196

Daruma_FIMFD_RetornaInformacao 177

Daruma_FIMFD_RetornarInfoDownloadMFD(Índice6020) 361

Daruma_FIMFD_RetornarInfoDownloadMFDArquivo(Índice 6021) 363

Daruma_FIMFD_SinalSonoro 190

Daruma_FIMFD_StatusCupomFiscal 190

Daruma_FIMFD_TerminaFechamentoCupomCodigoBarras 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_EfetuaFormaPagamentoDescricaoForma 220

Daruma_FIR_EfetuaFormaPagamentoNaoFiscal 233

Daruma_FIR_EmitirCupomAdicional 229

Daruma_FIR_FechaComprovanteNaoFiscalVinculado 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 (Índice3103) 234

Daruma_FIR_LeituraMemoriaFiscalSerialData (Índice3104) 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 Framework377

Daruma Automação

Page 391: 87514270 Daruma Framework

Daruma_FIR_StatusComprovanteNaoFiscalNaoVinculado 251

Daruma_FIR_StatusComprovanteNaoFiscalVinculado 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_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[Índice 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

Index 378

Daruma Automação

Page 392: 87514270 Daruma Framework

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

Decodificacao do Erro do ECF 161

Default 101, 103

Departamento 40

Desconto 206

Descontos 144, 208, 268

Valor Acumulado 174

Descricao 46, 220

Descrição 49, 53

Descrição 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 Comunicação 325, 327

Status 291

Termica 329

DUAL Impressora Dual 325, 329

DXML 300, 307

- E -ECF 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

Espaçamento 84, 249

Espaco 77

Espera 201

esperar 278

Esperar Impressao 326

Daruma Framework379

Daruma Automação

Page 393: 87514270 Daruma Framework

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

- F -Fecha 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

Funções de Configuração do Observer 34

Fundo 58, 233

- G -Gande Total - Ler Total 130, 260

Gav 81

Gaveta 68, 69, 94, 242

Generico 44

Geometria 206

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

- H -Hibernar - 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

Horário 37

- I -ICMS 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

Index 380

Daruma Automação

Page 394: 87514270 Daruma Framework

Informações 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

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

- M -Mais de um ECF 110

Mapeamento 32

Max 114

Maximo 112, 114

MB 112, 114

Medida 52

Memoria 59, 234

Memoria Fiscal Impressão 59, 234

Memoria Fiscal Leitura pela Serial 60, 235

Mensagem 86, 96, 103, 104

Mesa 215, 227

Mesas 229

Método Daruma_FI_ConfiguraHoraioVerao(Índice314) 37

Método: Daruma_FI_FundoCaixa 58

MFD 107, 108, 191, 192, 193, 194, 195, 196, 197,198, 199, 361, 363

MICR 204

Mínima 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

- N -Nao 54, 55, 56, 62, 65, 66, 73, 105, 126, 142, 151,165, 174, 175, 195, 196, 230, 231, 232, 237, 239,240, 245, 267

Não Fiscais 126, 257

Nao Fiscal 172

Nao Fiscal - Contador Geral 169

Nao fiscal - total cancelado 168

Não Incidente 174

Valor Acumulado 174

Não Incidente - Ler Total de 130, 260

Não 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 Framework381

Daruma Automação

Page 395: 87514270 Daruma Framework

Número 105

Numero de Reducoes Z Restante 168

Numero do COO Final 136

Numero do COO Inicial 136

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

- P -Pagamento 46, 50, 58, 74, 198, 219, 233, 246

Pagamento Descrição 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 Comunicação 94

Porta Serial 91

Posição 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

- Q -Qual é a versão da DLL? 176

- R -Rec 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

Redução 85

Redução Z Contador 167

Reducao Z Restante 168

Redução Z Restante 172

ReducaoZ 63, 141, 237, 266

ReduçãoZ 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

Index 382

Daruma Automação

Page 396: 87514270 Daruma Framework

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 Configuração do Registry 87

Reinicio Contador 167

Reinicio de Operação 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 Comunicação com aPARALELA 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 Informações da MFD 361, 363

Retorno 94, 149, 160

Retorno da 94

retornos 115

Retornos da MFD 177

- S -Saldo a Pargar 148

Saldo Devedor 148

Sangria 65, 239

Sangria - Ler Total de 130, 260

Sangria - Ler Total de 130, 260

Sangria - Não 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

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

Substituição 125, 256

Valor Acumulado 174

Substituição Tributaria - Ler Total de 130, 260

Substituicoes 138

Sujeito 73, 245

Suprimento 66, 240

Suprimento - Ler Total de 130, 260

- T -TA1000 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 - Funções 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 Framework383

Daruma Automação

Page 397: 87514270 Daruma Framework

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

- U -Ultima 146, 150, 269

Ultimo 152, 209

Ultimos 210

Unidade 40, 52

Unidade 32

Usa 52, 54, 230

Usuarios 341, 342, 343, 349

- V -Valor 149, 150, 151, 174

Valor 16 Totalizadores Não Fiscais 126, 257

Valor Acumulado em Totalizadoes Não Fiscais 126, 257

Valor Acumulado Nao Fiscal Nao Vinculado 172

Valor Acumulado Nao Fiscal Vinculado 172

Valor de Cada Alíquota 174

Valor de Cancelamento nao fiscal 168

Valor dos Erros do ECF 161

Valor Isento 174

Valor Não Incedente 174

Valor Substiruição 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

Verão 37

Verão 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

VersãoDLL 176

Verso 203

Via 212

Vinculado 117, 165, 188, 251

Vinculado Valor Acumulado 172

Vinculados 79

Vincular 79

Index 384

Daruma Automação

Page 398: 87514270 Daruma Framework

- W -W.T.S 18

WTS 18

- X -XPendente 121, 254

- Z -Z 139, 264

ZAutomatica 81

Zera 243

Zerando o Registry 101

Zerar 340, 341, 346

ZPendente 121, 254

Daruma Framework385

Daruma Automação

Page 399: 87514270 Daruma Framework

Endnotes 2... (after index)

386

Daruma Automação

Page 400: 87514270 Daruma Framework

Back Cover