87514270 daruma framework
TRANSCRIPT
Daruma Automação
Standard printmanual template
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)
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...
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
......................................................................................................................................................... 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
......................................................................................................................................................... 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
......................................................................................................................................................... 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
......................................................................................................................................................... 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
.......................................................................................................................................................... 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
......................................................................................................................................................... 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
......................................................................................................................................................... 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
.......................................................................................................................................................... 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
......................................................................................................................................................... 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
Foreword
This is just another title pageplaced between table of contents
and topics
Foreword1
Daruma Automação
Top Level IntroThis page is printed before a new
top-level chapter starts
Part
I
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
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
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
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
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
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
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
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
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.
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.
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;
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")
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")
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.
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:
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.
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
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
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).
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
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.
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.
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:
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):
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 é:
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:
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 ;
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:
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:
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
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.
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
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
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
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
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.
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
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:
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:
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
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
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
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, _
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.
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.
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
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).
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)
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é';
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:
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 ) );
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.
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á.
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.
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 ) );
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.
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) );
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).
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;
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
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
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
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 ) );
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:
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)
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;
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:
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:
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.
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
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.
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
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.
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
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.
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();
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
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');
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")
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")
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.
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.
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;
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
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
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,
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
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
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.
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:\');
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');
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.
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:
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
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
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:
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).
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.
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:
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
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
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
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:
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);
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
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;
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.
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
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.
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:
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;
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:
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
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:
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:
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
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.
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:
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)
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.
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
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:
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);
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...
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.
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.
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);
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)
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);
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
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();
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:
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
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);
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);
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);
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);
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);
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:
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.
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.
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
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);
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:
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.
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
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.
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
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;
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:
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
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
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
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
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
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
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
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
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
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
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);
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);
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.
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);
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);
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);
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);
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);
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:
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.)
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
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
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 ,
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:
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.
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
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
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
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
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
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
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
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))
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.
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);
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.
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;
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
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
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:
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.
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;
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;
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';
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';
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;
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.
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:
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:
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';
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:
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()
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();
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)
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
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:
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));
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
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)
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',
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();
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.
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:
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:
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
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.
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.
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
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)
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';
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';
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;
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.
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
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)
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:
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:
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
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).
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 ) );
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:
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.
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;
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:
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.
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;
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:
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.
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;
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;
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
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
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:
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.
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.
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
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.
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.
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:
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.
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
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;
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;
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:
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:
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:
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:
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:
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;
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;
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();
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);
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;
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);
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.
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:
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:
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).
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;
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
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.
Daruma Framework 274
Daruma Automação
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();
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;
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")
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ê
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;
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);
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
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
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:
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);
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);
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
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.
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"
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
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);
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:
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;
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
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.
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
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:
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
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
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:
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
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)
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 =
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
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);
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);
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);
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 =
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)
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>>" + _
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:=
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);
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' +
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
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>" +
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.'
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
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
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.
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.
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
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
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
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
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
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
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!!!
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);
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');
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');
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"
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.
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
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.
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
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
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),
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
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()
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;
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;
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
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)
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
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
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.
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á.
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)
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
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")
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);
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:
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
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');
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:
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
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
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);
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).
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.
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;
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.
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.
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.
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):
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
- 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
Endnotes 2... (after index)
386
Daruma Automação
Back Cover