douglas_k
Membros-
Total de ítens
189 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que douglas_k postou
-
ECF Epson TM-T900F não fazendo quebra de linha
douglas_k replied to douglas_k's tópico in ACBrSerial
Show de bola pessoal. Obrigado pela ajuda. -
ECF Epson TM-T900F não fazendo quebra de linha
douglas_k replied to douglas_k's tópico in ACBrSerial
Daniel, é uma impressora fiscal Epson TM-T900F. Isso porta 'USB'. Mandei duas imagens, em uma delas vc pode ver que ta organizado, em outra ele não faz as quebras de linha. Isso ocorre nos gerenciais, observação do cupom fiscal e até na impressão de comprovante de cartão. -
ECF Epson TM-T900F não fazendo quebra de linha
douglas_k replied to douglas_k's tópico in ACBrSerial
Preciso verificar qual é a versão do firmeware, mais realmente pode ser que não esta com a ultima versão. Nas 4 ECFs que temos desse modelo ocorre a mesma situação. Pesquisando agora no arquivo ACBrSerial-change-log.txt, encontrei que ouve uma alteração no dia 18/07/2017. [*] Ajuste em "TACBrECFEscECFProtocoloEpsonDLL.EnviaComando_ECF", para modifcar todas as quebras de linha para LF antes de enviar para a DLL (Por: DSA) Agora não sei o fato da alteração ter sido feito, talvez preciso fazer mais alguma coisa além de apenas compilar o fonte. Tentei jogar a ultima versão da dll Epson que vem junto com o ACBr e também não resolveu. -
Boa tarde Pessoal, Atualizei meu PDV nos últimos dias e estou com uma versão bem recente do ACBr. O que começou a ocorrer que não vinha acontecendo foi que na ECF Epson TM-T900F, todo local onde é impresso quebra de linha ela esta ignorando. Isso tanto nas observações do cupom fiscal, relatórios gerencias, comprovante de cartão de crédito de cartão, entre outros. Não sei agora se isso é algum novo parâmetro que deve ser configurado, ou o que pode ser. Alguém tem conhecimento sobre o que ocasiona esse tipo de situação? Desde já agradeço.
-
Firedac - Conexão ficando aberta no Postgres
um tópico no fórum postou douglas_k Object Pascal - Delphi & Lazarus
Boa tarde, Estou utilizando o Firedac conectando em um banco postgres remoto. A aplicação é responsável por transferir dados locais gravados no firebird para essa base postgres. A cada 30 segundos, por exemplo, eu testo se tem conexão e faço a sincronização dos dados. FDConnection.Connected := False; FDConnection..Connected := True; O problema é que se eventualmente a conexão com o banco postgres remoto cair, por exemplo, der algum problema na rede, no momento que faço o comando acima, ele cria uma nova conexão, deixando a conexão que caiu aberta, assim ele duplica as conexões. Parece que ao cair a conexão ele perde a referencia com o componente, e na hora que faz o comando Connected := False; ele não elimina a mesma. Alguém já passou por algo semelhante e contornou a situação? Em casos de acesso a bancos remotos qual o melhor procedimento. Desde já agradeço. -
Bom dia, Lucas. Também não encontrei nada sobre em que data o servidor de produção estará ativo. Qualquer nova informação coloco no tópico.
-
Boa tarde Pessoal, Só para conhecimento foi publicado uma nova especificação de requisito (ER) do PAF-ECF Versão 02.05 Link: https://www.confaz.fazenda.gov.br/legislacao/atos/2017/ac010_17
-
Efetuei os testes com as configurações e SSLCryptLib := cryWinCrypt; SSLHttpLib := httpWinLNet; SSLXmlSignLib := xsMsXml; SSLLib := LibCustom; Não obtive mais nenhuma problema. Agora com a configuração abaixo continuo tento problemas nos envio de notas com bastante itens. Se alguém que teve o problema conseguiu solucionar, se possível repasse o que foi feito. SSLCryptLib := cryWinCrypt; SSLHttpLib := httpWinHttp; SSLXmlSignLib := xsMsXml; SSLLib := LibWinCrypt; Até mais.
-
Bom dia André, na verdade seria qualquer xml com um número grande de itens, eu identifiquei com mais de 55 itens no meu caso. Fiz diversas NFC-e diferentes e sempre ocorre o mesmo erro com notas com bastante itens. Até 50 itens não obtive problema, emite normal. Como comentei, isso só ocorre com a primeira configuração, na segunda indiferente do número de itens vai sem problemas. O teste seria criar uma NFC-e com bastante itens e tentar fazer o envio utilizando a primeira configuração. Em anexo um dos xmls 43170303470626004902650010000050931211732171-nfe.xml
-
Boa tarde Pessoal, Boa tarde Pessoal, Atualizei o ACBr hoje e verifiquei a questão do refactoring nas Units de ACBrDFeSSL e suas derivadas.. fiz as alterações necessárias e iniciei os testes... Utilizando a configuração: SSLCryptLib := cryWinCrypt; SSLHttpLib := httpWinHttp; SSLXmlSignLib := xsMsXml; SSLLib := LibWinCrypt; Tive problemas no envio de NFC-e com um numero grande de itens, e o retorno foi: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> <HTML><HEAD><TITLE>Bad Request</TITLE> <META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD> <BODY><h2>Bad Request - Request Too Long</h2> <hr><p>HTTP Error 400. The size of the request headers is too long.</p> </BODY></HTML> Utilizando a configuração: SSLCryptLib := cryWinCrypt; SSLHttpLib := httpWinLNet; SSLXmlSignLib := xsMsXml; SSLLib := LibCustom; Não tive problema, enviou sem problemas. Pelo que vi no post, http://www.projetoacbr.com.br/forum/topic/35727-bye-bye-capicom/ essa segunda configuração continuaria tendo a dependência de configurações do I.E. Já na primeira não seria necessário configurações do I.E mais ai tenho esse problema no envio de NFC-e com um numero grande de itens. Tem alguma configuração adicional a ser efetuado.
-
Show de bola Daniel, agora esta 100 %. Obrigado.
-
Para não depender da Bematech, acabei fazendo como outros colegas também devem ter feito para contornar o problema. Capturo os dados normalmente com ACBrECF1.DadosReducaoZ e depois da redução z apenas para o modelo MP 4200 faço o ACBrECF1.DadosUltimaReducaoZ pegando os dados das alíquotas corretamente.
-
Sem problemas Daniel, fico na aguardo. Obrigado.
-
Bom dia Daniel, Sobre a situação que esta ocorrendo nesse caso, pode ser adicionado a alteração que sugeri aos fontes? Ou vocês pensam em contornar o erro de outra maneira? Obrigado.
-
Boa tarde Daniel, Apesar de mudar a ordem de fpCupom.LoadFromINI(Ini); não resolveu. Quando chega nesse teste if (fpAliquotasCupom.Find(ItemCupom.AliqPos).Tipo = 'S') then continua com o acess violation. Só para recapitular, o problema só ocorre quando é feito o registro de dois itens com tributações diferentes e vc cancela um deles. Nesse momento se vc tiver que ativar a ECF por algum motivo, acontece o exception. Abaixo como fiz o teste, registrei dois itens com tributações isento e substituição e cancelei o ultimo que é o abacaxi. Ele deleta o [Cupom_Aliquotas] do .ini e deixou o item no [Cupom_Items]. Quando ele executa a function TACBrECFVirtualClassAliquotasCupom.Find no ativar, ele não encontra a alíquota do item cancelado, o que gera a exception. [Cupom_Items] 000=1|3483428|A1 STANDART 50L|1|87,27|0|UN|-1|0| 001=2|1113|ABACAXI PEROLA UNIDADE|0|5,8|0|UN|-1|1| [Cupom_Aliquotas] 00=0|0|87,27|0|T|
-
Tem uma forma simples de ser contornada, mais não sei se é a melhor. No ACBrECFVirtual na procedure procedure TACBrECFVirtualClassCupom.LoadFromINI(AIni: TCustomIniFile); no seguinte trecho S := 'Cupom_Items'; I := 0 ; while True do begin T := AIni.ReadString(S, IntToStrZero(I, 3), '*FIM*'); if T = '*FIM*' then Break; ItemCupom := fpItensCupom.New(Self); ItemCupom.AsString := T; if fpAliquotasCupom.Count > 0 then begin if (fpAliquotasCupom.Find(ItemCupom.AliqPos).Tipo = 'S') then fpSubtotalISSQN := fpSubtotalISSQN + ItemCupom.TotalLiquido else fpSubtotalICMS := fpSubtotalICMS + ItemCupom.TotalLiquido; end; Inc(I); end; O erro ocorre pelo fato do find aliquota não encontrar nenhuma alíquota para determinado item que já foi cancelado, conforme exemplo que passei no primeiro tópico, dessa forma o .tipo não esta carregado e acaba retornando o access violation. Como esse teste em vermelho é só para determinar se o valor vai ser somado em total de icms ou total de issqn e como o item em que da acess violation não precisa mais ser considerado seria só colocar um try except. try if (fpAliquotasCupom.Find(ItemCupom.AliqPos).Tipo = 'S') then fpSubtotalISSQN := fpSubtotalISSQN + ItemCupom.TotalLiquido else fpSubtotalICMS := fpSubtotalICMS + ItemCupom.TotalLiquido; except // end; Alterei o fonte e fiz testes e a principio não ocorreu mais erros. Anexei a unit ACBrECFVirtual.pas
-
Boa tarde Pessoal, Tenho um PDV homologado para trabalhar com PAF-ECF e que também faz emissão de NFC-e. Depois da ultima atualização do ACBr começou acontecer um problema onde utilizo NFC-e. Quando vou fazer o ACBrECF.Ativar, utilizando ACBr Virtual tenho um retorno de acess violation em algumas situações. Debugando o código cheguei a seguinte conclusão. Abro uma venda e faço o registro de dois itens, com tributações diferentes, um isento e um substituição, por exemplo. Depois disso faço o cancelamento de um dos itens. Se abrir o .ini da ecf virtual dentro dele tenho dois grupos de informações 'Cupom_items e Cupom_aliquotas'. Veja que o item cancelado continua aparecendo já a alíquota foi excluída. Digamos que essa maquina se desligou e vou para abrir o PDV novamente, no momento que vou fazer o ACBrECF.Ativar é retornado o acess violation. Isso ocorre na unit ACBrECFVirtual na procedure LoadFromINI(AIni: TCustomIniFile); na linha 1274 -> if (fpAliquotasCupom.Find(ItemCupom.AliqPos).Tipo = 'S') then. No momento que ele vai executar a function TACBrECFVirtualClassAliquotasCupom.Find(APos: Integer): TACBrECFVirtualClassAliquotaCupom; ele não encontra a alíquota do item cancelado e retorna o acess violation. {Trecho do .ini da ECF Virtual} [Cupom_Items] 000=1|4466|ABACATE KG|0|4,2|0|KG|-1|1| 001=2|3483428|A1 STANDART 50L|1|87,27|0|UN|-1|0| [Cupom_Aliquotas] 00=0|0|87,27|0|T| {Quando faz a linha ACBrECF.Ativar o erro é retornado} ACBrECF.Desativar; ACBrECF.ECFVirtual := frmPrincipal.ACBrECFVirtualNaoFiscal; ACBrECF.Porta := portaNFCe; ACBrECF.Ativar;
-
uhum... estava algum tempo pesquizando e não havia conseguido, agora encontrei NodeEstoque := VXMLDoc.AddChild('Estoque'); NodeEstoque.Attributes['Versao'] := '1.0'; Obrigado.
-
Bom dia Anderson, Estou utilizando o TXMLDocument para criar o XML do arquivo de estoques no bloco x. Estou com dificuldade na tag <Estoque Versao="1.0"> para colocar o conteudo versao="1.0" na tag. Você sabe como faz?
-
uhum, realmente estava lendo outro tópico aqui relacionado a isso. Bom então vamos lá, fazer pesquisas para montar ele na mão. Obrigado.
-
Boa tarde Anderson, Desde já agradeço pela ajuda. Vocês esta montando o XML utilizando o componente do ACBr mesmo, ou esta montando o xml de outra forma? Eu to usando o ACBr e ele tem o campo alíquota como Double, então não consigo passar vazio. Copiei uma parte do código abaixo só para exemplificar. Provavelmente precisa ser efetuado uma modificação na hora que faz a montagem do XML para quando for determinada situação tributária não informa a tag alíquota. with ACBrBlocoX do begin with Estoque do begin Produtos.Clear; ... ... ... with Produtos.Add do begin ... ... ... if dmSupervisor.cldsProdutos.FieldByName('aliquota_pdprod').AsFloat <> 0 then Aliquota := dmSupervisor.cldsProdutos.FieldByName('aliquota_pdprod').AsFloat; end; end; end;