Ir para conteúdo
  • Cadastre-se

FabianoCunha

Membros
  • Total de ítens

    148
  • Registro em

  • Última visita

  • Days Won

    2

Tudo que FabianoCunha postou

  1. Renan, não me lembro ao certo o que fiz num cliente com a Prix 3, mas fiz o download do manual da balança (https://www.toledobrasil.com.br/app/institucional/files/manuais/MU_Prix_3.pdf) e fiz uma alteração na configuração da balança, ativando o envio do peso liquido. Depois você conseguirá fazer a leitura do peso. Pelo LOG, a balança não esta devolvendo nenhuma informação. Vou procurar se ainda tenho o manual que utilizei na época e coloco aqui no fórum. att, Fabiano Cunha
  2. Obrigado Juliomar. Fiz uma pequena alteração na unit em anexo da Classe TACBrBALFilizola, para tratar o retorno de balanças que possuem o carácter terminador como sendo #13(CR). Em anexo se encontra a unit para analise dos moderadores. //Deverá buscar a primeira ocorrência do TX e trarar a Sting. if pos(ETX,wResposta) > 0 then wResposta := Copy(wResposta, 1, pos(ETX,wResposta) - 1); else if pos(CR,wResposta) > 0 then //tratativa para o modelo C&F C6MT wResposta := Copy(wResposta, 1, pos(CR,wResposta) - 1); Para essa balança funcione é necessário executar os passos que estão no manual acima, item "Tecla I" e alterar conforme prints em anexo. A opção "Ciclo" é o item correspondente a tecla 8. ACBrBALFilizola.pas CF_Computadora_2013.pdf
  3. Moderadores, Fiz uma pequena correção na função "InterpretarRepostaPeso", na classe TACBrBALFilizola, a qual é do componente ACBrBAL. Essa correção foi necessária, pois como pode ser observado no LOG da balança ela retorna TX duas vezes, e a função citada apenas considerada a existência do "TX", apenas uma única vez e no final da string. -> LOG: Balança: - 00:36:46:401 RX <- [STX]02255[ETX][ETX] UltimoPesoLido: 2,255 - Resposta: [STX]02255[ETX][ETX] Trecho antigo: if (Copy(wResposta, Length(wResposta), 1) = ETX) then wResposta := Copy(wResposta, 1, Length(wResposta) - 1); Nova versão: if pos(ETX,wResposta) > 0 then wResposta := Copy(wResposta, 1, pos(ETX,wResposta) - 1); Arquivo completo se encontra em anexo. Att, Fabiano Cunha ACBrBALFilizola.pas
  4. Boa Tarde! Alguém já conseguiu integrar a balança C&F C 6 MT (pelo que entendi é segunda linha da Filizola). Utilizei o Demo do ACBR balança, configurei Filizola, ele consegue capturar uma string que contem as informações que preciso, PESO principalmente, porém traz também PREÇO e TOTAL. Usando o Hyperterminal, consegui monitorar o retorno da balança. Em anexo os arquivo de log da balança. Gostaria de saber, se neste caso é apenas "formatar" a saída da resposta da balança? Pois tem duas propriedades de PosInicio e PosFim, que a principio fazem "Corte" na string de retorno. Olhando a classe da Filizola, não considera essas duas propriedade no comando "COPY". Neste caso basta eu criar uma classe para esse novo tipo de balança e implementar na função de formatação da resposta para retornar apenas o Peso? Gostaria apenas de orientação, pois assim posso contribuir para o ACBR. Conseguindo algum progresso, deixarei registrado aqui para histórico. Obrigado. BalLog.txt CF_Computadora_2013.pdf
  5. Eudis, tive este erro de assinatura recentemente com um certificado de Goias. Qual é a certificadora do certificado? No meu caso era um certificado A1 da DocCloud, após a instalação ele funcionava certinho do site da sefaz, receita federal, porém ao fazer a transmissão dava erro. Só resolveu depois que fiz a instalação da cadeia de certificado Autoridade da Certificadora.
  6. Eu sempre salvo no banco o xml assinado e validado. Executo os dois métodos (assinar e validar), salvo no banco de dados e depois chamo a função de enviar. Na tabela de Nota fiscal eu controlo o status da NF desta forma eu sei como proceder numa eventual necessidade de reenviar. Att, Fabiano Cunha
  7. Fernanda, estou no meio deste problema, agora numa máquina windows 7 64bits, num outra máquina windows 7 32 bits, deu certinho. Se você achar uma outra solução deste problema da assinatura do certificado do driver da bematech, compartilha que estou em busca dessa solução neste momento. Eu mandei um e-mail para a Bematech, porque no windows 7 32 deu certo e no windows 7 64 bits, não? Att, Fabiano Cunha
  8. Fernanda, você esta utilizando a impressora MP 4200 TH não fiscal USB? Se sim, no cliente que estou fazendo a implantação, eu fiz a instalação dos drivers Bematech. Após ver qual a porta da impressora no windows, utilizei o programa de teste do ACBRPosPrinter, e funcionou perfeitamente todas as funções, inclusive o corte total e parcial. Utilizei windows 10 64bits, impressora USB (sem nenhum conversor). Att, Fabiano Cunha
  9. Fernanda, Achei a solução do problema. Instalei o driver da bematech Spoler de impressão para o modelo MP 2100 TH. Fiz o download no site da Bematech. E no programa de teste do ACBRPosPrint, deve usar a porta RAW:xxxxx, onde xxxx é o nome da impressora. Funcionou perfeitamente com o programa de teste. Fiz a impressão de 100 itens varias vezes e não deu mais o erro de timeout 997. Se utilizar a porta COM dá erro de timeout 997. Windows 7 32 bits. Impressora MP2100 TH, serial (Sem utilizar conversor).
  10. Fernanda, Você conseguiu resolver o problema da impressão na bematech MP 2100 TH não fiscal. Já fiz testes usando o Programa teste ACBrPosPrinter e esta dando um erro 9997, TimeOut, Este erro acontece quando é enviado muitas linhas. Se for poucas não apresenta erro. Já fiz alteração no timeout do Device do componente e mesmo assim o erro acontece. Obrigado.
  11. Pessoal, eu resolvi este problema no windows 10 64bits, usando o drivers 64 da impressora Bematech MP4200 TH, utilizei o programa que acompanha o driver da impressora(Bematech Printers User Software - Bematech User Software v2.7.0 for 64 bits) e fiz uma alteração no setup da impressora. Baixei a temporização do corte para 2. Na aba de "comandos especiais" alterei o tipo de comando para "ESC/POS@", no mais deixei igual. Percebi que é necessário um tempo entre o Ativar da impressora e você mandar os primeiros comandos para ela. Coloquei um Sleep(1000). Pois faço a ativação do componente ACBrPosPrinter1, a cada vez que mando imprimir. Não tive mais problemas
  12. Eu acho que esta situação de exclusão é bug do windows. Se você, formatar um computador, ao fazer a instalação do windows, deixar o certificado conectado no computador, o windows, apaga o certificado. Ou então é o bug do driver do certificado. Não tem como, o ACBr apagar a chave, pois não executa nenhum comando para tal ação. Att, Fabiano Cunha
  13. Carlos, Bom dia! Minha regra de negócio é só aparecer no caixa o que realmente converteu em caixa. Tudo que foi vendido, cuja forma de pagamento não é a vista, eu gero um contas a receber. Se for cartão, eu gero o título em nome da operadora de cartão, pois assim, eu sei quanto tenho a receber de cada operadora e também a data de vencimento do título é a data que normalmente a operadora faz os pagamentos D+3, D+10, etc. Inclusive os cartões de débito entram na mesma rotina. O cheque eu gero o título no nome do cliente. Quando o usuário fizer a conciliação bancaria, ele tem que fazer as baixas dos títulos e o dinheiro vai para o caixa. Os dados complementares para geração do título estão cadastrados na tabela de forma de pagamento.
  14. Concordo com a forma apresentada pelo RickMao, apenas acrescentaria uma sugestão, após terminar o rateio, verificar se por erros de arredondamento, o valor total final do desconto ficou correto, considerando duas casas decimais, se não ficou, a diferença positiva ou negativa, deve ser aplicado no item mais "caro", pois assim não corre o risco de ficar negativo os valores do rateio, assim, ao totalizar as linhas os valores fecham. Esta formula acima serve para fazer o rateio de qualquer coisa na NFe.
  15. Amigos, Apenas fiz a criação no meu sistema de uma tabela de cadastro de CEST e coloquei um campo no cadastro do Item para o usuário dizer qual o CEST. Não vou implementar a complexidade de relacionamento N para M entre NCM e CEST. Para auxiliar na carga inicial, vou pegar a relação de NCM dos itens do cliente e gerar em XLS para ajudar o contador a fazer a co-relação para mim.
  16. Antonio, Coloque aqui no forum todo o codigo que você esta usando para fazer a inclusão do SQL, inclusive com a linha do group by. Desconfio que o problema esteja no comando SQL e não nos componentes do Delphi.
  17. Alessandro, o meu executável saiu de quase 3 mega para uns 17 mega, também não deu diferença entre release e debug. Não sei o motivo de ter aumentado o tamanho. Vou testar ainda aqueles programas que tem na internet que dizem fazer a redução do exe. Amigo, no meu caso deu certo apenas a operação de localizar e substituir. Não precisei apagar os fields do objeto query e inseri-los novamente. Só porque eu utilizei o programa TextPad para fazer a substituição. Dentro do programa TextPad, existe uma opção de "localizar em arquivos" Find in Files. Procurei em todos os arquivos *.dfm e *.pas. Localizar a palavra TStringField. Quando listar todos os arquivos, é só pedir para o textPad abrir todos. E em seguida fazer a substituição em todos os documentos abertos. Salvar tudo e abrir o Delphi. Att, Fabiano Cunha
  18. Zildo, Boa noite, Eu comecei estudando o exemplo do caminho: ..\Exemplos\ACBrDFe\ACBrNFe\Delphi\ . Vai te ajudar muito a emitir uma NFCe.
  19. Migrei o meu sistema do Delphi 7 para Xe7, sem muita complicações. Em delphi 7 era zeoslib + Rxlib. Fiz a conversão para Xe7 para Zeoslib + JVCL. Para migrar do Rxlib para JVCL existe uma utilitário que faz a alteração do nome das classes no seu código fonte. Algumas classes ele não fez a mudança, neste caso utilizei o TextPad (localizar e substituir), pois encontrei na internet a referência entre as classes Rxlib e JVCL. Foi tranquilo. No delphi Xe7 ele vai reclamar do tipo dos campos Fields gerados pelo Zeoslib, Neste caso utilizei o localizar e substituir novamente e tudo certo. TstringFields para TwideStringFields. O que deu um pouco de trabalho, foi uns componentes meus. Tive que refazê-los. Os que utilizadam algoritmo de criptografia parou de funcionar, neste caso eu mudei para a lib DCPCrypt-master. Levei uma semana para fazer a migração, trabalhando só 3 horas por dia.
  20. Jean, uma opção criar o cadastro de PDV e associar a este o número da Serie que ele utilizará no Modelo 65. Lembrando aos colegas que dentro de cada serie quando chegar ao número 999.999.999, você poderia retornar para a nota 1, pois existe um campo chamado "giro", que deve ser incrementado. Podendo assim ser reiniciando a numeração da NF. Ou poderá criar uma nova série. Esta questão do giro é muito utilizada nas NF de conta de telefone/ água/ energia. E agora existe uma legislação especifica para empresas de telecom/provedores de internet. Onde poderá reiniciar a numeração das notas todo mês. Creio que deverá fazer isso, utilizando o "giro"
  21. Everson Luis, Eu uso os componentes ZeosLib no Delhi 7. Usando apenas objetos DataSet (zquery) + DataSource padrão do delphi. + objeto ZupdateSQL (ZeosLib). Este desenho você terá os mesmo controle de uso que fazia quando usamos os objetos Table do Delphi. qryCliente (contendo o SQL que busca pela chave primaria da tabela todos os campos da mesma). Você deverá dizer no Zquery qual é o UpdateSQL. updCliente( clique duplo, ele abre o editor de Fields, só pedi gerar o sql dos comandos (INSERT, UPDATE e delete). O código poderá colocar no evento que você terá as informações para passar no parâmetro da query. qryCliente.close; qryCliente.Params[0].value:= 'valor'; qryCliente.open; if (qryCliente.RecordCount > 0 ) then begin qry.Cliente.edit; end else begin qryCliente.insert; end; Para salvar os dados: try if (dsCliente.State in [dsInsert, dsEdit]) then begin qryCliente.post; //salva as alterações. qryCliente.Connection.commit; //Apos a operação de POST, você faz o COMMIT da transação. end; except on ex:exception do begin qryCliente.Connection.Roolback; MessageBox(handle,PAnsiChar(ex.Message),'ERRO: Gravar dados',MB_OK); end; end; Espero que consiga de ajudar. Qualquer coisa me fala que preparo um exemplo para você.
×
×
  • 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.

The popup will be closed in 10 segundos...