Ir para conteúdo
  • Cadastre-se

Marcelo Bill

Membros
  • Total de ítens

    411
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Marcelo Bill postou

  1. Daniel boa tarde Sua alteração funcionou corretamente. Essa atualização vai estar no SVN ? Quando poderei atualizar o componente ? Obrigado abraço
  2. Ok Daniel Desculpe a demora na resposta, percebi a diferença e vou testar amanhã no cliente. Assim que testado posto a resposta. obrigado
  3. Bom dia Daniel O ACBRECF.Pas que estou usando, é o mesmo que voce me mostrou. Entenda bem o que fiz. em 27/09/2016 a) Atualizei o Acbr; Compilei e distribui Atualização aos clientes; c) 1 Cliente com 2 Epson, único Reclamando; em 29/09/2016 Solução: Copiei apenas a Procedure FechaCupom do AcbrECFEpson.pas com data de 30/07/16 conforme postei um pedaço anteriormente. com isso, voltou a funcionar sem erros. Agora voce diz que o CR que estou mandando causa o Erro, veja bem, o meu campo BLOB chamado OBS, sim de fato contem CR LF, mas essa Unit ACBRECF.pas já contem o tratamento, então não faz sentido o que voce disse. Por um outro lado, esse problema só está ocorrendo com ECF Epson, pois tenho outros clientes com outras marcas e nenhuma acusa tal problema. Estou mantendo a situação, pois está funcionando no cliente. No entanto, assim que eu atualizar o componente de novo, terei que ficar me lembrando do Detalhe. Testei no Emulador da Epson, onde acusava erro, vai sem erros, mas até ai é um emulador. Infelizmente eu não tenho Ecf Epson em mãos para Testar. Qualquer coisa, dá um tok Obrigado abraços
  4. Ola Daniel Peguei a mensagem no ECF_LOG -- 29/09 10:06:19:477 FechaCupom( Imposto pago aproximado 5,18 IBPT[LF]ICMS A SER RECOLHIDO CONF LC-123/2006 SIMPLES NACIONAL[CR]V[LF]endedor = 83- ALVARO[LF] ) -- 29/09 10:06:19:477 TX -> [STX][211][LF]"[FS][NUL][NUL][FS]Imposto pago aproximado 5,18 IBPT[FS]ICMS A SER RECOLHIDO CONF LC-123/2006 SIMPLES NACIONAL[CR]V[FS]endedor = 83- ALVARO[FS][FS][FS][FS][FS][ETX]211E -- 29/09 10:06:19:512 RX <- ACK = 6 -- 29/09 10:06:19:622 RX <- [STX][211][NUL][NUL][FS][192][129][FS][FS][ESC][STX][14][FS][ETX]02B4 -- 29/09 10:06:19:622 ----------------- ERRO ----------------- Erro retornado pela Impressora: Epson Erro: 020E - Campos com atributos de impressão inválido. ----------------------------------------
  5. Boa tarde D7+FB+cds Estou com o problema acima relatado, erro ao FechaCupom(VarMensagem,0); Foi depois da atualização que o Daniel postou "Possível correção no" Acredito que pode ter corrigido para uma Situação mas não para todas. Tenho um cliente com 2 Epson TM81 e ambas ocorrem o mesmo erro. Fui buscando as atualizações e copiei a Procedure FechaCupom do acbrECFEpson.pas Vejam a parte da alteração e como fiz funcionar Daniel, se puder me dar uma ajudinha nisso, agradeço muito. Fiz a gambiarra só para o cliente voltar a emitir cupom, pois estava desde ontem de manhã sem concluir um cupom se quer. Abraço a todos Funciona.txt Nao_Funciona.txt
  6. Boa tarde Ricardo Dá sim, da erro e diz que a procedure é muito grande { Checking project dependencies... Compiling CAAPCOM.dproj (Debug configuration) [DCC Error] U_FUNCOES.pas(6561): E2283 Too many local constants. Use shorter procedures [DCC Fatal Error] APLICATIVO.dpr(333): F2063 Could not compile used unit 'U_FUNCOES.pas' Failed Elapsed time: 00:00:03.2 } São apenas 517 linhas, por enquanto pois se a SEFAZ inventar mais alguns codigos de retono, ain só vai piorando kkkk Se eu não estiver sabendo fazer, não sei. Só digo que isso funciona desse jeito no D7 desde 2004. Function RespDaConsultaNFE(CodigoResposta:integer):String; Var i:integer; r:string; begin Case CodigoResposta of 0:r:='Ambiente do Sefaz se encontra Instável. Tente Mais Tarde'; 100:r:='Autorizado o uso da NF-e'; 101:r:='Cancelamento de NF-e homologado'; 102:r:='Inutilização de número homologado'; 103:r:='Lote recebido com sucesso'; 104:r:='Lote processado'; 105:r:='Lote em processamento'; 106:r:='Lote não localizado'; 107:r:='Serviço em Operação'; 108:r:='Serviço Paralisado Momentaneamente (curto prazo)'; 109:r:='Serviço Paralisado sem Previsão'; 110:r:='Uso Denegado'; 111:r:='Consulta cadastro com uma ocorrência'; ... ... ... 999:r:='Rejeição: Erro não catalogado'; Else r:='('+IntToStr(CodigoResposta)+') Erro não Identificado pelo Sistema'; End; RespDaConsultaNFE:=r; end;
  7. Boa noite a todos Osmar, muito obrigado pela atenção. Vou tentar fazer essa função. O único problema é atualizar as descritiva das mensagens a cada vez que o SEFAZ solta novas NTs com alterações nas descritivas. Mas valeu pela dica obrigado
  8. Boa noite pessoal Estou saindo do D7+Firebird+cds para D2010+Firebird+cds Eu sempre tratei as mensagens de retorno através de uma função com as mensagens enumeradas sendo pesquisadas pelo codigo de retorno da SEFAZ. Com a mudança para o D2010, o mesmo está se recusando a aceitar uma função muito grande, o que é o caso dessa função. Estive procurando soluções dentro do acbr e encontrei o método "acbrNFe.NotasFiscais.Items.ErroRegrasdeNegocios", percebi que o danado pega até papo de boi no pasto. Por acaso alguem poderia me ajudar a montar uma função tipo Function RetMsg(aComponente:TAcbrNFe;aIndice:Integer):String; Begin Result:=aComponente.NotasFiscais.item[aIndice].ErroRegradeNegocios; End; Ou algo parecido com essa funcionalidade Pois assim me parece que poderia usar para qualquer tipo de captura da mensagem de erro, Rejeição ou de sucesso ex: NFE retorno = 100 - Autorizado o uso da NF-e Mensagem_a_Ser_Mostrada_ao_Usuario:=RetMsg(dm.acbrnfe,0); NFE Retorno = 101 - Cancelamento Homologado Mensagem_a_Ser_Mostrada_ao_Usuario:=RetMsg(dm.acbrnfe,0); NFE Retorno = 204 - Duplicidade Mensagem_a_Ser_Mostrada_ao_Usuario:=RetMsg(dm.acbrnfe,0); Pelo que notei, essa ErroRegraDeNegocios tem para NFe,CF-e,NFS-e, ou seja, com apenas uma pequena função, já poderiamos resolver todos os nossos problemas. Me perdoem se estou atrasado e não ter encontrado algo caso já exista essa facilidade. Abraço a todos
  9. Valeu pela dica infelizmente meu certificado é A3 mas muito boa sua atenção muito obrigado
  10. Daniel Os outros aplicativos, CertificateUI, Tanka, Bemateck, etc, só funcionam corretamente a partir do Windows 7, inclusive o AcbrSign. Acabei de testar no W10 e funcionou direitinho, agora com assinatura semelhante aos gerado anteriormente Só fico na dúvida. Por que não funcionam essas coisas no XP. Tudo bem, voces vão rir de mim neste momento, mas infelizmente não tive tempo suficiente para migrar os meus 3 sistema restantes para plataforma D2010. por isso ainda uso o XP para esses casos. Se por ventura alguem descobrir por que não gera a assinatura correta no XP, agradeço de coração, mas se ninguem souber, também não tem problema, nos momentos em que necessitar gerar a assinatura, vou para o notebook. Por hora muitissimo obrigado a todos
  11. Boa tarde pessoal Estou usando XP Baixei o AcbrSatSign.exe, copiei as Dlls do acbr pra dentro da pasta, tudo funciona direitinho, gera o código de vinculação tudo blz Porém, estou comparando com as assinaturas já geradas anteriormente com outro aplicativo e percebi que estavam diferentes. acessei o sat retaguarda para testar a assinatura e infelizmente está acusando codigo inválido. O que será que estou fazendo de errado ? Obrigado
  12. Juliana Na realidade, não quero colocar o logo do meu cliente e sim o logo do proprio banco, mas percebi que tem uma função ou metodo ACBrFC.CarregaLogo() que talvez eu possa fazer uso em tempo de execução, vou tentar fazer e qq coisa reporto aqui inclusive para que tiver com a msm dificuldade. abraço
  13. Eelias Boa noite Abra o projeto de exemplo na pasta do componente, já que voce já usa o acbr C:\ACBr\Exemplos\ACBrBoleto\Delphi Eeste exemplo está bastante simples e compreenssível, vai te ajudar bastante. Quanto a imprimir na hora, voce pode imprimir a hora que quiser. abraço
  14. Juliana Seguindo o assunto, vou explicar o ocorrido: Antes de o Acbr acatar o componente do boleto, o qual derivou-se do BBoleto (Barbosa Acho). Eu usava esse BBoleto, obviamente que ele não tinha muitos recursos, eram somente a geração do digitável, do codigo de barras e o nossonumero, bem como gerava também o arquivo da remessa, e desde lá, fui obrigado a criar os complementos que faltavam da minha forma, inclusive a impressão do boleto, afinal, devido o BBoleto estar incompleto fui complementando da forma que podia e necessitava. Depois, o acbr pegou esse BBoleto e transformou em AcbrBoleto, lógico ficou ótimo e seguro, porém por falta de tempo, somente troquei o BBoleto por acbrBoleto e continuei usando os complementos como eu havia feito, "por fora". Estou fazendo uma homologação com banco itaú e me retornaram dizendo o codigo de barras não estava sendo possivel a leitura. Ai então eu decidi utilizar a impressão do boleto acbrBoleto. Funcionou tudo certinho. Só um detalhe. no método DirLogo e CarregarLogo, eu gostaria de usar o logo que mandei adicionar no cadastro do banco na tabela do meu banco de dados. Assim como eu consigo adicionar o logo do estabelecimento no acbrNF-e, será que tem possibilidade de fazer isso? Eu não encontrei nenhuma possibilidade, se puder me dar uma luz quanto esse caso agradeço. Peço desculpas se estou usando o mesmo tópico para outra dúvida, embora seja assunto quase similar "AcbrBoleto". abraço Obrigado
  15. Juliana Perfeito Entendi Não testei o envio ao banco ainda, mas já compreendi o funcionamento e a necessidade de informar o tipo de remessa, de fato isso permite definir o que deseja dentro de uma única remessa. Acredito que dessa forma poderíamos ter operações diferentes tais como toRemessaRegistrar como toRemessaBaixar dentro de um único arquivo de remessa.
  16. Boa Noite Juliana Na realidade, estou verificando aqui na geração do arquivo remessa e percebi que não estou informando esse metodo Ocorrencia.tipo=???? O que devo preencher ? Nas ultimas atualizações deixei de acompanhar o txt onde voces informam as alterações e também não vinha acompanhando o forum; só agora que um cliente me apontou esse detalhe, pois os demais ainda estão conseguindo fazer boleto sem registro, por isso ainda não reclamaram. obrigado pela atenção
  17. Bom dia Simplesmente foi feita a remessa para registrar os boletos, a qual deveria chegar um retorno de 02-Entrada confirmada, no entanto chegou o retorno de 03-entrada Rejeitada att.
  18. Boa noite pessoal Tenho um cliente que está recebendo o Retorno do banco itaú cnab-400 com acbrboleto.ListadeBoletos.Objects.MotivoRejeicaoComando.Text=19, e de acordo com a Unit do banco itau indica que é uma ocorrência inválida, será que alguém pode me dar uma dica sobre isso; Além do mais o metodo acbrboleto.ListadeBoletos.Objects.DescricaoMotivoRejeicaoComando.Text quando é liquidação vem vazia, e quando é a 03-Entrada rejeitada vem preenchida "ocorrência Inválida" Qual método utilizar para pegar o texto da rejeição ? Obrigado
  19. Tente acbrPosPrinter1.Porta='\\NomeDoComputador\NomeDoCompartilhamento'
  20. Bom dia Tiago Ravache Obrigado por responder Ontem, madrugada afora, eu achei uma função que imprimi o Timage, mas fiquei um pouco decepcionado; Hoje, testei as funçoes que voce me indicou nos links e ficou bem mais controlável (muito boa) procedure DrawImage(Canvas: TCanvas; DestRect: TRect; ABitmap: TBitmap); procedure PrintImage(Image: TImage; ZoomPercent: Integer); Mas a minha decepção continua, pois como estou escrevendo no Timage, não encontrei nenhuma possibilidade que permita quebrar a página ou indicar ao Timage.Heigth que atingiu um certo tamanho, além do que, eu preciso saber qual o tamanho do Heigth antes de começar a escrever no Timage, de outra forma ele não se altera. Também já pensei em deixar essa questão de lado e partir pro repaginamento apenas no momento da impressão. Mas como sou brasileiro, e se tem geradores de relatório que permitem controlar o paginamento na tela, então nós somos capazes, talvez adiar, mas desistir nunca. Estive pensando também que uma boa saída talvez para impressão, seria a impressão pixel a pixel, infelizmente eu tentei criar essa possibilidade mas meus poucos conhecimento de programação mais avançada não me permitiram criá-lo. Antes de mais nada, vamos deixar claro, qual é a minha necessidade. a) Criar uma forma de imprimir para impressoras Térmicas utilizando os recursos das mesmas, evitando a generic Text (Resolvido - AcbrPosPrinter); b) Criar um visualizador daquilo que seria impresso através do PosPrinter (Resolvido - Usando Form+TImage com impressão canvas lendo StringList); c) Já saudável os fatos acima, me ocorreu a possibilidade de ter um Gerador de Relatório baseado nos fatos acima, onde até já criei funções que permitem facilitar "o escrever o relatório usando canvas"; d) Diante dessas circunstâncias é que me pego na luta em entender como funciona um gerador de relatório; Os amigos vão ler essa mensagem e dizer "O Marcelo burro, está querendo reinventar a roda", digo sim, e por que não. Afinal, os concorrentes de Gerador de Relatório estão ai a todo vapor, se ninguem tentasse reinventar a roda, não teríamos concorrentes. Detalhes que faltam a) Saber se o Timage seria o componente ideal ou se tem algum outro que permita a quebra de pagina; Qual a possibilidade de escrever a impressão usando TPrinter.Canvas e ao invés de enviar para impressora, poder salvar como arquivo, para que possa talvez ser carregado no visualizador no momento da escolha do usuário (Imprimir ou Visualizar); c) Como imprimir o Timage de forma que o mesmo quebre páginas conforme o tamanho e formato A4 por exemplo. Desculpe me estender Se alguem tiver o prazer de compartilhar seus conhecimentos nós ficamos lisonjeados Muito obrigado
  21. Boa noite pessoal Com o uso do acbrPosPrinter, pensei seriamente em matar o uso do RDPrint, pois o RDPrint 4 não consegue utilizar os recursos dessas impressoras térmicas. A única dificuldade foi a falta do preview no acbrPosprinter e não imprimir em impressora matricial, além de que quando uso a função ImprimeLinha ele só funciona com o modelo Epson tanto para Bematech, Daruma ou a propria epson Termica, mas, brincando de programar, acabei criando um preview próprio, pelo menos pra resolver a questão de visualizar a impressão exceto a impressão do CF-e, pois, meus clientes usam muito essas termicas devido ao baixo custo de manutenção. Estava eu brincando com um Timage e fiz uso de image.canvas.textout, textwidth, TextHeight e praticamente quase gerado um gerador de relatório semelhante ao Rave, QR Forts etc. Minha única dificuldade está sendo em imprimir o que escrevi usando TextOut para uma impressora qualquer, jato, laser, etc já tentei pelo Printer.Canvas.Draw(..... ele até imprime mas o tamanho fica miudinho Como fiz: Criei um Form com ScrollBox e 1 Timage Depois fiz um unit com a função Imprime e nela coloquei todos os atributos do texto tais como, cor, tamanho,fonte, stilo, etc; ************************************************** procedure TF_PreviewNarezzi.Imprima(aLinha,aColuna,aSize:Integer;aStyle:TFontStyles;aTexto:string;aFonte:String='Courier New';aCor:TColor=clBlack); Var TamanhoCaracter,iCol:Integer; begin With Image do begin Canvas.Font.Name :=aFonte; Canvas.Font.Size :=aSize; Canvas.Font.Color :=aCor; Canvas.Font.Style :=aStyle; if aColuna<0 then begin iCol:=Round((Width-Canvas.TextWidth(aTexto))/2); Canvas.TextOut(iCol,aLinha,aTexto); end else begin Canvas.TextOut(aColuna,aLinha,aTexto); end; end; end; ********************************************* procedure TF_P.Button1Click(Sender: TObject); Var L,C:Integer; marD,marE:integer; Rect: TRect; Begin if F_PreviewNarezzi=Nil then F_PreviewNarezzi:=TF_PreviewNarezzi.Create(Nil); With F_PreviewNarezzi do Begin With Image do begin Height:=1122; Width :=793; MarginE:=20; MarginD:=Width-20; Canvas.Font.Name:='Courier New'; Canvas.Font.Size:=6; Canvas.Font.Style:=[]; Canvas.Font.Color:=clBlack; L:=1*Canvas.TextHeight('A'); C:=marginE; Imprima(L,-1,24,[fsBold,fsItalic],'Narezzi Consultoria','Courier New',clGreen); L:=(1*Canvas.TextHeight('A')); Linha(L,C,L,marD,1,psDash,clGreen); L:=Round(1.1*Canvas.TextHeight('A')); Imprima(L,C,10,[],'Relatório de Vendas'); Imprima(L,marginD-56,10,[],'Período'); L:=L+16; Linha(L,C,L,marginD,1,psSolid,clRed); L:=L+3; Imprima(L,marginD-78,10,[],FormatDateTime('dd/mm/yyyy',Date)); L:=L+(3*16); Imprima(L,-1,36,[fsBold,fsItalic,fsUnderline],'Caio Narezzi','Times New Roman',clBlue); Printer.BeginDoc; Printer.Canvas.Draw(0,0,image.Picture.Graphic); Printer.EndDoc; end; end; F_PreviewNarezzi.ShowModal; end; ******************************** Não consigo imprimir esse conteudo em qualquer impressora de forma que saia nas mesmas dimensoes do A4 cujo foi criado Timage. Se alguem puder dar alguma dica, ficarei feliz, pois é mais um conhecimento que me agrega. Obrigado
  22. Puxa que pena, mesmo assim obrigado pela informação
  23. É pessoal A tributação do país é tão complicada, tem tanto jeitinho, que nem a própria empresa desenvolvedora do software gratuito está aguentando inventar manobras no sistema. Sobrou pra nós. mesmo assim, ainda amo ser brasileiro
  24. Boa Noite a todos Também fiz a atualização no ultimo sábado e de fato, o tamanho das fontes do endereço do cliente muda normal, no entanto achei que isso ocorresse também em relação ao tamanho do quadro que circunda a informação. Veja, no caso de impressão "paisagem", por menor que voce coloque a fonte, o tamanho do quadro não muda, ficando assim uma área muita pequena para a impressão dos itens, mantendo em torno de 9 itens na primeira página e os demais nas proximas páginas. Será que tem alguma propriedade que permita regular a altura do quadro relativamente ao tamanho da fonte ? Estou usando Fortes/Delphi7 obrigado
  25. Legal Marcio.bonfim Até ontem não tinha essa mensagem { ATENÇÃO – LIMITAÇÕES NA ATIVAÇÃO DE EQUIPAMENTOS SAT As ativações de equipamentos SAT, embora venham ocorrendo com sucesso, apresentam um percentual considerável de falhas na geração de certificados AC-SAT. Recomendamos aos contribuintes para que realizem novas tentativas, sempre utilizando mesmo código de ativação(senha). Trocar o código de ativação(senha) somente quando se fizer necessário. }
×
×
  • 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...