Jump to content
Fivewin Brasil

josehilton

Membros
  • Posts

    28
  • Joined

  • Last visited

Everything posted by josehilton

  1. Boa tarde a todos alguém aqui nesse grupo tem sistema para emitir nota nfe/nfce em android. pois tenho um cliente necessitando desse recurso, ele sai com o carro com as mercadoria e quer emitir a nota no cliente caso alguém tenha entese entrar em contato 71-98770-5929 telefone/zap Obrigado
  2. Bom dia eu pego os dados do certificado + mesmo assim ele pedi senha realmente parece que não tem jeito para u A3. se alguem tiver alguma solução fico muito grato Grato a todos
  3. josehilton

    hbnfe

    Bom dia a todos Alguém sabe mim informa como faco para que essa classe não fique solicitando o PIN do certificado A3 Agradeco pela atencao atencipadamento Grato Hilton
  4. Boa tarde a Todos , Alguem aqui no grupo faz a impressão de etiqueta de Gondula na impressora ELGIN L-42 e poderia mim dar um exemplo. Grato Hilton
  5. josehilton

    hbnfe

    Bom dia a Todos Estou com esse problema no hbnfe Error description: Error MSXML2.MXDigitalSignature.5.0/9 Não há suporte para o tipo de Provedor de Serviços de Criptografia '24'. : CREATEKEYFROMCSP alguem poderia mim ajuda Grato um bom dia
  6. Meu agradecimento a todos que colaborou e meu projetos da nfc-e gracas a deus e a ajuda de todos ja esta funcionando Hilton DATAHORAEX := Lower(Str2Hex( nfe_emissao )) cdigval := Lower(Str2Hex(nfe_digval)) cQrcode := "chNFe="+alltrim(nfe_chave) cQrcode +="&nVersao=100" cQrcode +="&tpAmb="+alltrim(nfe_tipoambiente) cQrcode +="&dhEmi="+DATAHORAEX cQrcode +="&vNF="+alltrim(nfe_t_valornota) cQrCode +="&vICMS="+alltrim(nfe_t_valoricms) CqRcODE += '&digVal=' +cdigval CqRCODE += ' &cIdToken=' +'000001' //chNFe=29150513464482000182650010000000071000000077&nVersao=100&tpAmb=2&dhEmi=323031352d30352d30355431323a34393a31322d30333a3030&vNF=800.00&vICMS=0.00&digVal=393547787a314552464a7338652b6b5357592f54367a7a773438733d &cIdToken=000001 cCripto := hb_sha1(cQrcode) Memo1Text := "http://hnfe.sefaz.ba.gov.br/servicos/nfce/modulos/geral/NFCEC_consulta_chave_acesso.aspx?" Memo1Text += cQrcode Memo1Text += '&cHashQRCode=' + Upper(cCripto) //http://hnfe.sefaz.ba.gov.br/servicos/nfce/modulos/geral/NFCEC_consulta_chave_acesso.aspx?chNFe=29150513464482000182650010000000071000000077&nVersao=100&tpAmb=2&dhEmi=323031352d30352d30355431323a34393a31322d30333a3030&vNF=800.00&vICMS=0.00&digVal=393547787a314552464a7338652b6b5357592f54367a7a773438733d&cIdToken=000001&cHashQRCode=291FDA5C7420FA4B8D074069CB3EBB37422D66E2 if GeraQrCode(Memo1Text,cFileName) = 0 cBmpFile := cFilename //getcurdir()+"\images3.bmp" if file(cBmpFile) ? 'existe o bitmap',cBmpFile endif //PrintBitMap( oPrinter, cBMPFile ) //oPrinter:SetPrc(oPrinter:Prow()+05 ,1 ) endif
  7. Ola Caro Marsan Eu preferir fazer mudancas no projetos HBNFE para o modelo 55 ja funciona perfeitamente e para o modelo 65 NFC-E ja conseguir transmitir com sucesso ja conseguir fazer o qrcode funcionar e agora estou adaptando ao meu frente de loja Hilton josehiltonribeiro2014@gmail.com
  8. Caro igpjinfoEstou fazendo alguns teste e nao estou obtendo exito o hashcodigo nao esta retornando correto veja ? hb_sha1("chNFe=43120910585504000174650010000000541123456781&nVersao=100&tpAmb=2&dhEmi=323031322d30392d32375431363a32303a33342d30333a3030&vNF=1000.00&vICMS=180.00&digVal=37327151612b623074616f514f3966414a7766646c5875715176383d &cIdToken=0000011058550420130001") deveria me retornar 3FACB55248244D98C658FC8A826413BCEF10A4AE mais esta me retornando assim 2bfefc89ddebf732ec53238482e1c8ece9f25b36 Gradeco antecipadamento pela sua ajuda Grato Hilton
  9. Consegui Imprimir o Danfe so tenho agora um probleminha os dados do emitente nao esta saindo Arquivo PDF anexo Grato Hilton
  10. Bom dia igpjinfo eu coloquei a dll e o fr3 junto com o executavel e mesmo assim nao deu certo continua do mesmo jeito Mais alguma sugestao Grato Hilton
  11. eu copiei esse exemplo e colei continua FrPrn:=frReportManager():new() saindo sem da erro
  12. Bom dia a todos Estou tentando utilizar o hbnfedanfefast so que nao passa daqui fastReport := frReportManager():new() ele sai sem dar mensagem de error o que pode esta faltando Agradeco antecipadamento pela ajuda Hilton Fwh 11 / xharbour 1.2.1 xdevstudio
  13. Bom dia a Todos Pessoal eu nao conseguir entender o calculo do Hashqrcode, e gostaria da ajuda de voces para resolver essa questao se auguem estiver esse exemplo e poder me ajudar fico muito grato chNFe=29150264904295001932550030000499631466480727 nVersao=100 &tpAmb=1 &cDest=13464482000182 &dhEmi=20202020202020202020 &vNF=1293.50 &vICMS=0.00 &digVal=357030536D7A4C74346B7A68414D71505A4F7855316544772B38633D &cIdToken=000001 chNFe=29150264904295001932550030000499631466480727&nVersao=100&tpAmb=1&cDest=13464482000182&dhEmi=20202020202020202020&vNF=1293.50&vICMS=0.00&digVal=357030536D7A4C74346B7A68414D71505A4F7855316544772B38633D&cIdToken=000001 cHasharcode := ???????????????????? Sem mais Jose Hilton Josehiltonribeiro2014@gmail.com
  14. Boa Atarde a todos Gostaria de saber se alguem tem a declaracao correta das DLL´S DLLG2.DLL LEITURA.DLL ATO17.DLL e uma exemplo para gerar o arqmf e o arqmfd do paf ecf Grato Hilton
  15. Valeu Resolvido usando a opcao de Backup (mysqldump / mysql) Obrigado Erciley
  16. Bom dia a todos Sou iniciante com o mysql e tenhos muitas duvidas como por exemplo Tenho um arquivo no Servidor que pretendo duplicalo em outro como faco outro situacao seria essa aArray := sqlarray("select * from atupro ",nconn2) ccmd := "insert into atupro_Pdv Values (" aArray ")" ExecuteCmdSql(ccmd,nconn,.f.,.f.,.t.) como funcionaria ambus arquivos tem a mesma estrutura Grato Hilton
  17. bom ja fiz de tudo e nao obtive exito
  18. Bom dia Kapiaba. Kapiaba no momento do erro eu não estou acessando nenhum arquivo e a única gravação q faço e em um arquivo texto usando fwrite.. Grato Hilton Fwh 11.12 xhb 1.2.0
  19. Bom dia pessaoal Eu estou em processo de Homologacao Tef e Estou com um Probleminha error irrecuper vel 1011: write in index page faild. =========================================================== Function HttpGetFile(cReply,cImprimer,cSeqImp) Local wbuffer := SPACE(2300) Local cString := "" Local nCount Local rtn := .f. Local nLength local xBuffer := 2300 Local cRet := 999 cMsgRet := '' VESPAGUE_OPCAO := '' cRetornoTipo := '' cTipoMascara := '' cTent := 0 cTent ++ Tem := .t. Tent := 1 qTent := 1 default cmsgespera := 'PROCESSANDO AGUARDE..' if ! file('c:\respostaTef.txt') cFileRet := fCreate('c:\respostaTef.txt') else cFileRet := fOpen('c:\respostaTef.txt',1) RET_TAM = FSeek( cFileRet, 0, FS_END ) ENDIF fwrite(cFileRet,'----------------------------------------------------'+chr(13)+chr(10)) fwrite(cFileRet,cReply+chr(13)+chr(10)) fwrite(cFileRet,'--------------programa------------------------------'+chr(13)+chr(10)) InetSetTimeout( HANDLEsocket, 750 ) InetSend( HANDLEsocket,cReply ) cTent := 0 mensagemvermelha() cGet13 := cMsgEspera oGet13:varput(cGet13) oGet13:Refresh() nProgress := 0 do while InetDataReady( HANDLEsocket, 100 ) == 0 if GETASYNCKEY( VK_DOWN ) .or. GETKEYSTATE(VK_DOWN) cTent := 0 fclose(cFileRet) Return(99) endif if GETKEYSTATE(VK_ESCAPE) cTent := 9999999999999999999999999999999 endif if cTenta > 10 cTent ++ if cTent > cTenta cSequenc := alltrim(str(val(cSequenc)+1)) fclose(cFileRet) exit endif DO CASE CASE nProgress = 0 cmm := "-" CASE nProgress = 1 cmm := "\" CASE nProgress = 2 cmm := "|" CASE nProgress = 3 cmm := "/" nProgress := -1 ENDCASE nProgress ++ cGet13 := cMsgEspera + ' '+cmm ' oGet13:varput(cGet13) oGet13:Refresh() endif enddo if cTent > cTenta cTent := 0 cMsgRet := '' VESPAGUE_OPCAO := '' cRetornoTipo := '' cTipoMascara := '' CMSGRETORNOTEF := '' CrET := 9 Return(99) endif cTent := 0 cDescr := '' nCount := InetRecvAll( HANDLESOcket, @wBuffer, xBUFFER ) cString := left(wBuffer, nCount) //alltrim(cResponse) // fwrite(cFileRet,'----------------------------------------------------'+chr(13)+chr(10)) fwrite(cFileRet,alltrim(cString)) fwrite(cFileRet,'--------------vsp-----------------------'+chr(13)+chr(10)) fclose(cFileret) nPos := At("automacao_coleta_mensagem=",cString) if npos > 0 cRetornoAutomacao := Substr(cString,nPos + 27) nPOs := At('"',cRetornoAutomacao) cRetornoAutomacao := Substr(cRetornoAutomacao,1,nPos - 1) cRetornoAutomacao := StrTran(cRetornoAutomacao,Chr(13)," ") cRetornoAutomacao := StrTran(cRetornoAutomacao,Chr(10)," ") nPos := At(Upper("Transacao aprovada"),Upper(cRetornoAutomacao) ) if nPos > 0 iRetorno := 8888 endif endif xText := '' cLoop := 1 cTipoRetorno := '' cValorRetorno := '' CfILETEXT := FCREATE('TEXTRET.TXT') cMsgTef := '' FWRITE(cFileText,cString) fclose(cfileText)
  20. Pessoal estou tentando fazer um controle de mesa. Minha tela tem um grid(TsBrowse) com bitmaps que mostram as mesas abertas, fechadas, sem consumo, etc... Estou precisando colorir uma determinada celula quando o usuario clica nela ou quando o tempo determinado de ociosidade é atingido. Para isso preciso que, quando o usuario selecione a mesa (via teclado ou via mouse), eu receba a posicao da celula (array). Melhor explicado seria o seguinte: Se eu criasse uma matriz 02x02, em tese ela seria montada assim m=({1x1 , 1x2},{2x1 , 2x2}) se o usuario selecionasse a posicao {1x2} eu precisaria ter um retorno que me informasse essa posição. Que comando eu posso usar do TsBrowse para obter esse retorno? Obrigado a todos.
  21. Pessoal estou tentando fazer um controle de mesa. Minha tela tem um grid(TsBrowse) com bitmaps que mostram as mesas abertas, fechadas, sem consumo, etc... Estou precisando colorir uma determinada celula quando o usuario clica nela ou quando o tempo determinado de ociosidade é atingido. Para isso preciso que, quando o usuario selecione a mesa (via teclado ou via mouse), eu receba a posicao da celula (array). Melhor explicado seria o seguinte: Se eu criasse uma matriz 02x02, em tese ela seria montada assim m=({1x1 , 1x2},{2x1 , 2x2}) se o usuario selecionasse a posicao {1x2} eu precisaria ter um retorno que me informasse essa posição. Que comando eu posso usar do TsBrowse para obter esse retorno? Obrigado a todos.
  22. DECLARE TABERRO[99999] TABERRO[1 ] :="Não foi possível alocar mais memória." TABERRO[2 ] :="Memória RAM foi corrompida." TABERRO[1000 ] :="Memória Fiscal foi desconectada." TABERRO[1001 ] :="Erro de leitura na Memória Fiscal." TABERRO[1002 ] :="Memória está setada apenas para leitura." TABERRO[1003 ] :="Registro fora dos padrões (erro interno)." TABERRO[1004 ] :="Memória Fiscal está lotada." TABERRO[1005 ] :="Número máximo de cartuchos excedidos." TABERRO[1006 ] :="Tentativa de gravar novo modelo de ECF." TABERRO[1007 ] :="Tentativa de gravação de qualquer dado antes da inicialização da Memória Fiscal." TABERRO[1008 ] :="Número máximo de usuários foi atingido." TABERRO[1009 ] :="Número máximo de intervenções foi atingido." TABERRO[1010 ] :="Número máximo de versões foi atingido." TABERRO[1011 ] :="Número máximo de reduções foi atingido." TABERRO[1012 ] :="Erro na gravação de registro na memória fiscal" TABERRO[2000 ] :="Erro de leitura no dispositivo físico." TABERRO[2001 ] :="Erro de leitura no dispositivo." TABERRO[2002 ] :="Dispositivo de transações foi desconectado." TABERRO[3000 ] :="Tipo de registro a ser gravado inválido." TABERRO[3001 ] :="Registro de transações está esgotado." TABERRO[3002 ] :="Tentativa de abrir nova transação com transação já aberta." TABERRO[3003 ] :="Tentativa de fechar uma transação que não se encontrava" TABERRO[4000 ] :="Erro de leitura no dispositivo físico." TABERRO[4001 ] :="Erro de escrita no dispositivo." TABERRO[4002 ] :="Dispositivo de contexto foi desconectado." TABERRO[4003 ] :="Leitura após final do arquivo." TABERRO[4004 ] :="Escrita após final do arquivo." TABERRO[5000 ] :="Versão de contexto fiscal no dispositivo não foi reconhecida." TABERRO[5001 ] :="CRC do dispositivo está incorreto." TABERRO[5002 ] :="Tentativa de escrita fora da área de contexto." TABERRO[6000 ] :="Relógio do ECF inconsistente." TABERRO[6001 ] :="Data/hora informadas não estão consistentes." TABERRO[7000 ] :="Nenhum mecanismo de impressão presente." TABERRO[7001 ] :="Atual mecanismo de impressão está desconectado." TABERRO[7002 ] :="Mecanismo não possui capacidade suficiente para realizar esta operação." TABERRO[7003 ] :="Impressora está sem papel para imprimir." TABERRO[7004 ] :="Faltou papel durante a impressão do comando." TABERRO[8000 ] :="Comando fora de seqüência." TABERRO[8001 ] :="Código mercadoria não válido." TABERRO[8002 ] :="Descrição inválida." TABERRO[8003 ] :="Quantidade não inválida." TABERRO[8004 ] :="Ãndice da alíquota não válido." TABERRO[8005 ] :="Alíquota não carregada." TABERRO[8006 ] :="Valor contém caracter inválido." TABERRO[8007 ] :="Total da operação igual a 0 (zero)." TABERRO[8008 ] :="Alíquota não disponível para carga." TABERRO[8009 ] :="Valor da alíquota não válido." TABERRO[8010 ] :="Troca de situação tributária somente após Redução Z." TABERRO[8011 ] :="Ãndice do Meio de Pagamento não válido." TABERRO[8012 ] :="Meio de Pagamento indisponível para carga." TABERRO[8013 ] :="Cupom totalizado em 0 (zero)." TABERRO[8014 ] :="Meio de Pagamento não definido." TABERRO[8015 ] :="Carga de usuário permitido somente após Redução Z." TABERRO[8016 ] :="Dia sem movimento." TABERRO[8017 ] :="Total pago inferior ao total do cupom." TABERRO[8018 ] :="Gerencial não definido." TABERRO[8019 ] :="Ãndice do Gerencial fora da faixa." TABERRO[8020 ] :="Gerencial não disponível para carga." TABERRO[8021 ] :="Nome do Gerencial inválido." TABERRO[8022 ] :="Esgotado número de Gerenciais." TABERRO[8023 ] :="Acerto do horário de verão somente após a Redução Z." TABERRO[8024 ] :="Já acertou horário de verão." TABERRO[8025 ] :="Sem Alíquotas disponíveis para carga." TABERRO[8026 ] :="Item não vendido no cupom." TABERRO[8027 ] :="Quantidade a ser cancelada maior do que a quantidade vendida." TABERRO[8028 ] :="Cabeçalho possui campo(s) inválido(s)." TABERRO[8029 ] :="Nome do Departamento não válido." TABERRO[8030 ] :="Departamento não encontrado." TABERRO[8031 ] :="Departamento não definido." TABERRO[8032 ] :="Não há Meio de Pagamento disponível." TABERRO[8033 ] :="Alteração de Meio de Pagamento somente após a Redução Z." TABERRO[8034 ] :="Nome do Documento Não Fiscal não pode ser vazio." TABERRO[8035 ] :="Não há mais Documentos Não Fiscais disponíveis." TABERRO[8036 ] :="Documento Não Fiscal indisponível para carga." TABERRO[8037 ] :="Número da redução inicial inválida." TABERRO[8038 ] :="Cabeçalho do documento já foi impresso." TABERRO[8039 ] :="Número máximo de linhas de propaganda excedidas." TABERRO[8040 ] :="Relógio já está no estado desejado." TABERRO[8041 ] :="Valor do acréscimo inconsistente." TABERRO[8042 ] :="Não há meio de pagamento definido." TABERRO[8043 ] :="COO do documento vinculado inválido." TABERRO[8044 ] :="Ãndice do item inexistente no contexto." TABERRO[8045 ] :="Código de item não encontrado no cupom atual." TABERRO[8046 ] :="Percentual do desconto ultrapassou 100%." TABERRO[8047 ] :="Desconto do item inválido." TABERRO[8048 ] :="Falta definir valor percentual ou absoluto em operação de desconto/acréscimo." TABERRO[8049 ] :="Tentativa de operação sobre item cancelado." TABERRO[8050 ] :="Cancelamento de acréscimo/desconto inválidos." TABERRO[8051 ] :="Operação de acréscimo/desconto inválida." TABERRO[8052 ] :="Número de Departamentos esgotados." TABERRO[8053 ] :="Ãndice de Documento Não Fiscal fora da faixa." TABERRO[8054 ] :="Troca de Documento Não Fiscal somente após a Redução Z." TABERRO[8055 ] :="CNPJ e/ou Inscrição Estadual inválida(s)." TABERRO[8056 ] :="Falta(m) parâmetro(s) no comando de abertura de Comprovante Crédito ou Débito." TABERRO[8057 ] :="Código e Nome do Documento Não Fiscal indefinidos." TABERRO[8058 ] :="Alíquota não definida no comando de venda." TABERRO[8059 ] :="Código e Nome do Meio de Pagamento não definidos." TABERRO[8060 ] :="Parâmetro de comando não informado." TABERRO[8061 ] :="Não há Documentos Não Fiscais definidos." TABERRO[8062 ] :="Acréscimo/Desconto de item já cancelado." TABERRO[8063 ] :="Não há acréscimo/desconto em item." TABERRO[8064 ] :="Item já possui acréscimo." TABERRO[8065 ] :="Operação de acréscimo em item ou subtotal só é valido para ICMS" TABERRO[8066 ] :="Valor do Comprovante Crédito ou Débito não informado." TABERRO[8067 ] :="COO inválido." TABERRO[8068 ] :="Ãndice do Meio de Pagamento no cupom inválido." TABERRO[8069 ] :="Documento Não Fiscal não encontrado." TABERRO[8070 ] :="Seqüência de pagamento não encontrada no cupom." TABERRO[8071 ] :="Meio de pagamento não permite CDC." TABERRO[8072 ] :="Valor insuficiente para pagar o cupom." TABERRO[8073 ] :="Meio de pagamento origem ou destino não encontrado no último cupom emitido" TABERRO[8074 ] :="Valor do estorno não pode exceder o valor do pagamento no meio origem." TABERRO[8075 ] :="Meios de pagamento origem e destino devem ser diferentes no estorno." TABERRO[8076 ] :="Percentual da alíquota inválido." TABERRO[8077 ] :="Não houve operação em subtotal para ser cancelada." TABERRO[8078 ] :="Só é permitida uma operação de acréscimo em subtotal por cupom." TABERRO[8079 ] :="Texto adicional do meio de pagamento deve ter no máximo 2 linhas" TABERRO[8080 ] :="Preço unitário ultrapassou o número máximo de dígitos permitido" TABERRO[8081 ] :="Código do departamento fora da faixa." TABERRO[8082 ] :="O valor do desconto não pode zerar o valo do cupom ou ser maior que o item." TABERRO[8083 ] :="Percentual de acréscimo não pode ser superior a 999,99%" TABERRO[8084 ] :="Valor do acréscimo ultrapassa o número máximo de dígitos permitido (13 dígitos)" TABERRO[8085 ] :="Cupom sem venda em alíquota de ICMS." TABERRO[8086 ] :="Cancelamento inválido." TABERRO[8087 ] :="Texto de cliche do usuário deve ter no máximo três linhas." TABERRO[8088 ] :="Não houve venda de item não fiscal" TABERRO[8089 ] :="A data não pode ser inferior a data do último documento emitido." TABERRO[8090 ] :="A hora informada no comando não pode ser inferior ao horário do último documento" TABERRO[8091 ] :="Sem função" TABERRO[8092 ] :="Estado inválido para ajuste de relogio ou horário de verão" TABERRO[8093 ] :="A operação de CDC deve preceder as operações de estorno de meio de pagamento." TABERRO[8094 ] :="Senha inválida para inicialização do proprietário." TABERRO[8095 ] :="Erro gerado pelo mecanismo de cheques" TABERRO[8096 ] :="Comando válido somente após a abertura do dia" TABERRO[9000 ] :="Não foi encontrado nenhum cartucho de dados vazio para ser inicializado." TABERRO[9001 ] :="Cartucho com o número de série informado não foi encontrado." TABERRO[9002 ] :="Número de série do ECF é inválido na inicialização." TABERRO[9003 ] :="Cartucho de MFD desconectado ou com problemas." TABERRO[9004 ] :="Erro de escrita no dispositivo de MFD." TABERRO[9005 ] :="Erro na tentativa de posicionar ponteiro de leitura." TABERRO[9006 ] :="Endereço do Bad Sector informado é inválido." TABERRO[9007 ] :="Erro de leitura na MFD." TABERRO[9008 ] :="Tentativa de leitura além dos limites da MFD." TABERRO[9009 ] :="MFD não possui mais espaço para escrita." TABERRO[9010 ] :="Leitura da MFD serial é interrompida por comando diferente de LeImpressao" TABERRO[10000] :="Estado inválido para registro sendo codificado." TABERRO[10001] :="Inconsistência nos parâmetros lidos no Logger." TABERRO[10002] :="Registro inválido detectado no Logger." TABERRO[10003] :="Erro interno." TABERRO[11000] :="Parâmetro repassado ao comando é inválido." TABERRO[11001] :="Erro de sintaxe na lista de parâmetros." TABERRO[11002] :="Valor inválido para parâmetro do comando." TABERRO[11003] :="String contém seqüência de caracteres inválidos." TABERRO[11004] :="Parâmetro foi declarado 2 ou mais vezes na lista." TABERRO[11005] :="Parâmetro obrigatório ausente na lista." TABERRO[11006] :="Não existe o comando no protocolo." TABERRO[11007] :="Estado atual não permite a execução deste comando." TABERRO[11008] :="Sinalização indicando que comando aborta a impressão da segunda via." TABERRO[11009] :="Sinalização indicando que comando não possui retorno." TABERRO[11010] :="Tempo de execução esgotado." TABERRO[11011] :="Nome de registrador inválido." TABERRO[11012] :="Tipo de registrador inválido." TABERRO[11013] :="Tentativa de escrita em registrador de apenas leitura." TABERRO[11014] :="Tentativa de leitura em registrador de apenas escrita." TABERRO[11015] :="Comando recebido diferente do anterior no buffer de recepção." TABERRO[11016] :="Fila de comandos cheia." TABERRO[11017] :="Ãndice de registrador indexado fora dos limites." TABERRO[11018] :="Número de emissões do Logger foi excedido na Intervenção Técnica." TABERRO[11019] :="Divisão por 0 (zero) nas rotinas de BDC." TABERRO[15001] :="Comando aceito apenas em modo de Intervencao Técnica." TABERRO[15002] :="Comando não pode ser executado em modo de Intervenção Técnica." TABERRO[15003] :="Já existe MFD presente neste ECF." TABERRO[15004] :="Não existe MFD neste ECF." TABERRO[15005] :="Memória RAM do ECF não está consistente." TABERRO[15006] :="Memória fiscal não encontrada." TABERRO[15007] :="Dia já fechado." TABERRO[15008] :="Dia aberto." TABERRO[15009] :="Falta reducao Z." TABERRO[15010] :="Mecanismo impressor não selecionado." TABERRO[15011] :="Sem bobina de papel na estação de documento fiscal." TABERRO[15012] :="Tentativa de finalizar documento já encerrado." TABERRO[15013] :="Não há sinal de DTR." TABERRO[15014] :="Sem inscrições do usuário no ECF." TABERRO[15015] :="Sem dados do proprietário no ECF." TABERRO[15016] :="ECF encontra-se indevidamente em linha." TABERRO[15017] :="ECF não encontra-se em linha para executar o comando." TABERRO[15018] :="Mecanismo está indisponível para impressão." DLLURANO := LOADLIB32( "DLLG2.DLL" ) Porta = DLLG2_IniciaDriver(CPORTA) DLLG2_DefineTimeout(Porta, 9600) DLLG2_LimpaParams(Porta ) DLLG2_AdicionaParam(Porta, "NomeInteiro", "EstadoFiscal", 7) NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 if DLLG2_ExecutaComando(Porta, "LeInteiro") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 msginfo(TABERRO[codeRRO],"Aviso") FREELIB32( DLLURANO ) close database CANCEL endif endif DLLG2_LimpaParams(Porta ) // adiciona parametros // pega numero de serie da ecf DLLG2_AdicionaParam(Porta, "NomeTexto", "NumeroSerieECF", 7) // executa comando if DLLG2_ExecutaComando(Porta, "LeTexto") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 msginfo(TABERRO[codeRRO],"Aviso") FREELIB32( DLLURANO ) close database CANCEL endif Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20) endif xSerie := Retorno DLLG2_LimpaParams(Porta) // adiciona parametros Retorna o Numero do Caixa DLLG2_AdicionaParam(Porta, "NomeInteiro", "ECF", 7) NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 If DLLG2_ExecutaComando(Porta, "LeInteiro") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 msginfo(TABERRO[codeRRO],"Aviso") FREELIB32( DLLURANO ) close database CANCEL endif Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno =substr(DLLG2_ObtemRetornos(Porta, Retorno, 100 ),14) endif xnumcx := strzero(val(retorno),3,0) //adiciona parametros Pega o Numero do coo DLLG2_AdicionaParam(Porta, "NomeInteiro", "COO", 7) NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 //executa comando If DLLG2_ExecutaComando(Porta, "LeInteiro") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 msginfo(TABERRO[codeRRO],"Aviso") FREELIB32( DLLURANO ) close database CANCEL endif Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno = DLLG2_ObtemRetornos(Porta, Retorno, 5000) EndIf xxxcoo := STRZERO(VAL(substr(Retorno, 14) ),6,0) ********************************** NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 DLLG2_LimpaParams(Porta) DLLG2_AdicionaParam(Porta, "Operador",xnomusu,7) IF DLLG2_ExecutaComando(Handle , "CancelaCupom") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 CDESCR:= TABERRO[codeRRO] Od:update() return nil ENDIF Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20) ENDIF ******************************************* NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 if DLLG2_ExecutaComando(Porta , "AbreCupomFiscal") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 .AND. CODERRO # 11007 * trataerro(codErro) CDESCR:= TABERRO[codeRRO] if coderro #15009 // xean := 0 CDESCR :=TABERRO[codeRRO] Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20) Od:update() return(.f.) else reducaoz(cimpresora,.f.) sysrefresh() // xean := 0 Od:update() return nil endif endif Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20) endif DLLG2_LimpaParams(Porta) DLLG2_AdicionaParam(Porta, "NomeInteiro", "COO", 7) NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 //executa comando If DLLG2_ExecutaComando(Porta, "LeInteiro") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 * trataerro(codErro) endif Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno = DLLG2_ObtemRetornos(Porta, Retorno, 5000) EndIf xxxcoo := STRZERO(VAL(substr(Retorno, 14) ),6,0) *********************************************************************** NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 DLLG2_LimpaParams(Porta) DLLG2_AdicionaParam(Porta, "CodAliquota", xalqfit,9) DLLG2_AdicionaParam(Porta, "CodProduto", xcodigo,7) DLLG2_AdicionaParam(Porta, "NomeProduto", xdescricao,7) DLLG2_AdicionaParam(Porta, "PrecoUnitario", transform(XPRECO,"@e 9,999.99"),6) DLLG2_AdicionaParam(Porta, "Quantidade", transform(XQUANTIDADE,"@e 999.999"),6) DLLG2_AdicionaParam(Porta, "Unidade", XUNID,7) if DLLG2_ExecutaComando(Porta, "VendeItem") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 CDESCR:= TABERRO[codeRRO] Od:update() return nil endif Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20) endif **************************************** NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 if DLLG2_ExecutaComando(Porta , "AbreCupomFiscal") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 .AND. CODERRO # 11007 CDESCR:= TABERRO[codeRRO] if coderro #15009 Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20) sysrefresh() Od:update() return(.f.) else reducaoz(cimpresora,.f.) sysrefresh() Od:update() return nil endif endif Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno =SUBSTR(DLLG2_ObtemRetornos(Porta, Retorno, 5000),13,20) endif DLLG2_LimpaParams(Porta) DLLG2_AdicionaParam(Porta, "NomeInteiro", "COO", 7) NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 //executa comando If DLLG2_ExecutaComando(Porta, "LeInteiro") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 * trataerro(codErro) endif Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) Retorno = DLLG2_ObtemRetornos(Porta, Retorno, 5000) EndIf xxxcoo := STRZERO(VAL(substr(Retorno, 14) ),6,0) ***************************************** DLLG2_LimpaParams(Porta ) DLLG2_AdicionaParam(Porta, "NumItem",strzero(cupom->item,3,0), 9) DLLG2_AdicionaParam(Porta, "Quantidade", transform(cupom->quantidade,"@e 999.999"), 6) NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 if DLLG2_ExecutaComando(Porta, "CancelaItemFiscal") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) MSGINFO(CODERRO) if codErro#0 CDESCR:= TABERRO[codeRRO] od:update() return nil endif endif ***************************** DLLG2_LimpaParams(Porta) IF VAL(XCD) = 1 xcd := str(VAL(xcd) - 3) ELSE xcd := strZERO(VAL(xcd) - 2,2,0) ENDIF XVLRx := MATRIZ[XXX,1] XVLR := transform(xvlrX,"@e 9999.99") XDESCONT := transform(xdesc,"@e 9,999.99") DLLG2_AdicionaParam(Porta, "CodMeioPagamento",xcd, 9) DLLG2_AdicionaParam(Porta , "Valor", xvlr, 6) NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 if DLLG2_ExecutaComando(Porta, "PagaCupom") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 MSGINFO( TABERRO[codeRRO]) od:update() return nil endif endif ****************************** DLLG2_ExecutaComando(Porta, "EncerraDocumento") DLLG2_LimpaParams(Porta) //adiciona parametros DLLG2_AdicionaParam( Porta, "Avanco", "300", 9) //'executa comando NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 If DLLG2_ExecutaComando(Porta, "AvancaPapel") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 msginfo(TABERRO[codeRRO],"Aviso") endif Circunstancia = DLLG2_ObtemCircunstancia(Porta, Circunstancia, 200) EndIf ******************************** DLLG2_LimpaParams(Porta) DLLG2_AdicionaParam(Handle , "Operador",xnomusU ,7) NomeErro = SPACE(20) CodErro = SPACE(5) Circunstancia := 0 RETORNO := 0 if DLLG2_ExecutaComando(Handle , "EmiteLeituraX") > 0 NomeErro = DLLG2_ObtemNomeErro(Porta, NomeErro, 0) CodErro = DLLG2_ObtemCodErro(Porta) if codErro#0 CDESCR:= TABERRO[codeRRO] od:update() return nil endif endif DLL32 FUNCTION DLLG2_Versao(VERSAO AS STRING, TAMVERSAO AS LONG) AS STRING PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_IniciaDriver(PORTA AS STRING) AS LONG PASCAL LIB "DLLG2.DLL" DLL32 FUNCTION DLLG2_EncerraDriver(PORTA AS LONG) AS LONG PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_ConfiguraDriver(PORTA AS LONG, VELOCIDADE AS LONG) AS LONG PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_SetaArquivoLog( NOMEARQUIVO AS STRING) AS VOID PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_ObtemNomeLog( NOMEARQUIVO AS STRING, TAMNOMEARQUIVO AS LONG) AS STRING PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_DefineTimeout( PORTA AS LONG, TEMPOMAXIMO AS LONG) AS VOID PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_LeTimeout( PORTA AS LONG) AS LONG PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_LimpaParams(PORTA AS LONG) AS VOID PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_AdicionaParam( PORTA AS LONG, NOMEPARAMETRO AS STRING,VALORPARAMETRO AS STRING, TIPOPARAMETRO AS LONG) AS VOID PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_ListaParams(PORTA AS LONG, LISTAPARAMETROS AS STRING, TAMLISTAPARAMETROS AS LONG) AS STRING PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_LeRegistrador( PORTA AS LONG, NOMEREGISTRADOR AS STRING, NOMECOMANDO AS STRING, TAMNOMECOMANDO AS LONG) AS LONG PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_ExecutaComando( PORTA AS LONG, COMANDO AS STRING) AS LONG PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_ObtemCodErro( PORTA AS LONG) AS LONG PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_ObtemNomeErro( PORTA AS LONG, NOMEERRO AS STRING, TAMNOMEERRO AS LONG) AS STRING PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_ObtemCircunstancia(PORTA AS LONG, CIRCUNSTANCIA AS STRING, TAMNOMECIRCUNSTANCIA AS LONG) AS STRING PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_ObtemRetornos( PORTA AS LONG, RETORNOS AS STRING, TAMRETORNO AS LONG) AS STRING PASCAL LIB DLLURANO DLL32 FUNCTION DLLG2_TotalRetornos( PORTA AS LONG) AS LONG PASCAL LIB DLLURANO
×
×
  • Create New...