Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 14-02-2020 em todas as áreas

  1. O que é o ACBrPosPrinter ? O ACBrPosPrinter permite o envio de comandos em EscPos, direto para a porta da Impressora. Ele é excelente para criação de relatórios complexos em impressoras de bobina, executando tarefas como Impressão de QRCode, Cod.Barras, alinhamento, Expandido, Negrito, Invertido, etc... Você pode baixar uma apresentação mais completa do ACBrPosPrinter, abaixo: Apresentação - ACBr - Elgin - ACBrPosPrinter.pdf 724 kB · 0 downloads Se você usa o ACBr no seu Delphi, poderá encontrar o componente ACBrPosPrinter, na Palheta ACBrSerial... Para quem não usa Delphi, o ACBrPosPrinter pode ser acessado pela ACBrLibPosPrinter , uma biblioteca compartilhada (DLL/SO), compilada em 32 e 64 bits ACBrMonitorPLUS, pelo Objeto ESCPOS... veja nesse link, a tela de configuração. Com o ACBrPosPrinter, você pode criar relatórios complexos, usando até mesmo o bloco de notas, bastando para isso, conhecer a sintaxe das Tags que o mesmo suporta... (leia mais abaixo) Características do ACBrPosPrinter Usa linguagem nativa da Impressora “Esc/Pos” Suporta vários protocolos “Esc/Pos”, cobrindo praticamente todas as Impressoras do Mercado Brasileiro Permite o uso de Tags, para geração de relatórios complexos. (Fonte, Alinhamento, Cod.Barras, QRCode, Imagens) Permite acesso aos dispositivos ligados a Impressora (Gaveta, Guilhotina, Sensores de Papel/Tampa) Permite vários tipos de Porta (COM, RAW, TCP, File) (veja essa Post) Como usar o ACBrPosPrinter ? De forma muito resumida, seguem os passos necessários Verifique o protocolo suportado pela Impressora e configure em ACBrPosPrinter.Modelo Verifique a Porta disponível na Impressora e configure em ACBrPosPrinter.Porta Ative a comunicação com a Impressora, chamando: ACBrPosPrinter.Ativar Gere seu relatório usando as Tags suportadas e imprima usando: ACBrPosPrinter.Imprimir(Relatorio: String) Quais impressoras o ACBrPosPrinter suporta ? Praticamente todas, uma vez que a maioria dos equipamentos existentes no mercado, tenta mimetizar o protocolo Epson Esc/Pos... Portanto se a sua impressora não está listada na lista de Protocolos suportados, faça um teste definido: ACBrPosPrinter1.Modelo := ppEscPosEpson; Conheça também os relatórios de equipamentos homologados https://www.projetoacbr.com.br/forum/forum/63-equipamentos-testados/ Conhecendo melhor as Tags O ACBrPosPrinter, usa uma linguagem de Tags, que se assemelha as Tags de HTML. Exemplo, para imprimir um texto em expandido, podemos usar a Tag <e> <e>EXPANDIDO Existem 2 conjuntos de Tag, no ACBrPosPrinter. Tag de Linha São Tags que tem efeito imediato, e não precisam ser fechadas por uma Tag de Fechament. Após a interpretação e envio da Tag, a Impressão será afetada imediatamente, até a Tag ser desligada ou substituída por outra. Alguns comandos entretanto, são desligados automaticamente pela impressora, após uma quebra de Linha. As Tags de Alinhamento e as Tags de formatação de caracteres, são exemplos desse tipo de Tag Tags de Bloco São Tags que necessariamente precisam ser fechadas, ou seja, se não houver um inicio e fim da Tag, o ACBrPosPrinter não será capaz de interpreta-la As tags de Cod.Barras e QRCode, são exemplos desse tipo de Tag A maneira mais simples de conhecer TODAS as tags, é pedir para o próprio ACBrPosPrinter imprimi-las, usando o comando: ACBrPosPrinter1.ImprimirTags; Isso produzirá a saída do seguinte relatório: <e> - Liga Expandido </e> - Desliga Expandido <a> - Liga Altura Dupla </a> - Desliga Altura Dupla <n> - Liga Negrito </n> - Desliga Negrito <s> - Liga Sublinhado </s> - Desliga Sublinhado <c> - Liga Condensado </c> - Desliga Condensado <i> - Liga Italico </i> - Desliga Italico </fn> - Fonte Normal </fa> - Liga Fonte Tipo A (normal) </fb> - Liga Fonte Tipo B (condensada) <in> - Liga Fonte Invertida (Fundo Preto) </in> - Desliga Fonte Invertida </ae> - Liga Alinhamento a Esquerda </ce> - Liga Alinhamento ao Centro </ad> - Liga Alinhamento a Direita </linha_simples> - Imprime Linha Simples </linha_dupla> - Imprime Linha Dupla </pular_linhas> - Pula N Linhas de acordo com propriedade do componente </logo> - Imprime Logotipo já gravado na Impressora (use utilitário do fabricante) </corte> - Efetua Corte, conforme configuração de "TipoCorte" </corte_parcial> - Efetua Corte Parcial no Papel (não disponivel em alguns modelos) </corte_total> - Efetua Corte Total no papel </abre_gaveta> - Aciona a abertura da Gaveta de Dinheiro </beep> - Emite um Beep na Impressora (não disponivel em alguns modelos) </zera> - Reseta as configurações de Fonte Alinhamento.<LF>Ajusta Página de Código e Espaço entre Linhas </lf> - Pula para a própxima linha </cr> - Retorna para o Inicio da Linha </reset> - Reseta as configurações de Fonte Alinhamento <ad> - Bloco - Texto Alinhado a Direita <ae> - Bloco - Texto Alinhado a Esquerda <ce> - Bloco - Texto Centralizado <ean8> - Bloco - Cod.Barras EAN8 - 7 numeros e 1 dig.verificador <ean13> - Bloco - Cod.Barras EAN13 - 12 numeros e 1 dig.verificador <std> - Bloco - Cod.Barras "Standard 2 of 5" - apenas números, tamanho livre <inter> - Bloco - Cod.Barras "Interleaved 2 of 5" - apenas números, tamanho PAR <code11> - Bloco - Cod.Barras Code11 - apenas números, tamanho livre <code39> - Bloco - Cod.Barras Code39 - Aceita: 0..9,A..Z, ,$,%,*,+,-,.,/, tamanho livre <code93> - Bloco - Cod.Barras Code93 - Aceita: 0..9,A..Z,-,., ,$,/,+,%, tamanho livre <code128> - Bloco - Cod.Barras Code128 - Todos os caracteres ASCII, tamanho livre <upca> - Bloco - Cod.Barras UPCA - 11 numeros e 1 dig.verificador <upce> - Bloco - Cod.Barras UPCE - 11 numeros e 1 dig.verificador <codabar> - Bloco - Cod.Barras CodaBar - Aceita: 0..9,A..D,a..d,$,+,-,.,/,:, tamanho livre <msi> - Bloco - Cod.Barra MSI - Apenas números, 1 dígito verificador <code128a> - Bloco - Cod.Barras Code128 - Subtipo A <code128b> - Bloco - Cod.Barras Code128 - Subtipo B (padrão) = <code128> <code128c> - Bloco - Cod.Barras Code128 - Subtipo C (informar valores em BCD) <qrcode> - Bloco - Cod.Barras QrCode <abre_gaveta> - Bloco - Abertura de Gaveta Específica (1 ou 2) <barra_mostrar> - Bloco - Configura se deve exibir conteudo abaixo do Cod.Barras: 0-NAO; 1-SIM <barra_largura> - Bloco - Configura a Largura das Barras do Cod.Barras: 0 a 5. (0=default) <barra_altura> - Bloco - Configura a Altura do Cod.Barras: 0 a 255. (0=default) <qrcode> - Bloco - Imprime QRCode de acordo com "ConfigQRCode" <qrcode_tipo> - Bloco - Configura o Tipo de QRCode: 1,2 <qrcode_largura> - Bloco - Configura a Largura do QRCode: 1 a 16 <qrcode_error> - Bloco - Configura o Error Level do QRCode: 0 a 3 <bmp> - Bloco - Imprime Imagem BMP monocromática. Conteúdo pode ser: Path da Imagem, Stream em Base64 ou AscII Art (0 e 1) <mp> - Liga Modo de Impressão em Página (em memória) </mp> - Desliga Modo de Impressão Página (em memória) </mp_imprimir> - Comanda a Impressão da Página na memória <mp_direcao> - Bloco - Direção Texto no Modo Página: 0-Esquerda/Direta, 1-Topo/Baixo, 2-Direita/Esquerda, 3-Baixo/Topo <mp_esquerda> - Bloco - Posição Inicial Horizontal Modo Página (Esquerda) <mp_topo> - Bloco - Posição Inicial Vertical Modo Página (Topo) <mp_largura> - Bloco - Largura da Região no Modo Página <mp_altura> - Bloco - Altura da Região no Modo Página <mp_espaco> - Bloco - Espaço entre Linhas na Região no Modo Página </mp_configurar> - Envia a configuração de Coordenadas da Região e direção do Modo Página <logo_imprimir> - Bloco - Configura a Impressão ou não do Logo Tipo: 0-NÃO, 1-SIM (default = 1) <logo_kc1> - Bloco - Configura a posição KC1 do Logo a ser impresso. Ex: 0=48 <logo_kc2> - Bloco - Configura a posição KC2 do Logo a ser impresso. Ex: 1=49 <logo_fatorx> - Bloco - Configura o aumento Horizonal do Logo, de 1 a 4 <logo_fatory> - Bloco - Configura o aumento Vertical do Logo, de 1 a 4 <ignorar_tags> - Bloco - Ignora todas as Tags contidas no Bloco Printing like a Pro Para aprender de forma profissional, como usar o ACBrPosPrinter, e gerar relatórios complexos, como o Extrato do SAT ou o DANFCe da NFCe, é fundamental estudar os Fontes e exemplos disponíveis no Demo. Você pode encontrar os fontes do Demo na pasta \ACBr\Exemplos\ACBrSerial\ACBrPosPrinter Se quiser baixar e testar uma versão já compilada, use o Donwload abaixo: Configurações Úteis do ACBrPosPrinter Propriedade Descrição Exemplo Colunas Define o máximo de Caracteres, em uma linha, usando a Fonte Normal 48, 42, 40 EspacoEntreLinhas Espaço em DPI entre as Linhas. (permite economia de Papel) 0 (default), 10, 40, 50 LinhasEntreCupons Define o Pulo de Linhas para o comando </pular_linhas> 7, 5 ArqLog Arquivo de Log detalhando tradução de Tags e Dump para Porta C:\temp\PosPrinter.log PaginaDeCodigo Define a Página de Código usada pela Impressora, para a impressão correta de acentos pc850, pc852, pcUTF8 ControlePorta Se Ligado, Abre e Fecha a Porta a cada envio de Comandos para a Impressora True, False ConfigQRCode Configurações do QRCode: Tipo, Largura, ErroLevel, etc Exemplo de Tags de Formatação de Caracteres Tags enviadas Relatório Gerado </linha_dupla> FONTE NORMAL: 42 Colunas ....+....1....+....2....+....3....+....4.. <e>EXPANDIDO: 21 Colunas ....+....1....+....2. </e><c>CONDENSADO: 56 Colunas ....+....1....+....2....+....3....+....4....+....5....+. </c><n>FONTE NEGRITO</N> <in>FONTE INVERTIDA</in> <S>FONTE SUBLINHADA</s> <i>FONTE ITALICO</i> FONTE NORMAL </linha_simples> <n>LIGA NEGRITO <i>LIGA ITALICO <S>LIGA SUBLINHADA <c>LIGA CONDENSADA <e>LIGA EXPANDIDA <a>LIGA ALTURA DUPLA </fn>FONTE NORMAL </linha_simples> <e><n>NEGRITO E EXPANDIDA</n></e> <c><n>NEGRITO E CONDENSADA</n></c> <e><a>EXPANDIDA E ALT.DUPLA</a></e> </fn>FONTE NORMAL <in><e>INVERTIDA E EXPANDIDA</e></in> <in><c>INVERTIDA E CONDENSADA</c></in> <in><a>INVERTIDA E ALT.DUPLA</a></in> </fn>FONTE NORMAL </linha_simples> </FB>FONTE TIPO B <n>FONTE NEGRITO</N> <e>FONTE EXPANDIDA</e> <a>FONTE ALT.DUPLA</a> <in>FONTE INVERTIDA</in> <S>FONTE SUBLINHADA</s> <i>FONTE ITALICO</i> </FA>FONTE TIPO A </FN>FONTE NORMAL </corte_total> Reparem que no exemplo acima, o comando Itálico não funcionou. Isso é uma característica do equipamento que usamos nesse teste, (Epson Esc/Pos)... Ou seja, algumas Tags, podem não funcionar em alguns protocolos. O Demo ACBrPosPrinter é indicado para testar a compatibilidade da Impressora, com os protocolos suportados... Exemplo de Tags de Alinhamento Texto em conjunto com Formatação de Caractere Tags enviadas Relatório Gerado </zera> </linha_dupla> TEXTO NORMAL </ae>ALINHADO A ESQUERDA <bmp>C:\ACBrPosPrinter\acbrmono.bmp</bmp> 1 2 3 TESTANDO <n>FONTE NEGRITO</N> <e>FONTE EXPANDIDA</e> <a>FONTE ALT.DUPLA</a> <c>FONTE CONDENSADA</c> <in>FONTE INVERTIDA</in> <S>FONTE SUBLINHADA</s> <i>FONTE ITALICO</i> </fn></ce>ALINHADO NO CENTRO <bmp>C:\ACBrPosPrinter\acbrmono.bmp</bmp> 1 2 3 TESTANDO <n>FONTE NEGRITO</N> <e>FONTE EXPANDIDA</e> <a>FONTE ALT.DUPLA</a> <c>FONTE CONDENSADA</c> <in>FONTE INVERTIDA</in> <S>FONTE SUBLINHADA</s> <i>FONTE ITALICO</i> </fn></ad>ALINHADO A DIREITA <bmp>C:\ACBrPosPrinter\acbrmono.bmp</bmp> 1 2 3 TESTANDO <n>FONTE NEGRITO</N> <e>FONTE EXPANDIDA</e> <a>FONTE ALT.DUPLA</a> <c>FONTE CONDENSADA</c> <in>FONTE INVERTIDA</in> <S>FONTE SUBLINHADA</s> <i>FONTE ITALICO</i> </ae></fn>TEXTO NORMAL </corte_total> Exemplo de Tags de QRCode e Cod.Barras Tags enviadas Relatório Gerado </zera> </linha_dupla><qrcode_tipo>2</qrcode_tipo><qrcode_largura>4</qrcode_largura><qrcode_error>0</qrcode_error><qrcode>http://projetoacbr.com.br</qrcode> </ce><qrcode>http://www.projetoacbr.com.br/</qrcode> <barra_mostrar>0</barra_mostrar><barra_largura>0</barra_largura><barra_altura>0</barra_altura> </Linha_Simples> EAN13: 123456789012 <ean13>123456789012</ean13> </Linha_Simples> CODE128C: 3515071111111111111159 <code128c>3515071111111111111159</code128c> </corte_total> No exemplo acima, demonstramos as tags que permitem configurar algumas características do QRCode e Cod.Barras, essas tags são opcionais, e você também pode configurar o ACBrPosPrinter, pelas propriedades do componente Acionando a Guilhotina e Gaveta de dinheiro: Moleza... basta enviar as Tags... </corte> - Efetua Corte, conforme configuração de "TipoCorte" </corte_parcial> - Efetua Corte Parcial no Papel (não disponivel em alguns modelos) </corte_total> - Efetua Corte Total no papel </abre_gaveta> - Aciona a abertura da Gaveta de Dinheiro Exemplo: ACBrPosPrinter1.Imprimir('</abre_gaveta>'); Lendo as informações da Impressora Alguns tipos de Porta, permite receber informações da Impressora. Os Tipos de Portas que o ACBrPosPrinter consegue ler informações da Impressora são: Serial, USB, TCP, BTH, Hook O exemplo abaixo, imprime em um memo, o Status da Impressora procedure TFrPosPrinterTeste.bLerStatusClick(Sender: TObject); var Status: TACBrPosPrinterStatus; i: TACBrPosTipoStatus; AStr: String; begin Status := ACBrPosPrinter1.LerStatusImpressora; if Status = [] then mImp.Lines.Add('Nennhum Erro encontrado') else begin AStr := ''; For i := Low(TACBrPosTipoStatus) to High(TACBrPosTipoStatus) do begin if i in Status then AStr := AStr + GetEnumName(TypeInfo(TACBrPosTipoStatus), integer(i) )+ ', '; end; mImp.Lines.Add( AStr ); end; end; O Exemplo abaixo, retorna as informações da Impressora procedure TFrPosPrinterTeste.bLerInfoClick(Sender: TObject); begin mImp.Lines.Add( ACBrPosPrinter1.LerInfoImpressora ); end; Exemplo de retorno Como a mágica do ACBrPosPrinter funciona ? As Tags são interpretadas e traduzidas pelo ACBrPosPrinter, para a Linguagem EscPos, que a linguagem nativa do Firmware da Impressora... ou seja, o ACBrPosPrinter enviará comandos no Protocolo EscPos, para que a impressora interprete-os e faça o Trabalho.... então quando enviamos por exemplo, o comando de QRCode, abaixo: <qrcode>http://www.projetoacbr.com.br</qrcode> O ACBrPosPrinter irá traduzir isso para uma sequencia de comandos, em EscPos, que quando interpretados pela Impressora, fará com que a mesma calcule e imprima um QRCode. Então o ACBrPosPrinter não se preocupa com a parte visual da Impressão, isso é tarefa do Firmware da Impressora, que suporta a poderosa linguagem EscPos Complexo não ? melhor deixar o ACBrPosPrinter cuidar dessa tarefa e gerar o EscPos Leia Também
    6 pontos
  2. Apliquei um possível ajuste, nos fontes do SVN... Commit [r19109] Aparentemente, a única coisa que estava faltando, era chamar IOResult, após fechar o arquivo, pois esse método Zera o último Erro de I/O
    4 pontos
  3. Envie sem a IE e deu certo. Muito Obrigado. Estou trocando emails com a "GNRE - Guia Nacional de Recolhimento de Tributos Estaduais <[email protected]>", para verificar motivo do erro "197 - Erro ao recepcionar o lote". Assim que eu obter a resposta posto aqui para concluir este post. Agradeço a contribuição de todos.
    3 pontos
  4. E como faço para Gravar um Logotipo ou imprimir imagens ?
    3 pontos
  5. Nosso commiter, @Régys Silveira, gravou um excelente vídeo, sobre esse assunto... Leia também:
    3 pontos
  6. Sim. Esse é do Gabriel Frones. Ele até criou um tópico aqui no fórum veja: A diferença é que o mencionado nesse tópico está usando o nome e logotipo do Projeto ACBr e não fomos contatados sobre isso.
    2 pontos
  7. Bom galera consegui, fiz o seguinte, desinstalei ACBr, Fortes, verifiquei no Path, na Library path e no Packages retirei tudo o que referenciava ACBr e Fortes, instalei o Fortes baixado pelo Git e posteriormente o ACBr, sistema funcionando normal. Valeu a a Atenção, Obrigado!
    2 pontos
  8. Boa tarde O AcbrMonitor contempla o componente ACBrCHQ apenas para impressão de cheque, pode ver nas configurações do monitor os modelos disponíveis. Neste componente existe o método CHQ.CMC7 para leitura, mas aparentemente não funciona para todos os modelos de impressora. O ACBr possui o componente CMC7 (Não disponível no ACBrMonitor) que apenas gera o código CMC7 a partir dos dados informados. Esse componente pode funcionar em conjunto com o componente ACBr.LCB - Leitor de Código de Barras... http://svn.code.sf.net/p/acbr/code/trunk2/Exemplos/ACBrDiversos/ACBrCMC7/Lazarus Não sei exatamente como funciona a leitora de cheques, mas creio que funcione simplesmente conectado a porta serial, assim como um leitor Código de Barras de mão... Precisará apenas ler esse código?
    2 pontos
  9. Tive um problema semelhante. Houve uma correção nas funções StrToCSTICMS. 07/02/2020 -- pcnConversao -- [*] Incluido o enumerador cstVazio nas funções: StrToCSTICMS e CSTICMSToStrTagPosText. Por: Italo Jurisato Junior Antes a StrToCSTICMS retornava cst00 quando informado '' e agora retorna cstVazio. Verifique então a sua rotina de carregamento do XML.
    2 pontos
  10. CMC7 é o código de barras do cheque. Fazendo a leitura do mesmo você pode extrair as informações como banco, agencia, número da conta e do cheque... Pelo que vi estão implementadas no ACBrMonitorPLUS no objeto ECF, para as ECF que permitem a leitura do cheque, e no objeto CHQ, para as impressoras de cheque que também fazem essa leitura. https://acbr.sourceforge.io/ACBrMonitor/LeituraCMC7.html O comando CHQ.CMC7 está implementado mas aparentemente não está no manual. O ACBr possui ainda o componente ACBrCMC7 para Delphi e Lazarus que faz a extração das informações do CMC7 mas este não está implementado no ACBrMonitorPLUS.
    2 pontos
  11. Bom dia William, Muito obrigado pela contribuição, já esta no repositório.
    2 pontos
  12. Note que são dois métodos acessíveis de locais diferentes... ACBrBoleto1.GerarPDF; ou ACBrBoleto1.ListadeBoletos[0].GerarPDF(); O primeiro acessando direto pelo componente ACBrBoleto vai gerar todos os títulos em um único arquivo, o segundo vai gerar apenas o título do index da lista. obs: Está disponível apenas para Fortes Report até o momento.
    2 pontos
  13. Tive este problema também, foi somente instalar o framework .Net 4. Ficou 100%
    2 pontos
  14. Repare que o Erro é totalmente diferente... 503... e no inicio do tópico, você havia reportado um erro 12002 (Timeout).... Essas informações são importantes, para sugerir uma solução... Você definiu o SSLType, como LT_TLS12 ? (os Servidores do SEFAZ atualmente só aceitam esse protocolo) Seu Windows possui TODAS as atualizações do Windows Update ? ( A Wincrypt só suporta TLS12, se o Windows estiver completamente atualizado) Outra... aparentemente, você não configurou para usar a NFe versão 4.0
    2 pontos
  15. ok Daniel, farei mais uns testes esse fim de semana e na segundona reporto como está tá ok. Obrigado pessoal. Abraço.
    1 ponto
  16. Você pode tentar usar um timeout maior. O "aceitável" segundo as NT é 30s.
    1 ponto
  17. Passando para dizer que realmente eram as DLLs Mais uma vez obrigado Daniel.
    1 ponto
  18. Boa tarde Com o próprio ACBrMonitor é possível realizar testes, passando os comandos na pasta Monitorada pelo ACBrMonitor: https://acbr.sourceforge.io/ACBrMonitor/SATImprimirExtratoVenda.html Mas quanto a integração com a aplicação é necessário entrar com o suporte técnico do Software...
    1 ponto
  19. Luiz, Por favor atualize os fontes, reinstale a suíte ACBr e faça novos testes.
    1 ponto
  20. as dlls vem junto do download da lib, na pasta dep, lá sempre estará a ultima versão das dependências da dll.
    1 ponto
  21. Até onde sabemos não tem nenhum problema nessa propriedade. Por favor teste com o aplicativo de exemplo. Caso continue tendo problemas, por favor, anexe o xml para que possamos efetuar testes.
    1 ponto
  22. 1 ponto
  23. Obrigado Daniel, Faz sentido serem as DLLs. Assim que o pessoal do suporte testar comunico se funcionou.
    1 ponto
  24. O próprio SAT que precisa rodar esse comando, e atualizar o certificado dele... Geralmente ele faz essa verificação, na inicialização... mas também pode fazer de tempos em tempos, desde que conectado a internet Mas eu acho que a SEFAZ não está respondendo corretamente às solicitações de atualização de certificado... Em todo caso, não há muito que possa ser feito, do lado da Sw.House, a não ser deixar o SAT plugado na rede Importante ressaltar, que essa atualização, vale apenas para os SATs de Desenvolvimento (SDK)
    1 ponto
  25. Tu tem que atualizar seu Fortes report no Git. caso tenha feito um fork para o seu tem que atualizar o fork e depois o micro local e dai rodar o instalador dele novamente e depois o instalador do ACBr
    1 ponto
  26. Obrigado pela Dica.... Eu estava passando o valor para a função desta forma: Icms.CST := StrToCSTICMS(ok, intToStr(nCodST)); ou seja.. o valor passado era "0" e a função espera um numero com 2 caracteres...
    1 ponto
  27. Nós nos baseamos apenas no CFOP, talvez exista mas nunca me deparei com esta questão de um produto gerar crédito de ICMS e outro não estando no mesmo CFOP.
    1 ponto
  28. Daniel, obrigado pela resposta, mas, é nesse evento que carrego a chave. E eu mencionei que é apenas em um cliente que isso ocorre. Mas se não presenciou e esse tipo de problema, estou sem saída a não ser dizer que precisa formatar, o estranho que no executável anterior, os códigos para carregar a chave são os mesmos e funciona. Mas obrigado por tentar uma solução.
    1 ponto
  29. Como estou com certa urgência desenvolvi de forma bem simples, mas já me atendeu. Criei a função limparRegistros no UACBrLCDPR. Segue em anexo os arquivos alterados. Bloco0040.pasUACBrLCDPR.pasBlocoQ.pasBloco0050.pas
    1 ponto
  30. Veja o Demo na pasta Exemplos\ACBrDFe
    1 ponto
  31. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
    1 ponto
  32. Italo, obrigado pela ajuda! Sempre trabalhamos com nossos clientes a possibilidade de comprar o certificado A1, mas grande parte de nossos clientes são pequenos transportadores, as vezes tem só o proprio dono na empresa, e acaba ficando inviável pra ele comprar o certificado A1, pois ele já tem o A3, devido sugestão do contaodor dele. De qualquer forma, ontem conseguimos resolver o problema, e pior que foi com uma solução muito simples. Simplesmente fomos no Delphi 10.3.2 que a versão que migramos nossos produtos, e criamos um projeto novo, adicionei as units nesse novo projeto e pronto, problema resolvido. No processo de migração, nós apenas abrirmos o DPR da versão antiga na versão nova e mandamos compilar. Confesso que não sei exatamente o que solucionou o problema, mas acredito que fazendo isso, novos pacotes foram incluidos no binários do executável, pois ele ficou maior. De qualquer forma obrigado pela atenção.
    1 ponto
  33. 1 ponto
  34. Daniel vou ver com mais detalhes e posto aqui ok Ricardo obrigado pela dica vou ver e qualquer coisa eu posto aqui blz. Obrigado pela atenção de todos.
    1 ponto
  35. Bom dia, Favor entrar em contato com a prefeitura ou com o provedor e solicitar as URLs de homologação e de produção, pois o que tudo indica as URLs mudaram ou a cidade contratou outro provedor.
    1 ponto
  36. bom dia obrigado pela dica.
    1 ponto
  37. Bom dia Wallace, Então use o programa exemplo do componente ACBrNFSe para ver se vai ocorrer o mesmo erro.
    1 ponto
  38. Bom dia Milton, Esse certificado não esta vencido? É um e-CPF ou e-CNPJ?
    1 ponto
  39. Correto, isso é uma boa prática Isso não é legal.. Pode confundir o ACBrSAT com os metodos da DLL que já foram carregados na memória... O Inicializar do ACBrSAT apenas carrega a DLL na memória, ele não tem relação direta com o SAT Verifique esse relatório em Anexo, devemos publica-lo em breve Relatorio.pdf
    1 ponto
  40. Verdade, bem lembrado... vou por o link aqui para baixar o harbour completo: https://we.tl/t-GGbcE0Kwrl
    1 ponto
  41. O que é o ACBrPosPrinter ? O ACBrPosPrinter permite o envio de comandos em EscPos, direto para a porta da Impressora. Ele é excelente para criação de relatórios complexos em impressoras de bobina, executando tarefas como Impressão de QRCode, Cod.Barras, alinhamento, Expandido, Negrito, Invertido, etc... Você pode baixar uma apresentação mais completa do ACBrPosPrinter, abaixo: Apresentação - ACBr - Elgin - ACBrPosPrinter.pdf Se você usa o ACBr no seu Delphi, poderá encontrar o componente ACBrPosPrinter, na Palheta ACBrSerial... Para quem não usa Delphi, o ACBrPosPrinter pode ser acessado pela ACBrLibPosPrinter , uma biblioteca compartilhada (DLL/SO), compilada em 32 e 64 bits ACBrMonitorPLUS, pelo Objeto ESCPOS... veja nesse link, a tela de configuração. Quais os tipos de portas ? Você deve configurar a Porta da Impressora no componente, e isso é feito através da propriedade "Porta". Dependendo do valor definido nessa propriedade, o ACBrPosPrinter, irá definir a forma de comunicação com a Impressora. Veja abaixo os tipos permitidos e exemplos de uso. Porta Serial, COMxx Útil se a sua impressora tem uma Porta Serial, ou ainda se o Driver USB da Impressora, cria uma COM Virtual no seu Windows. Apenas informa o nome da porta, Exemplos Windows: COM1, COM2, COM17 Exemplos Linux: /dev/ttyS0 /dev/ttyUSB0 Para lista todas as portas Seriais, disponíveis na máquina, use o método abaixo: procedure AcharPortasSeriais(const AStringList: TStrings; UltimaPorta: Integer = 64 ); Exemplo: cbxPorta.Items.Clear; ACBrPosPrinter1.Device.AcharPortasSeriais( cbxPorta.Items ); A porta Serial, PERMITE a leitura de informações , usando os métodos LerStatusImpressora, e LerInfoImpressora Porta USB SIM !!! O ACBrPosPrinter, tem suporte Nativo a USB (apenas no Windows), sem precisar da DLLs dos fabricantes, na maioria dos casos, basta definir "USB" na propriedade Porta. saiba mais nesse tópico: Para lista todas as portas USB, disponíveis na máquina, use o método abaixo: procedure AcharPortasUSB(const AStringList: TStrings); Exemplo: ACBrPosPrinter1.Device.AcharPortasUSB( cbxPorta.Items ); A porta USB, PERMITE a leitura de informações , usando os métodos LerStatusImpressora, e LerInfoImpressora Porta TCP/IP Se a sua impressora tem uma porta Ethernet, então ela é um Servidor de Impressão, e o ACBrPosPrinter pode se conectar a ela, diretamente usando o protocolo TCP/IP. Ou seja, basta plugar a sua impressora em algum cabo RJ45 da sua Rede, configurar o IP nela, e do ACBrPosPrinter na propriedade Porta, usar a sintaxe: "TCP:IP_MAQUINA:Porta". Geralmente esses equipamentos abrem a porta 9100, então ela pode ser omitida... Exemplos: TCP:192.168.0.20:9100 -> Conecta na Impressora que foi previamente configurada para o IP 192.168.0.20, usando a porta 9100 TCP:192.168.0.20 -> tem o mesmo efeito do comando anterior, pois usa a porta padrão (9100) A porta TCP, PERMITE a leitura de informações , usando os métodos LerStatusImpressora, e LerInfoImpressora Impressoras BlueTooth Com a migração dos fontes do ACBr para Android, foi adicionado o suporte a portas BlueTooth, entretanto esse suporte está disponível apenas para Delphi XE8 ou superior, e em Windows ou Android. Os equipamentos devem ser previamente pareados, para que eles sejam listados e acessíveis Nota: Para acessar dispositivos BlueTooth no Android é necessário que a aplicação solicite permissões, BLUETOOTH, BLUETOOTH_ADMIN e BLUETOOTH_PRIVILEGED ao Sistema Operacional... Você deverá usar a sintaxe: "BTH:Nome da Impressora" Exemplos: BTH:RM22 -> Conecta na Impressora chamada RM22, que foi previamente pareada BTH -> Tenta conectar na primeira impressora BlueTooth pareada encontrada Para lista todas as impressoras BlueTooth, disponíveis na máquina/dispositivo, use o método abaixo: procedure AcharPortasBlueTooth(const AStringList: TStrings); Exemplo: {$IfDef HAS_BLUETOOTH} ACBrPosPrinter1.Device.AcharPortasBlueTooth( cbxPorta.Items ); {$EndIf} A porta BTH, PERMITE a leitura de informações , usando os métodos LerStatusImpressora, e LerInfoImpressora RAW (Spooler) Se a sua impressora está instalada e é listada no Windows, ou no Linux/CUPS... então o ACBrPosPrinter, pode acessar ela, através do Spool. O método RAW, instrui o Spool a não interpretar os comandos enviados, ou seja, ele usará o Spool apenas para fazer um Túnel até a impressora. Você deverá usar a sintaxe: "RAW:Nome da Impressora" Exemplo Windows RAW:Bematech MP4200 -> Conecta na Impressora previamente instalada no Windows, e listada com o nome "Bematech MP4200" Exemplo Linux RAW:bema1 -> Conecta na Impressora previamente instalada no CUPS, e listada com o nome "bema1" Para listar todas as portas Instaladas no Spool, use o método abaixo: procedure AcharPortasRAW(const AStringList: TStrings); Exemplo: ACBrPosPrinter1.Device.AcharPortasRAW( cbxPorta.Items ); A porta RAW, NÃO permite a leitura de informações Arquivo TXT Pode ser útil para alguma situação, capturar a saída de impressão em um arquivo. Como por exemplo, Debug, estudo do EscPos, ou ainda encaminhar o arquivo para a Impressão por uma rede, através de um Script. Para isso, apenas defina o nome do arquivo que você quer criar, em "Porta" Exemplo Windows c:\temp\printer.txt -> Irá desviar toda a impressão para o arquivo "c:\temp\printer.txt" Exemplo Linux /tmp/printer.txt - A porta Arquivo, obviamente NÃO permite a leitura de informações Porta em Rede (UNC) Se a impressora está Instalado no Windows, e foi compartilhada na Rede, e portanto disponibiliza um Nome de Compartilhamento, então você pode usar a sintaxe "\\Nome_ou_IP_maquina\Compartilhamento". O ACBrPosPrinter usará a mesma classe de impressão em Arquivo (descrita acima), para suportar as portas UNC Exemplo: \\127.0.0.1\EPSON -> Irá acessar a impressora cujo nome de compartilhamento é "EPSON", e está conectada a máquina local \\192.168.0.10\EPSON -> o mesmo que acima, porém acessa a impressora da máquina cujo IP é "192.168.0.10" A conexão por Porta UNC, NÃO permite a leitura de informações Hook, DLLs A Impressão por "hook" foi criada antes do ACBrPosPriniter, ter suporte nativo a USB, portanto hoje está obsoleta. O truque era usar a DLL dos Fabricantes da Impressora, para acessar o equipamento pela USB. Ou seja, o ACBrPosPrinter faz a carga da DLL do Fabricante, e utiliza a mesma, para enviar e ler comandos da USB. A Sintaxe é: "DLL:MARCA"... Você pode saber mais, no tópico abaixo: Disponível apenas no Windows, e apenas implementado para Impressoras da Epson e Elgin... Exemplos: DLL:EPSON DLL:ELGIN Nota: antigamente a sintaxe "USB:MARCA", poderia ser usada para portas Hook, mas atualmente o prefixo "USB", é reservado apenas para as portas de acesso nativo a USB (conforme descrito no inicio do tópico) A porta Hook, DLL, PERMITE a leitura de informações , usando os métodos LerStatusImpressora, e LerInfoImpressora Portas Paralelas (LPT) Uso legado, pois atualmente poucos equipamentos possuem portas Paralelas ou LPT. Internamente, o ACBrPosPrinter usará a mesma classe de impressão em Arquivo (descrita acima), para suportar as portas LPT Exemplo Windows LPT1, LPT2 Exemplo Linux /dev/lp0, /dev/lp1 A porta LPT, NÃO permite a leitura de informações
    1 ponto
  42. Boa tarde Flávio, Os novos campos e grupos só vão ser aceitos pela SEFAZ a partir de 09/03/2020 em ambiente de homologação. Se tentar antes vai ocorrer erros.
    1 ponto
  43. Segue em anexo o arquivo: "pcnConversaoNFe.pas" com as alterações supramencionada... pcnConversaoNFe.pas
    1 ponto
  44. Tópico movido para a área do SAC, para que o SLA de respostas seja considerado
    1 ponto
  45. Olá pessoal! Em primeiro lugar, peço desculpas por reviver um tópico tão velho. Ontem nós tivemos que atualizar o ACBr aqui na empresa e eu acompanhei um pouco do processo. Fazia tempo que eu não acompanhava, pois eu estou num time web já tem muito tempo. O que mais me chamou a atenção é o projeto ainda estar no svn nos dias de hoje. Vocês pensam em fazer essa migração? Existe algo no radar? Minhas impressões de 2012 ainda são válidas para os dias de hoje. Aliás, minhas convicções estão ainda mais fortes que o projeto ACBr só teria a ganhar. Um abraço Obs: antes que alguém me responda que eu posso usar git para acessar o svn: eu já sei. Faço isso desde 2011.
    1 ponto
  46. Conforme definido pelo Ajuste Sinief 23/19, os contribuintes emitentes do CT-e no transporte intermunicipal de cargas e na hipótese de contribuinte emitente de NF-e no transporte intermunicipal de bens ou mercadorias acobertadas por NF-e, realizadas em veículos próprios ou arrendados, ou mediante contratação de transportador autônomo de cargas passam estar obrigados a emitir o MDFe a partir de 6 de abril de 2020. Obs: Conforme §3, para o Estado de São Paulo, o termo inicial de obrigatoriedade para emissão de MDF-e nas hipóteses previstas acima será o estabelecido em sua legislação estadual.”. Fonte: https://www.confaz.fazenda.gov.br/legislacao/ajustes/2019/ajuste-sinief-23-19
    1 ponto
  47. Com xsMsXML também ocorria o erro "schema inválido"? Ou apenas os alertas do tamanho mínimo do nItemPed? Apesar do layout da NFe definir o tamanho do nItemPed como 6 algarismos fixos, os schemas permitem entre 1 e 6 então não deve haver falha na validação. Os alertas são gerados pelo ACBr, o fato de só mostrar o alerta a partir do segundo dígito talvez precise ser verificado. Vai ocorrer com qualquer nota sim, desde que configurado como xsLibXML2. Já tem tópicos sobre isso no fórum. Fazendo o mapeamento da unidade de rede, ou usando xsMsXML, o problema não ocorre.
    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.