Ir para conteúdo
  • Cadastre-se

lampada

Membros
  • Total de ítens

    368
  • Registro em

  • Última visita

  • Days Won

    4

Tudo que lampada postou

  1. Então cara, não são todas impressoras que permitem indicar o IAT ( indicador de Arredondamento e Truncamento ). Você deve usar com precaução... O IAT serve para isso mesmo, não há problema em usar ele.
  2. lampada

    Otimização

    Para swedas termicas tente usar o protocolo STX. Você está usando emulador ou impressora mesmo?
  3. Olá, se você usa o protoclo swedastx, quando for registrar o item altere a propriedade ArredondaItemMfd para true e venda o item, depois volte ele para false. Fazendo isso, o item será arredondado na venda. Abraços.
  4. lampada

    Otimização

    Você usou o modelo swedastx para fazer o teste?
  5. Qual é o erro colega? Coloque o log do acbr pra gente dar uma olhadinha.
  6. Não, o meu aplicativo faz isso automaticamente. Você não é desenvolvedor?
  7. Eu sempre após a redução z, percorro as formas de pagamentos do banco de dados e cadastro novamente( quando é essa impressora).
  8. Pessoal, peguei um problema aqui na daruma que é o seguinte, ao pegar o numero do ultimo item na classe está sendo verificado se ele é > 0 se for é retornado o fsNumUltItem. function TACBrECFDaruma.GetNumUltimoItem: Integer; Var RetCmd : AnsiString ; begin { Nota: não encontrado a leitura do ultimo item na FS345 } Result := 0 ; if fpMFD then begin if fsNumUltimoItem > 0 then Result := fsNumUltimoItem else Result := StrToIntDef(RetornaInfoECF('058'), 0) end else if (fsNumVersao = '2000') then begin RetCmd := EnviaComando( ESC + #235 ) ; if LeftStr(RetCmd, 1) = ':' then Result := StrToIntDef(copy(RetCmd,14,3),0) ; end ; end; Só que eu por exemplo verifico qual é o número do ultimo item apos abrir o cupom, e o numero do item está sendo retornado pra mim o ultimo item do ultimo cupom. Qual é a melhor maneira de resolver esse problema? Ao abrir o cupom zerar a variável fsNumUltimoItem ou ao finalizar/cancelar cupom zerar essa variável. Digo isso porque apos finalizar o correto é retornar zero no numero do ultimo item também. Por enquanto aqui no meu sistema eu retirei o if que verifica se ele é maior que zero e envio a informação sempre, mas não é a melhor forma já que se temos a informação bufferizada um comando a menos enviado a impressora pode fazer a diferença. Abraços
  9. Da uma olhada no demo no botão ATV. Ele verifica se o gp está ativo
  10. Desculpe minha falha. Não reparei que era tratado no fonte do acbr.
  11. Coloque o log novamente e não só do acbrecf coloque o log do acbrtefd também
  12. Mas ele precisa da sua chave privada para assinar o arquivo
  13. No evento OnGetKeyRSA você está passando a sua chave privada?
  14. O seu problema é que ao reiniciar o pc tem um cupom não fiscal aberto e você está tentando identificar o operador . Isso não pode, comente o código onde vc tenta identificar o operador e faça o teste.
  15. Esse erro que ocorreu contigo acontece porque só dá para identificar o operador se não tiver documento sendo emitido no ECF. Então você pode apenas identificar o operador na abertura do caixa ou verificar o estado da impressora antes: if acbrecf.Estado = estLivre then acbrecf.identificaOperador('Fulano');
  16. lampada

    MF Adicional

    Olá Rossine, Não sei te dizer se todas impressoras retornam isso no número de série. Como sabemos, os fabricantes não tem um padrão entre eles. Mas é a única forma que descobri para pegar automaticamente. No meu software eu forço o implantador e colocar a letra manualmente.
  17. lampada

    MF Adicional

    Não sei se tem comando no acbr monitor, mas vc pode pegar diretamente do número serial da impressora. Se o ultimo caracter for uma letra, significa que ela tem mf adicional. Ou se a 21º posição do número de série for diferente de branco.
  18. Qual é o número da porta? Porque nesse log que vc colocou da daruma ele tentou até a porta 46 e não conseguiu abrir /12/2011 - 8:45:35:448 \\.\COM46: 115200,n,8,1 6/12/2011 - 8:45:35:448 Vou executar o BuilCommDCB 6/12/2011 - 8:45:35:448 BuildCommDCB Executado com Sucesso 6/12/2011 - 8:45:35:448 Erro ao abrir a porta COM. 6/12/2011 - 8:45:35:448 Saida da Funcao Daruma_Comunic_AbrirSerial 6/12/2011 - 8:45:35:448 Impressora desconectada ou desligada 6/12/2011 - 8:45:35:479 Entrada da Funcao Daruma_Comunic_FecharSerial 6/12/2011 - 8:45:35:479 Handle da porta é igual a INVALID_HANDLE_VALUE 6/12/2011 - 9:17:10:734 DLL_PROCESS_DETACH 6/12/2011 - 9:17:10:734 Entrada da Funcao Daruma_Comunic_FecharSerial 6/12/2011 - 9:17:10:734 Handle da porta é igual a INVALID_HANDLE_VALUE
  19. Pelo que percebi, não está funcionando nem com o acbr nem com o demo da daruma. "6/12/2011 - 8:45:35:448 Erro ao abrir a porta COM" O problema parece ser a sua porta COM. Não tem nada usando a porta ?
  20. Olá pessoal, vou re-homologar o PAF e preciso adequar o vendas do período. Para validar as vendas feitas por NF-e alguém pode confirmar pra mim os registros do SPED necessários? Pelo que pesquisei, para NF-e são necessários os registros: C100,C105, C170, C176, C190, C195 e C197 É isso mesmo? Obrigado pessoal.
  21. é só no seu software vc tratar o erro: try acbrnfe.envia(nrlote) except on E:Exception do showmessage('erro :'e.message) //<- end; Mas é meio loucura isso que vc quer fazer de ficar incrementando o número da nf até que ela seja enviada. Isso deve ser controlado pelo seu software no momento em que a nota é gravada.
  22. Anexo correção da daruma. Dei uma conferida em todos os campos para ver se tinha algo mais errado, aparentemente está correto. Se puder testar eu agradeço. Abraços ACBrECFDaruma.zip
  23. Prezado Daniel, Olhando a alteração feita, encontrei o código: DescontoISSQN := RoundTo( StrToFloatDef( copy(RetCmd,59,14),0) / 100, -2 ) ; CancelamentoISSQN := RoundTo( StrToFloatDef( copy(RetCmd,59,14),0) / 100, -2 ) ; Ambos usando a posição 59, está correto? Está errado... vou revisar esse comando e posto as alterações.
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.