Jump to content

Promoção 25 Anos de Delphi
25% de desconto em todas as versões

Saiba mais

Ganhe o curso Tributação NF-e para Desenvolvedores

Assinando o SAC Anual este mês
botao.png

 

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Leaderboard


Popular Content

Showing content with the highest reputation since 01/17/2020 in all areas

  1. 13 points
    Configurações do ACBrMail para os principais serviços de emails do mercado outlook smtp: smtp.office365.com porta: 587 tsl : true; ssl : false; hotmail smtp: smtp.live.com porta: 587 tsl : true; ssl : false; gmail smtp: smtp.gmail.com porta: 465 tsl : true; ssl : true; ativar apps menos seguros no link https://myaccount.google.com/lesssecureapps obs.: autenticação por dois fatores, desativa automaticamente a permissão de apps menos seguros. yahoo smtp: smtp.mail.yahoo.com.br porta: 587 tsl : true; ssl : false; password: não use a senha padrão da conta, precisará criar uma exclusiva para sua aplicação. siga os passos abaixo: criada pelo link https://login.yahoo.com/account/security#less-secure-apps e depois 'Gerenciar Senha de app', selecione 'Outro app' ,der um nome ao app, e clique gerar senha.; sendgrid smtp : smtp.sendgrid.net usuario: nome da conta senha : senha da conta tsl : true; ssl : false; porta: 465 Autor: @Aurino SparkPost From := '[email protected]'; FromName := 'Nome do Remetente'; Host := 'smtp.sparkpostmail.com'; Username := 'SMTP_Injection'; Password := '8a93c971789791b0102d889dd8f5f9b40507288d'; // Sua API Key Port := '587'; SetTLS := True; SetSSL := False;
  2. 8 points
    Em comemoração aos 25 anos de existência do Delphi, fomos convidados pela Embarcadero para a gravação de um depoimento, contando um pouco sobre a nossa experiência com o Delphi Aproveite e atualize o seu Delphi para nova versão, Delphi Rio 10.3.3, com 25% de desconto... Confira a promoçãol
  3. 8 points
    Olá Pessoal, A lista de cidades que é possível emitir NFS-e através do componente ACBrNFSe já passa de 1.100, sendo não vou listar aqui nesse tópico. Quem desejar saber se a cidade XYZ consta dessa lista peço que abra o arquivo Cidades.ini que se encontra na pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\ArqINI Veja um exemplo abaixo: [3503208] Nome=Araraquara UF=SP Provedor=GINFES Na primeira linha temos o código IBGE, depois o Nome, UF e por fim qual é o provedor, ou seja, empresa contratada por licitação pela prefeitura. Os contratos por licitação tem prazos de termino definido e não poder ser renovados automaticamente. Sendo assim quando o contrato termina uma nova licitação é feita com varias empresas e pode ocorrer como ocorreu em diversas cidades de uma outra empresa ganhar. Algumas cidades tem o seu próprio sistema. O componente hoje reconhece por volta de 113 provedores (empresas que implementam nas cidades os seus webservices para recepcionar as notas). Dos quais 16 possuem um layout próprio, os demais, ou seja, 97 se dividem metade se utilizam da versão 1 do layout da ABRASF e a outra metade se utilizam da versão 2. Na mesma pasta mencionada acima que contem o arquivo Cidades.ini, vocês encontram os arquivos INI de cada um desses provedores. Peço a todos que não deixem de ler os artigos abaixo: Ao enviar um RPS ou Lote posso usar qualquer método de envio? Além do aplicativo o que mais devo manter atualizado na maquina do meu cliente?
  4. 7 points
    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
  5. 7 points
    O calendário do ACBr contempla: Datas importantes do SEFAZ Eventos relacionados a desenvolvimento Eventos sobre automação comercial Datas nacionais, como feriados e dias memoriais. O processo de sincronização é bem simples, podendo variar de acordo com o calendário que você usar. Passo 1: Encontre sua Webcal do calendário. 1 Acesse a página do calendário do Projeto ACBr. 2 Na página, Clique no ícone que se encontra na frente de "Todos Calendários" 3 Na aba de opções que foi aberta, clique com o BOTÃO DIREITO em "Assinar o feed iCalendar" e selecione a opção para abrir o link em nova aba ou janela. (Observações: "Baixar a exportação" cria um arquivo com os eventos cadastrados até o momento, mas não irá sincronizar futuras alterações. Se você clicar com o botão esquerdo em "Assinar o Feed", o windows irá abrir uma tela para selecionar o aplicativo. Essa opção pode funcionar somente se você tiver algum calendário / Aplicativo de e-mail instalado.) 4 Na aba ou janela aberta, copie o endereço da webcal que está no navegador. Com isso, nós concluimos a primeira etapa. Agora vamos colocar este endereço em seu calendário de preferência. Passo 2: Cadastre a Webcal obtida no calendário de sua preferência. Listamos como realizar a integração em alguns dos calendário mais populares. Caso o seu calendário não esteja na lista, tente verificar nas configurações de agendas se é permitida a sincronização via URL. Aprenda abaixo como configurar nas plataformas: Google Agenda, Outlook e Thunderbird. Se você usar Goole Agenda 1 Faça o logon em sua conta, na listagem lateral de agendas, encontre a seção "Outras Agendas" e clique em "+ "(Adicionar outras agendas). 2 Selecione "Do URL". 3 Insira a URL da webcal do Calendário ACBr. 4 Depois de adicionar sua agenda, selecione o botão de opções. Logo em seguida, clique em configurações. 5 Altere o campo Nome para "Calendário do Projeto ACBr" ou algum nome de sua preferência. Pronto! Sua sincronização está configurada. Obs: Você poderá personalizar a cor, notificações e muito mais sobre seu calendário. Se você usar o Outlook 1 Após realizar logon em sua conta, clique na opção "Adicionar calendário", localizada no menu lateral esquerdo. 2 Selecione a opção "Assinar da Web" na janela de Adicionar calendário. Logo em seguida, insira a Webcal do Calendário ACBr. 3 Insira o nome "Calendário do Projeto ACBr", ou outro de sua preferência, e personalize cores e ícones para identificar nosso calendário em sua agenda. 4 Feito isso, clique em importar, e pronto! Sua sincronização está configurada. Se você usar o Thunderbird 1 Abra o aplicativo do Mozilla Thunderbird e faça logon. 2 Na aba lateral direita, selecione o e-mail que deseja incluir a sincronização para abrir as configurações. 3 Na seção "Contas", clique em "Criar nova agenda". 4 Selecione "Na rede" nas configurações e clique em avançar. 5 Na tela seguinte, selecione Formato: iCalendar (ICS) e indique a URL da Webcal em Local. Obs: Selecione a opção Suporte off-line para poder visualizar a agenda mesmo sem conexão com a internet. 6 Por fim, chegou a hora de personalizar o calendário. Insira o nome "Calendário do Projeto ACBr" o outro de sua preferência. 7 Após feito, clique em avançar e pronto! Sua sincronização foi configurada. Ficou com alguma dúvida ou deseja acrescentar alguma informação? Por favor, Envie-me uma mensagem!
  6. 6 points
    Planejamos trazer para o Trunk, nas próximas semanas...
  7. 6 points
    O Projeto ACBr está de roupa nova em seu portal! Confira. Veja o novo portal O novo tema, além de ser completamente responsivo e leve, promete tornar informações importantes mais acessíveis. Seu Mega Menu lateral, permite facilmente navegar entre todas as seções do novo site. Sobre Esta área agrupa todas as informações sobre o que é o Projeto ACBr. Já tentou explicar o que é ACBr para alguém (que não seja desenvolvedor) sem muito sucesso? Talvez esta página possa ajudar. Com o enfoque em educar novos usuários, também publicamos as perguntas frequentes sobre o funcionamento do ACBr. Soluções Organizamos de uma forma simples as informações sobre como usar nossos componentes, também facilitando o acesso às vídeo-aulas correspondentes à cada modalidade: Fontes, ACBrMonitor ou ACBrLib. Suporte Profissional SAC Como todos sabemos, não existe almoço grátis (mas fontes, sim). O Projeto ACBr hoje é uma empresa que conta com uma equipe de especialistas dedicados à prestação de suportes e manutenção dos componentes, e oferece cada vez mais facilidades para seus membros SAC ACBr. Se você ainda não conhece o nosso SAC, esse é o momento. Comunidade Fazer parte de uma comunidade significa não estar sozinho. Listamos os benefícios de ser um membro do Projeto ACBr, e também o que temos a oferecer além de nossas soluções. Você pode encontrar um link para o site do Dia do ACBr (Ainda em construção) nesta seção. Primeiros passos Uma área destinada aos novos membros, que por meio de um passo-a-passo simples, podem aprender a usar corretamente o fórum. Vale lembrar que ainda estamos migrando alguns conteúdos do antigo portal para o novo, e pretendemos inserir mais informações em breve. IMPORTANTE: Conte-nos como foi sua experiência com o novo portal e possíveis melhorias. Avalie o novo portal Sua opinião vale muito para nós.
  8. 6 points
    DF-e: Desativação imediata do protocolo SSL, e novas datas de desativação dos protocolos TLS 1.0 e TLS 1.1 A Receita Estadual do RS comunica que irá postergar para data futura a desativação dos protocolos TLS 1.0 e TLS 1.1. Essa postergação visa oportunizar um período maior de testes de comunicação com os ambientes de autorização de Documentos Fiscais Eletrônicos (DF-e) da Sefaz-Virtual do Rio Grande do Sul (SVRS), atendendo às solicitações das empresas. Nova data de desativação destes protocolos será oportunamente comunicada. Reforça, contudo, que a desativação do protocolo SSL segue o cronograma original, estando marcada para o próximo dia 21/01/2020, conforme já divulgado.
  9. 6 points
    Olá Pessoal, Já se encontra em nossa biblioteca a NT 2020/001 da NF-e segue abaixo um resumo sobre ela. Resumo: Este documento substituirá as Notas Técnicas(NT) 2012.002 e 2013.001 e tem por objetivo unificar as informações referentes à manifestação do destinatário na Nota Fiscal eletrônica (NF-e) modelo 55 e estender o serviço para ser usado também por Pessoa Física (CPF). A manifestação está prevista na cláusula décima-quinta-A do Ajuste SINIEF 7/2005, a qual permite que o destinatário da Nota Fiscal eletrônica confirme a sua participação na operação acobertada pela Nota Fiscal eletrônica emitida para o seu CNPJ/CPF, através dos eventos tratados a seguir. Conclusão: Não existe nenhuma implementação a ser feita no componente, simplesmente agora a pessoa física que possui um e-CPF (Certificado Digital) poderá realizar a Manifestação do Destinatário, ou seja, enviar para a SEFAZ um dos 4 tipos de eventos que engloba a Manifestação do Destinatário. O componente já esta apto a gerar o XML do respectivo evento com o CPF do destinatário em vez do CNPJ.
  10. 5 points
    Olá pessoal, Foi removido dos componentes ACBrBPe, ACBrCTe, ACBrMDFe, ACBrNFe e ACBrNF3e das units que geram o XML a propriedade AjustarTagNro. Essa propriedade foi acrescentada porque ao usar o OpenSSL, os campos string com menos de 3 caracteres geravam erros de validação. A motivação para a remoção dessa propriedade foi: Os componentes listados acima ao gerar o XML se o conteúdo do campo “nro” tiver apenas 1 ou 2 dígitos eram ajustados para 3 dígitos, consequentemente causando problemas na cidade de Barretos/SP, pois nessa cidade existem imóveis diferentes com numeração 10 e 010 (zero a esquerda) na mesma rua. Por incrível que pareça é zero mesmo e não a letra "O". Caso alguém venha ter problemas de validação com o campo nro, favor tratar da seguinte forma: ao alimentar o campo nro: nro := ExecutarAjusteTagNro(True, cNumero); Onde: cNumero é uma variável da sua aplicação que contem o numero do imóvel situado no logradouro. Devemos incluir em uses a unit pcnAuxiliar. A função ExecutarAjusteTagNro vai realizar o ajuste necessário para que o campo nro fique com no mínimo 3 dígitos.
  11. 5 points
    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, 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 no Windows" Exemplos: RAW:Bematech MP4200 -> Conecta na Impressora previamente instalada no Windows, e lista com o nome "Bematech MP4200" Para lista todas as portas Instaladas no Windows, use o método abaixo: procedure AcharPortasRAW(const AStringList: TStrings); Exemplo: {$IfDef MS_WINDOWS} ACBrPosPrinter1.Device.AcharPortasRAW( cbxPorta.Items ); {$EndIf} 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
  12. 5 points
    A Embarcadero criou um site muito bacana, em comemoração aos 25 anos do Delphi https://delphi.embarcadero.com/
  13. 5 points
    ATENÇÃO! PARADAS PROGRAMADAS NOS AMBIENTES DE AUTORIZAÇÃO DE DF-e DA SVRS EM 09/02/2020 E 16/02/2020 Nesses dias serão executadas paradas programadas para manutenção emergencial dos ambientes de autorização de Documentos Fiscais Eletrônicos (DF-e) da SEFAZ Virtual do Rio Grande do Sul (SVRS): - Em 09-fev-2020, a partir das 07h 00min: CT-e, MDF-e, BP-e e NF3e - Em 16-fev-2020, a partir das 07h 00min: NF-e e NFC-e Os trabalhos nos dias citados terão duração máxima prevista de uma hora, incluindo um tempo máximo de 20 minutos de indisponibilidade ao longo desta hora. Durante os trabalhos serão ativadas a Sefaz Virtual de Contingência do Ambiente Nacional, para a autorização de NF-e, e a Sefaz Virtual de Contingência de São Paulo, para a autorização de CT-e. BP-e, NFC-e, MDF-e e NF3e deverão ser emitidos na modalidade de contingência off-line. ONE ficará indisponível nesses períodos.
  14. 5 points
    Olá pessoal, Muitos estão preocupados com o CIOT, pois o prazo para que essa informação passe a constar no MDF-e esta ficando curto. Mas a cada dia que passa surgem novidades. O texto abaixo foi postado em um dos tópicos pelo nosso amigo Marcel Henrique Scandolara. AUDIÊNCIA COM ANTT 30/01/2020 Presentes: José Amaral, Diretor Substituto; Tito Lívio, Gerente. CNI, ANUT, VIVALACTEOS, ABITRIGO - Alternativa ao CIOT: a ANTT informou que tem realizado entendimentos com o fisco desde o final do ano passado no sentido de integrar seus sistemas; caso sejam bem sucedidos, o manifesto de carga pode ser utilizado para várias obrigações assessórias da agência, inclusive o CIOT. Vamos marcar audiência com o fisco para reforçar iniciativa da ANTT. Até lá, ela continuará o processo de implantação do CIOT. - Prazo de adiamento do CIOT: será restabelecido o prazo inicial de 90 dias, ou seja, 45 dias a contar do dia 31/01; a resolução foi publicada em 17 de dezembro, dando prazo de 30 dias para entrar em vigência, concluído em 16 de janeiro (30 dias); adiamento de 60 dias a partir de 16/1 resulta em 45 dias a partir de amanhã. - A ANTT está trabalhando com o fisco para viabilizar seu sistema em 240 dias, para disponibilizar às empresas. - A ANTT entende que o CIOT cai se a integralidade da lei do frete for considerada inconstitucional; caso a tabela seja a declarada referência de preço, sem derrubar a lei, o jurídico terá que estudar a situação. Por essa informação a data de inicio de obrigatoriedade passa a ser 16/03/2020. Existe uma alteração no layout do MDF-e bem como um novo evento ( Pagamento da operação de transporte ) com datas previstas para 09/03/2020 (ambiente de homologação) e 06/04/2020 (ambiente de produção). Não sei precisar a vocês se esse evento e mais as alterações no layout do MDF-e contempla 100% o que a ANTT deseja. Temos também um pedido de suspenção em anexo, postado em um outro tópico pelo nosso amigo Leandro Miler Santana. Suspensao Obrigacao CIOT.pdf
  15. 5 points
    Acaba de ser publicada a Resolução 5869 de 30/01/2020 que entrara em vigor dentro de 60 dias a contar do dia 31/01/2020. http://www.in.gov.br/en/web/dou/-/resolucao-n-5.869-de-30-de-janeiro-de-2020-240822860 Informação compartilha pelo nosso amigo Marcel Henrique Scandolara.
  16. 5 points
    ATENÇÃO – PARADA PROGRAMADA NOS AMBIENTES DE AUTORIZAÇÃO DE DF-e DA SVRS NO DIA 02-FEV-2020 Os ambientes de autorização de Nota Fiscal eletrônica (NF-e, mod. 55) da SEFAZ-Virtual do Rio Grande do Sul (SVRS) e de Nota Fiscal eletrônica a Consumidor (NFC-e, mod. 65) do RS (SEFAZ-RS) serão submetidos a manutenção programada na manhã do domingo dia 02/02/2020. A manutenção será executada entre as 07:00 e as 08:00 da manhã, horário durante o qual poderá haver indisponibilidades com duração máxima de 15 minutos.
  17. 5 points
    Olá pessoal, Foi publica a NT 2020/001 do MDF-e e ela já se encontra em nossa biblioteca. Resumo: O projeto MDF-e Integrado tem como objetivo a disponibilização, pelas Secretarias de Fazenda, de uma infraestrutura digital de documentos, legislações e processos voltados para a simplificação da emissão de documentos fiscais eletrônicos de transporte e integração, dentro de um ecossistema digital, que permite às Empresas Transportadoras de Cargas (ETC), Transportadores Autônomos de Cargas (TAC), ANTT, Administradores de Meios de Pagamentos e as próprias Secretarias de Fazenda, o aperfeiçoamento dos seus processos e compartilhamento de informações entre todos estes atores, a partir de um único documento e infraestrutura já consolidada e em uso por todos os envolvidos. Diante desse desafio, as Secretarias de Fazenda e o ENCAT, vêm nos últimos meses e em parceria com os diversos atores intervenientes, adotando uma série de ações estruturantes voltadas para superação das dificuldades atuais enfrentadas pelos órgãos de controle e geração de um ambiente operacional mais eficiente e competitivo, a exemplo das ações descritas abaixo: Aprovação de legislação nacional que normatizou o compartilhamento dos MDF-e dos 27 estados com os órgãos reguladores de transportes; Aprovação de legislação nacional que normatizou a obrigatoriedade de emissão do MDF-e em todas as operações de transporte, sejam elas intermunicipais ou interestaduais; Implantação da plataforma digital e registro de eventos eletrônicos que permitem ao transportador confirmar a entrega da mercadoria ao destinatário, possibilitando assim, a redução do prazo para o recebimento do frete por parte do caminhoneiro; Aprovação de legislação criando a Nota Fiscal Fácil (NFF), que permitirá aos contribuintes que operam com vendas de mercadorias e transportadores autônomos emitirem seus respectivos documentos fiscais de forma simplificada e a partir do seu próprio smartphone, conforme legislação publicada no D.O.U. do dia 19/12/2019 (Ajuste SINIEF No. 37 de 13 de dezembro de 2019); Publicação dessa NT, que estrutura o MDF-e de forma a possibilitar, entre outros benefícios: Geração automática do CIOT, pelo Sistema MDF-e, tanto para as modalidades TAC-Independente como TAC-Agregado; Automação do processo de fiscalização do Piso Mínimo do Frete (Tabela do Frete), nos termos da Resolução ANTT nº 5.849 de 16 de julho de 2019. Geração de informações para facilitar a negociação de direitos de recebimentos de fretes, por parte do TAC, junto a instituição financeira onde possui conta corrente, sem a interferência de atravessadores. Com essa NT temos: - Alterações de schema e regras de validação do MDF-e - Alterações no schema do modal rodoviário no grupo infANTT - Criação do evento de Pagamento da operação de transporte Portanto teremos um evento novo, criação do grupo Produto Predominante <prodPred> na parte geral do MDF-e, alteração no grupo informações do contratante, inclusão dos campos <xNome> e do <idEstrangeiro>, no modal rodoviário foi criado o grupo informações do pagamento do frete <infPag>. Novas Regras de Validação: Se modal rodoviário e indicador de pagamento for a prazo (tag:indPag=1): O grupo de informações a prazo deve ser informado (grupo:infPrazo). Implementação Obrigatória. Gera a Rejeição: 724. Se modal rodoviário, o grupo produto predominante deve estar informado (grupo: prodPred). Implementação Obrigatória. Gera a Rejeição: 725. Se modal rodoviário e MDF-e possuir apenas um DF-e transportado no grupo infDoc: O grupo de informações da carga lotação (infLotacao) deve estar informado. Implementação Facultativa. Gera a Rejeição: 726. Se modal rodoviário e informado grupo de pagamento, rejeitar se CNPJ/CPF do responsável pelo pagamento estiver inválido. Implementação Obrigatória. Gera a Rejeição: 727. Se moda rodoviário e informado grupo de pagamento, rejeitar se CNPJ do IPEF estiver inválido. Implementação Obrigatória. Gera a Rejeição: 728. Vai ocorrer alterações no componente? Sim Vai ocorrer alterações nos schemas? Sim Vou ter que adequar a minha aplicação? Sim Prazos: Ambiente de Homologação: 09/03/2020 Ambiente de Produção: 06/04/2020
  18. 4 points
    O RJ está entre as UF que usam o ambiente virtual do Rio Grande do Sul - SVRS, mas não implementam o método de consulta de cadastro:
  19. 4 points
    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
  20. 4 points
  21. 4 points
    Isso que eles estão querendo é quase impossível, imagine uma empresa com muitos anos de atividade, quantos itens comprados para o estoque com o cst=60 e que essa informação nunca veio para que seja possível passar ela pra frente, pelo que vi e entendi, vc deve passar zerado mesmo, mais em uma restituição, vc deverá pagar pela diferença, agora se vc tem a informação vinda e armazenada, vc deverá utilizar o FIFO - Primeiro que entra é o primeiro que sai, no caso não vai poder fazer Media . Só que hj também o problema está é que a maioria não consegue passar essa informação pra frente, gerando um problema em cadeia, A única forma mesmo, seria rejeitar a NF do fornecedor que não venha com essa informação, mas acho que se for fazer isso, vai rejeitar praticamente 90% dos fornecedores que não sejam Fabricantes . Abaixo vou postar um manual em PDF da CAT 42-2018 que não se refere a NF-e porem, se trata dessa informações de ICMS ST Retido e também alguns vídeos que explicam sobre a cat 42/2018 . ajuda um pouco entender todo esse processo . Esses campos hj estão sendo obrigatórios na NF-e justamente por causa dessa Restituição, pois essas informações são imprescindíveis para que quer restituir imposto . (So que o Governo deu um jeito de que vc não consiga restituir nem a pau rs) Exemplo abaixo retirado do manual do Cat 42/2018 - https://portal.fazenda.sp.gov.br/servicos/st/Downloads/MANUAL Sistema Ressarcimento_ICMS_ST.pdf Exemplo: Último documento de entrada: 10 unidades, a R$15,00cada.Penúltimo documento de entrada: 20 unidades, a R$10,00 cada.Saída: 12 unidades.Valor de Confronto: 10 unidades a R$ 15,00 = R$ 150,00 + 2 unidades a R$ 10,00 = R$ 20,00.Valor total: R$ 170,00, que divididos por 12 = R$ 14,17 (valor unitário a ser informado). Vou deixar tambem alguns videos aqui que tratam da CAT 42/2018, que é sobre a geração de um arquivo para restituição, porem é a mesma situação do que tem que ir na NF-e https://www.youtube.com/watch?v=WChSCf0weIA https://www.youtube.com/watch?v=kTimo6_MD9o https://www.youtube.com/watch?v=LXMW4oZarFM https://www.youtube.com/watch?v=9vwaWKbOWJc
  22. 4 points
    O erro não parece ser com relação a CST 00 ou CST 60 e sim nas validacoes par ao preenchimento do mesmo. Ou seja, o erro se refere a base de calculo do ICMS que no total da nfce está <vBC>8.90</vBC> e nos itens não tem valor para <vBC>. Dai como o somatório de todos os <vBC> dos itens devem bater com o <vBC> do total da nota e neste caso não está batendo, entao a rejeição.
  23. 4 points
    Acabei de fazer a integração com o Web Service via ACBr. Está funcionando perfeitamente. Muito bom !!! Agradeço à todos que colaboraram de alguma forma com este componente. Antes de implementa-lo, eu usava a estratégia de copiar cada CT-e gerado para a pasta do ATM. Agora não precisamos mais disso. Muito me ajudou. Parabéns à todos que trabalharam neste projeto. Muito Obrigado.
  24. 4 points
    Boa noite! Fonte: http://sped.rfb.gov.br/estatico/08/9A74C350BDFA9C627C5C88FB41E163B696D5E1/Perguntas e Respostas EFD Contribuições.pdf
  25. 4 points
    Como você pode ver na descrição do próprio link que você postou não é oficial. Ainda não fomos contatados sobre esse link e nem sobre o motivo de terem usado o nome "ProjetoACBr". No momento não vemos problemas de alguém hospedar o código no GitHub. Mas gostaríamos de ser contatados. Se alguém souber quem está por trás desse link específico, pedimos para que os avise para entrar em contato conosco. Em especial, podem procurar o @Daniel Simoes, a @Juliana Tamizou . Também estou a disposição. Há possibilidade de no futuro mantermos um mirror oficial do GitHub? Sim. Quando? Não sabemos...
  26. 4 points
    Rapaz, pegou pesado. Eventualmente podem aparecer alguns bugs mesmo porque os fontes estão em constante alterações para atender as também constantes Notas Técnicas ou até mesmo para manter os Fontes compatíveis com Delphi 7 até a Rio e Lazarus e inclusive outras plataformas. Aqui atualizo com certa frequência e também fico de olho no Log do svn de olho em novas implementações ou até mesmo correções. Não existe receita onde se faça o bolo sem quebrar os ovos.
  27. 4 points
    Muito obrigado pela ajuda Italo.
  28. 4 points
    Saudações a todos! Desenvolvemos uma API de consultas ao CNPJ com retorno em JSON e gostaríamos de compartilhar com vocês: https://www.cnpja.com.br/ Oferecemos 500 consultas grátis por dia, e é possível testar diretamente pelo site! O resultado das consultas inclui todos os dados do registro: Razão social, nome fantasia, data de fundação e porte Situação cadastral comum e especial Telefone, e-mail e endereço completo Natureza jurídica, atividades primárias e secundárias (CNAE) Quadro de sócios e administradores (QSA) Link para comprovante em PDF Exemplo de retorno: { "last_update": "2020-02-07T12:46:07.143Z", "name": "PETROLEO BRASILEIRO S A PETROBRAS", "alias": "PETROBRAS", "tax_id": "33000167000101", "type": "MATRIZ", "founded": "1966-09-28", "size": "DEMAIS", "capital": 205431960490.52, "email": "[email protected]", "phone": "(21) 3224-8091/ (21) 3224-4477", "federal_entity": "UNIÃO", "registration": { "status": "ATIVA", "status_date": "2005-11-03", "status_reason": null, "special_status": null, "special_status_date": null }, "address": { "street": "AV REPUBLICA DO CHILE", "number": "65", "details": null, "zip": "20031170", "neighborhood": "CENTRO", "city": "RIO DE JANEIRO", "state": "RJ" }, "legal_nature": { "code": "2038", "description": "Sociedade de Economia Mista" }, "primary_activity": { "code": "1921700", "description": "Fabricação de produtos do refino de petróleo" }, "secondary_activities": [ { "code": "0600001", "description": "Extração de petróleo e gás natural" }, { "code": "3520401", "description": "Produção de gás; processamento de gás natural" }, { "code": "4681801", "description": "Comércio atacadista de álcool carburante, biodiesel, gasolina e demais derivados de petróleo, exceto lubrificantes, não realizado por transportador retalhista (T.R.R.)" } ], "membership": [ { "name": "EBERALDO DE ALMEIDA NETO", "role": { "code": "10", "description": "Diretor" } }, { "name": "ROBERTO DA CUNHA CASTELLO BRANCO", "role": { "code": "16", "description": "Presidente" } }, { "name": "CARLOS ALBERTO PEREIRA DE OLIVEIRA", "role": { "code": "10", "description": "Diretor" } }, { "name": "RUDIMAR ANDREIS LORENZATTO", "role": { "code": "10", "description": "Diretor" } }, { "name": "ANELISE QUINTAO LARA", "role": { "code": "10", "description": "Diretor" } }, { "name": "ANDREA MARQUES DE ALMEIDA", "role": { "code": "10", "description": "Diretor" } }, { "name": "ROBERTO FURIAN ARDENGHY", "role": { "code": "10", "description": "Diretor" } }, { "name": "MARCELO BARBOSA DE CASTRO ZENKNER", "role": { "code": "10", "description": "Diretor" } } ], "files": { "registration": "https://api.cnpja.com.br/files/61298ecd-fbe9-42ec-9107-70eaecbc478f.pdf" } } Para utilizar: - Faça login em nosso site com o Google, Facebook ou E-mail. - Visite a página Minha Conta e copie sua Chave de API - Envie uma requisição GET para: https://api.cnpja.com.br/companies/{CNPJ} - Adicione no parâmetro Authorization dos Headers a sua Chave de API Quem tiver alguma dúvida é só perguntar!
  29. 4 points
    Boa tarde. No dia 03/02/2020 foi publicado no DOE-CE o decreto 33.458, o qual altera a exigência da identificação do cliente somente se o valor da operação for igual ou superior a R$200,00 Segue transcrição do decreto Fonte: DOE SEFAZ-CE Noticia relativa ao decreto anterior
  30. 4 points
    Link da noticia: https://www.portalntc.org.br/publicacoes/blog/noticias/rodoviario/decisao-liminar-suspende-por-240-dias-resolucao-da-antt-com-novas-regras-do-ciot
  31. 4 points
  32. 4 points
    Obrigado galera, fiz como o Daniel falou e funcionou.
  33. 4 points
    diretamente no site das IPEFs www.efrete.com.br www.repom.com.br www.rodocred.com.br www.nddcargo.com.br www.policard.com.br Fazer cadastro , aguardar aprovação e acessar o ambiente gratuito deles.
  34. 4 points
  35. 4 points
    Olá pessoal, No dia 20/12/2019 foi publicado o Decreto de numero 47.799 que trata sobre a venda de combustíveis a consumidor final em estabelecimento comercial varejista de combustíveis automotivo. O decreto possui dois artigos, o primeiro se refere a obtenção das informações referente ao encerrante e o segundo diz onde as informações do mesmo deve ser informadas no XML. Para ler na integra o decreto clique aqui. Minhas considerações: 1. Esse decreto só serve para informar que se tratando de venda de combustível para consumidor final devemos informar no XML da NFC-e os dados referente ao encerrante, visto que essas informações ficou a critério de cada UF exigir ou não. 2. O decreto é de 19/12/2019, mas na Nota Técnica 2015/002 já estava previsto que a obtenção dos dados referente ao encerrante deveria ser via hardware, logo não deve ser digitados. Final da página 4 da referida NT: C. Grupo de Combustível: Informação de “Encerrante” Dentro do grupo de informações relacionado com as operações de combustíveis, foi incluído o subgrupo de “encerrante” que permite o controle sobre as operações de venda de combustíveis, de forma semelhante à atualmente em vigor. Observação do grupo <encerrante>: Informações do grupo de “encerrante” disponibilizado por hardware específico acoplado à bomba de combustível, definido no controle da venda do Posto Revendedor de Combustível. 3. No segundo artigo do decreto diz que temos que informar os seguintes dados: nBico, nBomba, nTanque, vEncIni e vEncFin no grupo de informações do contribuinte, ou seja, no campo xCampo devemos colocar o nome do campo, por exemplo nBico e no campo xTexto o numero do bico propriamente dito. Mas acontece que na NT que eu me referi na mesma página temos os campos que compõe o grupo <encerrante>, são eles: nBico, nBomba, nTanque, vEncIni e vEncFin. Duvida cruel: Se tratando de Minas Gerais as informações referente ao encerrante devemos informar no grupo <encerrante> conforme layout apresentado na Nota Técnica 2015/002 ou devemos colocar essas informações no grupo de observações do contribuinte? Se no layout da NF-e/NFC-e já existe um grupo especifico para tais informações pra que informar em outro lugar? Desenvolvedores, que possuem clientes que comercializa combustível no varejo, favor ficar a tento a isso. Não sei se cabe a uma consulta ao órgão competente. Data de inicio da exigência dessas informações no XML: 01/04/2020 Pela data deve ser tudo mentira. Não se faz necessário alterações no componente ACBrNFe.
  36. 4 points
    A legislação atual de MG (RICMS) deixa claro que, mesmo que se informe conforme o layout apresentado na NT 2015/002, deve ser informado no grupo de observações do contribuinte a partir da data especificada. O objetivo disso é que saia no DANFe (ou DANFCe). O artigo 36-M da Parte 1 do Anexo V do RICMS, citado no decreto trata-se, do "Documento Auxiliar da NFC-e - DANFE NFC-e". MG está exigindo que as informações sejam impressas no DANFe NFC-e. Teoricamente não seria necessário usar os outros campos, mas pode ser que o objetivo seja deixar bem claro que deve ser impresso no DANFe essas informações.
  37. 4 points
    Boa tarde, A TLP-400 agora é compatível com os protocolos ZPL, PPLA e PPLB. Em breve enviaremos para homologação do ACBR.
  38. 4 points
    Entendi amigo... Embora sabendo que vou ter muito trabalho para essa mudança, entendo que é inevitável, né?! Não sei porque meus programadores optaram pelo uso do Monitor... talvez por acharem mais fácil na época que foi desenvolvido. Mas vou começar os estudos para essa mudança. Obrigado pelas orientações.
  39. 4 points
    Bom dia João Paulo, isso já foi corrigido pelo Rafael na libNFe, favor atualizar com a ultima versão disponível em:
  40. 4 points
    Bom dia Marcel, Lendo essa ultima versão do Manual notei o seguinte: Para que a integração seja homologada ambos os cenários precisam ser implementados e estarem disponíveis aos usuários. ProprietariosService:  Gravar. VeiculosService:  Gravar. MotoristasService:  Gravar. Requisições para TipoViagem Padrão: PefService (enviar requisição utilizando contexto de emissão Gratuita e Meio de Pagamento):  AdicionarOperacaoTransporte, AdicionarPagamento, ObterCodigoIdentificacaoOperacaoTransportePorIdOperacaoCliente, ObterOperacaoTransportePdf, RetificarOperacaoTransporte, CancelarOperacaoTransporte, EncerrarOperacaoTransporte Requisições para TipoViagem TAC_Agregado: PefService (enviar requisição utilizando contexto de emissão Gratuita e Meio de Pagamento):  AdicionarOperacaoTransporte, AdicionarViagem, AdicionarPagamento, ObterCodigoIdentificacaoOperacaoTransportePorIdOperacaoCliente, ObterOperacaoTransportePdf, RetificarOperacaoTransporte, CancelarOperacaoTransporte, EncerrarOperacaoTransporte Os 3 métodos acima e o serviço do método PefService em negritos, ainda não foram implementados no componente, bem como os serviços do método Logon. Pelo que entendi é através do serviço Login do método Logon que você obtém o Token que é utilizado pelos demais serviços. Se tudo ocorrer bem, ainda hoje (caso contrario amanhã) estarei disponibilizando uma atualização do componente e do programa exemplo com os métodos: LogonService, ProprietariosService, VeiculosService e MotoristasService, bem como o serviço: ObterCodigoIdentificacaoOperacaoTransportePorIdOperacaoCliente implementados. Notei também que o PefService possui uns 20 métodos, no manual diz que não há a obrigatoriedade de implementar, mas que seria interessante. Existe ainda o método: FaturamentoTransportadoraService Gostaria de saber desses que não são obrigatórios, qual seria o grau de necessidade, para que eu possa fazer uma programação de implementação.
  41. 4 points
    24/01/2020 Ambiente de homologação de DF-e: Desativação dos protocolos SSL, TLS 1.0 e TLS 1.1 A Secretaria da Fazenda do Estado do Rio Grande do Sul comunica que, no ambiente de homologação de DF-e da Sefaz-Virtual do Rio Grande do Sul (SVRS), desativou os protocolos de comunicação mais antigos (SSL, TLS versões 1.0 e 1.1), mantendo apenas o protocolo TLS versão 1.2. Essa desativação em ambiente de homologação busca possibilitar que as empresas testem seus sistemas antes deste procedimento ser realizado no ambiente de produção, o que proporciona mais segurança na comunicação entre as empresas e a SVRS. A desativação nos ambientes de produção da SVRS das versões 1.0 e 1.1 do protocolo TLS será realizada em data oportunamente comunicada.
  42. 4 points
    A rejeição exige o preenchimento dos dados do grupo card. Veja que pelo layout apenas a tag tpIntegra é obrigatória.
  43. 4 points
    Bom dia 15/01/2020 - MIGRAÇÃO DE ENDEREÇOS IP - NOTA FISCAL ELETRÔNICA - NF-e / NFC-e A Secretaria de Estado da Economia de Goiás comunica aos contribuintes que o serviço de autorização de uso de Notas Fiscais Eletrônicas - NF-e e Notas Fiscais do Consumidor Eletrônica - NFC-e terão seus endereços IPs alterados conforme segue: Os contribuintes que dispõem em sua estrutura de rede algum filtro de segurança para rede interna tal como proxy ou firewall, deverão incluir o IP da rede nova 45.183.244.0/23. No dia 10/02/2020 os IPs 187.5.111.0/25, 200.163.232.128/25 e/ou 186.211.165.192/26 serão desativados e apenas o IP 45.183.244.0/23 responderá para os endereços de emissão de NF-e e NFC-e em Goiás. Empresas que não dispõem de estrutura de rede com filtro de segurança para rede interna configurado, não necessitarão de fazer nenhum procedimento pois não serão afetadas. Assinado por: Secretaria de Fazenda de Goiás tem alguma alteração, para isto, ou ja esta alterado ? aguardo resposta
  44. 4 points
    Boa noite pessoal! Desenvolvi um gerador de assinatura AC, utilizando certificado da Software House em .pem; Bem simples, porém funcional; Pra quem precisar, seguem os prints e o código; Espero ajudar! Abraços! 2020-01-16--Assinatura AC para SAT.zip
  45. 4 points
    O ACBr suporta impressoras USB ? Durante muito tempo, a resposta a essa pergunta foi: NÃO, você precisa usar a Porta COM, Spool do Windows (RAW), Compartilhamento de Rede ou algum outro método... Porém agora isso mudou... Agora componentes que usam o ACBrDevice, como por exemplo o ACBrPosPrinter (para Impressoras Não Fiscais) e o ACBrETQ (para Impressoras de Etiquetas), possuem suporte a portas USB de maneira nativo do Windows... Ou seja, sem a necessidade de DLLs externas... Isso significa que caso o seu equipamento esteja conectado ao PC, por uma Porta USB... Você poderá conectar os componentes do ACBr, simplesmente definindo na Propriedade Porta algo como "USB" Exemplos de uso: ACBrPosPrinter1.Porta := 'USB' - Tenta descobrir qual é a Primeira Impressora de Bobinas plugada na USB e faz uso dela, se encontrar.. ACBrPosPrinter1.Porta := 'USB:Elgin' - Tenta conexão em alguma Impressora USB, listada como sendo do Fabricante 'Elgin' ACBrPosPrinter1.Porta := 'USB:Sweda, SI-300S' - Tenta conexão na Impressora USB, do Fabricante "Sweda" e do Modelo "SI-300S". ACBrETQ1.Porta := 'USB' - Tenta descobrir qual é a Primeira Impressora de Etiquetas plugada na USB e faz uso dela, se encontrar.. ACBrETQ1.Porta := 'USB:Zebra, GC420t' - Tenta conexão com a Impressora USB do Fabricante "Zebra", e modelo "GC420t" Observe que essa nova implementação é totalmente diferente do método de Hook, onde usávamos a DLL do Fabricante, como túnel USB... Nesse novo cenário a comunicação USB é feita diretamente usando a API do Windows, ou seja, sem necessidade de DLLs externas. Para compreender um pouco mais, sobre esse método veja esse artigo O método de Hook ainda está disponível, usando o prefixo de porta, 'DLL:' Como os Equipamentos são identificados ? Todo Equipamento USB, possui um código de identificação do Fabricante, chamado de Vendor ID (VID), e também do Produto chamado de Product ID (PID). Essa numeração é controlada pela USB.ORG, e você pode encontras uma lista de Todos os "Vendors ID", nesse link A classe TACBrUSBIDDataBase, mantêm um Banco de Dados interno, chamado ACBrUSBID.ini, com o mapeamento dos principais Equipamentos do Mercado Brasileiro.. Esse Banco de Dados é um simples Arquivo do tipo INI, que é compilado como resource e adicionado ao componente... Clique aqui para ver o layout do Banco de Dados no Formato INI, observe os comentários no inicio do arquivo, com algumas instruções de como inserir novos equipamentos nele. Se você distribuir o arquivo ACBrUSBID.ini, na mesma pasta do Executável da sua aplicação, a classe TACBrUSBIDDataBase fará uso desse arquivo, ao invéz de usar o resource interno... Isso pode ser muito útil para atualizar a lista de Dispositivos conhecidos, sem necessitar compilar uma nova versão do programa, apenas atualizando o ACBrUSBID.ini Como posso listar os equipamentos identificados pelo ACBr ? Use a Força, leia os fontes... Vamos ver trechos de código, do Demo PosPrinterTeste {$IfDef MSWINDOWS} // Os métodos abaixo, somente estão disponíveis para compilação em Windows // Carrega a lista de Impressoras detectadas em: ACBrPosPrinter1.Device.WinUSB.DeviceList ACBrPosPrinter1.Device.WinUSB.FindUSBPrinters(); // Varre a lista de Impressoras USB detectadas, e adiciona as mesmas, nas opções de Porta for K := 0 to ACBrPosPrinter1.Device.WinUSB.DeviceList.Count-1 do cbxPorta.Items.Add('USB:'+ACBrPosPrinter1.Device.WinUSB.DeviceList.Items[K].DeviceName); {$EndIf} Como o ACBr nomeia os dispositivos ? O "DeviceName" será calculado, de acordo com as informações disponíveis no banco de Dados... Primeiro o ACBr usa a API do Windows para captura informações do VID (Vendor ID ou Fabricante) e o PID (Product ID ou Modelo), dos Equipamentos listados... Se o ACBr falhar nessa tarefa, o equipamento será ignorado (não será listado) Se for capturado com sucesso a descrição em FriendlyName, então ela será usada.. Caso contrário, o ACBr tentará compor o nome, baseado no VID e PID Se o VID do Fabricante for encontrado na sessão [Vendors] de ACBrUSBID.ini, então o VID será substituído pela Descrição do Fabricante... Observe que na sessão [Vendors], temos vários fabricantes que não são conhecidos no mercado Brasileiro, mas são de equipamentos OEM, de Empresas nacionais... Nós procuramos manter o nome Original do Fabricante, de acordo com a tabelas de VID da OSB.ORG Se o VID não tiver equivalência na relação de [Vendors] de ACBrUSBID.ini, então ele será listado com o próprio número VID, que são 4 algarismos em Hexadecimal... Exemplo: "0b1b" Procuramos pelo PID do Equipamento, na sessão específica do Fabricante. Se não houver uma chave com o PID, então o ACBr usará o próprio número PID, para Nomear o Modelo. O PID também é composto do 4 algarismos em Hexadecimal... Exemplo: "0001" Se encontrar uma entrada com o PID, dentro da sessão do Fabricante, então o ACBr usará a Descrição do Modelo, e poderá desprezar a descrição do Fabricante, se a Descrição do modelo possuir uma vírgula, Exemplo: 7008=Elgin, I9;1;1... Nesse caso será desprezada a descrição do Fabricante "20d1-Dascom" e será usada apenas a descrição do Modelo, "Elgin, I9". Detecção automática de Porta e Protocolo Como agora temos um Banco de Dados, que informa além da Descrição do equipamento, qual é o Tipo do mesmo e qual o protocolo que ele usa, então os componentes ACBrPosPrinter e ACBrETQ, podem fazer uso dessas informações... Ou seja, se o equipamento for detectado com sucesso, no momento da Ativação da Porta (durante a chamada ao método "Ativar"), será usado o Protocolo Definido no Banco de Dados. Se for detectado que o equipamento USB é na verdade uma porta COM virtual, então o ACBr irá preferir fazer uso da Porta COM virtual, chaveando para mesma, de forma transparente... Pois dessa forma ele tem um melhor suporte a leitura de informações do equipamento. Se for detectado que a porta USB possui um equipamento incompatível com o componente em questão, isso também será alertado... Exemplo, você tentar conectar em uma porta 'USB:Zebra, GC420t' no componente TACBrPosPrinter, então um erro será emitido, pois esse equipamento não é uma impressora de Bobinas Como a mágica funciona ? Reparem que foi adicionado ao repositório a Unit ACBrWinUSBDevice.pas, essa Unit implementa chamadas a SetupAPI do Windows, para detectar os Dispositivos USB que estão listados em uma determinada Classe de Equipamentos (Class GUID)... O estudo desse artigo, foi fundamental, para a criação dessa Unit. Uma vez capturada o nome da Interface do Equipamento USB (em TACBrUSBWinDevice.DeviceInterface), podemos acessá-lo usando funções de manipulação Arquivos da API do Windows, como: CreateFile, WriteFile, ReadFile. Nem todos os dispositivos USB implementam suporte aos métodos ReadFile ou WriteFile... ou seja, pode não funcionar em alguns dispositivos.. Se você souber qual é o nome da Interface USB do equipamento, poderá informar ela diretamente na propriedade "Porta" dos componentes... Exemplo: ACBrPosPrinter1.Porta := '\\?\usb#vid_1c8a&pid_3002#0000000000022#{28d78fad-5a12-11d1-ae5b-0000f803a8c2}'; Para dúvidas, suporte ou correções, por favor crie um novo tópico, clicando aqui Para testar, baixe uma nova versão do PosPrinterTeste.exe
  46. 3 points
    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?
  47. 3 points
    Cheguei a remover todas as dlls e colocar da versão anterior, mas tbm não resolveu e o windows já havia dado alguns problemas após atualização automática. Botão de pesquisa não pesquisava mais... estava estranho, por isso já optei por formatar... Mas valeu a ajuda...
  48. 3 points
    Veja como ficou o XML: O comando NFe.CriarNFe foi encerrado ao encontrar a primeira vírgula, porque faltou o encerramento final com ").
  49. 3 points
    O apagarACBr.bat não apaga alguns dcu, geralmente os de terceiros. Então mesmo executando o apagaracbr ainda pode haver algum arquivo smtpsend.dcu ou smtpsend.pas desatualizado em algum lugar que o Delphi está encontrando na compilação. Então você precisa fazer uma varredura em todos os discos por estes arquivos e se for o caso removê-los ou atualizá-los.
  50. 3 points
    Analisando a última alteração do arquivo SimplISS.ini do repositório, o que parece que foi alterado é que essas cidades que foram removidas do arquivo usam a montagem padrão da URL de recepção. [URL_P] RecepcaoLoteRPS=http://ws%NomeURL_P%.simplissweb.com.br/nfseservice.svc Sendo %NomeURL_P% definida no arquivo Cidades.ini, por exemplo: Assim só ficaram no arquivo SimplISS.ini aquelas cidades que tem a URL diferente desse padrão. Nesse caso recomendo que use os arquivos atualizados.
×
×
  • Create New...