Ir para conteúdo
  • Cadastre-se

Edson Alexandre Mendes

Membros
  • Total de ítens

    26
  • Registro em

  • Última visita

Últimos Visitantes

1.153 visualizações

Edson Alexandre Mendes's Achievements

Explorer

Explorer (4/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

1

Reputação

1

Community Answers

  1. Bom dia senhores! Debuguei mais a fundo o processo de virtualização do ECF da ACBR e notei que a variável "dsEhVenda" do método "FechaCupomVirtual" da unit "ACBRECFVirtualSat" é setada como verdadeira quando o abrimos um cupom fiscal através do método "AbreCupomVirtual", só que ao sair do sistema no meio de uma venda e entrar novamente no sistema o acbrecfVirtual carrega os dados dos arquivos de memoria do ecf virtual, mas não seta essa variável para true novamente. Fiz a seguinte alteração no código e gostaria de submete-la a avaliação dos senhores: procedure TACBrECFVirtualSATClass.LeArqINIVirtual(ConteudoINI: TStrings); begin // Se o cupom está aberto, deve ler conteudo temporário do XML if (fpEstado in estCupomAberto) then if (fsNomeArqTempXML <> '') and FileExists( fsNomeArqTempXML ) then begin AbreDocumentoVirtual; // Inclui essa linha fsACBrSAT.CFe.LoadFromFile( fsNomeArqTempXML ); end; inherited LeArqINIVirtual(ConteudoINI); end; Com isso o problema foi resolvido, mas não tenho certeza se fiz o correto. Grato
  2. Bom dia senhores, Estou migrando um sistema ECF para SAT e para facilitar as coisas estou usando o ACBRVirtualSAT. Tudo funciona perfeitamente bem, desde que eu não saia no sistema no meio de uma venda. Caso isso ocorra, ao retornar o sistema carrega sem problema os dados do cupom que foram gravados no meu banco de dados, mas depois de finalizar o cupom, no momento de imprimir o extrato, o mesmo sai apenas como o rodapé (mensagens de impostos, etc) sem imprimir nenhum item. Notei também que nesse caso não são gerados arquivos nas pastas "vendas" e "envios". Olhando o emulador da SEFAZ, não notei nenhum erro também. Eu não sobrescrevo os métodos de leitura e de gravação do arquivo ini do VirtualECF e debugando o fonte aparentemente a carga dos arquivos que virtualizam a impressora fiscal é realizada normalmente pelos métodos originais da ACBR. Alguém sabe me dizer o que eu estou fazendo de errado? Estou enviando anexo o log da ACBR e um printscreen da tela do Emulador da SEFAZ que, aparentemente não recebeu nada do sistema. Grato a todos ACBR_FORUM.txt
  3. Obrigado Régys! Dei uma olhada no código que você me passou e adaptei ao que eu precisava. Ficou perfeito. Estou colocando o código do método que eu criei para alinhar meu relatório para quem estiver com um problema semelhante. procedure TfrmPDV.formataRelGerencial(rel: TStringList; qtdColunas: Integer; CharAjuste: Char); var i:Integer; linha,inicioLinha,fimLinha:string; inicioTag,fimTag, qtdChar:Integer; begin for I := 0 to rel.Count - 1 do begin linha := rel.Strings[i]; inicioTag := Pos('<AD>',UpperCase(linha)); if inicioTag > 0 then begin inicioLinha := Copy(linha,1,inicioTag-1); fimTag := Pos('</AD>',UpperCase(linha)); if fimTag = 0 then fimTag := Length(linha); fimLinha := Copy(linha,inicioTag+4,fimTag); fimLinha := StringReplace(fimLinha,'<AD>','',[rfReplaceAll,rfIgnoreCase]); fimLinha := StringReplace(fimLinha,'</AD>','',[rfReplaceAll,rfIgnoreCase]); linha := inicioLinha+acbrUtil.padR(fimLinha,qtdColunas-length(inicioLinha)); rel.Strings[i] := linha; end; end; end; Novamente agradeço a todos vocês da ACBR, principalmente o Régys que sempre responde as questões com a maior presteza possível!
  4. Perfeito Régis Na verdade </di> foi uma tag que eu criei para tentar sanar o problema do alinhamento e acho que na hora de converter de volta para <ad> me esqueci dessa TAG. Criei uma função para varrer o StringList e preencher com espaços a esquerda do texto marcado com a tag <di>, mas também não funcionou. Existe uma forma de alinhar o texto a esquerda e o valor a direita?
  5. Grato a todos. Segui o conselho e estou imprimindo no rodapé. Mais uma vez, grato pela ajuda
  6. Boa tarde Régys! Obrigado novamente pela atenção e pela humildade em me ajudar. Estou anexando o Log. Grato Edson ecf.rar
  7. Prezados, Estou tentando imprimir o nome do operador no cupom e não estou tendo sucesso. já usei a propriedade ecf.operador e o método ecf.identificaoperador, mas nenhum deles surtiu efeito. Estou usando o identificaconsumidor e os dados do consumidor saem normalmente to inicio e no fim do cupom. O modelo do ecf é MP-2100 da Bematech. Estou fazendo algo errado? Grato Edson
  8. Boa tarde senhores! Estou montando um relatório gerencial usando as tags de formatação como <ce> e <di>. A tag de centralização funciona perfeitamente, mas a de alinhamento a direita acaba jogando o item formatado para a linha de baixo do cupom. Utilizo um ECF Bematech MP-2100 th FI Alguém pode me dizer o que estou fazendo errado? Grato Edson
  9. Bom dia senhores! Verifiquei tudo que me foi sugerido duas vezes e não encontrei motivo para a emissão do relatório gerencial "vazio" antes do relatório comandado. Verificando o código fonte da ACBR, vi também que o comando "FecharRelatorio" que aparece no Log é normal, segundo o comentário encontrado no código, é apenas por segurança. Alterei o relatório gerencial por um Cupom Vinculado e o problema se resolveu, ou seja, agora só é emitido o Cupom vinculado e nenhum Gerencial. Como esse relatório é apenas para o cliente que marca sua compra para desconto em folha de pagamento, creio que não tem problema. Mas a dúvida quanto a tag de formatação para alinhamento a direita <ad> continua. Ela insiste em jogar o texto formatado para a linha de baixo na impressão. Isso é normal? O que os colegas sugerem no caso de ter que imprimir um valor alinhado a direita em um gerencial? Obs.: Possuo outros gerenciais que imprimem normalmente, ou seja, sem relatório fantasma antes, mas onde a tag <ad> funciona como citado acima. Grato
  10. Olá novamente Régys! Verifiquei de cima em baixo o código e eu não chamo esse método em local algum do código. Não tenho nenhuma referencia a ele no projeto inteiro. Segue o trecho referente ao fechamento do cupom: ecf.FechaCupom; ecf.AbreGaveta; ECF.CortaPapel; //Verifica se existe Cupons Vinculados à serem emitidos frmRecebimento.tblRecebimentos.First; with frmRecebimento do begin try relGerencial := TStringList.Create; repeat if Length(Trim(tblRecebimentosCUPOM_VINC.AsString)) > 0 then begin //MostraAviso('Emitindo cupom vinculado. Pressione enter...'); relGerencial.Clear; relGerencial.Text := tblRecebimentosCUPOM_VINC.AsString; //ecf.AbreRelatorioGerencial(1); try ecf.RelatorioGerencial(relGerencial,tblRecebimentosqtdVias.AsInteger); except end; end; tblRecebimentos.Next; until tblRecebimentos.Eof; finally FreeAndNil(relGerencial); end; end; Grato Edson
  11. Olá Régys! Realmente no início estava da forma que você citou mesmo, mas como eu imaginei que o problema poderia ser esse, eu removi do código a abertura e deixei só o gerencial. Eu, por falta de atenção, anexei o log completo do dia. Estou anexando agora o log de uma venda apenas. Note que na linha 217 tem um comando de fechamento de relatório, mas sem nenhum comando de abertura (pelo menos que eu tenha visto). Grato Edson UnicaVenda.txt
  12. Olá André! Minha intenção é imprimir tudo de uma vez mesmo, usando um TstringList com o texto que eu quero no gerencial e enviando ele pelo método ecf.RelatorioGerencial. O problema é que antes de gerar o relatório que eu mandei, ele gera um relatório vazio e eu não estou comandando (pelo menos de propósito ) a emissão desse relatório. E isso só acontece no ECF real, no emulador sai tudo certinho. Grato
  13. Bom dia Régis! Obrigado pela resposta. Estou anexando o log do ecf. Grato Edson ecf.rar ecf.rar
  14. Boa tarde colegas Após realizar a implementação de um sistema para ECF utilizando o emulador da Bematech sem nenhum problema, no momento de executa-lo em uma impressora real (Bematech também) estou com os seguintes problemas: 1) Toda vez que emito um relatório gerencial, antes de emitir o relatório correto o ecf emite um relatório gerencial em branco, apenas com o cabeçalho. 2) No caso de relatórios gerenciais formatados, a tag <ad> </ad> está jogando o valor formatado para a linha de baixo. Alguém pode me dizer o que pode ser isso? Código referente ao item 1, onde rel é um TStringList //Gera o relatório de fechamento rel.Text := geraRelFechaCaixa; try //ecf.AbreRelatorioGerencial(1); ecf.RelatorioGerencial(rel); ecf.CortaPapel(True); except //Protege exceção silenciosa levantada pelo ecf. Não é um erro! end; Texto do relatório gerencial formatado ================================================ <ce>COMPROVANTE CONTA CORRENTE</ce> <ce><n>1ª via</n></ce> ================================================ Convênio: &[DSCCONV] Cupom Vinc.:&[NUMCUPOM] Operador: &[DSCOPER] ------------------------------------------------ <n>Conta Corrente R$</n>:&[VALORPGTO] ------------------------------------------------ Cli: &[NOMECLI] Doc: &[CPFCLI] ------------------------------------------------ <ce>--------------------------------------</ce> <ce>assinatura</ce> Grato Edson
  15. Bom dia novamente! Após alguns testes e pesquisas, cheguei a conclusão que eu tinha que abrir o relatório gerencial antes. Meu código ficou assim: ecf.AbreRelatorioGerencial(1); ecf.RelatorioGerencial(rel); Não existe necessidade de fechar o relatório já que o método ecf.RelatórioGerencial já faz isso. Grato a todos Edson
×
×
  • 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.