Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 15-01-2019 em todas as áreas
-
Lembrei disso hoje... e decidi procurar se o Post n.1 ainda existe... SIM, ele ainda está no Fórum da DevMedia, o qual eu frequentei por um bom tempo, e foi o espírito de cooperação dos usuários do fórum, que me motivou a criação do Projeto ACBr... Reparem no Post, que ainda não há menção do nome ACBr, e a ideia inicial, era fazer uma classe de Suportes a ECF (Emissor de Cupom Fiscal)... https://www.devmedia.com.br/forum/classe-para-acesso-direto-a-ecf-em-linux-windows/229474 Na abertura do último Dia do ACBr, eu menciono um pouco sobre a criação do Projeto... Classe para acesso Direto a ECF em Linux/Windows 03/05/2004 Ola, para todos.... Estou desenvolvendo uma Classe Multiplataforma para acesso direto a diversas Impressoras Fiscais. Na verdade o projeto ainda está engatinhando, mas já tive sucesso em Comunicação com a Bematech em Windows e Linux. Entretanto, como muitos programadores também necessitam ou já fazem acesso a ECF, resolvi usar a ideia de tornar isso um projeto OpenSource. P1 - Porque fazer mais uma biblioteca de acesso a ECF ? A ideia é fazer uma Classe que possa rodar em Linux / Windows. algo que nao existe hoje.... Alem de não exigir nenhuma DLL ou SO, a fim de evitar o ´inferno das DLL´s´ P2 - Como fazer acesso aos ECFs ? Como a classe deve rodar em Linux, fica descartado o uso de DLL´s... Todas as impressoras fiscais (pelo menos as que já programei) possuem manuais descrevendo os codigos de comandos e protocolos seriais. Atualmente acesso as impressoras: Bematech, Daruma, Schalter, Sweda, Mecaf (e compativeis) de forma direta, em DOS, usando a linguagem CLIPPER 5.02e.+Clipper Tools... O Executável não depende de nenhum arquivo externo ou device driver no CONFIG.SYS. A ideia é migrar as funçoes de Clipper para Delphi, usando um componente de acesso a Serial. P3 - Qual componente fará acesso a serial ? Dos que testei, apenas a classe SynaSer http://www.ararat.cz/synapse/ é multiplataforma (Kylix) P4 - Porque rodar em Linux ? Já pensou oferecer para os seus clientes uma solução de Aplicacação Comercial totalmente legalizada ? e sem pagar uma fortuna por isso ? Sem falar na estabilidade e segurança do Linux.... Qual usuário consegue apagar o sistema ? (alem do Root é claro Caracteristicas do projeto: - Deve ser OpenSource e com a distribuição dos fontes: - Deve ser Multi-plataforma (Windows ( CLX / VCL ) / Linux) - Nao deve depender de nehuma DLL ou SO. - Deve suportar as diferença entre os diversos modelos de ECF - As Classes Filhas devem tratar de forma transparente as pequenas diferenças na programaçao de Versoes diferente do mesmo Modelo de ECF. Ex: A classe TECFBematech deve ser capaz de trabalhar com todas as versoes da Bematech FI Vantagens do Projeto: - Total controle da Aplicação: Já vi DLL´s que simplesmente param o processamento do programa (Quem já homologou TEF discado, sabe o que eu quero dizer...) - Facil distribuição: Não precisa distribuir e instalar nenhuma DLL - Livre-se do Inferno das DLL´s Quando o usuário instala outro programa que usa a mesma DLL que você usa, porém em uma versão antiga (causando Bugs no seu programa) - Multiplataforma: Linux / Windows - Programação Limpa e Clara. Basta criar uma classe TECF com o modelo apropriado. O Codigo fonte sempre se refere a Classe criada, sem se preocupar com o Modelo Desvantagens do Projeto: - Se o hardware mudar, ficamos dependendo de novas informaçoes do fabricante, ou até mesmo de um modelo do equipamento para testes... - Geralmente as DLL´s incorporam novos Hardwares do mesmo fabricante.... Aqui teremos que implementar um novo filho da classe TECF para cada Hardware novo (somente se o novo hardware nao for compativel com o antigo) Estou lançando a ideia para ver a aceitação... Existe algum disposto a colaborar ? Posso enviar os fontes por e-mail para que estiver interessado... Em breve farei uma pagina para download do projeto... (Ou se alguem estiver disposto a fazer... ) A ser desenvolvido: - Terminar a implementação da Classe TECFBematech - Implementar as demais Classes (Daruma, Schalter, Sweda, Mecaf) - Criar Classe para Manupilação de TEF Discado para interagir com TECF Na verdade, nunca fiz nenhum projeto OpenSource... Gostaria de sugestões... Duvidas: - Como / Onde hospedar o projeto ? - Como cordernar ?.... - Como fica a questão legal de OpenSource ? É preciso registrar isso em cartório ? Ps: Srs Moderadores, desculpe postar essa msg em 2 áreas, mas acredito que seja do interesse...7 pontos
-
Atenção: Há atualizações das informações desta homologação nas respostas deste tópico. Revisão: 1 --- Introdução: Recebemos gentilmente da Epson, a impressora não fiscal TM-T20, para testes. Utilizando os exemplos do ACBr: PosPrinterTeste.exe e SATTeste.exe. Computador Desktop Sistema Operacional Windows 10 64Bit atualizado (21/12/2018) Processador Intel Core 2 Duo E4500 2.20GHz Memória 2 GB USB 2.0 Impressora TM-T20 Protocolo Epson Esc/Pos Meios de comunicação Serial emulada através da porta USB USB Itens que a acompanham Cabo USB padrão B Cabo de alimentação CD de instalação Manual de instalação Tampa do interruptor de alimentação Tampa à prova de água do interruptor de alimentação Bases em borracha para instalação vertical Etiqueta do painel de controle vertical Placa de guia do papel com largura 58mm Braçadeira de suporte de parede Papel em rolo Impressão do Autoteste: Siga os passos abaixo: Com a impressora desligada, mantenha pressionado o botão Avanço de Papel(1) pressionado e ligue a impressora(2); Mantenha pressionado o botão Avanço de Papel(1) até começar a imprimir o Autoteste; Quando a impressora parar de imprimir, a luz Paper(3) ficará piscando; Pressione o botão Avanço de Papel(1) para imprimir a segunda parte do teste; Após a impressão, a luz Paper(3) continuará piscando. Pressione novamente para finalizar o teste: O GIF animado abaixo exemplifica o procedimento descrito acima: Instalação da TM-T20: Drivers e tools: link oficial: https://epson.com.br/Suporte/Ponto-de-venda/Impressoras-t%C3%A9rmicas/Epson-TM-T20/s/SPT_C31CB10023?review-filter=Windows+10+64-bit#drivers Link alternativo (inglês): https://download.epson-biz.com/modules/pos/index.php?page=prod&pcat=3&pid=37 USB – Spooler do Windows: Para realizar a instalação siga as etapas abaixo: Ligue a impressora e conecte-a porta USB; Será exibido Suporte a impressão USB em Gerenciador de Dispositivos: Realize o donwload e descompacte o arquivo APD_510_T20_EWM.zip; Clique em Next(1) : Caso concorde com os termos da licença do software, selecione Agree(2) e depois clique em Install(3) : Clique em Next(4) : Na tela para vincular o driver com a impressora, o modelo(5) é selecionado automaticamente pelo software; Selecione a comunicação, em nosso exemplo foi USB(6); Ao clicar em Save Settings(7), será exibido a impressora TM-T20(8) configurada; Para concluir, clique em Next(9) : Após concluir a instalação, será exibida a impressora TM-T20 em Impressoras e Scanners: USB – COM Emulada: Driver: https://ftp.epson.com/drivers/TM-VPD_8.60a.exe Para realizar a instalação siga as etapas abaixo: Realize o download e execute o programa TM-VPD_8.60a.exe; Siga os passos da instalação até a sua conclusão: Ao finalizar a instalação será exibida a tela para vincular a TM-T20 em uma porta serial; Para realizar a vinculação, selecione uma porta serial. Em nosso exemplo usamos a COM7(1); Clique em Assign Port(2); Na aba Assign Port(3) selecione a impressora TM-T20(4); Selecione a aba Command Emulation(5); Habilite a opção Enabled ESC/POS Command Emulation(6) e depois clique em OK(7); A impressora EPSON(8) será vinculada com a porta que selecionamos, ou seja, COM7(1) : No Gerenciador de dispositivos será exibida a porta adicionada, no nosso exemplo a COM7: Adicionar Logotipo: Tool: https://ftp.epson.com/drivers/pos/TM-T20-Utility_1.50.exe A adição do logotipo é feita pela ferramenta de configuração EPSON TM-T20 Utility. É necessário realizar a instalação antes de usá-la: Realize o download e execute o programa TM-T20-Utility_1.50.exe; Siga os passos da instalação até a sua conclusão: v Execute o programa recém instalado EPSON TM-T20 Utility; Será necessário configurar tipo de comunicação com a impressora. Para tal, clique em Adic. Porta(1); Defina o tipo de comunicação, no nosso ambiente definimos USB(2); Realize um Teste de comunicação(3) ==> OK(4) ==> OK(5); Será exibido a impressora TM-T20(6) usando o meio de comunicação escolhido; Por fim, clique em OK(7) para iniciar o utilitário: Em Guardar logotipo(8), clique em Adicionar(9); Selecione o arquivo do logotipo(10) e depois Abrir(11); Edite a imagem conforme suas necessidades e depois clique em OK(12); Na tela seguinte, defina o endereço de acesso ao logotipo em KC1 e KC2, em seguida clique em OK(13); Será exibido o logotipo(14) selecionado. Alinhe conforme sua necessidade e depois clique em Guardar p/impressora(15) : Testes usando os componentes e Demos do ACBr: Utilizamos o PosPrinterTeste.exe, demo do ACBrPosPrinter, parte do projeto ACBr, para efetuar testes na impressora. O PosPrinterTestes.exe está disponível neste link: https://www.projetoacbr.com.br/forum/files/file/364-posprintertesteexe/ Durante os testes deixamos as configurações desta forma: Modelo: ppEscPosEpson; Porta: COM7; Colunas: 48; Espaços: 40; Linhas Pular: 4; Pag. codigo: pc860; KC1: 32; KC2: 32; FatorX: 1; FatorY: 1; Demais configurações não alteramos; Testes de comunicação: Usando o campo Porta, testamos os 2 meios de comunicação possíveis com a impressora: USB - COMxx (Emulada)– Para comunicação serial. No nosso ambiente definimos a porta serial do computador como COM7 através do software da Epson; RAW:nome da instalação da impressora (USB)– Para enviar a impressão ao Spool do Windows em modo RAW. (exemplo: RAW:TM-T20) Resultados: As imagens abaixo exemplificam a compatibilidade da impressora com o componente ACBrPosPrinter. Com algumas pequenas ressalvas descritas abaixo, observe que o equipamento se saiu muito bem, efetuando a impressão de acordo com os comandos suportados pelo protocolo Epson Esc/Pos: Formatação de carácter: Com exceção da fonte itálico, todas as demais propriedades funcionaram perfeitamente: Alinhamento: Todos os tipos de alinhamento funcionaram conforme o esperado: QR Code: Todos os códigos utilizados foram impressos corretamente: Código de Barras: Os tipos std25, CODE11 e MSI não foram impressos: Logotipo: Para realizar o teste, deixamos a configuração da seguinte forma: KC1: 32 KC2: 32 FatorX: 1 FatorY: 1 Leitura de Status: A impressora retornou o Status pela porta COM7 (Emulada): Page Mode: Funcionou conforme o esperado, permitindo o uso de DANFCe com QRCode Lateral: Teste de acentuação: Para realizarmos os testes de acentuação com diferentes páginas de código, procedemos da seguinte forma: Inserimos um pantograma da língua portuguesa, contendo todas as letras e acentos(1) usando as fontes do Tipo A e B; No cabeçalho foi colocado a tag </zera>(2) para limpar as configurações a cada teste; Foi realizada uma impressão por página de código disponível na impressora(3); Resultados: pc473: Alguns acentos circunflexos e todos os til foram ignorados; pc850: Todos os acentos foram impressos corretamente; pc852: Alguns acentos circunflexos, todas as crases e o til foram ignorados; pc860: Todos os acentos foram impressos corretamente; pc1252: Todos os acentos foram impressos corretamente; Leitura de Status: A leitura do estado da impressora é funcional através da porta serial emulada (COM7). Abaixo alguns status retornados pela impressora: Pronta para uso: “Nenhum Erro encontrado”; Tampa aberta: “stErroLeitura,”; Pouco papel: “Nenhum Erro encontrado”; Sem papel: “stSemPapel, stOffLine”; Gaveta de dinheiro aberta: “stGavetaAberta, stErroLeitura,” Impressão de extratos do SAT com SATTeste: O SATTeste é um demo do ACBrSAT, parte do projeto ACBr. Realize o download neste link: https://www.projetoacbr.com.br/forum/files/file/316-sattesteexe/ Testamos a impressão usando o Spool do Windows através do Gerador de Relatórios Fortes Report, e também usando a impressão em ESC/POS. As configurações utilizadas foram as seguintes: Fortes EscPOS Largura: 277 Topo: 0 Fundo: 0 Esquerda: 0 Direita: 1 Colunas: 48 Espaço Linhas: 40 Linhas Pular: 4 Pag.codigo: pc860 Modelo: ppEscEpson Porta: RAW:TM-T20 Logotipo: Habilitado KC1: 32 KC2: 32 FatorX: 1 FatorY: 1 Exemplo de um cupom fiscal impresso pela TM-T20, usando Esc/POS (Esquerda) e Fortes(Direita) : O mesmo cupom usando logotipo e QRcode lateral, impressos usando Esc/POS (esquerda) e Fortes (direita): Teste de desempenho: Através de comandos EscPOS, realizamos a impressão de vários extratos de SAT com diversas quantidades de itens, coletando os tempos de impressão. Para medição mais precisa do tempo de impressão do equipamento nos testes envolvendo o Spooler do Windows (RAW:TM-T20), não usamos o gerenciamento de fila de impressões do próprio serviço de Spooler, devido o uso da memória do computador para gerenciar a fila de impressões. Portanto, habilitamos a opção Imprimir diretamente na impressora na aba Avançado nas Propriedades da impressora. Desta forma, o serviço de Spooler apenas repassa a impressão diretamente para a impressora, não gerenciando a fila de impressões para o equipamento. Todas as formas de comunicação disponibilizada pela TM-T20 foram testadas: USB/COM Emulada (COM7): As configurações foram as seguintes: Modelo: ppEscEpsonPorta: COM7 Colunas: 48 Espaços Linhas: 40 Linhas Pular: 4 Pag. codigo: pc860 Resultados: USB/Spool do Windows: As configurações foram as seguintes: Modelo: ppEscEpson Porta: RAW:TM-T20 Colunas: 48 Espaços Linhas: 40 Linhas Pular: 4 Pag. codigo: pc860 Resultados: Sobre o equipamento: O gabinete da TM-T20 tem um design tradicional. Ele é feito de um plástico bem resistente e acabado. Seu desenho evita a entrada de sujeiras sólidas e liquidas, permitindo ser usada em locais hostis. No seu topo, há uma alavanca para a abertura da tampa da baia da bobina de papel. Essa tampa é bem grande o que facilita a troca. Em sua base há pés de borracha evitando o seu deslise em uma superfície plana. Há um suporte para fixação que acompanha a impressora. Ele permite alterar a posição de uso da impressora. Há três formas: posição vertical em cima de uma superfície horizontal, como uma mesa ou balcão; posição horizontal fixado em uma parede; posição vertical também fixo em uma parede. Assim, este suporte facilita o uso da TM-T20 para impressão de senhas de atendimento e pedidos para uma cozinha, por exemplo. A interação usuário/impressora é feito através de do painel localizado na tampa da baia da bobina de papel. Através de luzes, ele sinaliza quando a impressora está ligada, em erro, falta de papel e modo de espera. O botão “Feed” realiza o avanço do papel. Sobre a utilização do equipamento: Da instalação ao seu uso, a TM-T20 foi muito fácil de manusear. Em poucos minutos ela estava pronta para uso. Ela se saiu muito bem nos testes. Ela suportou várias páginas de código, formatação de carácter, alinhamento, page mode, todos os qrcodes e a maioria dos tipos de código de barras. Sobre a utilização do software de configuração da impressora: É um software com diversas opções além das relatadas neste documento. Através dele podemos: Reduzir o consumo de papel diminuindo alguns espaçamentos, corte automático do papel, densidade da impressão, velocidade da impressão, etc. Essas e outras opções ajudam a adequar a impressora com as necessidades do cliente. Sobre a comunicação com a porta COM emulada: A configuração da porta virtual descrita na sessão “USB – COM Emulada”, foi a melhor maneira que encontramos para a impressora se comportar como o esperado, usando este meio de comunicação. Com esta configuração, a impressora imprimiu todos os cupons por completo. Entretanto, ao realizar uma nova impressão logo na sequência, o Windows informou que o dispositivo COM7 (nosso exemplo) estava com erro e precisou ser reiniciado. Após 4 reinicializações, o Windows desativou a COM7. As informações sobre essas configurações não foram localizadas no manual do fabricante nem do software de virtualização da porta COM. É importante destacar que a impressora se saiu muito bem na comunicação via Spooler do Windows, realizando todas as tarefas sem problema algum. Contudo, não há como coletar o status da TM-T20 ao usar esse meio de comunicação. Ficha técnica fornecida pelo fabricante: Geral Método de impressão: Impressão térmica em linhas Velocidade do alimentador de papel: Aprox. 150 mm/s (mantendo o botão Feed pressionado) Guilhotina: Corte parcial (ponto para destaque na lateral esquerda) Pontos por polegadas: 203 × 203 dpi Conexão: USB 2.0 (12 Mbps) Caixa registradora: suporte a 2 gaveteiros Fonte de alimentação: 100-240V 50/60Hz, Corrente nominal: 1.0 A Temperatura / umidade em uso: 5 to 45°C, 10 to 90% RH Dimensões: 146 × 140 × 199 mm (A × L × C) Peso (massa): Cerca de 1,7 kg Código de barras: UPC-A, UPC-E, JAN13 (EAN13), JAN8 (EAN), CODE39, ITF, CODABAR (NW-7), CODE93, CODE128, GS1-128, GS1 DataBar (Expanded / Limited / Expanded Stacked) . Código bidimensional: PDF417, QRCode, MaxiCode, 2D GS1 DataBar, simbologia composta Espaçamento entre linhas (padrão): 3,75 mm Velocidade de impressão Caracteres: 150 mm/s máx. / 40 lps Cód. Barras e Bidimensional: 100 mm/s Vida útil Mecanismo de impressão: 15.000.000 linhas (impressão + avanço do papel); Cabeça térmica de impressão: 100 millions pulses, 100km Guilhotina: 1.500.000 cuts Tempo médio entre falhas (MTBF): 360.000 horas Média de ciclos entre falhas(MCBF): 60.000.000 linhas Caracteres de impressão: Caracteres alfanuméricos: 95 Páginas de código: 18 tipos Gráficos: 128x43 páginas Impressão com bobinas de 80 mm Largura da impressão: - 48 colunas: 72,1 mm / 576 pontos - 42 colunas: 68,3 mm / 546 pontos Caracteres por linha - 48 colunas: Fonte A=48 / Fonte B=64 - 42 colunas: Fonte A=42 / Fonte B=60 Espaçamento entre caracteres - 48 colunas: Fonte A=0,25 mm / Fonte B=0,25 mm - 42 colunas: Fonte A=0,38 mm / Fonte B=0,25 mm Estrutura dos caracteres - 48 colunas: Fonte A=12x24 / Fonte B=9x17 (ambos incluem 2 pontos para espaçamento horizontal) - 42 colunas: Fonte A=13x24 / Fonte B=9x17 (2 e 3 pontos para espaçamento horizontal respectivamente) Tamanho do carácter (48 colunas) - Normal: Fonte A=1,25 x 3,00 mm / Fonte B=0,88 x 2,14 mm - Altura dupla: Fonte A=1,25 x 6.00 mm / Fonte B=0,88 x 4,26 mm - Largura dupla: Fonte A=2,50 x 3,00 mm / Fonte B=1,76 x 3,00 mm - Altura dupla: Fonte A=2,50 x 6,00 mm / Fonte B=1,76 x 4,26 mm Tamanho do carácter (42 colunas) - Normal: Fonte A=1,25 x 3,00 mm / Fonte B=0,88 x 2,13 mm - Altura dupla: Fonte A=1,25 x 6,00 mm / Fonte B=0,88 x 4,26 mm - Largura dupla: Fonte A=2,50 x 3,00 mm / Fonte B=1,76 x 2,13 mm - Altura dupla: Fonte A=2,50 x 6,00 mm / Fonte B=1,76 x 4,26 mm Impressão com bobinas de 58 mm Largura da impressão: - 48 colunas: 52,6 mm / 420 pontos - 42 colunas: 47,3 mm / 378 pontos Caracteres por linha - 48 colunas: Fonte A=35 / Fonte B=46 - 42 colunas: Fonte A=42 / Fonte B=31 Espaçamento entre caracteres - 48 colunas: Fonte A=0,25 mm / Fonte B=0,25 mm - 42 colunas: Fonte A=0,25 mm / Fonte B=0,25 mm Estrutura dos caracteres - 48 colunas: Fonte A=12x24 / Fonte B=9x17 (ambos incluem 2 pontos para espaçamento horizontal) - 42 colunas: Fonte A=9x17 / Fonte B=12x24 (ambos incluem 2 pontos para espaçamento horizontal) Tamanho do carácter (48 colunas) - Normal: Fonte A=1,25 x 3,00 mm / Fonte B=0,88 x 2,14 mm - Altura dupla: Fonte A=1,25 x 6.00 mm / Fonte B=0,88 x 4,26 mm - Largura dupla: Fonte A=2,50 x 3,00 mm / Fonte B=1,76 x 3,00 mm - Altura dupla: Fonte A=2,50 x 6,00 mm / Fonte B=1,76 x 4,26 mm Tamanho do carácter (42 colunas) - Normal: Fonte A=0,88 x 2,13 mm / Fonte B=1,25 x 3,00 mm - Altura dupla: Fonte A=0,88 x 4,26 mm / Fonte B=1,25 x 6,00 mm - Largura dupla: Fonte A=1,76 x 2,13 mm / Fonte B=2,50 x 3,00 mm - Altura dupla: Fonte A=1,76 x 4,26 mm / Fonte B=2,50 x 6,00 mm Especificações da papel Diâmetro da bobina: Máximo 83 mm Largura: - Papel de 80mm: 79,5 mm ± 0,5 mm - Papel de 58mm: 57,5 mm ± 0,5 mm Tipo de papel térmico - Papel de 80mm: NTP080-80 - Papel de 58mm: NTP058-803 pontos
-
Alexandre Marcondes, foi o primeiro (e único) a responder a meu Post... ele me ajudou MUITO, na organização das Ideias, dos fontes, e me passou os fundamentos básicos sobre o funcionamento de um Projeto de código aberto, como Repositório de Fontes, licenças de código, Source forge, etc... Muito obrigado Alexandre...3 pontos
-
Não creio que o Pay&Go retorne essas informações... No Sitef é necessário instalar um módulo especial, para que isso seja retornado... O mais usual é criar uma nova tabela em seu sistema, e fazer uma referência cruzada, com a informação da Operadora, que é retornada pelo Gerenciador TEF3 pontos
-
2 pontos
-
Entendi... Irei verificar e tentar novamente, qualquer coisa entro em contato. Obrigado.2 pontos
-
Olá.. problema em meu fonte mesmo. Adicionei uma função que carrega as configurações padrões do cliente, e lá dentro dessa função tinha um Manifestos.Clear largado. Interessante que apesar do Clear os outros campos recebiam os valores, só em alguns ocorria o erro.2 pontos
-
2 pontos
-
Boa tarde, Daniel De Paula Romanini. Basta atualizar a versão para a mais recente e preencher os campos do Grupo da "DI". O link abaixo informa os campos a serem preenchidos, utilizando o ACBrMonitorPlus: https://acbr.sourceforge.io/ACBrMonitor/ModeloNFeINICompleto.html2 pontos
-
Sim.. pode ser um bom momento... Veja o exemplo em TEFDDemo.dpr procedure TForm1.ACBrTEFD1DepoisConfirmarTransacoes( RespostasPendentes: TACBrTEFDRespostasPendentes); var I : Integer; begin for I := 0 to RespostasPendentes.Count-1 do begin with RespostasPendentes[I] do begin Memo1.Lines.Add('Confirmado: '+Header+' ID: '+IntToStr( ID ) ); // Lendo os campos mapeados // Memo1.Lines.Add( 'Rede: ' + Rede + // <---- NOME DA REDE ' NSU: ' + NSU + ' Parcelas: '+ IntToStr(QtdParcelas) + ' Parcelado por: '+ GetEnumName(TypeInfo(TACBrTEFDRespParceladoPor), integer(ParceladoPor) ) + ' É Débito: '+BoolToStr(Debito)+ ' É Crédito: '+BoolToStr(Credito)+ ' Valor: '+ FormatFloat('###,###,##0.00',ValorTotal)) ; // Lendo um Campo Específico // Memo1.Lines.Add('Campo 11: ' + LeInformacao(11,0).AsString ); end; end; end;2 pontos
-
2 pontos
-
Bom dia. Foram enviadas no alterações no commit 16301, de forma a incluir a opção BancoEmail para a propriedade Titulo.CarteiraEnvio, isto foi necessário para que fosse possível identificar quando o Segmento S deverá ser utilizado para informar as mensagens a serem impressas nos boletos ou se deverá conter as informações para envio dos boletos por email (por parte do banco). Fiz a validação prévia usando a página fornecida pelo banco e obtive sucesso em todas as situações. https://gmtedi.bb.com.br/validaleiaute/#/validadorleiaute#relatorio Att.2 pontos
-
2 pontos
-
Identificamos que o problema ocorria, quando envio utiliza Threads (opção Monitor: Envio em Segundo Plano ). Foi aplicado um ajuste para isso, se você compila a versão do Monitor, favor atualizar os fontes e recompilar. Caso contrário estará disponível na próxima versão semanal do ACBrMonitor.2 pontos
-
Bom dia Juliana. Era isso mesmo, dei update no projeto e instalei os componentes novamente, aí deu certo! Obrigado por sua atenção2 pontos
-
Existem várias maneiras de fazer isso. Uma delas, é alimentando o componente do ACBrNFe com o comando: ACBrNFe.NotasFiscais.LoadFromString("Aqui você passa o campo blob do banco de dados no formato string"). Após isso, é só gerar o comando : ACBrNFe.NotasFiscais.Items[0].GravarXML("Aqui você passa as informações do arquivo a ser salvo").2 pontos
-
Boa tarde Lucas, Lembre-se que os Schemas são utilizados para validar o XML antes do seu envio para a SEFAZ, sendo assim se não ocorrer problemas em ambiente de homologação com ambas as configurações que você utiliza, não há o que temer ao mudar para o ambiente de produção.2 pontos
-
Boa tarde Mateus, Muito obrigado pela colaboração, já enviei para o repositório.2 pontos
-
Muitos desenvolvedores, que estão iniciando no segmento ou até mesmo quem já desenvolve mas não conhece o universo de emissão de documentos fiscais eletrônicos, perguntam onde procurar informações sobre o assunto. Para quem entra em contato com o ACBr pela primeira vez é importante saber o “jeito de fazer a coisa” antes de qualquer definição, pois quem inicia na tarefa pode não conhecer ainda como funciona o serviço do SAC. Abaixo, alguns links considerados fundamentais: NF-e O portal que reúne toda a documentação para a NF-e é bem acessível, claro e objetivo. Navegue em cada link da página, pois é a principal fonte de informação para quem está começando. http://www.nfe.fazenda.gov.br/portal/principal.aspx 1 Menu de opções para acesso aos documentos e legislação; 2 Escolha o Sefaz de cada Estado e veja os links sobre servidores e documentações; 3 Acesso aos links sobre CT-e, MDF-e, Sped e BP-e (importantes); NFC-e O Encat é o órgão oficial que reúne informações e documentações dos processos de emissão da nota fiscal de consumidor eletrônica. Veja que na página existe uma área exclusiva para desenvolvedores, inclusive um material riquíssimo tratando sobre as Boas Práticas no desenvolvimento de um emissor de NFC-e. http://nfce.encat.org/ É claro que somente o acesso a esses links e a leitura de todo o conteúdo não capacita nenhum profissional da área a sair desenvolvendo. Precisa-se de muita dedicação, tempo e interpretação dos conteúdos para um entendimento satisfatório dos processos. Todas as rotinas são dinâmicas e mudam sempre, mas já é o começo de onde procurar. E você? Qual sua experiência com esse conteúdo? Tem mais alguma fonte de documentação que ajudou no seu desenvolvimento. Participe e colabore com esse post.1 ponto
-
Boa tarde, rafaelj.desenvolvimento. Informe as suas configurações da propriedade SSL.1 ponto
-
Boa tarde. Você chegou a testar o arquivo no notepad++? Está em Ansi ? Att.1 ponto
-
1 ponto
-
Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.1 ponto
-
Se você tem a Jedi instalada pode tentar debugar o instalador, na pasta ACBr\Projetos\ACBrInstall_Trunk2, e ver em que ponto está ocorrendo a lentidão.1 ponto
-
Bom dia, Eduardo Santana. Veja se pode te ajudar: http://www.sped.fazenda.gov.br/spedtabelas/AppConsulta/publico/aspx/ConsultaTabelasExternas.aspx?CodSistema=SpedFiscal1 ponto
-
Bom dia, Walter Nilander Lemes Tente fazer da seguinte forma: Execute novamente o instalador como administrador, marque a opção para remover arquivos antigos e tente novamente.1 ponto
-
Inverti aqui ao passar pra ka. rsrs TEF: begin tpIntegra := tiPagIntegrado; end; POS: begin tpIntegra := tiPagNaoIntegrado; end;1 ponto
-
Bom dia Daniel, muito obrigado, vou ver se pego novamente a impressora do cliente para regular como componente, fica bem melhor....1 ponto
-
sim temos até um tópico no fórum que fala sobre as mudanças https://github.com/fortesinformatica/fortesreport-ce1 ponto
-
Nas últimas Notas Técnicas onde constam as novas informações referentes a tributos, no final consta que ainda não se tem a intensão de alterar o DANFE e que as novas informações devem constar em informações adicionais do item ou em observação dependendo do caso. Eu no seu lugar não me atreveria a fazer uma alteração no layout e sim seguir as recomendações que constam nas NT. Quem sabe este ano saia uma NT apresentando um novo layout do DANFE.1 ponto
-
Obrigado pela ajuda, essa foi minha primeira ideia também, mas resolvi perguntar para tirar essa dúvida. Pois pensei em alterar o layout de impressão, mas toda vez teria que ter o cuidado de verificar as atualizações do projeto acbr para não sobrescrever o que foi alterado. Campos dados adicionais está lá para isso!!! Abraço e obrigado mais uma vez.1 ponto
-
Bom dia.. O que voce pode fazer, é quando estiver gerando a Nota fiscal, acrescente isso no xml do Campo Observacao da Nota as informações adicionais que o cliente deseja , e que nao vao no modelo de notas. No Nosso Sistema Erpmatos, fizemos exatamente isso. Valeu1 ponto
-
Bom dia, Não entendi muito bem o que você deseja. Dependendo do cliente você quer que determinadas informações sejam impressas ou não no DANFE, é isso? O teu cliente não tem o que querer, é preciso ver no Manual e nas Notas Técnicas se uma determinada informação quando diferente de zero (no caso de tributos) deve ser impressa no DANFE ou não e onde deve ser impressa caso seja exigido. Se o cliente teimar que não quer que a informação seja impressa mostre para ele o Manual ou Nota Técnica que dispõe da obrigatoriedade da impressão.1 ponto
-
Não desenvolvemos nada nesse sentido nos ... e não está na lista de tarefas recentes...1 ponto
-
A única maneira de validar as notas antes de enviar, seria algo "manual". A validação se dá pelos arquivos Schema, que o próprio ACBr faz, e aconselho também, a você criar ( se não possui ainda ) uma validação de regras de negócio, para antes de enviar a nota, verificar todo e qualquer erro que pode ocorrer.1 ponto
-
Bom dia.. O Contador Antigo é obrigado, a passar todas as documentações do cliente.. é so o teu cliente, ir no contador antigo, pedir o cancelamento do contrato e pedir toda a documentação. com isso, é so pegar os livros fiscais, e la vai constar as notas.1 ponto
-
Alguns estados disponibilizam na agência virtual os dados das NF-e emitidas por um determinado período. Uma opção seria entrar em contato com o contador que tem acesso a essas informações, e pedir que verifique qual foi a última NF-e emitida. Algumas agências virtuais, disponibilizam também o acesso via certificado digital, sem necessitar do contador para acesso.1 ponto
-
Bom dia. O meu problema era não pegar notas muito antigas. Então da primeira vez eu solicito ao usuário entrar com a chave da NFe e utilizo o método DistribuicaoDFEPorChavenfe. A partir da NSU dessa NFe eu busco as próximas com o método DistribucaoDFEPorUltNSU.1 ponto
-
Bom dia!! Acredito que era um problema com a exibição no GMAIL, porque inclusive emails antigos não mostravam mais o arquivo XML, sendo que no dia 11/01 ainda estava mostrando. Hoje normalizou, estão aparecendo os anexos novamente. Em alguns casos aparecia a opção de "Exibir toda mensagem", em outros ele aparecia o XML incompleto no corpo da mensagem, e em outros ainda nem aparecia nada, como se não tivesse o XML em anexo. Sim, nesse botão de Enviar email do componente foi normalmente pra mim também. Ah beleza!!! Vou ver se descolo uns pila com o patrão pra usar o SAC e pegar a última versão então, se não espero sair na free mesmo. Os comando que usei que notei que vinha como inline são o EMAIL.AdicionaAnexo já na versão 1.2.0.18, que tem o registro de alteração do attachment que vc mencionou. O NFE.EnviarEmail e NFE.EnviarEmailEvento apareceram como inline também, mas foi em versões anteriores, 1.1.0.62 e 1.1.0.54. Olhei o changeLog delas e não tinha a alteração ainda, então tudo certo. Obrigado pela resposta e esclarecimentos José e BigWings!! Resumindo. No GMAIL voltou tudo ao normal, aparece como anexo mesmo estando inline. Como nos clientes ainda tenho instalado as versões 1.1.0.62 e 1.1.0.54, então vem inline, mas vou colocar a versão mais nova, daí vai ficar como attachment. Só ficou a questão do EMAIL.AdicionaAnexo que testei com a versão 1.2.0.18 e ainda veio inline. Vlww!!1 ponto
-
Bom dia Graça, o erro ainda persiste no ambiente de homologação, em produção pelo teste que fiz hoje não retornou este erro, estou verificando.1 ponto
-
Bom dia Por favor anexe também o fonte com a alteração proposta, para que possamos analisar.1 ponto
-
Olá, Muito obrigado pelo retorno. Visto que acredito tudo estar sendo corretamente tratado e nenhuma quebra de compatibilidade foi criada, eu estou considerando a implementação concluída. Queira criar um novo tópico caso encontre algum problema, assim trataremos de um ponto específico que por ventura precise ser ajustado.1 ponto
-
Elton boa noite Eu é que agradeço a paciência de estar revisando tudo. Já atualizei e agora estou ajustando o meu sistema para contemplar essas alterações e em seguida proceder os testes. Conclamo ao Pessoal da Comunidade para conferirmos se realmente está atendendo a versão 1.28 do Manual. Qualquer problema reporto aqui.1 ponto
-
Boa tarde, Muito obrigado pela colaboração, vou analisar o que você fez e tentar descobrir o que esta errado.1 ponto
-
Simplesmente não existe. o que tem são gambiarras que aos poucos o governo está ajudando a terminar, por exemplo hoje não é mais possível consultar o xml completo no site do sefaz e assim por diante. a forma correta é que existe, manifestar e dar ciência de operação ou ainda a que teria que ser premissa, enviar o xml aos participantes após o termino de sua emissão junto ao sefaz1 ponto
-
O código já foi enviado ao SVN. Se você não atualizar, não precisa se preocupar. Mas se tiver que atualizar por algum motivo (exemplo: atender mudanças da legislação, correção de algum problema, etc...), então o código já vai conter as alterações.1 ponto
-
Boa tarde a todos, Um detalhe muito importante, o componente ACBrNFe permite que cancelemos uma nota usando o método Cancelamento: ACBrNFe1.Cancelamento(AJustificativa: String; ALote: integer = 0): Boolean; ou montando uma rotina para alimentar o componente com as informações referente ao evento de cancelamento. Essa rotina que me refiro é genérica, portanto podemos utiliza-la para enviar para SEFAZ qualquer tipo de evento. Abaixo a rotina genérica para enviar o evento de Cancelamento Por Substituição: ACBrNFe1.EventoNFe.Evento.Clear; with ACBrNFe1.EventoNFe.Evento.Add do begin infEvento.chNFe := Chave; infEvento.CNPJ := CNPJ; infEvento.dhEvento := now; infEvento.tpEvento := teCancSubst; infEvento.detEvento.xJust := Justificativa; infEvento.detEvento.nProt := Protocolo; infEvento.detEvento.cOrgaoAutor := 35; infEvento.detEvento.verAplic := '1.0'; infEvento.detEvento.chNFeRef := ' chave de acesso da NFC-e substituta'; end; ACBrNFe1.EnviarEvento(StrToInt(idLote)); No programa exemplo do componente ACBrNFe você encontra essa mesma rotina, mas para enviar o evento de cancelamento. Observe o que esta em negrito.1 ponto
-
1 ponto
-
1 ponto
-
1 ponto