Painel de líderes
Conteúdo popular
Showing content with the highest reputation on 17-10-2017 em todas as áreas
-
Í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.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.rar2 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 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); 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); Nas impressões abaixo, descrevemos o comportamento de cada teste realizado: pc473: Alguns acentos agudos, circunflexos e til foram ignorados; pc850: Todos os acentos foram impressos 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 leu corretamente o Status de Gaveta de dinheiro Aberta.... Porém é necessário ligar a Propriedade "Sinal Invertido" ACBrPosPrinter1.ConfigGaveta.SinalInvertido := True 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/40387881 ponto
-
Estou trabalhando em uma homologação na versão 02.05 para o estado de SC, e nos meus testes encontrei alguns erros ao tentar consumir as funções do webservice de homologação. Baseado nos problemas ocorridos, percebi que os schemas e funções do webservice foram modificadas, porém não encontrei nenhum documento esse novo layout. Como preciso fazer a homologação acabei fazendo alguns ajustes nos fontes do ACBr. As alterações foram as seguintes: ACBrBloxoX_Comum.pas: Função "GerarDadosEstabelecimento": Somente é necessário o preenchimento do campo "Ie". Função "GerarDadosPafECF": Somente é necessário o preenchimento do campo "NumeroCredenciamento". ACBrBlocoX_ReducaoZ.pas: Função "GerarXML": - Somente é necessário preencher o campo "NumeroFabricacao" no bloco da ECF. - Campos "VendaBrutaDiaria" e "GT", alterados para formatar o valor sem cadas decimais e com zeros a esquerda. ACBrBloxoX_WebServices.pas: - Funções "Validar" e "Enviar" unidas em uma só, pois agora como a função "Consultar", elas utilizam a mesma estrutura para Estoque ou Redução Z. No momento na função "Enviar" estou recebendo o retorno "Erro Interno: 0 Erro HTTP: 500". O que parece ser algo em relação ao arquivo de envio não estar de acordo com o esperado pelo servidor. Os arquivos estão no anexo, para alguém comitar eles e testar nos servidores de produção. ACBrBlocoX_Comum.pas ACBrBlocoX_ReducaoZ.pas ACBrBlocoX_WebServices.pas1 ponto
-
Boa tarde, Foi realizada uma alteração na função LerRetorno240, no dia 20 de Setembro, que mudou a quantidade de caracteres na leitura do CNPJ. Logo mais a baixo na continuação do código está apresentando um erro na verificação do CNPJ do cedente. Tratei no meu fonte para voltar a validar com 14 caracteres e funcionou normalmente, alguém sabe me dizer se a alteração era para impactar em algum outro ponto? PS: No CNAB400 foi realizada a alteração do tipo de pessoa, porém foi mantida a quantidade de caracteres: Desde já agradeço!1 ponto
-
Segue uma suporte a um equipamento da balança da ALFA, o site da empresa é esse http://www.alfainstrumentos.com.br, abaixo vou deixar anexo o manual do equipamento, esta funcionando a coleta do peso apesar de achar que pode precisar de ajustes no codigo fonte. Att Alfa Manual Instalacao 3100C 0045.MN.12.A .pdf.zip ACBrBAL.pas ACBrBALAlfa.pas1 ponto
-
Boa tarde, Pessoal, apenas compartilhando que provedor SH3 estão funcionando. Ítalo, mais uma vez, obrigado pelo apoio. Seguem contatos do suporte da SH3 caso alguém necessite: [email protected] Fone: (32) 3379-3100 Mais informações do provedor aqui. Marcos1 ponto
-
Se você estiver mesmo amarrado ao Delphi 5, pense na possibilidade de migrar para o Lazarus que é gratuito e mais moderno.1 ponto
-
Você deve perguntar na área do ACBrFramework ... pois trata-se de outro projeto e mantenedores...1 ponto
-
Bom dia a todos, Fiz a alteração e enviei para o repositório, favor atualizar os fontes e refazer os testes.1 ponto
-
Ítalo, Vi que esta alteração é referente ao commit revisão 13942, mas mesmo com este default declarado, após a inicialização o valor padrão continua sendo "tiSim". Tentei reinstalar todo o ACBr, apaguei as DCUs, mas não tem jeito... e suspeito que esta declaração não funciona, pois acontece exatamente o mesmo comportamento com a propriedade indAlteraToma do TInfCteSub (que está declarada como "default tiNao" também desde a revisão 13986). Por fim, fiz um teste criando um novo tipo T_Indicador e mudando a declaração do FindGlobalizado para ele, e constatei que o que influencia o valor padrão é a ordem em que os valores deste tipo são declarados, pois é sempre considerado o primeiro valor: Se T_Indicador = (ti_Sim, ti_Nao), o default é ti_Sim Se T_Indicador = (ti_Nao, ti_Sim), o default é ti_Nao Não sei se estou me perdendo em alguma coisa aqui (e se for o caso, há uma solução?), mas peço por favor que verifique esta questão. Obs: testado no Delphi 10.1 Berlin1 ponto
-
Bacana bsoft.. também temos o entendimento que o problema acontece apenas em SP e criamos um chamado também. Resta apenas aguardarmos1 ponto
-
1 ponto
-
Bom dia, este erro foi corrigido , será atualizado em breve, obrigado!1 ponto
-
Mestre Italo..... funcionou perfeitamente. Muito Obrigado!!!!!!!!!!!!!!1 ponto
-
Amigos, desconsiderem meu post acima. O erro estava no meu codigo. O correto é : If Cfop de 'devolução' then with Pag.Add do begin tPag:=fpSemPagamento; vPag:=StrToFloat(eTotalNfe.Text); end; obrigado1 ponto
-
Faltou enviar o dfm e lfm. De qualquer forma a alteração já está no SVN. Revisão 139991 ponto
-
Atualize seu ACBrMonitor, última versão 1.1.0.40 Configure para a versão 3.0. do MDFe utilizando o Comando: MDFe.SetVersaoDF("3.00") Informe os dados reais no emitente, e preencha todos os campos que faltam, veja os campos novos da versão 3.0: http://acbr.sourceforge.net/ACBrMonitor/MDFeCriarMDFe.html1 ponto
-
A mensagem de erro parece bem clara quanto aos campos não lidos corretamente. Anexe logs do envio dos comandos com os dados para analise.1 ponto
-
1 ponto
-
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.1 ponto
-
A versão para emissão de MDFe é 3.0, irá funcionar se você altera a versaoDf para ve300.1 ponto
-
@dreamsoft_PR, não é o script! Veja no FastReport sobre impressão matricial. O componente que estou falando é este que está grifado. Fábio Gabriel1 ponto