Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 17-10-2019 em todas as áreas

  1. Nessa tag você deve informar o CNPJ do autor do evento, que no caso do evento de prestação em desacordo é o próprio tomador do serviço.
    4 pontos
  2. Olá pessoal, Sei que todos estão muito atarefados com seus programas por aí... Maaaasssss.... Precisamos de sua atenção para uma alteração nos componentes!!! Atualmente temos uma falta de padronização nas unidades de medidas das margens das impressões dos documentos fiscais. Cada impressão Report tem margens medidas com um formato. Isso não está bom. Note a tabela a seguir com as unidades de medidas das margens atual: DF-e Fortes Fast LazReport ESCPOS NF-e (Paisagem, Retrato, Inut, Evento, Simplificado) cm cm nd X NFC-e mm mm X X NFC-e (A4) cm mm X X SAT mm X X X CT-e (Evento) cm nd X X CT-e (A5, Retrato) nd nd X X CT-e (Inut, Inut Retrato) nd nd X X GNR-e nd nd nd X MDF-e (Retrato, Evento) cm nd X X NFS-e cm nd X X BP-e X X X X Legenda: mm – milímetros cm – centímetros nd – O componente poderia, mas não está atualizando as margens do report X – Não possui impressão nesse formato ou não interage com as margens. Nota: Os modelos em ESCPOS que existem não consideram as propriedades de margem. Afinal, não faz muito sentido mesmo. Como podem ver na tabela acima, muitos componentes não estão atualizando as margens. Isso significa que mesmo que configure uma margem, ela será simplesmente ignorada. Então a ideia é fazer com que esses componentes imprimam de acordo com a configuração. Além disso, queremos evitar qualquer possível confusão e por isso vamos padronizar as unidades de medidas. A unidade de medida escolhida foi milímetros (mm). Alguns dos motivos foram: A unidade de medida mm funciona bem tanto para impressões grandes (por exemplo A4) como para bobinas (80 mm); As pessoas estão acostumadas com mm porque é a unidade padrão de todos os geradores de relatório usados atualmente (Fast Report, Fortes Report, LazReport ...); Devido ao ponto anterior, usar mm vai nos poupar código de conversão de unidades; Mesmo que tivéssemos escolhido centímetros (cm), haveria quebra de compatibilidade por causa do SAT e NFC-e; Quando as alterações vão entrar em vigor? A previsão é que dia 14 de outubro, as alterações sejam enviadas ao SVN. Acreditamos que isso dá tempo suficiente, para conseguirmos avisar a todos e para que todos possam se preparar. As alterações já foram enviadas ao SVN. Veja nota no fim desse post. O que eu preciso verificar no meu aplicativo? A primeira coisa é verificar se você tem configuração de margem (seria bom que tivesse). Em caso afirmativo, como você está armazenando? Em que unidade está armazenando? cm ou mm? Vai ser necessário fazer alguma conversão? Verifique como você deseja manter a configuração? De posse das informações acima, faça um teste imprimindo todos os documentos que você usa. Isso vai ajudar você a prevenir qualquer problema antes de enviar o executável para o cliente. Sugerimos você a imprimir tanto antes como depois das alterações no componente. Assim você vai ter algo para comparar as impressões e ajustar as margens caso necessário. O que eu preciso fazer caso use o ACBrMonitor Plus? A nossa ideia é minimizar o impacto para quem usa o ACBrMonitor. Vamos colocar as informações o próximo post logo abaixo. Se ficarmos atentos a essas alterações, as impressões vão seguir o mesmo padrão e ninguém mais vai precisar se confundir. Atualização- 17/10/2019 As alterações já foram enviadas ao SVN. Agora todos os reports seguem o mesmo padrão: DF-e Fortes Fast LazReport ESCPOS NF-e (Paisagem, Retrato, Inut, Evento, Simplificado) mm mm mm X NFC-e mm mm X X NFC-e (A4) mm mm X X SAT mm X X X CT-e (Evento) mm mm X X CT-e (A5, Retrato) mm mm X X CT-e (Inut, Inut Retrato) mm mm X X GNR-e mm mm mm X MDF-e (Retrato, Evento) mm mm X X NFS-e mm mm X X BP-e X X X X Caso encontre algum problema, queira por favor criar um novo tópico.
    3 pontos
  3. Para ficar registrado, conforme explicado pela @Gr@c@, uma forma do campo obscont tanto da Nfe como do CTe ser utilizado hoje é para as informações de averbação. Pode ser que um fiscal multe caso essa informação não seja impressa. Mas caso contrário, vale o que está no MOC. Por isso... Alphajoy. Muito obrigado pela contribuição. Fiz a implementação baseada nela. Subi as alterações para o SVN na Revisão 17957. Pelo que vi está tudo certo. Queira por favor atualizar, testar e reportar qualquer problema. Mais uma vez obrigado.
    2 pontos
  4. Ah, entendi! É por que os ajustes que eu realizei foram apenas para o CNAB 240.
    2 pontos
  5. @joaolenosi boa tarde! Já tinha visto os ajustes ora mencionados e antes de iniciar meu processo de homologação com o Banco Safra tive o cuidado de atualizar meus fontes do ACBr(em 14/10/2019), já com seus ajustes, porém como mencionei logo mais acima o Banco Safra rejeito nosso arquivo de remessa CNAB 400, alegando estar diferente a informação do campo nosso número no arquivo de remessa em comparação com o mesmo dado no boleto, na composição da linha digitável e código de barras. Reforço novamente que fiz um pequeno ajuste na geração do arquivo de remessa CNAB 400 apenas removendo o cálculo do dígito verificador do campo nosso número no arquivo, e após isso tivemos a validação homologada pelo banco. Sendo assim fico no aguardo de uma posição dos commiters, para possível aplicação do commit desse ajuste ao SVN. @Juliana Tamizou , poderia por gentileza dar acompanhamento nesta situação.
    2 pontos
  6. Está no Build de Debug... mude para Release
    2 pontos
  7. Bom dia, quando um lote havia mais de um rps, ao assinar o segundo rps a assinatura do primeiro ficava inválida, mas atualizando os fontes está tudo certo. Obrigada pela atenção e ajuda.
    2 pontos
  8. Olá pessoal, Queremos informar que na revisão 17943 foi enviada ao SVN as alterações previstas a algumas semanas para padronizar as unidades de medidas e comportamento das margens nas impressões. Caso queira mais informações, veja o tópico de anúncio:
    2 pontos
  9. Olá Como sabemos o Projeto ACBr foi implementado mantendo a compatibilidade com o Delphi e Lazarus, porém, os arquivos de Formulário no Delphi (.dfm) não é o mesmo utilizado pelo Lazarus, que possui a extensão (.lfm) e utiliza o formato UTF-8. Por esse motivo, quando realizarmos alterações em Formulários do ACBr utilizando o Delphi(.dfm), devemos compatibiliza-lo também no Formulário do Lazarus(.lfm). A forma mais fácil de realizar esta tarefa é Converter o Arquivo alterado, assim não precisamos realizar as mesmas alterações nos dois arquivos. Segue abaixo o procedimento para Conversão. 1- Exclua o arquivo com a extensão .lfm, que já existe no Projeto. ex: ACBrNFeDANFeRLRetrato.lfm 2- Realize uma Cópia do Arquivo .dfm que foi alterado. ex: ACBrNFeDANFeRLRetrato - Copia.dfm 3- Renomeie o Arquivo copiado com o mesmo nome do original, mas altere a extensão para .lfm ex: ACBrNFeDANFeRLRetrato.lfm 4- Abra o arquivo .lfm utilizando o NotePad++ e selecione a opção Converter para UTF-8 (caso ainda não esteja em UTF-8). Salve as alterações... ex: 5- Abra o Formulário Alterado no Lazarus, mova o posição do formulário apenas para poder Salvar as alterações e Compile o Projeto.. Note que ao salvar o formulário utilizando o Lazarus os caracteres acentuados que estavam codificados agora estarão corretos... Basta então testar a Aplicação... Antes: Depois:
    2 pontos
  10. Moderador pode fechar o tópico. O problema era causado pelo hardware.
    2 pontos
  11. Olá Pessoal, Já encontra-se disponível no repositório Trunk2 o mais novo componente ACBr - ACBrONE - Operador Nacional dos Estados. "O Operador Nacional dos Estados: ONE é o sistema responsável por integrar os documentos fiscais eletrônicos das Administrações Tributárias com as diversas tecnologias de identificação de veículos nas rodovias brasileiras. O sistema objetiva a geração dos eventos Registro de Passagem nos documentos fiscais transportados por intermédio da informação da placa do veículo e sua respectiva geolocalização, detectada por algum dispositivo ou tecnologia de monitoramento, o que auxilia nas ações de fiscalização de trânsito e de combate à sonegação." O texto acima foi retirado do Portal do Operador Nacional dos Estados - SVRS. Para mais informações visite o Portal. O manual do ONE já baixamos e se encontra em nossa biblioteca. Nas pastas: ...\Exemplos\ACBrDFe\ACBrONE\Delphi ===> temos o programa exemplo do componente. ...\Exemplos\ACBrDFe\Schemas\ONE ===> temos os schemas ...\Fontes\ACBrDFe\ACBrONE ===> temos os fontes ...\Pacotes\Delphi\ACBrDFe\ACBrONE ===> temos o pacote de instalação. Por enquanto o ACBrInstall_Trunk2 não esta preparado para instalar esse componente, logo será necessário a instalação manual através do Pacote. Observação1: apesar dos XMLs a serem enviados não precisam ser assinados digitalmente é preciso de um certificado digital para consumir os Webservices. Observação2: Não é qualquer empresa que pode usar o ONE é preciso que ela esteja cadastrada como uma Operadora.
    2 pontos
  12. Olá pessoal! Temos o prazer de informar que mais um novo componente foi adicionado ao projeto: ACBrLCDPR. O ACBrLCDPR foi criado para facilitar a geração do LCDPR - Livro Caixa Digital do Produtor Rural. Esse componente segue a mesma ideia de outros componentes para geração de arquivos como ACBrSPEDFiscal, ACBrSPEDPISCOFINS, ACBrSEF2, etc... Com ele você pode gerar o arquivo sem se preocupar com o layout do arquivo. A sua preocupação será apenas com as informações que precisa aprensentar. Como é um componente novo, temos consciência de que alguns ajustes talvez sejam necessários. Todos podem ficar à vontade reportar problemas. Podem fazer isso por criar um novo tópico com ajustes e anexar nele. Crie o tópico no subfórum ACBrTXT -> Outros (ACBrLFD, ACBrSEF2, etc). Mas queremos agradecer ao @Willian Hübner que pôs a mão na massa e fez a doação do componente que serviu como base dessa versão. Queremos também aproveitar a oportunidade para agradecer aos nossos usuários SAC. Seu apoio nos ajuda a continuar avançando.
    2 pontos
  13. Boa tarde! Realizei um ajuste na geração da remessa do Banco do Brasil para enviar no campo "Identificação da Distribuição" (Posição 62 do Segmento P) a opção "3 - Banco envia e-mail" quando a propriedade ACBrTitulo.CarteiraEnvio for tceBancoEmail. No leiaute do próprio BB esse campo possui a observação "Campo não tratado pelo Banco do Brasil.", porém uma homologação de remessa foi rejeitada por não enviar essa opção quando no campo "08.3S - Identificação da Impressão" (Posição 18 do Segmento S) informei "8 - Bloqueto por email". Em anexo envio a unit alterada para análise e o manual do BB utilizado para homologação. Caso estejam de acordo peço que subam para o SVN. Grato. Cnab240PARTICULARIDADES.pdf ACBrBancoBrasil.pas
    1 ponto
  14. Olá?! Nós gostaríamos de implementar a NFCe, porém, não temos nenhum cliente com essa necessidade ainda. Existe alguma maneira de acessar algum ambiente de homologação sem que seja os dados de um cliente real? Estamos enfrentando o dilema do ovo e da galinha: não temos clientes NFCe porque não temos NFCe implementada. Não conseguimos implementar a NFCe porque não temos nenhum cliente com a necessidade de NFCe Muito obrigado
    1 ponto
  15. Boa tarde. Obrigada pela contribuição, a mesma foi adicionada para validação. Att.
    1 ponto
  16. Boa tarde, Juliana! Sem problemas, eu também acabei esquecendo de cobrar um retorno e percebi por um acaso que estava sem resposta Segue em anexo a unit alterada com as últimas alterações do SVN. ACBrBancoSantander.pas
    1 ponto
  17. Boa tarde Gean, Realmente no fórum as coisas ficam dispersas. Mas voltando ao assunto do evento de prestação de serviço em desacordo, chegou a ler o artigo: Evento de Prestação de Serviço em Desacordo ? Curiosidade, o que vem a ser: "anulacao pelo desacordo...ou o desaacordo no mdfe e a anulacao no cte" ?
    1 ponto
  18. Boa tarde, Neste caso tem aliquotas pré definidas: pICMSInter Alíquota interestadual das UF envolvidas: - 4% alíquota interestadual para produtos importados; - 7% para os Estados de origem do Sul e Sudeste (exceto ES), destinado para os Estados do Norte, Nordeste, Centro-Oeste e Espírito Santo; - 12% para os demais casos.
    1 ponto
  19. Você pode usar certificado próprio e usar o ambiente de homologação do Amazonas: http://portalnfce.sefaz.am.gov.br/desenvolvedor/ambiente-de-homologacao-para-desenvolvedores/ Apenas note que algumas regras são opcionais por UF então nos testes estará sujeito apenas àquelas ativadas pelo AM.
    1 ponto
  20. Pelo que vi o arquivo é criado quando configurado como cryWincrypt e informando o arquivo PFX e senha, a cada carga do certificado. O componente vai carregar o certificado apenas uma vez então se você mantiver o objeto ACBrNFe em memória deve reduzir massivamente a quantidade de arquivos criados. Outra solução seria usar OpenSSL no lugar da WinCrypt.
    1 ponto
  21. Considerando que o ACBrTEFD já esta inicializado basta: { 1 - Para CPF 2 - Para CNPJ } Edit.text := ACBrTEFD1.TEFCliSiTef.ObtemDadoPinPadDiretoEx(1, '', '');
    1 ponto
  22. Vlw Edimar... Não tinha prestado atenção. Wanderson
    1 ponto
  23. Bom dia, eu já corrigi essa Unit faz algum tempo, inclusive eles já disponibilizaram a correção no SVN. Conforme pode ser visto aqui:
    1 ponto
  24. Italo, agradeço pela ajuda, consegui fazer funcionar o problema estava no arquivo SimpllSS.ini no [GrupoMsgRet], só atualizei o arquivo e funcionou como esperado.
    1 ponto
  25. obrigado bigwings uma informação que talvez seja util, é que nota fiscal estamos conseguindo fazer normalmente, por isso que escrevi que sao nos eventos o erro. windows 10 pro build 1903
    1 ponto
  26. muito obrigada, no início da semana os arquivos retornaram com esse erro, mas hoje cedo foram transmitidos com sucesso.
    1 ponto
  27. obrigado, e desculpe a demora em responder estive fora, mas essa configuração funcionou perfeitamente.
    1 ponto
  28. Não encontrei nenhuma informação na área de perguntas respondidas: http://caf.sef.sc.gov.br/Views/Publico/BaseConhecimento/BuscarBaseConhecimento.aspx?assunto=9 Então a primeira verificação é se os schemas estão corretos e são de homologação. Você também pode tentar enviar um arquivo com a data do ano que vem e verificar se vai passar. Caso contrário, sugiro entrar em contato com a Sefaz e perguntar como proceder.
    1 ponto
  29. Eu uso o layout Default layout mesmo sem ter um monitor 4K. A única coisa que eu faço é colocar o Project Manager e o Tool Palette para auto-ocultar.
    1 ponto
  30. Contagem- MG no ArqINI: Antigo: [3118601] Nome=Contagem UF=MG Provedor=Pronim; Novo: [3118601] Nome=Contagem UF=MG Provedor=Ginfes;
    1 ponto
  31. Cara, se você tiver Lazarus ou Delphi aí é só olhar os fontes que faz a criptografia/descriptografia com o ACBr, aí vc pode replicar ela para o conjunto de dados que vc tem. Aqui no fórum mesmo vc vai encontrar post sobre isso. Fora isso, quando se compra o Certificado tem a senha (PIN) e também tem a senha PUK que é justamente para quando esquecer a senha PIN, verifica com a empresa se ela não guardou os dados do certificado na época.
    1 ponto
  32. bom dia ======================= PROCEDURE ACBR_NFE_CARREGARXML(sRecebe_arquivo_ou_xml) // NFE_ CarregarXML( eArquivoOuXML ); gnretorno_acbr=API("ACBrNFe32.DLL","NFE_CarregarXML",StringToUTF8(sRecebe_arquivo_ou_xml)) IF gnretorno_acbr=0 THEN RESULT "Carregou Xml com Sucesso" ELSE RESULT "Erro Retorno :"+gnretorno_acbr END ==================== // btn NFE carregar xml bRETORNO is boolean=ACBR_INICIALIZAR() IF bRETORNO=True THEN EDT_RESPOSTA=ACBR_NFE_CARREGARXML(EDT_XML) END ACBR_FINALIZAR() ================================= https://windevdesenvolvimento.blogspot.com/2019/10/dicas-2385-windev-webdev-mobile-acbr.html bom dia https://acbr.sourceforge.io/ACBrLib/NFE_ImprimirPDF.html ======================= PROCEDURE ACBR_NFE_ImprimirPDF() // https://acbr.sourceforge.io/ACBrLib/NFE_ImprimirPDF.html // NFE_ ImprimirPDF gnretorno_acbr=API("ACBrNFe32.DLL","NFE_ImprimirPDF") IF gnretorno_acbr=0 THEN RESULT("Imprimiu com Sucesso") ELSE texto is string="Erro Retorno - "+gnretorno_acbr+" = " IF gnretorno_acbr=-1 THEN texto+=" Indica que a biblioteca não foi inicializada" IF gnretorno_acbr=-10 THEN texto+=" Indica que houve erro ao gerar o PDF do DANFe." RESULT texto END ================================= // btn NFE imprimir pdf bRetorno is boolean=ACBR_INICIALIZAR() IF bRetorno=True THEN EDT_RESPOSTA=ACBR_NFE_CARREGARXML(EDT_XML) EDT_RESPOSTA+=CR+ACBR_NFE_ImprimirPDF() ShellExecute("C:\ERPMATOS\xml_acbr\PDF\"+EDT_CHAVE_NFE+"-NFE.PDF") END ACBR_FINALIZAR() ================================= https://windevdesenvolvimento.blogspot.com/2019/10/dicas-2390-windev-webdev-mobile-acbr_17.html
    1 ponto
  33. Bom dia. Obrigada por informar. Para novas mudanças, note que temos um tópico exclusivo para estas situações. Att.
    1 ponto
  34. se for retorno do itau, tem que mudar a posicao onde colocam o tipo de pessoa, pois o acbr interpreta como está la e tenta validar um cpf, sendo que é cnpj que espera pelo numero que o itau muda: o que eu faço aqui se é um retorno de pessoa fisica do itau: var ArquivoDeRetorno : TStream; LS : TStrings; ArquivoDeRetorno := TMemoryStream.Create; LS := TStringList.Create; // CONTEUDO DO ARQUIVO LS.Text := TBlobField(IBDSPai.FieldByName('ARQUIVO_RETORNO_BOR')).AsString; P := LS.Count - 1; if (IBDSPai.FieldByName('RETORNO_PESSOA_FISICA_BOR').AsString = 'S') then MudarRetornoPosicao2_FisicaJuridica(LS); LS.SaveToStream(ArquivoDeRetorno); procedure TFCadBorderoBancario.MudarRetornoPosicao2_FisicaJuridica(var ARetornoLido: TStrings); var Linha: string; I : Integer; begin for I := 0 to ARetornoLido.Count - 1 do begin Linha := ARetornoLido; // Mexer nas linhas que correspondem a titulos apenas - iniciados com 1 if (Copy(Linha, 1, 1) = '1') and (Copy(Linha, 2, 2) = '02') then begin Delete(Linha, 2, 2); Insert('01', Linha, 2); ARetornoLido := Linha; end; end; end; testa ai, pode ser o seu problema também...
    1 ponto
  35. Conseguir, resolver usei outro opção de envio.
    1 ponto
  36. Ok José. Não ocorre com frequência. Vou alterar a propriedade só para emitir a nota. Obrigado pelas dicas. Grato, Josadac
    1 ponto
  37. A classe TStringList do Delphi que é usada pelo ACBrBoleto não consegue abrir esse arquivo por causa da codificação, o arquivo está em "UCS-2 Little Endian". Se você abrir esse arquivo no bloco de notas e salvar a codificação vai mudar pra "UCS-2 LE BOM" e já vai conseguir ler o retorno, mas pode ter problemas se houver algum retorno com caracteres especiais. Se você recebeu o arquivo dessa forma direto do banco pode tentar contato com eles pra saber se é possível enviar o mesmo com codificação ANSI. Ou tentar algum método de conversão de codificação de arquivos antes do carregamento pro ACBrBoleto.
    1 ponto
  38. Opa... obrigado... A liberação é feita de.forma automática, pelo PagSeguro... assim que ele acusa o recebimento ... Boleto pode demorar um pouco mais... se tiver muita pressa, por favor envie o comprovante para nosso financeiro
    1 ponto
  39. 1 ponto
  40. Isso aqui deve te ajudar https://stackoverflow.com/questions/34527477/clean-my-machinekeys-folder-by-removing-multiple-rsa-files-without-touching-iis
    1 ponto
  41. Entendi, e esses restante? pode deixar desta forma?
    1 ponto
  42. Não... veja o tópico anterior... Se você usar WinHTTP não precisará configurar nada no I.E.
    1 ponto
  43. ACBrNFe1.NotasFiscais[0].NFe.Ide.dEmi := IncMinute(sysUtils.now, -1); Coloque DateUtils no uses.
    1 ponto
  44. Bom dia Juliomar, Realmente era a versão, conexão com oracle somente versão Enterprise e/ou Architect.
    1 ponto
  45. Boa tarde Adilson, Se a sua aplicação foi compilada para 32 bits, basicamente você precisa das DLLs: ...\DLLs\LibXml2\x86 ...\DLLs\OpenSSL\1.0.2.19\x86 Procure sempre copiar essas DLLs para dentro da pasta que se encontra o seu EXE.
    1 ponto
  46. A Epson está lançando a impressora térmica TM-T20X, e nos enviou as 2 novas versões (Vesão USB/Serial e Versão Ethernet) deste equipamento para homologarmos com os componentes do Projeto ACBr. Assista ao vídeo abaixo para conhecer a nova impressora: Apresentação do equipamento. Download e instalação de drivers. Rápida configuração no SATTeste e impressão. Ambiente Computador Desktop Sistema Operacional Windows 10 64Bit Processador Intel Core 2 Duo E4500 2.20GHz Memória 2GB USB 2.0 Características Técnicas da Impressora Método de impressão Impressão térmica em linhas Velocidade de impressão Aprox. 200 mm/s (Textos e gráficos) Guilhotina Corte parcial ao centro Opções de Comunicação USB 2.0 Full-speed (12 Mbps) Ethernet: 10BASE-T/100BASE-TX Serial: RS-232 Pontos por polegadas 203 × 203 dpi Caixa registradora Suporte a 2 gaveteiros Fonte de alimentação 100-240V 50/60Hz, Corrente nominal: 1.0 A Dimensões W:149 × D:192 × H:140 mm Peso Approx. 1.5 kg Código de barras UPC-A UPC-E JAN 8 (EAN 8 ) JAN 13 (EAN 13) CODE 39 ITF CODABAR (NW-7) CODE 93 CODE 128 GS1-128 GS1 DataBar (Omnidirectional, Truncated, Stacked, Stacked Omnidirectional, Limited, Expanded, Expanded Stacked. Código Bidimensional PDF417 QR CODE, MaxiCode Composite Symbology Vida útil Mecanismo de Impressão 15 milhões de linhas Cabeça térmica de impressão 100 KM Guilhotina 1,5 milhões de cortes Tempo médio antes da falha (MTBF): 360.000 horas Média de ciclos antes da falha(MCBF): 60.000.000 linhas Download de Drivers e manuais No link abaixo você encontra todos os drivers disponíveis para a nova TM-T20X. https://download.epson-biz.com/modules/pos/?page=prod&pcat=3&pid=6073 Drivers utilizados durante os testes: Driver de Spooler do Windows Bibliotecas Epson (.dll .lib e .so) Software Utilitario TM Virtual Port Driver (Emula Porta COM) Driver Linux Impressão de Autoteste O autoteste fornece as configurações atuais da impressora, e por ele também é possível alterar estas configurações. Siga os passos abaixo para realizar a impressão do Autoteste. Com a impressora desligada, mantenha pressionado o botão Avanço de Papel (manter pressionado até o início da impressão) e ligue a impressora Quando a impressora parar de imprimir, a luz Paper ficará piscando; Pressione o botão Avanço de Papel para imprimir a segunda parte do teste e finalizar; Caso queira alterar alguma configuração, no passo 2 descrito acima, pressione o botão Avanço de Papel por 1 segundo, será impresso as opções, selecione a opção que deseja pressionando o botão Avanço de Papel na quantidade de vezes requerido pela opção e em seguida o botão Avanço novamente pressionado por 1 segundo para confirmar. Interfaces de comunicação Com os dois modelos da TM-T20x, foi possível testar todos os tipos de comunicação possíveis, acompanhe na tabela abaixo quais são e como configurá-las. Tipo Configuração (Exemplo) USB/RAW RAW:EPSON TM-T20X USB/Com Emulada COM 4 USB/DLL USB:EPSON saCOM FÍSICA COM 1 Ethernet TCP:192.168.20.27:9100 Configurações de comunicação USB – Spooler do Windows Para instalar o driver em ambiente Windows, basta fazer o download de acordo com Sistema Operacional e executá-lo, ao fim da instalação, será aberto uma janela para adicionar a impressora, escolha o 1- tipo de comunicação e clique em 2- Save Settings, clique em 3- Test Print para imprimir uma página de teste . A impressora aparecerá em “Dispositivos e Impressoras”. Na imagem abaixo é possível verificar os passos descritos: USB – COM Emulada Para comunicação via COM Emulada, após a instalação como mostrado acima, faça o download e execute o instalador do TM Virtual Port Driver. Ao finalizar a instalação, execute o aplicativo Epson TM Virtual Port Assignment Tool Escolha uma porta para vincular a impressora e clique em “Assign Port” Na janela que abrirá, selecione a aba “Command Emulation” e habilite a opção “Enabled ESC/POS Command Emulation”. Selecione OK para salvar, pronto será criada uma porta com virtual e sua impressora estará vinculada a ela. USB/DLL Neste tipo de comunicação não é necessário realizar a instalação de driver, basta fazer o download da DLL e copia-lo para a pasta do componente. No demo PosPrinterTeste por exemplo basta configurar a comunicação como USB:EPSON, observe o exemplo na imagem abaixo: Serial RS-232 A comunicação com porta COM Física também não depende de instalação de driver. Veja em Cabo Serial deste relatório, o cabo correto para a comunicação. Para configurar a porta serial no componente ACBrPosPrinter realize as configurações a seguir. Selecione a Porta COM Selecione a opção de Configurações da Porta Realize os ajustes Baud rate: 38400 – Este é o padrão de fábrica desta impressora. Data Bits: 8 Parity: None Stop Bits: 1 Handshaking: DTR/DSR Buffer de Envio: 3000 Espera de Buffer: 200 Salve as configurações Os ajustes de Buffer são necessários para impressões de extratos com grande quantidades de itens, caso não configurados corretamente a impressão pode não ocorrer por completo. Ethernet A configuração da TM-T20X em rede é muito simples, conecte um cabo de rede na porta Ethernet e ligue a impressora, aguarde por aproximadamente 10 segundos, pois será impresso o IP que a impressora obteve do servidor DHCP. Para fixar um IP, abra o navegador e digite o IP impresso para acessar as configurações da impressora, será solicitado um usuário e senha, o padrão de fábrica é “epson” para ambos. No menu de configuração, selecione a opção TCP/IP. Na opção “Acquiring the IP Address” altere para “Manual” e em seguida, realize as configurações conforme sua rede. Para finalizar clique em SEND e em seguida clique em RESET, para enviar e reiniciar a impressora. Exemplo dos passos citados: No PosPrinter configure a porta de comunicação TCP com o IP fixado na impressora, EX: TCP: 192.168.20.27 Veja o exemplo de configuração na imagem abaixo: Gravação de Logo Esta impressora permite gravar múltiplos logos em sua memória, gravamos então um logo do ACBR para ser utilizado durante os testes de impressões, veja abaixo como gravar um logo utilizando o PosPrinterTeste.exe. Selecione a opção Carregar Imagem e escolha a imagem que deseja gravar (Formato BMP) Selecione a posição onde será gravado. (Os valores utilizados abaixo são um exemplo, é possível definir valores diferentes, onde cada imagem fique em uma posição.) Ex: KC1: 32 KC2: 32 Selecione a opção Gravar Logo Para verificar se gravou com sucesso, selecione IMPRIMIR Acompanhe na imagem abaixo o exemplo dos passos citados: Testes de Impressões Os testes de impressões tem como objetivo verificar se o equipamento pode imprimir todas as “Tags” possíveis. Para a realização destes testes utilizamos os componentes e demos do ACBr. Acompanhe as configurações utilizadas para a realização dos testes de impressão. Configurações utilizadas no demo PosPrinterTeste.exe para os testes de impressão das tags. Modelo: ppEscPosEpson; Porta RAW:EPSON TM-T20X Receipet Colunas: 48; Espaços: 40; Linhas Pular: 5; Pag. codigo: pc860; Logo: KC1: 32; KC2: 32; FatorX: 1; FatorY: 1; Exemplo de configuração no demo PosPrinterTeste: Resultados das impressões Formatação de carácter: Todas as propriedades funcionaram corretamente, exceto a fonte itálico (Já não era suportada na TM-T20). Alinhamento: Os alinhamentos foram impressos corretamente. QRCode: Todos QRCode impressos corretamente. Código de Barras: Os tipos std25, CODE11 e MSI não foram impressos (Mesmo comportamento da TM-T20). Logotipo: Logo impresso corretamente. Page Mode: Como podemos observar o Page Mode é suportado. Testes de Acentuação Utilizando um pantograma da língua portuguesa, realizamos diversas impressões com diferentes páginas de código, usando as fontes do Tipo A e B. Pantograma utilizado: À noite, vovô Kowalsky vê o ímã cair no pé do pingüim queixoso e vovó põe açúcar no chá de tâmaras do jabuti feliz. ÁÉÍÓÚáéíóúçÇãõÃÕÊêÂâÔôÀà Resultados obtidos: pc437: Todos os til foram ignorados; pc850: Todos os acentos foram impressos corretamente; pc852: Alguns acentos circunflexos, todas as crases e o til foram ignorados; pc860: Todos os acentos foram impressos corretamente; pcUTF8: Esta impressora não suporta UTF8; pc1252: Todos os acentos foram impressos corretamente; Impressão de extratos do SAT Utilizando o demo SATTeste, testamos a impressão de extratos de venda com 3 itens, as impressões foram realizadas em Fortes Report e em EscPOS, com as opções Logo Lateral e QRCode Lateral, desativadas e posteriormente ativadas. Tela de configuração de Impressão do SATTeste: Cupom Fortes: Cupom Esc/POS: QRCode e Logo Lateral ativados: Cupom Fortes: Cupom Esc/POS: Leitura de Status Realizamos testes de “Leitura de Status” através das conexões de porta COM Física e COM/Emulada, veja abaixo os resultados das leituras realizadas. Status Porta COM/Emulada Porta COM Física Pronta par uso Nenhum erro Encontrado Nenhum erro Encontrado Tampa Aberta StOffline, stTampaAberta StOffline, stTampaAberta Pouco Papel Nenhum erro Encontrado Nenhum erro Encontrado Sem Papel StSemPapel, stOffline StSemPapel, stOffline Gaveta Aberta stGavetaAberta stGavetaAberta Leitura de Informações O resultado do comando para Leitura de Informações, foi retornado corretamente nos três tipos de conexões testados. COM FÍSICA COM EMULADA ETHERNET Fabricante=EPSON Firmware=10.01 ESC/POS Modelo=TM-T20X Serial=X5Z7000035 Guilhotina=1 Fabricante=EPSON Firmware=10.01 ESC/POS Modelo=TM-T20X Serial=X5Z7000035 Guilhotina=1 Fabricante=EPSON Firmware=13.02 ESC/POS Modelo=TM-T20X Serial=X5Z8000018 Guilhotina=1 TAG de Gaveta Abertura de gaveta funcionou como esperado, através da conexão com RJ11. TAGS ENVIADAS: Abertura da Gaveta padrão </abre_gaveta> Abertura da Gaveta específica <abre_gaveta>1</abre_gaveta> </corte_total> Teste de Desempenho Utilizando o demo SATTeste calculamos o tempo médio que o equipamento leva para imprimir extratos de venda, é cronometrado desde que se inicia a impressão do extrato até o corte final do mesmo, incluímos também neste relatório a quantidade de papel impresso para cada quantidade de itens. ATENÇÃO: Este teste difere dos realizados anteriormente, onde era calculado o tempo de envio da impressão do componente para o equipamento e não o tempo de impressão propriamente. Configuração de impressão do SATTeste: Tipo de conexão: USB/RAW Logo Lateral: Ativo Espaços entre linhas: 40 QRCode Lateral: Ativo Linhas à pulas: 5 Colunas: 48 Logo Lateral: Ativo Espaços entre linhas: 40 QRCode Lateral: Ativo Tabela de Resultados: NOTA: Resultados em milisegundos. Em uma comparação com o modelo TM-T20, imprimindo extratos de 100 e 200 itens, é possível observar o quanto a TM-T20X é mais rápida que sua antecessora. Ambas impressoras com a configuração “Printing Speed” em Level 13 (Fast). A nova TM-T20X foi desenvolvida com foco em performance, elevando sua velocidade de impressão. Em uma comparação com sua antecessora, é possível observar que o novo modelo diminui um pouco a nitidez da impressão, o que não atrapalha a leitura do cupom, esta diferença é perceptível quando ambas são impressas em modo Default (Padrão de Fábrica), porém se este for um fator crucial para sua operação, é possível diminuir o Printing Speed para 5 com uma densidade de impressão para 7, melhorando a nitidez. Veja como realizar esta alteração seguindo as orientações descritas em Autoteste, ou altere direto pelo software Epson TM-T20X Utility. Veja abaixo a alteração da velocidade de impressão e densidade mencionadas acima, no software utilitário Epson. Considerações Esta nova impressora da Epson se diferencia nos seguintes aspectos da TM-T20. Tamanho um pouco menor Mais leve Design moderno e atualizado Velocidade de impressão Porta serial RS-232 O Painel de indicações da impressora saiu da parte superior e foi para a parte frontal, próximo ao botão power, uma vantagem nesta linha de impressoras é a característica da fonte (Bivolt) ser embutida no equipamento, não sendo necessário uma fonte externa. Sua instalação e configuração de drivers é simples em Windows ou Linux, basta apenas instalar o driver fornecido pelo fabricante. (Lembrando que a porta de comunicação pode ser escolhida de acordo com o uso aplicado ao equipamento.) A TM-T20X é compatível com o driver da TM-T20, pois em casos onde a TM-T20 já está instalada, basta trocá-la pela TM-T20X. Tanto a porta COM FÍSICA quanto a EMULADA retornaram os “Status de Impressora” corretamente, é preciso se atentar as configurações de buffer, pois extratos com grande quantidade de itens é necessário configurar o Buffer de Envio e Espera de Buffer, caso contrário a impressão não será completa. Nos testes de impressões a impressora se comportou muito bem, imprimindo várias páginas de código, formatação de carácter, alinhamento, page mode e todos os qrcodes, na impressão de código de barras seu comportamento foi semelhante ao da TM-T20 não imprimindo os tipos std25, CODE11 e MSI. Nas impressões de acentuação foi possível observar que a impressora não suporta UTF8. Analisando os testes de velocidade de impressão, podemos ver que este equipamento se sai muito bem neste quesito levando apenas 4 segundos para imprimir um cupom de 200 itens, diferença de quase 1s se comparada com o modelo TM-T20, é importante também se atentar a quantidade de papel gasto em cada teste aplicado. A impressora TM-T20X será comercializada em 2 modelos, com conexões USB/Serial e outra versão somente Ethernet. Porém a Versão com USB/Serial só contém o cabo USB, o cabo serial não acompanha o equipamento. Outras especificações Fontes de impressão: Fonte A: 12 pts. x 24 pts. | Fonte B: 9 pts. x 17 pts. (largura x altura) Capacidade de colunas: Padrão: largura do papel 80 mm: Fonte A: 48 colunas | Fonte B: 64 colunas; Modo de 42 colunas: largura do papel 80 mm: Fonte A: 42 colunas | Fonte B: 60 colunas Tamanho dos caracteres: Fonte A: 1,25 mm x 3 mm | Fonte B: 1,88 mm x 2,13 mm (largura x altura) Conjunto de caracteres: 95 alfanumérico, 18 conjuntos de caracteres internacionais, 128 x 43 gráficos estendidos. Instalação Linux Testamos também a impressora em ambiente Linux OpenSuse Tumbleweed versão 20190810. Veja abaixo como configurar a impressora neste ambiente: 1- Abra um terminal e digite o comando a seguir: dmesg –follow 2- Conecte a impressora ao computador. É possível observar como será reconhecida a impressora, em nosso exemplo foi reconhecida como “usblp0” 3- Verifique no diretório dev se foi criado o arquivo de comunicação com a impressora. ls /dev/usb/ 4- Para testar envie um teste direcionando para a porta criada. echo “Teste de Impressão Projeto ACBr” > dev/usb/lp0 5- Basta configurar a porta /dev/usb/lp0 no componente. Veja na imagem abaixo o comandos citados acima: Anexos Cabo Serial Para quem deseja utilizar comunicação serial, segue esquema de pinagem para compra ou confecção do cabo, observe que as duas pontas são fêmeas.
    1 ponto
  47. Aqui temos um verificador de updates rodando com o Windows em todas as máquinas e notificando caso encontre uma nova atualização. (não é necessário estar em todos os PC's. Mas como isso é instalado junto com o sistema e na prática não muda muita coisa. Deixamos assim) Quando o usuário clica para instalar a atualização em uma máquina qualquer, exibe uma janela com as melhorias, novidades, correções... Após o término do download do update, é gravado em um banco de dados especifico e temporário as informações do update, como: Nome, versão/build, data, novidades, MD5. Também gravamos o executável do InstallShield nesse banco (sim, gravamos um arquivo de mais de 700MB). Conforme print abaixo. Quando termina a instalação do update e o usuário inicia o sistema, os scripts necessários para o funcionamento da nova versão/build são rodados no SQL Server. (não precisa ser o servidor) Depois do banco de dados também estar atualizado, as demais máquinas "acusam" diferentes versões entre o executável e o banco de dados, possibilitando a atualização do sistema nesses outros computadores. Nesse momento ao invés de baixar o update novamente, acessamos o banco de dados temporário onde tem o arquivo já baixado e apenas instalamos. Quando o usuário abrir o sistema, os scripts não serão rodados pois já foram. Observação 01: Não importa se mais de um computador baixar a atualização ao mesmo tempo, antes de gravar o arquivo do InstallShield no banco, é verificado se ele já não existe. Observação 02: Os updates são controlados por CNPJ, UF... Já que as vezes é necessário uma correção imediata apenas no estado X. E ainda verificamos se o cliente está apto a receber o update já que o mesmo pode ter problemas financeiros, contrato de manutenção cancelado (não dando direitos a updates de versão, apenas build dentro da versão que o cliente adquiriu). Observação 03: Depois de todos os PC's atualizados, os dados da versão nova e o arquivo da versão são apagado desse banco de dados temporário. Observação 04: Existem atualizações criticas, nesse caso não fica a critério do usuário a instalação. O próprio atualizador, se encarrega de baixar e executar a instalação. Observação 05: Após o término da atualização no PC, solicitamos o registro da licença novamente para controlarmos qual é a versão que o cliente está utilizando. (de forma online e transparente já que as licenças são controladas por um HWID e não por um serial previamente cadastrado). Aqui controlamos por MD5. Ou seja, ao executar o sistema e algum arquivo (bpl, exe, dll..) não bater com o MD5 do executável. Não será possível executar o sistema.
    1 ponto
  48. Boa tarde Pessoal, Os documentos: CT-e - Conhecimento de Transporte Eletrônico e CT-e OS - Conhecimento de Transporte Eletrônico Outros Serviços, possuem um evento chamado: Prestação do Serviço em Desacordo. O autor desse evento, ou seja, que envia ele para a SEFAZ é o tomador do serviço. Esse evento, permite ao tomador informar ao Fisco que o CT-e/CT-e OS que o relaciona esta em desacordo com a prestação do serviço. O tomador tem um prazo máximo de 45 dias a contar da data de autorização do CT-e/CT-e OS para enviar o evento. Detalhe importante: O evento tem que ser enviado para a SEFAZ do emitente do CT-e, supondo que o emitente seja de São Paulo devemos: 1. Configurar o componente para a UF do Emitente (Configuracoes.webservices.UF := 'XX'; // onde XX é a UF do Emitente do CT-e) 2. Ao alimentar o componente informar em cOrgao a UF do Emitente do CT-e. Como montar a rotina para enviar o evento: ACBrCTe1.EventoCTe.Evento.Clear; with ACBrCTe1.EventoCTe.Evento.Add do begin infEvento.nSeqEvento := 1; // Para o Evento de Prestação do Serviço em Desacordo nSeqEvento sempre = 1 InfEvento.cOrgao := UFtoCUF(xUF); // Devemos informar a UF do Emitente do CT-e infEvento.chCTe := Copy(ACBrCTe1.Conhecimentos.Items[0].CTe.infCTe.Id, 4, 44); infEvento.CNPJ := xCNPJ; // CNPJ do Tomador infEvento.dhEvento := now; infEvento.tpEvento := tePrestDesacordo; infEvento.detEvento.xObs := trim(sOBS); // minimo 15, máximo 255 caracteres end; iLote := 1; // Numero do Lote do Evento ACBrCTe1.EnviarEvento(iLote); No exemplo acima o XML do CT-e/CT-e OS foi carregado, mas não se faz necessário, caso não deseja carregar o XML basta informar a chave (44 dígitos) ao campo chCTe. No campo xObs deve constar uma observação do tomador que justifique o desacordo do serviço prestado. Em caso de dúvidas, clique aqui para criar um novo tópico.
    1 ponto
×
×
  • 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...