Ir para conteúdo
  • Cadastre-se

Murilo Costa

Membros
  • Total de ítens

    24
  • Registro em

  • Última visita

Tudo que Murilo Costa postou

  1. Não estava preenchendo a propriedade numeroarquivo na leitura de retorno cnab400 do santander. fiz uma alteração pra preencher essa propriedade. ACBrBancoSantander.pas
  2. Poderiamos tratar ainda melhor a condição pro raise pra caso mandar um imprimir com os parametros em default e a etiqueta já tiver sido finalizada com outros parâmetros ai nem precisamos verificar se os parâmetros são diferentes, já da pra ir direto pra impressão sem dar raise nenhum. Ai daria erro somente pra quem mandar tipo FinalizarEtiqueta(5) e em seguida um Imprimir(3) por exemplo. Caso use só FinalizarEtiqueta(5) e Imprimir() ou Somente um Imprimir(5) ai funciona igual sempre sem dar erro nenhum
  3. O resultado final fica igual aqui no meu caso, da certo também dessa forma que sugeriu. só achei meio confuso a procedure finalizar não finalizar de fato a etiqueta, desse jeito a procedure finalizar só troca a situação pra finalizada, mas quem manda o comando de finalizar é a imprimir ou a iniciar. Mas de qualquer forma funcionou.
  4. Não entendi essa modificação. Está modificando a procedure iniciar e a procedure finalizar continua sem adicionar o comando de finalizar. Ai dessa forma quem vai adicionar o comando de finalizar vai ser a procedure iniciar caso estiver iniciando outra etiqueta sem finalizar a anterior? Parece meio confuso isso. O preenchimento normal não deveria ser assim por exemplo? LAcbretq.Ativar; LAcbretq.IniciarEtiqueta; LAcbretq.ImprimirTexto(orNormal, 4, 2, 1, 530, 30,'EMPRESA'); LAcbretq.ImprimirTexto(orNormal, 3, 1, 1, 475, 30,'TRANSPORTADORA 1'); LAcbretq.FinalizarEtiqueta(2); LAcbretq.IniciarEtiqueta; LAcbretq.ImprimirTexto(orNormal, 4, 2, 1, 530, 30,'EMPRESA'); LAcbretq.ImprimirTexto(orNormal, 3, 1, 1, 475, 30,'TRANSPORTADORA 2'); LAcbretq.FinalizarEtiqueta(3); LAcbretq.IniciarEtiqueta; LAcbretq.ImprimirTexto(orNormal, 4, 2, 1, 530, 30,'EMPRESA'); LAcbretq.ImprimirTexto(orNormal, 3, 1, 1, 475, 30,'TRANSPORTADORA 3'); LAcbretq.FinalizarEtiqueta(5); LAcbretq.Imprimir; Dessa forma eu monto um comando já com 3 tipos de etiqueta diferente e cada uma delas com uma quantidade diferente e mando pra impressora tudo de uma vez no imprimir. Ai já sai imprime tudo de uma vez sem pausas e sem pular etiquetas O que vc acha que pode quebrar o funcionamento? por causa do raise que coloquei? Pensei nele realmente pra não ficar essa confusão que o rapaz do post teve de mandar finalizar e imprimir no mesmo código com parâmetros diferentes de quantidade e avanço
  5. sim, já chama o finalizar, mas nessa procedure foi removido a linha que enviava o comando de finalizar pra lista de comandos. esse que foi o problema
  6. Minha sugestão é colocar o comando de finalizar somente na procedure finalizar mesmo, e caso seja chamado a função imprimir antes de finalizar a etiqueta ai chamamos a procedure finalizar passando os mesmos parâmetros. E caso chame o imprimir depois que já finalizado e os parâmetros de copias e avanço do imprimir forem diferentes do que foi passado antes ai retorna erro pra forçar a pessoa rever o código. ACBrETQ.pas
  7. Na verdade o que ele precisava fazer era chamar a procedure finalizar já definindo a quantidade de etiquetas e usar imprimir só no final. Eu tenho uma situação assim. várias entiquetas diferente cada uma uma com sua quantidade. durante o meu código eu vou rodando vários finalizar e no final o imprimir. Outra solução seria só não passar o comando finalizar, pois no imprimir já tinha uma validação pra caso ainda não estivesse finalizada já chamava o finalizar passando a mesma quantidade que passou no parâmetro de imprimir. Com essa mudança que vc fez o meu código parou de funcionar direito, pq foi removido o comando finalizar da procedure finalizar, ficando somente na função imprimir
  8. No caso dele é pq estava passando finalizar sem quantidade e na hora do imprimir, a quantidade não era usada lugar nenhum pois a etiqueta já estava finalizada. No código do imprimir já tinha uma condição pra que se não tivesse finalizada, iria finalizar já com a quantidade definida no parâmetro. Era só não passar o finalizar ou passar o finalizar com a quantidade queria. Agora no meu caso que preciso finalizar etiquetas varias vezes durante o código e cada vez com uma quantidade diferente não funciona pq o comando de finalizar só é passado na função imprimir. Vou fazer uns testes aqui, modificar a unit e mando a minha sugestão de melhoria
  9. Na revisão 19443 foi removido da procedure FinalizarEtiqueta um comando que adiciona o comando de finalização na lista de comandos. Gostaria de saber se isso está correto? No meu código eu crio vários grupos de etiqueta, vou iniciando e finalizando essas etiquetas e depois dou somente um imprimir no final. Depois desse commit parou de funcionar.
  10. testei compilando um exe novo e funcionou certinho sim. só não funcionou no exe que já tinha compilado no cliente. Deve ter dado algum conflito de versões talvez.
  11. Ao tentar imprimir com esse fr3 tive erro "invalid format". Somente abri pelo meu fast que tá na versão 6.5 e salvei sem fazer alteração nenhuma que deu certo DACTE2Vias.fr3
  12. Bom dia. Fiz algumas melhorias no layout da impressão de cte em duas vias usando fast report. A leitura do código de barras não estava funcionando direito por causa das bordas do quadro muito próximas. Estou mandando em anexo o antes, depois e o fr3. DACTE2Vias.fr3
  13. Confirmado aqui. alterei a argox pra PPLB e funcinou igualzinho na zebra
  14. Blz só queria confirmar mesmo antes de fazer código desnecessário. Vi em alguns lugares falando que o padrão PPLB emula o padrão EPL. Caso eu altere o firmware dessa impressora Argox pra PPLB acha que daria certo? Ou não tenho pra onde correr mesmo e tenho que ter tratamento diferente de posicionamento pra cada tipo de impressora?
  15. Desenvolvi uma etiqueta usando EPL2 pra um cliente que tem uma impressora Zebra. Agora um outro cliente quer usar a mesma etiqueta mas ele tem uma ARGOX que usa PPLA. Só alterei de EPL2 para PPLA no componente e mandei imprimir. Saiu tudo invertido as posições verticais. Pra poder funcionar direito argox tive que editar todos os parâmetros de vertical, o restante não precisar mudar nada. Existe alguma forma de eu conseguir usar o mesmo código para os dois tipos de impressora?
  16. Qual a diferença desse modelo a5x2 ? parece que o fr3 está igual
  17. Ajustei para caber o qrcode nessas dimensões DACTE2Vias.fr3
  18. DACTE2Vias com QRCode DACTE2Vias.fr3
  19. eu fiz hoje. vou testar com um cliente e amanhã ja posto aqui
  20. Recentemente tive problemas com a transmissão de arquivo de remessa para a caixa federal. Funcionava normalmente e parou de funcionar, fomos informados pelo gerente que as regras para validação foram alteradas e agora não aceitariam mais arquivos com caracteres acentuados, fiz um teste de transmissão alterando um arquivo manualmente e ai aceitaram. Fiz uma alteração no componente ACBrBoleto criando uma propriedade Boolean "RemoveAcentosArqRemessa" para quem precisar dessa funcionalidade. Segue em anexo o arquivo alterado. ACBrBoleto.pas
  21. Fiz uma modicação do fr3 adicionando endereço de pagador e beneficiário no comprovante de entrega e endereço do beneficiário no corpo do boleto. Conforme novas exigências do bradesco na validação que estou fazendo agora. Boleto.fr3
  22. Blz! vou dar uma revisada, provavelmente o programador aqui foi ajustando as medidas e testando até sair impresso do jeito correto. Sabe me dizer se essa alteração se aplica somente à ppla mesmo?
  23. Teve uma alteração na unit da etiqueta PPLA que deu errado aqui pra mim, não sei se essa alteração foi feita por esse tópico, mas ficou assim: na revisão 14564 veio uma alteração nessa procedure que ficou assim: function TACBrETQPpla.ConverterUnidade(AValue: Integer): Integer; begin if (Unidade = etqDots) then Result := inherited ConverterUnidade(etqMilimetros, AValue); Result := AValue * 10; if (Unidade = etqPolegadas) then Result := Result * 10; end; na versão anterior era assim: function TACBrETQPpla.ConverterUnidade(AValue: Integer): Integer; begin Result := AValue; if (Unidade <> etqDots) then Exit; Result := inherited ConverterUnidade(etqMilimetros, AValue); end; estou mandando em anexo como ficou a impressão no meu cliente. voltei pra versão anterior e voltou a funcionar normalmente.
×
×
  • 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.