Painel de líderes


Conteúdo popular

Mostrando conteúdo mais curtido desde 22-09-2017 em todas as áreas

  1. 7 pontos
    Bom dia @Diego Henicka voce está carregando o XML para o encerramento ou está encerrando somente com a chave de acesso? Faça só com a chave de acesso que irá funcionar, sem carregar o XML pois ele está na versão 1.0 e não é mais suportada para a versão; infEvento.chMDFe := ChaveAcesso.Text; infEvento.detEvento.nProt := Protocolo.Text; infEvento.CNPJ := CNPJ; infEvento.dhEvento := now; infEvento.tpEvento := teEncerramento; infEvento.nSeqEvento := 1; infEvento.detEvento.dtEnc := Date; infEvento.detEvento.cUF := UF; infEvento.detEvento.cMun := CODIGOMUNICIPIO.text; Estou fazendo assim e está indo tranquilamente o encerramento do MDFe, espero ter ajudado.
  2. 7 pontos
    Uma pane na estrutura da LocaWeb deixou o Servidor onde o Projeto ACBr fica hospedado, indisponível por várias horas http://statusblog.locaweb.com.br/category/cloud Lamentamos o ocorrido, e já estamos conversando com a LocaWeb a fim de evitar que o problema se repita...
  3. 4 pontos
    Gentilmente, recebemos da Bematech, a impressora não fiscal Bematech PP-10 B, para testes. Utilizando os exemplos do ACBr, PosPrinterTeste.exe e SATTeste.exe, além do programa de testes do Fabricante. Diferente das impressoras convencionais, ela é portátil, tem uma bateria com duração de 3 horas ou 100m de impressão, comunica-se com Bluetooth e é compatível com o Android. Ideal para sistemas mobile. Ambiente: Computador Dell Inspiron 5566 Sistema Operacional Windows 10 64Bit atualizado (25/09/2017) Processador Intel Core I5 7ª Geração Memória 8 GB USB 2.0 Versão do Bluetooth 4.0 Instalação da Impressora PP-10: O manual de instalação, drivers e aplicativos foram disponibilizados pelo suporte da Bematech. Até o momento desta publicação, os drivers não estão disponíveis no site da Bematech, contudo a Bematech informou que estão trabalhando para disponibilizar o mais breve possível. A impressora acompanha um mini CD com os drivers, mas por algum motivo não conseguimos abri-lo para realizar a instalação. USB: Para realizar a instalação siga as etapas abaixo: Adquira o driver com a Bematech; Conecte a impressora no USB; Com o usuário administrador, instale o driver PL2303_Prolific.exe Com o usuário administrador, instale o Bematech.exe Durante a instalação aparecerá uma tela de configuração. Deixe a opção Printer Port(1) igual a imagem abaixo: Finalize a instalação e reinicie o computador Após a instalação do Bematech.exe, aparecerá uma nova impressora com o nome definido em Printer Name(2): Bluetooth/COM: Para realizar a instalação siga as etapas abaixo: Com a impressora desligada e desconectada do USB, mantenha pressionado os botões Liga(1) e Avanço(2) até começar a imprimir o Autoteste: Obs.: Imagem retirada da documentação do fabricante. No Autoteste será impresso as configurações de Bluetooth. Verifique o número do EDR PIN, ele será usado para emparelhar a impressora: Obs.: Imagem retirada da documentação do fabricante. Entre em Configurações → Bluetooth, será exibido a impressora Bematech PP-10(1). Clique em Emparelhar(2) e digite o número do EDR PIN(3): Em Dispositivos e Impressoras(1), clique com o botão direito em Bematech PP-10(2), clique em Propriedades(3) e verifique na aba Hardware(4) qual a porta COM(5) está sendo usada: Desta forma é possível enviar comandos ESC/POS para a impressora através da porta COM. Não instale o driver de Spooler da impressora caso queira usar a COM. O motivo é que a porta COM fica ocupada pelo driver, não permitindo o uso por outro programa. Bluetooth/Spooler do Windows: Para realizar a instalação siga as etapas abaixo: Faça todos os passos descritos na instalação Bluetooth/COM acima; Adquira o driver com a Bematech; Com o usuário administrador, instale o Bematech.exe; Durante a instalação aparecerá uma tela de configuração. Na opção Printer Port(1), selecione a mesma porta COM exibida na imagem anterior. No nosso exemplo é a COM3: Finalize a instalação e reinicie o computador. Após a instalação do Bematech.exe, aparecerá uma nova impressora com o nome definido em Printer Name(2): 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/ Deixamos as configurações iguais as exibidas na imagem abaixo: Obs.: Importante salientar, que essa impressora não segue o protocolo ppEscBematech, e sim o protocolo ppEscPosEpson Testamos os 3 tipos de comunicação com a impressora (Campo Porta): COMxx (Bluetooth apenas)– Para comunicação virtual serial. No nosso ambiente reconheceu COM5; RAW:nome da instalação da impressora (USB)– Para enviar a impressão ao Spool do Windows em modo RAW. (exemplo: RAW:PP-10) RAW:nome da instalação da impressora (Bluetooth)– Usando também o Spool do Windows, mas através do Bluetooth; As imagens abaixo exemplificam os resultados dos testes padrões do ACBrPosPrinter. Observe que o equipamento se saiu muito bem, efetuando corretamente a impressão de acordo com os comandos suportados pelo protocolo Epson Esc/Pos Formatação de Carácter; Alinhamento; Código de Barras; QRCode; Nas impressões abaixo, foram realizados testes de acentuação com todas as páginas de código pcNone: Os caracteres de acentuação foram ignorados; pc473: Alguns acentos agudos e circunflexos foram ignorados; pc850: Todos os acentos foram impressos corretamente; pc852: Todos os acentos circunflexos e o til foram ignorados; pc860: Todos os acentos foram impressos corretamente; pcUTF8: Os caracteres de acentuação não foram impressos corretamente; pc1252: Todos os acentos foram impressos corretamente; Leitura de Status: A leitura de Status é funcional através da porta serial (COM). Abaixo alguns status retornados pela impressora: Pronta para uso: “Nennhum Erro encontrado”; Tampa aberta: “stSemPapel, stOffLine”; Pouco papel: “Nenhum Erro encontrado”; Sem papel: “stSemPapel, stOffLine”; Bateria fraca: “Nenhum Erro encontrado”; 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 do fortes utilizadas foram as seguintes: Fortes EscPOS Largura: 180 Topo: 0 Fundo: 0 Esquerda: 0 Direita: 1 Colunas: 32 Espaço Linhas: 1 Linhas Pular: 1 Pag.codigo: pc860 Modelo: ppEscEpson RAW: PP-10 Exemplo de um cupom fiscal impresso pela PP-10, usando comandos EscPOS(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. Todas as formas de comunicação disponibilizada pela PP-10 foram testadas: 1- USB/Spooler do Windows: As configurações foram as seguintes: Porta: USB Largura: 185 Topo: 0 Fundo: 0 Esquerda: 0 Direita: 1 Resultados: 2-Bluetooth/COM: Verificamos que ao enviar impressões em Esc/Pos, com Extratos acima de 200 itens por bluetooth, a impressora travava. Acreditamos que seja algo relacionado com ao tamanho do buffer do bluetooth. Porém, como a impressão é feita através da porta COM, foi possível contornar esta situação, usando uma configuração específica em ACBrPosPrinter.Device, que permite configurar o tamanho máximo do buffer na porta COM. ACBrPosPrinter.Device.SendBytesCount: Determina o número máximo de bytes a serem enviados pela porta. ACBrPosPrinter.Device.SendBytesInterval: Determina o número de milissegundos a aguardar, antes de enviar o próximo Buffer de dados Para efetuar tal configuração no SATTeste, vá na aba Impressão(1), clique no ícone de configuração(2), e configure o Buffer de Envio(3) e o Espera Buffer (4) conforme imagem abaixo: As demais configurações foram as seguintes: Modelo: ppEscEpson Porta: COM3 Colunas: 32 Espaços Linhas: 0 Linhas Pular: 1 Pag. codigo: pc860 Resultados: OBS.: Acima de 200 itens foi necessária a configuração de ACBrPosPrinter.Device. 3- Bluetooth/Spooler: As configurações foram as seguintes: Porta: RAW:DR800 Largura: 185 Topo: 0 Fundo: 0 Esquerda: 0 Direita: 1 Resultados: OBS.: Acima de 200 itens a impressora trava durante a impressão. (Bematech informou que verificará uma solução para este problema) Sobre o equipamento: A impressora Bematech PP-10 B permite duas maneiras de comunicação: USB e Bluetooth. Através da comunicação Bluetooth é possível enviar impressões pelo Spooler do Windows ou por uma porta Serial emulada, mas não permite as duas ao mesmo tempo. A comunicação USB permite enviar impressões pelo Spooler do Windows apenas. O objetivo da impressora PP-10 é ser portátil. Assim, ela é leve e tem um tamanho menor que as impressoras convencionais. Através de um acessório que imita couro, é possível prendê-la no cinto da calça. Sua bateria dura 3h ou imprime 100m até sua próxima recarga. O gabinete da impressora Bematech PP-10 B é feito com plástico bem resistente e acabado. As luzes do painel são autoexplicativas assim como os botões avanço e liga/desliga. Os conectores e orifícios de acesso a parafusos tem um tipo de acabamento de borracha, protegendo-os do tempo. Há uma alavanca em cima da tampa da baia do papel, facilitando a troca da bobina. Sobre o Software Android: Permite realizar testes de impressão como: Textos simples, Rich Text (itálico, negrito, sublinhado, etc), código de barras, imagens, pdf e até mesmo um website. Ele tem uma aba de configurações da impressora, para configurar opções como guilhotina, apito, gaveta, tamanho do papel e codificação de texto (UTF-8). Porém, somente as opções tamanho do papel e codificação de texto são aplicáveis a PP-10 B. Sobre a utilização do equipamento: O processo de instalação para comunicação através do USB e Bluetooth 4 foram simples. Em poucos minutos a impressora estava pronta para o uso. Ficha técnica fornecida pelo fabricante: Observações importantes: O tópico citado abaixo nos causaram uma certa estranheza, e devido a importância achamos interessante destacar: A impressora ficou extremamente lenta ao usá-la com um notebook, com o bluetooth na versão 3.
  4. 4 pontos
    Gentilmente, recebemos da Daruma Automação, uma impressora não fiscal Daruma DR-800 D-Printer, para testes. Utilizando os exemplos do ACBr, PosPrinterTeste.exe e SATTeste.exe, além do programa de testes do Fabricante. Ambiente: Computador Desktop Dell Vostro 220s Sistema Operacional Windows 10 64Bit atualizado (28/08/2017) Processador Intel Pentium Dual Core Memória 3 GB USB 2.0 Necessidade de atualizar a DR-800 Antes de instalar a impressora, verifique se a versão do firmware está desatualizada. Para tal, siga os passos abaixo: Desligue a impressora; Ligue a impressora com o botão Avanço pressionado e o mantenha assim até a impressão de um menu de opções; Aguarde alguns instantes e um Autoteste será impresso. Nele consta a versão do firmware da impressora: Compare com o número da ultima versão disponível no site da Daruma: http://www.desenvolvedoresdaruma.com.br/dr800/ Será exibido algo parecido com a imagem abaixo: Caso não seja a mesma versão, entre em contato com o suporte da Daruma. A lista de contatos e telefones podem ser encontrados neste link: http://www.desenvolvedoresdaruma.com.br/home/index.php Instalação da Impressora DR-800: O manual de instalação, drivers e aplicativos podem ser encontrados em: http://www.desenvolvedoresdaruma.com.br/dr800/#s1 USB/Serial: Para realizar a instalação siga as etapas abaixo: Faça o download do Driver USBDR800.zip neste link: http://bit.ly/DR800USB Extraia o USBDR800.zip dentro de um diretório; Com o usuário administrador, execute o driver dentro do diretório criado conforme seu ambiente, no nosso exemplo é o Windows 10\ x64\Driver_DR800.exe Abra o “Gerenciador de Dispositivos” e conecte a impressora no USB. Será exibido um novo dispositivo serial (COM) emulado. A impressora emula uma porta serial para se comunicar com programas (Ex.: PosPrinterTeste.exe) ou mesmo com o Spooler do Windows: Obs.:A vantagem desse método, é que qualquer aplicação pode acessar diretamente a porta da impressora. USB/Spooler do Windows: Para realizar a instalação siga as etapas abaixo: Faça o download do driver SpoolerDR800.zip neste link: http://bit.ly/DR800SPOOLER Extraia o SpoolerDR800.zip dentro de um diretório; Com o usuário administrador, execute o driver dentro do diretório criado: Driver_Spooler_800.exe Nos nossos testes, a impressora não foi instalada automaticamente. Precisamos instalá-la manualmente, entrando nas Configurações do Windows e em seguida Dispositivos; Clique em Adicionar uma impressora e scanner; Clique na opção A impressora que eu quero não está na lista que aparecerá durante a busca do Windows; Selecione Adicionar uma impressora local ou de rede usando configurações manuais e depois clique em Avançar; Em Usar uma porta existente, selecione a porta serial em que a impressora foi instalada. No nosso exemplo é a COM5; Escolha o driver Daruma DR800 Spooler; Finalize a instalação deixando as demais opções como padrão; Ethernet/Spooler do Windows: Para realizar a instalação e configuração da impressora na rede, será necessário ter um número de endereço IP fixo disponível. Nos nossos testes usamos o IP: 172.16.93.30/24. Opcional: Caso deseje usar o driver da Daruma ao invés do Genérico do Windows, siga o procedimento USB/Spooler do Windows até a etapa 4; Faça o download do ToolDR800.zip neste link: http://bit.ly/DR800TOOL Extraia e execute o programa Daruma Tool DR (Tool_DR_V.3.0.6.exe); Após o programa detectar a impressora, clique em Ajustes(1) e depois Conf. Rede(2); Defina as configurações de rede conforme o seu ambiente e clique em Enviar p/ Impr(3).: Se o cabo de rede não estiver conectado na impressora, conecte; Desconecte o cabo USB; Feche o Daruma Tool DR; Desligue a impressora, ligue-a novamente com o botão Avanço pressionado até a impressora imprimir um menu; Pressione 4x o botão Avanço para ativar o Webserver da impressora. Será impresso uma confirmação; Abra o Prompt de Comandos (cmd.exe) e “pingue” o IP da impressora (Ex.: ping 172.16.93.30) para verificar se ela está comunicando na rede; Entre nas Configurações do Windows e em seguida Dispositivos; Clique em Adicionar uma impressoras e scanner; Clique na opção A impressora que eu quero não está na lista que aparecerá durante a busca do Windows; Selecione Adicionar uma impressora local ou de rede usando configurações manuais e depois clique em Avançar; Selecione Criar nova porta , defina Standard TCP/IP Port, e clique em Avançar; Digite o IP em Nome do host ou endereço IP; Aguarde o Windows tentar sem sucesso a procura pela porta da impressora. Não há como pular essa etapa; Selecione Personalizado e clique em Configurações; Defina 50000 em Número da Porta, clique em OK e depois em Avançar; Escolha o driver Daruma DR800 Spooler ou Generic / Text Only caso o driver da Daruma não fora instalado; Finalize a instalação deixando as demais opções como padrão; Obs.: Conosco não imprimiu de primeira, foi necessário desligar e religar a impressora; Opcionalmente a DR-800 permite realizar outro teste para verificar se ela está se comunicando na rede. Para tal siga os passos abaixo: Abra um navegador de internet; Tente abrir o IP:Porta (Ex.: 172.16.93.30:50000) no navegador Será impresso um teste de comunicação igual a imagem abaixo, com várias informações como: versão do HTTP, user-agent, linguagem usada, etc. Configuração de logotipo Para armazenamento do logotipo é utilizado o programa Daruma Tool DR (Tool_DR_V.3.0.6.exe), seguindo os passos abaixo: Execute o programa Tool_DR_V.3.0.6.exe; Verifique se o aplicativo estabeleceu a comunicação com a impressora; Clicar em “Impressão” Clica em “Armazenar Logotipo”; Selecionar a imagem desejada*; *A imagem deve conter os seguintes requisitos: 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/ Deixamos as configurações iguais as exibidas na imagem abaixo: Testamos os 4 tipos de comunicação com a impressora (Campo Porta): COMxx – Para comunicação virtual serial. No nosso ambiente reconheceu COM5; \\nome_do_computador\nome_do_compartilhamento – Para utilizar a impressora instalada e compartilhada no Windows. (exemplos: \\localhost\dr800; \\rodrigo\dr800; \\192.168.1.10\dr800) RAW:nome da instalação da impressora – Para enviar a impressão ao Spool do Windows em modo RAW. (exemplo: RAW:Daruma DR800 Spooler) TCP:IP:Porta – Para utilizar a impressora através da comunicação Ethernet. (exemplo: TCP:172.16.93.30:50000) Todas as páginas de código foram testadas. São elas: pc850, pc437, pc852, pcUTF-8, pc860, pc1252 e pcNone. As imagens abaixo exemplifica um dos resultados. Todas as impressões utilizando páginas de código citadas, com exceção do teste de caracteres de acentuação, saíram da mesma forma: Obs.: Nas impressões acima foram utilizadas as seguintes TAGs: Formatação de Carácter; Alinhamento; Logotipo Codigo de Barras QRCode Na impressão abaixo foi realizado um teste de acentuação. Somente a página de código pc1252 imprimiu corretamente: 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. Resultados utilizando o gerador de relatórios Fortes Report: As configurações do fortes utilizadas foram as seguintes: Largura: 290 Topo: 0 Fundo: 0 Esquerda: 3 Direita: 4 Exemplo de um cupom fiscal impresso pela DR-800: 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. Todas as formas de comunicação disponibilizada pela DR-800 foram testadas: Porta serial virtual: As configurações foram as seguintes: Modelo: ppEscDaruma Porta: COM6 Colunas: 48 Espaços Linhas: 40 Linhas Pular: 7 Pag. código: pcNone Resultados: Comando RAW: As configurações foram as seguintes: Modelo: ppEscDaruma Porta: RAW:DR800 Colunas: 48 Espaços Linhas: 40 Linhas Pular: 7 Pag. codigo: pcNone Resultados: Comando TCP: As configurações foram as seguintes: Modelo: ppEscDaruma Porta: TCP:172.16.93.80:50000 Colunas: 48 Espaços Linhas: 40 Linhas Pular: 7 Pag. codigo: pcNone Resultados: Leitura de Status: A leitura de Status é funcional através da porta serial (COM) ou por TCP/IP.Abaixo alguns status retornados pela impressora: Impressora pronta para uso: “Nennhum Erro encontrado”; Impressora com a tampa aberta: “stErro, stSemPapel, stGavetaAberta, stOffLine, stTampaAberta”; Impressora com pouco papel: “stPoucoPapel”; Impressora sem papel: “stErro, stPoucoPapel, stSemPapel, stOffLine, stTampaAberta”; A impressora não leu o status de gaveta de dinheiro aberta. Sobre o equipamento: O Gabinete da Impressora Daruma DR-800 D-Printer é feito com plástico ABS, o que é bem resistente e acabado. Todos os botões ficam protegidos evitando o acionamento acidental, mas não dificulta o acesso a eles. A base contém os “pés” feito de silicone dificultando o deslise do equipamento. Há um software interno que permite realizar algumas configurações básicas como: habilitar / desabilitar guilhotina, tipo de corte da guilhotina, code page, voltar as configurações de fábrica, autoteste, etc. São disponibilizados dois tipos de comunicação física com ela: USB e Ethernet. Através da comunicação USB é possível enviar impressões pelo Spooler do Windows ou por uma porta Serial emulada. A comunicação Ethernet permite enviar impressões pelo Spooler do Windows ou por Socket TCP/IP. Sobre o Software de Configuração: O software é simples e funcional. A interface é clara e amigável, os botões são grandes o que facilita o seu entendimento. Automaticamente ele detectou a impressora, não havendo necessidade de nenhuma intervenção. Sobre a utilização do equipamento: O processo de instalação para comunicação através do USB/Serial emulada foi simples. Em poucos minutos a impressora já estava pronta para uso. Contudo, a realização das instalações usando as comunicações USB/Spooler e Ethernet/Spooler foram trabalhosas. Ambas foram necessárias realizar a instalação no Windows de forma manual. Sobre o suporte da Daruma: Em todas as ocasiões em que precisamos entrar em contato com o Suporte para desenvolvedores da Daruma, fomos muito bem atendidos. A atendente foi paciente, e preocupada em nos ajudar na resolução do problema. Dados técnicos encontrados no site do fabricante Características de Impressão Tecnologia de impressão: térmica Fontes: Normal, Elite e Condensada Atributos de impressão: Normal, Enfatizado, Expandido, Dupla Altura, Sublinhado, Impressão em modo gráfico, Impressão de logotipo (Lateral: 200x168 dots. Topo: 576x200 dots) Impressão nos modos vertical e horizontal de códigos de barras nos padrões: EAN8, EAN13, STANDART 2 OF 5, INTERLEAVED 2 OF 5, CODE11, CODE39, CODE93, CODE128, UPC-A, CODABAR, MSI Impressão de código de barras bidimensional QR Code Altura do caracter: 24 dots (3mm) Formação dos caracteres (horiz. x vert.): Modo normal: 12x24 dots, 48 colunas Modo elite: 14x24 dots, 41 colunas Modo condensado: 9x24 dots Gerador de Caracteres: ISO 8859-1, CODE PAGE 850, CODE PAGE 437, ABICOMP Buffer de impressão: 10 KBytes Velocidade de impressão 150 mm/s (para a versão L) 300 mm/s (para a versão H e ETH) Especificação da Bobina de Papel Diâmetro máximo da bobina: 102mm (133 metros) Largura regulável da bobina de papel: 57mm, 76mm, 80mm e 82.5 mm Especificação do Papel Tipo de papel: térmico Superfície de impressão externa ao rolo Gramatura: 52 a 64 g/m² Espessura: 65 a 85 µm Corte do papel Guilhotina / Serrilha Sinalização Sensor fim de papel Sensor quase fim de papel Sensor tampa aberta Confiabilidade Durabilidade da cabeça de impressão 100 km de papel (para a versão L) 150 km de papel (para a versão H e ETH) MTTR 15 minutos máximos Características Ambientais Temperatura de operação: 0° a 45° C Temperatura de armazenamento: -10° a 60° C Umidade relativa do ar (s/ condensação): 10% a 90% (operação) 10% a 90% (armazenagem) Alimentação Entrada: 100~240 VAC Saída: 24 VDC Frequência da rede: 50 a 60 Hz ±2% Consumo: 1,8 W em repouso 48 W imprimindo 76 W de pico Driver de saída Gaveta: conector fêmea RJ11 Dimensões Peso: 1,3 kg Largura: 145 mm Altura: 141 mm com tampa fechada 230 mm com tampa aberta Profundidade: 215 mm com tampa fechada 258 mm com tampa aberta Observações importantes: O tópico citado abaixo nos causaram uma certa estranheza, e devido a importância achamos interessante destacar: 1- O manual da impressora não explica como instalar e configurar a comunicação via Ethernet/Spooler. O manual consultado foi Daruma_manual_DR800.pdf; 2- Durante a instalação do driver de Spooler da Daruma (Driver_Spooler_800.exe), ocorreram os erros abaixo: A incidência deste erro é aleatória, e não houve problemas em ignorar estes erros e continuar a instalação. De acordo com a Daruma, os erros citados acima são causados por algum problema no Serviço de Spool do Windows. Para resolver este problema, é necessário aplicar a atualização KB4038788 do Windows 10. Maiores informações podem ser encontradas neste link: https://support.microsoft.com/en-gb/help/4038788
  5. 4 pontos
    Bom dia pessoal, Apenas como informação, foi prorrogado o prazo de implantação do ambiente de Produção da NF-e 4.0: _____________________________________________________________________________________________________________ Publicada a versão 1.31 da NT 2016.002 alterando a data de entrada em produção para 06-nov-2017. Assinado por: Coordenação Técnica do ENCAT 1.3. Sobre o Prazo de Implantação O prazo previsto para a implementação das mudanças é: – Ambiente de Homologação (ambiente de teste das empresas): 03/07/2017. – Ambiente de Produção: 06/11/17. – Desativação da versão anterior: 02/04/18. Segue o link: https://goo.gl/M99h1g _____________________________________________________________________________________________________________ Obs: tentei postar diretamente no tópico da nfe 4.0, porém estava fechado para publicações. Caso seja necessário alterar, por favor me informem.
  6. 3 pontos
    Prezado @Italo Jurisato Junior Humildemente voltaremos a pedir que reconsidere a sugestão que enviamos. Por motivos inerentes ao nosso sistema, nós precisamos carregar as informações do XML no componente ACBr no momento da abertura do lançamento. E até gostaríamos de estender a discussão e questionar o código atual do ACBr: qual a vantagem de sobrescrever a versão definida no componente com a versão carregada do XML? Já existiu alguma vez uma situação em que a SEFAZ orientou que "XML's de uma determinada versão sejam consultados em um endereço, e de outras versões em outro"? Nem quando houve a conversão do cancelamento de método próprio para evento foi assim - era possível cancelar documentos antigos por evento. Como já havíamos mencionado, o suporte a versão 3.0 do MDF-e está em vigor no nosso sistema há mais de 2 meses, mas não havia como detectar este problema que ocorreu no momento da virada da versão 3.0, porque não tínhamos como saber que o ACBr iria desconsiderar a versão definida no componente e considerar a versão lida a partir do carregamento do XML. Enquanto a SEFAZ manteve o WebService aceitando a versão 1.0, o ACBr funcionou. Tivemos um transtorno considerável nesta virada do MDF-e 3.0 - e repito, não tínhamos como saber que isso aconteceria. Acreditamos que revendo estes conceitos, podemos evitar problemas nas futuras viradas de versão da SEFAZ. Não tem problema de não aceitar a nossa sugestão, continuaremos amigos E até mesmo se houver um motivo que não conseguimos visualizar para fazer a versão ser sobrescrita no carregamento, ficaremos gratos em conhecer.
  7. 3 pontos
    Segue o Arquivo. Espero ter contribuido com quem me ajuda muito a trabalhar. EventosNFCe.fr3
  8. 3 pontos
    Não existe diferença na liberação da memória em usar Objeto.Free ou FreeAndNil(Objeto). A única diferença é que o FreeAndNil atribui nil à variável depois de liberar a memória, o que é desnecessário, a não ser que você precise testar o valor da variável novamente, e se você precisa fazer isso, quer dizer que está usando variáveis globais para instanciar objetos, o que é uma prática ruim, na minha opinião. Quanto ao consumo de memória, mesmo que você não esteja tendo vazamentos ao finalizar a aplicação, pode ser que esteja instanciando objetos e não se preocupando em liberar, deixando a aplicação cuidar disso, exemplo: var obj: TMinhaClasse; begin obj := TMinhaClasse.Create(Application); end; Esse código não vai acusar vazamento de memória, pois ao finalizar, o objeto Application que é o Owner do obj se encarrega de finalizá-lo. Mas apenas ao finalizar a aplicação.
  9. 3 pontos
    Olá Pessoal, A partir da Versão 1.1.0.37 do ACBrMonitor Plus, foi adicionado a funcionalidade de chamada do help nas telas utilizando a tecla F1, direcionando o usuário para a documentação (chm) específica referente a tela que está sendo configurada. Para isso utilizamos o aplicativo "LHelp" (Visualizador de chm do próprio Lazarus) que agora acompanha o executável do ACBrMonitor. Obs: Para quem utiliza o ACBrMonitor pelo Projeto ACBr, compilando os fontes do ACBrMonitor no Lazarus, será solicitado a instalação do componente "lhelpcontrolpkg" este componente é distribuído junto com o Lazarus. Disponível em: C:\lazarus\components\chmhelp\packages\help Segue exemplo da Documentação do ACBrMonitor utilizando o LHelp:
  10. 3 pontos
    Nesta nota houve destaque de ICMS FCP-ST que não foi incluído no valor total da nota: <vFCPST>1.22</vFCPST> Na versão 3.10 essa tag não existe, assim o valor ficou correto.
  11. 2 pontos
    Bom dia Pessoal, Segue em anexo os fontes do ACBrReinf. Eventos Implementados e testados: 1. R-1000 - Informações do Empregador/Contribuinte 2. R-1070 - Tabela de Processos Administrativos/Judiciais 3. R-2010 – Retenção Contribuição Previdenciária - Serviços Tomados 4. R-2020 – Retenção Contribuição Previdenciária - Serviços Prestados 7. R-2098 – Reabertura dos Eventos Periódicos 8. R-2099 – Fechamento dos Eventos Periódicos 9. R-9000 – Exclusão de Eventos Faltando os eventos: (Não fiz por que o negocio não tem demanda para esse tipo de evento. mais caso alguém precise da pra fazer.) 5. R-2030 – Recursos Recebidos por Associação Desportiva 6. R-2040 – Recursos Repassados para Associação Desportiva -> Units do core do ACBr modificadas: ACBrDFeUtil.pas - Incluido no SignatureElement as tags necessárias para assinatura SHA256. function SignatureElement(const URI: String; AddX509Data: Boolean; IdSignature: String = ''; Asha256: Boolean = False): String; ACBrDFeSSL.pas - Criação de uma propriedade "property SSLDgst: TSSLDgst read FSSLDgst write FSSLDgst;" na TDFeSSL para informar o tipo de "Method Algorithm" a ser usado. Por padrão será SHA1. - no metodo TDFeSSLXmlSignClass.AdicionarSignatureElement na chamada do SignatureElement e passado a propriedade "FpDFeSSL.FSSLDgst" do tipo a ser usado( ver Abaixo) Result := copy(ConteudoXML, 1, I - 1) + SignatureElement(URI, AddX509Data, IdSignature, FpDFeSSL.FSSLDgst = dgstSHA256) + TagEndDocElement; ACBrDFeXsXmlSec.pas - Incluido uma diretiva "REINF" para seleção do DTD para ser usado no REINF. O Projeto do REINF não segui o padrão do Id. (Isso pode mudar em versões futuras do REINF) . {$IFDEF REINF} cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& id ID #IMPLIED>]>'; {$ELSE} cDTD = '<!DOCTYPE test [<!ATTLIST &infElement& Id ID #IMPLIED>]>'; {$ENDIF} Espero que ajude e traga mais força ao projeto. obs.: Tentei seguir ao máximo a implementação atual do ACBR (Delphi > 2009). porem não testei em FPC. obs.: Para listas usei Generics haja vista que estou seguindo Delphi 2010 ou superior. obs.: Antes que perguntem: Vou publicar os fontes do eSocial em outro tópico. No aguardo da avaliação @Juliomar Marchetti @EMBarbosa Abraços. ACBrReinf.zip
  12. 2 pontos
    Não está. Aqui vai o atualizado (com o ajuste no SoapAction para MG). ACBrNFeServicos.res ACBrNFeServicos.ini
  13. 2 pontos
    É importante ter cuidado com arredondamentos. Em 2015, o STJ julgou procedente uma ação da Fazenda Pública de MG contra uma indústria de cosméticos justamente pela questão do arredondamento na base de cálculo do imposto. A RFB ao publicar o MOC já prevê que arredondamentos são permitidos, desde que não configure sonegação fiscal.
  14. 2 pontos
  15. 2 pontos
    Ítalo, sei que o resultado final é o mesmo, mas entendo que a sugestão enviada pelo BigWings é melhor do que o commit revisão 14006 na questão de organização do código, onde ele colocou no constructor do TIde a inicialização do FindGlobalizado e constructor do TInfCteSub a inicialização do FindAlteraToma. E considerando a explicação do BigWings sobre o uso da diretiva default, elas poderiam ser removidas do código também, já que não são propriedades que podem ser setadas no DFM.
  16. 2 pontos
    A diretiva default <valor> na declaração da propriedade apenas controla como o Delphi vai salvar o conteúdo no .dfm. Se o valor for igual ao default, nada é gravado. http://docwiki.embarcadero.com/RADStudio/Seattle/en/Properties Além de inserir a diretiva é necessário inicializar no construtor. constructor TIde.Create(AOwner: TCTe); begin inherited Create; FToma03 := TToma03.Create; FToma4 := TToma4.Create( AOwner ); FinfPercurso := TinfPercursoCollection.Create(Self); FindGlobalizado := tiNao; end; pcteCTe.rar
  17. 2 pontos
    Que eu saiba foi feita adequação ao novo layout que teve tags e grupos e foram removidos ou transferidos para o MDFe, então não é possível.
  18. 2 pontos
    A versão para emissão de MDFe é 3.0, irá funcionar se você altera a versaoDf para ve300.
  19. 2 pontos
    Não existe CST em ECF. Provavelmente é alguma configuração do software contábil dela. No ECF se informa o totalizador: http://www3.bematech.com.br/suporte/tutorial/index.html?tabela.htm
  20. 2 pontos
    Opa com Certeza @Gr@c@ logo vai estar.!!
  21. 2 pontos
    Deu certo a averbação. Obrigada mais uma vez. Só falta colocar o componente no ACBrInstall_Trunk2
  22. 2 pontos
    Pegue uma NFe emitida e veja a chave da NF-e, são 44 caracteres, compostas pelos campos: nNF é o Número da NF-e. cNF é o Código Numérico. O código numérico deve ser um número aleatório, ele existe para que terceiros não consigam adivinhar a chave de outra nota da mesma empresa. Se o código numérico for igual ao número da NF-e, seu sistema está vulnerável. Entre em contato com o suporte deles.
  23. 2 pontos
    Boa tarde Daniel, tudo bem? Descobri o problema, era atualização do Firmware da Elgin I7, com a atualização, agora esta funcionando perfeitamente. Obrigado pela atenção!
  24. 2 pontos
    Realmente vai haver esse sentido de duplicidade até que a SEFAZ mude o conteúdo para o valor <xTexto>, mas os dois valores devem ser impressos conforme é determinado. Minha dúvida agora ficou somente em relação a frase “ICMS a ser recolhido conforme LC 123/2006 - Simples Nacional” ser obrigatória ou não, pois no manual ela é citada apenas como um exemplo. Vou entender essa questão e volto a comentar aqui. Em anexo a img de um extrato dentro dos padrões determinados pela SEFAZ.
  25. 2 pontos
    Puxa vida, que problema... R$120,00 é realmente uma fortuna...
  26. 2 pontos
    Informações atualizadas para o problema em: https://twitter.com/sfnet_ops
  27. 2 pontos
  28. 2 pontos
    Sim, provavelmente o problema do outro tópico, voltaria a ocorrer... estou imaginando uma solução "pacificadora"...
  29. 2 pontos
    Esta novidade, já está disponível na versão semanal para usuários do SAC.
  30. 2 pontos
    Parece estar funcionando normalmente, com acentos e espaços... Veja as imagens Delphi Tokio: Delphi 7 Lazarus / FPC
  31. 2 pontos
    Olá pessoal, Com o intuito de acabar com a dependência da CAPICOM, nos fontes do Projeto ACBr, apliquei um amplo refactoring, nas Units de ACBrDFeSSL e suas derivadas... O que é CAPICOM ? https://en.wikipedia.org/wiki/CAPICOM Porque usávamos a CAPICOM ? Usar diretamente as APIs do Windows não é uma tarefa simples.... A CAPICOM, facilita um pouco, as tarefas que podem ser feitas com a WinCrypt (ou MS Crypto), para acesso a certificados digitais instalados no Windows Quais as desvantagens da CAPICOM ? A Microsoft condenou a mesma como obsoleta. (esse é o principal motivo) Ela precisa ser registrada no Windows para funcionar Não suporta 64 bits O que será usado no lugar da CAPICOM ? Usaremos diretamente as APIs do Windows, ou seja, a WinCrypt (também conhecida como "MS Crypto" ou "CAPI"). Ou seja, encaramos o desafio e agora usamos apenas métodos da WinCrypt para acessos a Certificados Digitais no Windows. Para facilitar o acesso a API WinCrypt, estamos usando as Units do diretório: "Fontes\Terceiros\CodeGear\", mas especificamente a Unit "ACBr_WinCrypt.pas". Quais as vantagens da WinCrypt ? Ela está presente de forma nativa, em todas as versões do Windows (desde o Windows XP), ou seja, não requer instalação. Possui versões 32 e 64 bits Não requer registro da DLL Não requer a instalação de pacotes .NET ou Java Onde posso encontrar a WinCrypt ? Ela já está instalada, de forma nativa, no seu Windows... com o nome: "crypt32.dll" Se o seu Windows é 64 bits, você encontrará a mesma em: 32 bits: "C:\Windows\SysWOW64" 64 bits "C:\Windows\System32" Se o seu Windows é 32 bits, você encontrará a mesma em: "C:\Windows\System32" O suporte a Delphi7 será mantido ? SIM. Apesar de já anunciarmos o fim do Suporte a D7, tivemos o cuidado de testar as alterações no D7. Para isso, adaptamos as units da pasta "Fontes\Terceiros\CodeGear\" para o suporte a D7... Como configurar para usar a WinCrypt e não a CAPICOM ? A maneira mais simples é configurar a seguinte propriedade: ACBrNFe1.Configuracoes.Geral.SSLLib := libWinCrypt; Na verdade, a propriedade ACBrDFe.Configuracoes.Geral.SSLLib passou a ser virtual... ou seja, ela configurará de forma indireta, as 3 novas bibliotecas de TDFeSSL... Se você ler os fontes, quando rodamos o código acima, o seguinte código será executado. procedure TGeralConf.SetSSLLib(AValue: TSSLLib); case AValue of ..... libWinCrypt: begin SSLCryptLib := cryWinCrypt; SSLHttpLib := httpWinHttp; SSLXmlSignLib := xsMsXml; end; end; Se você deseja uma configuração diferenciada, poderá configurar as bibliotecas individualmente...Exemplo: ACBrNFe1.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; ACBrNFe1.Configuracoes.Geral.SSLHttpLib := httpWinINet; ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib := xsXmlSec; Como remover completamente, as Units da CAPICOM dos meus fontes ? Abra o arquivo \ACBr\Fontes\ACBrComum\ACBr.inc e altere a seguinte linha: {.$DEFINE DFE_SEM_CAPICOM} para: {$DEFINE DFE_SEM_CAPICOM} Ou seja, remova o "." do inicio O que mudou em ACBrDFeSSL ? Muita coisa.... (veja abaixo o trecho do "Change-Log").. Estudar os fontes do projeto Demo "\ACBr\Exemplos\ACBrDFe\ACBrNFe\Delphi", é a melhor maneira de conhecer as modificações. Veja abaixo, um resumo ilustrado: 1 - Agora você pode criar a sua própria janela de escolha de Certificado Veja esse exemplo de código, extraído de ACBrNFe_Demo. onde usamos o método "ACBrNFe1.SSL.LerCertificadosStore", para carregar todos os certificados da Store, definida em "ACBrNFe1.SSL.StoreName", após isso, as informações dos certificados podem ser obtidas em "ACBrNFe1.SSL.ListaCertificados" ACBrNFe1.SSL.LerCertificadosStore; For I := 0 to ACBrNFe1.SSL.ListaCertificados.Count-1 do begin with ACBrNFe1.SSL.ListaCertificados[I] do begin 2 - Agora você pode selecionar as bibliotecas de TDFeSSL, individualmente CryptLib: Permite definir qual será a biblioteca de Criptografia. Ela possui métodos como:"SelecionarCertificado", "CarregarCertificado", "CalcHash". além de propriedades como "DadosCertificado" e "ListaCertificados". TSSLCryptLib = (cryNone, cryOpenSSL, cryCapicom, cryWinCrypt) HttpLib: Usada para acesso HTTP e HTTPs, permitindo informar o Certificado na conexão. Possui métodos como: "Enviar" e propriedades como: "HTTPResultCode" e "InternalErrorCode" TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); XMLSignLib: Usada para validar XMLs (contra um Schema), assinar um XML, Validar a assinatura existente em um XML. Possui métodos como: "Assinar", "Validar" e "VerificarAssinatura" TSSLXmlSignLib = (xsNone, xsXmlSec, xsMsXml, xsMsXmlCapicom); 3 - Independência das configurações de segurança do I.E. Isso pode ser obtido, se você utilizar SSLHttpLib = "httpWinHttp" ou "httpOpenSSL" Você poderá definir nos seus fontes, independente das configurações do Internet Explorer, configurações como o Tipo de segurança e TimeOut da tentativa de conexão. Essa funcionalidade já estava presente nas Units de acesso que utilizavam o OpenSSL a algum tempo. e agora com a nova Unit que faz acesso a HTTPS, usando a API do Windows chamada "WinHTTP", isso também será possível. O modelo: "httpWinINet" irá usar a API do Windows, chamada "WinINet", a qual já utilizávamos, e ela depende de configurações do I.E. 4 - Carregar o certificado por ArquivoPFX ou DadosPFX, com a WinCrypt ou CAPICOM Essa funcionalidade já estava presente, quando SSLCryptLib = cryOpenSSL. e não estava disponível para CAPICOM. Mas agora isso é possível, com a SSLCryptLib = cryCapicom ou cryWinCrypt. Ou seja, Se você tem um certificado A1, você não precisa instalar o certificado no Windows. Isso pode parecer pouco importante em uma primeira impressão... Mas veja as possibilidades: O certificado A1 poderia estar em um Banco de dados, ou em um Servidor Web, e ser carregado de forma dinâmica pela sua aplicação, independente de ser instalado manualmente no Windows. 5 - Compilar seu Executável em 64 bits Lembre-se que quando você compila o seu programa em 64 bits, todas as DLLs externas de qual ele necessitar, também devem ser de 64 bits. Portanto para isso, você não poderá usar a XMLSignLib = xsMsXml, pois a biblioteca da Microsoft para assinatura de XMLs "MSXML" não possui versão 64 bits. Mas observe que agora você pode usar a biblioteca WinCrypt com a XmlSec, basta configurar corretamente as bibliotecas de criptografia. Nota: Ainda não conseguimos, fazer com que a XMLSec possa usar certificados A3, mas isso deverá ser possível no futuro, pois a XMLSec tem suporte a "MSCrypto" Diagrama de Classes Como posso ajudar ? (Tarefas a serem efetuadas) 1 - Fazer a XmlSec funcionar usando a "mscrypto" Ainda não conseguimos fazer a XMLSec, usar a MSCrypto, atualmente ele apenas usa a "openssl". Porque isso é importante ? Temos vários problemas, com a msxml, como por exemplo: A Microsoft não distribui a mesma, de forma nativa, com o Windows (arquivo msxml5.dll) Ela não suporta 64 bits A licença de uso dassa biblioteca, é valida apenas para quem tem o Office instalado... Portanto, seria ótimo se pudéssemos ficar livres da MSXML, mas para isso, precisamos fazer o ACBr conseguir usar a XMLSec com suporte a MSCrypto (hoje ele só suporta OpenSSL)... Na verdade, já podemos usar WinCrypt + XmlSec, mas apenas para certificados A1, pois o ACBr é capaz de exportar o certificado A1 do Windows, para que o mesmo seja usado pelo OpenSSL. (ele fará isso internamente, e de forma transparente para o usuário) Quando conseguirmos fazer a XmlSec usar a MSCrypto (ou WinCrypt), conseguiremos compilar a aplicação em 64 bits, e com suporte a certificados A3 2 - Compilar os fontes da XMLSec no Windows, em 32 e 64 bits Hoje o único site que distribui a XMLSec já compilada para Windows é https://www.zlatkovic.com/libxml.en.html (Thanks Igor). Entretanto, podemos notar que os binários estão defasados, e não há uma versão 64 bits, com suporte a "mscrypto" Veja como ficou o "Change-Log" do refactoring em ACBrDFeSSL -- ACBrDFeSSL -- [*] Amplo refactoring promovido, separando a classe "TDFeSSLClass" em 3 novas classes: "TDFeSSLCryptClass" - para Carregar certificados e efetuar criptografia "TDFeSSLHttpClass" - para comunicação HTTP/HTTPS com suporte a Certificados "TDFeSSLXmlSignClass" - Para Validar XMLs, validar assinaturas e Assinar XML com Certificados [+] "TSSLLib", adicionado os tipos "libWinCrypt, libCustom" [+] Criada nova classe "TDadosCertificado", para conter os dados do certificado carregado [+] Criada nova classe "TListaCertificados",para conter uma lista de Objetos do tipo TDadosCertificado, com todos os certificados de uma "Store", e após a chamada do método "TDFeSSL.LerCertificadosStore" [+] Adicionada propriedade "TDFeSSL.StoreName: String", usada apenas no Windows. Nome da Store a ser aberta, padrão "MY" [+] Adicionada propriedade "TDFeSSL.StoreLocation: TSSLStoreLocation", usada apenas no Windows. Default "slCurrentUser". TSSLStoreLocation = (slMemory, slLocalMachine, slCurrentUser, slActiveDirectory, slSmartCard); [+] Adicionado o método: "TDFeSSL.LerCertificadosStore", apenas Windows, para carregar todos os Certifcados de "TDFeSSL.StoreName" para a lista de Objetos: "TDFeSSL.ListaCertificados" [+] Adicionado a propriedade "TDFeSSL.DadosCertificado", para permitir acesso aos dados do certificado carregado [+] Adicionada a propriedade "TDFeSSL.SSLCryptLib: TSSLCryptLib" default cryNone; para definir a classe de criptografia TSSLCryptLib = (cryNone, cryOpenSSL, cryCapicom, cryWinCrypt); [+] Adicionada a propriedade "TDFeSSL.SSLHttpLib: TSSLHttpLib" default httpNone; para definir a classe de comunicação HTTP/HTTPS TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); [+] Adicionada a propriedade "TDFeSSL.SSLXmlSignLib: TSSLXmlSignLib" default xsNone; para definir a classe de assinatura de validação de XML TSSLXmlSignLib = (xsNone, xsXmlSec, xsMsXml, xsMsXmlCapicom); [+] Adicionada a propriedades "TDFeSSL"SSLType: TSSLType" default LT_all; para permitir definir o tipo de criptografia em HTTPS sendo: TSSLType = (LT_all, LT_SSLv2, LT_SSLv3, LT_TLSv1, LT_TLSv1_1, LT_TLSv1_2, LT_SSHv2) suportado apenas em TDFeHttpOpenSSL e TDFeHttpWinHttp -- ACBrDFeConfiguracoes -- [+] Adicionada as propriedades: property SSLCryptLib: TSSLCryptLib property SSLHttpLib: TSSLHttpLib property SSLXmlSignLib: TSSLXmlSignLib [*] Propriedade "SSLLib: TSSLLib" passou a ser virtual, e mantida por compatibilidade. Ajusta-la irá produzir ajustes em "SSLCryptLib", "SSLHttpLib" e "SSLXmlSignLib". Exemplo: if SSLLib = libOpenSSL then begin SSLCryptLib := cryOpenSSL; SSLHttpLib := httpOpenSSL; SSLXmlSignLib := xsXmlSec; end; -- ACBrDFe -- [+] Adicionado suporte a configurações de "SSLCryptLib", "SSLHttpLib", "SSLXmlSignLib" -- ACBrDFeOpenSSL -- [*] Amplo refactoring. Removido código referente a comunicação HTTP/HTTPs que foi migrado para "ACBrDFeHttpOpenSSL" [*] Removido código referente a assinatura digital e Validação de XML, que foi migrado para "ACBrDFeXsXmlSec" -- ACBRDFeWinCrypt -- [+] Nova Unit, para manipular Certificados do Windows e efetuar assinatura digital, usando a Win API WinCrypt (MSCrypto/CAPI) -- ACBrDFeCapicom -- [*] Refactoring, para usar boa parte do código de "ACBRDFeWinCrypt" -- ACBrDFeHttpOpenSSL -- [+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementação da classe de TDFeSSLHttpClass para comunicação http e https, usando a Synapse e OpenSSL -- ACBrDFeHttpWinApi -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLHttpClass para comunicação http e https, usando as APIs do Windows WinHttp ou WinINet -- ACBrDFeHttpIndy, ACBrDFeCapicomDelphiSoap -- [*] Unit renomeada de "ACBrDFeCapicomDelphiSoap" para "ACBrDFeHttpIndy", e refatorada para não depender da CAPICOM -- ACBrDFeXsXmlSec -- [+] Adicionada nova Unit, derivada de ACBrDFeOpenSSL, criando implementação da classe de TDFeSSLXmlSignClass usando a Lib XMLSEC -- ACBrDFeXsMsXml -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLXmlSignClass usando a Lib MSXML -- ACBrDFeXsMsXmlCapicom -- [+] Adicionada nova Unit, derivada de ACBrDFeCapicom, criando implementação da classe de TDFeSSLXmlSignMsXml usando a Lib MSXML e CAPICOM -- ACBrDFeException -- [+] Adicionado o exception "EACBrDFeExceptionNoPrivateKey" -- ACBrDFeUtil -- [+] Adicionado o método "SignatureElement: String" (por DSA) Obrigado... e considere nos ajudar, contratando o SAC, por pelo menos 1 mês http://www.projetoacbr.com.br/forum/sacv2/sobre/ http://www.projetoacbr.com.br/forum/sacv2/questoes_importantes/ http://www.projetoacbr.com.br/forum/sacv2/cadastro/ Fique atento.... Em breve, organizaremos um Webinar sobre essas modificações
  32. 1 ponto
    Está sendo informado valor de ICMS para item com CST 40 (Isento). Resultado da Validação do Schema e de Regras de Negócio: Parser XML: Nenhum erro encontrado Tipo de Mensagem: Documento de NF-e Schema XML: The element 'ICMS40' in namespace 'http://www.portalfiscal.inf.br/nfe' has invalid child element 'vICMS' in namespace 'http://www.portalfiscal.inf.br/nfe'. List of possible elements expected: 'vICMSDeson' in namespace 'http://www.portalfiscal.inf.br/nfe'. Caminho: NFe[1]/infNFe/det[1]/imposto/ICMS/ICMS40/vICMS https://www.sefaz.rs.gov.br/NFE/NFE-VAL.aspx
  33. 1 ponto
    Boa tarde Jek, Realmente ficou melhor, já enviei para o repositório.
  34. 1 ponto
    Você deve perguntar na área do ACBrFramework ... pois trata-se de outro projeto e mantenedores...
  35. 1 ponto
    no vProd = RoundABNT( ( qCom * vUnCom), 2 ) vICMS = RoundABNT( ( vProd * pICMS)/100,2 ) Ou seja, sempre que fizer multiplicações utilize a função RoundABNT do ACBrUtil. Base Legal: NT2013.005_v1.2_Versao_Nacional_2013.pdf, p. 28.
  36. 1 ponto
    Vamos alterar para manter o padrão dos outros bancos, e gerar arquivo conforme layout.
  37. 1 ponto
    Valeu, consegui aqui, muito obrigado.
  38. 1 ponto
    Tivemos que realizar algumas alterações no ACBr para adicionar suporte a emissão de CT-e OS nos Estados do Mato Grosso do Sul e do Mato Grosso. Infelizmente, a SEFAZ destes dois Estados não seguem o padrão das demais UF's e retornam um elemento diferente de cteRecepcaoOSResult ao consumir o webservice CteRecepcaoOS, fazendo com que o retorno não seja lido pelo ACBr. MS retorna cteOSRecepcaoResult, e o MT retorna cteRecepcaoOSCTResult ... por isso adicionamos estas duas strings na função TratarResposta da unit ACBrCTeWebServices. Para o Mato Grosso, além da alteração acima, foi necessário adicionar o endereço que estava faltando no ACBrCTeServicos.ini. Segue em anexo os 3 arquivos modificados. Obs: identificamos esta diferença primeiro na SEFAZ de MS, e criamos um atendimento lá (Protocolo 2017-043-016.918) para que avaliem deixar padronizado com os demais Estados, então há esperanças de que eles arrumem isso um dia. Obs 2: conferimos os webservices dos demais Estados (RS, SP, PR e MG), e o retorno deles está de acordo com o padrão. ACBrCTeServicos.ini ACBrCTeServicos.res ACBrCTeWebServices.pas
  39. 1 ponto
    Se for Gmail, acesse este link https://myaccount.google.com/lesssecureapps através dele, você deve liberar "Aplicativos menos seguros" Aplicativos menos seguro
  40. 1 ponto
    sim, isto o 128-C, porem não sabia como utiliza-lo... mas depois de tanto sofrimento consegui hehe... desculpe incomoda-los!!! Desde já agradeço a todos que responderam. Abração!
  41. 1 ponto
    Bom dia! Conversamos com o pessoal do suporte técnico ae o arquivo passou sem esse problema. Infelizmente, só resolve assim.
  42. 1 ponto
    Depois que eles viram o tamanho do transtorno que causaram ao setor logístico e a nós, pobres programadores mortais, resolvem retroceder...
  43. 1 ponto
    Eu tornei obrigatório no meu aplicativo que o usuário informe os dados completos do seguro e seguradora, uma vez que a ANTT obriga que exista pelo menos 1 seguro da carga. Se o usuário quiser inventar dados ou colocar o CNPJ dele mesmo nos dados do seguro, fica por conta e risco dele. Assim não me torno co-responsável por informações indevidas.
  44. 1 ponto
    por isso que o cNF deve ser randômico... Reporte o problema a Sw.House... eles precisam corrigir isso...
  45. 1 ponto
    O sistema deve enviar as NF-e (xml e pdf) por email automaticamente. Então o problema pode ser que os seus emails estão sendo acessados de alguma forma, talvez o problema esteja no seu provedor de email. Verifique também se os emails com os xmls estão sendo enviados com cópia para alguém.
  46. 1 ponto
    Isso é um vazamento de memória. Pode não ter gerado nenhum access violation. Pode não ter sido detectado pelo FastMM. Mas continua sendo um vazamento de memória. O motivo mais provável de não ter sido detectado é o que o @BigWings mencionou. Isso talvez no seu código. Pode ser um bug em alguma biblioteca que você utiliza. Pode ser até no Delphi.
  47. 1 ponto
    Deu certo Daniel .. putz valeu meu velho ... muito obrigado ... var lPoint:TPoint; begin lPoint := veig05.ClientToScreen(Point(0,0)); RlImage1.picture.Bitmap.Assign(AreaCapture(lPoint.X+5, lPoint.Y+Bevel1.Top+5, 1024, 530));
  48. 1 ponto
    Olá pessoal, alguns clientes de minha empresa reportaram a necessidade de importar dados de pessoas para o Sistema dos correios, o SIGEP. Conforme o manual, criei um componente para facilitar a geração do arquivo. Este componente foi criado, mantendo o padrão do ACBr e gostaria de saber se pode ser adicionado aos componentes. Segue em anexo os fontes do componente e o manual de geração do arquivo. O caminho das unit já esta no padrão do ACBr também, mas coloquei todos os arquinos no mesmo zip, a fim de facilitar o upload. ACBrSIGEP.zip Importação de Dados - SIGEP.docx
  49. 1 ponto
    Adicionei ao SVN os fontes do novo componente ACBrSATWS. Lembrando que não é necessário o uso de certificados digitais para realizar a consulta, apenas da chave de segurança que pode ser obtida no SGR-SAT, mais informações em https://portal.fazenda.sp.gov.br/servicos/sat/Downloads/Manual para Consultar lotes enviados via Webservice (Estadual) v1 1.pdf
  50. 1 ponto
    Seria mais simples fazer: function ExisteIndiceECF( CodFormaPagto: String): Boolean; Var FPG : TACBrECFFormaPagamento ; begin ACBrECF1.CarregaFormasPagamento; FPG := ACBrECF1.AchaFPGIndice( CodFormaPagto ) ; Result := (FPG <> nil); end;