Ir para conteúdo
  • Cadastre-se

FabioTellini

Membros
  • Total de ítens

    71
  • Registro em

  • Última visita

Tudo que FabioTellini postou

  1. Boa tarde. Na impressão da DANFSE, unit ACBrNFSeXDANFSeFR, procedure CarregaServicos, o dataset está recebendo os valores de NFSe.Servico.Valores, até essa parte do código o campo FieldByName('ValorLiquidoNfse').AsFloat está sendo considerado as retenções, mas na sequência tem o seguinte trecho: with ANFSe.ValoresNfse do begin if ValorIss > 0 then begin FieldByName('ValorServicos').AsFloat := BaseCalculo; FieldByName('ValorIss').AsFloat := ValorIss; FieldByName('BaseCalculo').AsFloat := BaseCalculo; FieldByName('Aliquota').AsFloat := Aliquota; if ValorLiquidoNfse = 0 then ValorLiquidoNfse:= BaseCalculo; FieldByName('ValorLiquidoNfse').AsFloat := ValorLiquidoNfse; end; end; ANFSe.ValoresNfse.ValorLiquidoNfse, na leitura do xml não foi descontado os valores das retenções da forma que foi feito com NFSe.Servico.Valores e com isso o valor liquido está sendo impresso sem descontar as retenções. Analisando a unit ISSSaoPaulo.LerXml, percebi que os valores de NFS.Servico.Valores recebem os valores de NFSe.ValoresNfse. Fiquei na dúvida se teria a necessidade de ter o trecho do código citado acima. (Obs: só analisei a leitura do xml do provedor ISSSaoPaulo, não sei se esse trecho do código é por causa de algum outro provedor) Ou se na unit ISSSaoPaulo.LerXml, na leitura do xml a NFSe.ValoresNfse.ValorLiquidoNfse já não poderia ter os valores das retenções descontadas, da forma que está sendo feito com a NFSe.Servico.Valores.ValorLiquidoNfse. with NFSe.ValoresNfse do begin ValorLiquidoNfse := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorServicos'), tcDe2); BaseCalculo := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorServicos'), tcDe2); Aliquota := ObterConteudo(AuxNode.Childrens.FindAnyNs('AliquotaServicos'), tcDe2); ValorIss := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorISS'), tcDe2); Aliquota := (NFSe.ValoresNfse.Aliquota * 100); end; aValor := ObterConteudo(AuxNode.Childrens.FindAnyNs('CodigoServico'), tcStr); SetxItemListaServico(aValor); NFSe.Servico.Discriminacao := ObterConteudo(AuxNode.Childrens.FindAnyNs('Discriminacao'), tcStr); aValor := ObterConteudo(AuxNode.Childrens.FindAnyNs('ISSRetido'), tcStr); with NFSe.Servico.Valores do begin ValorServicos := NFSe.ValoresNfse.ValorLiquidoNfse; BaseCalculo := NFSe.ValoresNfse.BaseCalculo; Aliquota := NFSe.ValoresNfse.Aliquota; ValorIss := NFSe.ValoresNfse.ValorIss; ValorPis := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorPIS'), tcDe2); ValorCofins := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorCOFINS'), tcDe2); ValorInss := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorINSS'), tcDe2); ValorIr := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorIR'), tcDe2); ValorCsll := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorCSLL'), tcDe2); if aValor = 'false' then IssRetido := stNormal else IssRetido := stRetencao; ValorLiquidoNfse := ValorServicos - (ValorPis + ValorCofins + ValorInss + ValorIr + ValorCsll + ValorDeducoes + DescontoCondicionado + DescontoIncondicionado + ValorIssRetido); end; Obrigado.
  2. Usei certificado A1 também. estou usando essas configurações FACBrNFSe.Configuracoes.Geral.SSLLib := libWinCrypt; FACBrNFSe.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; FACBrNFSe.Configuracoes.Geral.SSLHttpLib := httpWinHttp; FACBrNFSe.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2; FACBrNFSe.SSL.SSLType := TSSLType(LT_TLSv1_2);
  3. Boa tarde. Meus testes foram todos em ambiente de produção, não tive nenhum problema nas transmissões.
  4. Boa tarde. Prefeitura de Catanduva-SP mudou para Fiorilli conforme comunicado abaixo: http://www.catanduva.sp.gov.br/2022/04/07/comunicado-financas/ Ajustei os arquivo ACBrNFSeXServicos.ini, fiz o teste e as notas foram transmitidas. Segue arquivo para análise. ACBrNFSeXServicos.ini
  5. Bom dia. Os valores das retenções não estão sendo impressos na DANFSe. Na unit ISSSaoPaulo.LerXML, rotina LerXmlNfse o parâmetro que estava sendo passado para a função AuxNode.Childrens.FindAnyNs estavam com letras minusculas(ValorPis, ValorCofins, ValorInss, ValorIr e ValorCsll). Dessa forma no "if Node.LocalName <> Name then continue;" não encontrava esses campos retornando nil. Alteração feita somente nos parâmetros que estão sendo passados da mesma forma que estão no xml. ValorPis := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorPIS'), tcDe2); ValorCofins := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorCOFINS'), tcDe2); ValorInss := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorINSS'), tcDe2); ValorIr := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorIR'), tcDe2); ValorCsll := ObterConteudo(AuxNode.Childrens.FindAnyNs('ValorCSLL'), tcDe2); Arquivo em anexo para validação. ISSSaoPaulo.LerXml.pas
  6. Bom dia. Estou tendo problema na transmissão de uma nota na cidade de Bauru. ItemListaServico 17.07 is not a valid value of the atomic type. Olhando o arquivo Exemplos\ACBrDFe\Schemas\NFSe\SilTecnologia\2.03\nfse.xsd percebi que serviço não consta no xsd. No site da prefeitura de Bauru existe o serviço (https://www2.bauru.sp.gov.br/arquivos/arquivos_site/sec_financas/tabela_iss.pdf). Como consta na lista de serviço da cidade, adicionei o codigo no schema para testar e a nota foi transmitida. Acham que o serviço pode ser adicionado no schema no svn, para as próximas atualizações ? Segue em anexo o xsd alterado. nfse.xsd
  7. Na guia da GNRE o campo convênio não estava sendo impresso. Olhando os fontes do ACBr, percebi que na function LerXML da unit ACBrGNREGuiasRetorno.pas a property GNRERetorno.Convenio não estava recebendo valor. Adicionei essa linha GNRERetorno.Convenio := Leitor.rCampo(tcStr, 'convenio') e deu certo, o convênio passou a ser impresso na guia. Segue arquivo em anexo para validação. ACBrGNREGuiasRetorno.pas
  8. Bom dia. Fiz mais um ajuste no arquivo ACBrBoleto.pas, nos meus testes a chave da NFe foi adicionada no arquivo. Na minha aplicação eu configuro o componente da seguinte forma: - ACBrBoleto.LayoutRemessa := c444; - Titulo.ChaveNFe := '35000000000000000001111111111111'; Segue arquivo com alterações.ACBrBoleto.pas
  9. Estou pensando em um possível problema nessa alteração. Vou fazer um novo teste e escrevo aqui.
  10. Para o banco Bradesco uso LayoutRemessa = c400, dessa forma o arquivo só vai ter 400 posições.
  11. Boa tarde. Alguns clientes estão tendo a necessidade de enviar a chave da nfe no arquivo de remessa para o banco. Banco ONIX http://onixcredit.com.br/tutoriais/TUTORIAL_PARA_IMPORTACAO_CNAB_ONIX.pdf Banco SOFISA https://tdn.totvs.com/pages/releaseview.action?pageId=505758869 No caso do banco ONIX, eles usam o padrão do banco Bradesco CNAB400 adicionando 44 posições que será usado para envio da chave da NFe, criando um "CNAB444". Fiz pequenas alterações: * No arquivo ACBrBoleto.pas adicionei o tipo c444 (TACBrLayoutRemessa = (c400, c240, c444)) e adicionei a propriedade ChaveNFE na classe TACBrTitulo. * No arquivo ACBrBancoBradesco.pas, rotina GerarRegistroTransacao400 adicionei a validação do layout (if LayoutRemessa = c444 then wLinha := wLinha + Copy(ChaveNFe,1,44)) para adicionar a chave da nfe no arquivo. Segue arquivos para análise. ACBrBoleto.pas ACBrBancoBradesco.pas
  12. Desculpa pela falha. Seguem os arquivos atualizados. ACBrGNREGuiasRetorno.pas ACBrGNReGuiaRLRetrato.pas ACBrGNREGuiaFRDM.pas GNRE_GUIA.fr3
  13. Alterações feitas para o FastReport. ACBrGNREGuiaFRDM.pas GNRE_GUIA.fr3
  14. Boa tarde. Na impressão da GNRE 2.0 não estava somando o valor do FECP no total da guia. Na unit ACBrGNReGuiaRLRetrato.pas na rotina RLBand1BeforePrint foram alteradas as linhas abaixo. RLLabel28.Caption := FormatFloat('R$ ,0.00', FGNRe.ValorPrincipal + FGNRe.ValorFECP); RLLabel36.Caption := FormatFloat('R$ ,0.00',( FGNRe.ValorPrincipal + FGNRe.AtualizacaoMonetaria+ FGNRe.Juros + FGNRe.Multa + FGNRe.ValorFECP)); Na unit ACBrGNREGuiasRetorno, rotina LerXML foi adicionadas as linhas abaixo. if Leitor.rAtributo('tipo=', 'valor') = '12' then GNRERetorno.ValorFECP := Leitor.rCampo(tcDe2, 'valor'); Segue arquivos para validação. Obrigado. ACBrGNReGuiaRLRetrato.pas ACBrGNREGuiasRetorno.pas
  15. Boa tarde. Fiz testes com Sweda ST120 e Bematech 2100.
  16. Bom dia Juliomar. Fiz o teste com a SwedaSTX, mas ocorre a mesma situação. Tentei com outras velocidades de porta, mudar o timeout, mas sempre ocorre o erro de falha de envio de comando. ATIVAR - 19/09/17 08:18:24:860 - Modelo: SwedaSTX - Porta: COM1 - TimeOut: 3 Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE=DTR/DSR MAXBANDWIDTH=0 SENDBYTESCOUNT=0 SENDBYTESINTERVAL=0 -------------------------------------------------------------------------------- -- 19/09 08:18:26:860 RetornaInfoECF(I1) -- 19/09 08:18:27:517 TX -> [STX]+34|I1[ETX][141] -- 19/09 08:18:29:220 RX <- -- 19/09 08:18:29:220 ----------------- ERRO ----------------- Erro ao enviar comandos para a Impressora SwedaSTX ---------------------------------------- ECFTeste Trunk1, mesmo ambiente. -------------------------------------------------------------------------------- ATIVAR - 19/09/17 08:20:59:716 - Modelo: Sweda - Porta: COM1 - TimeOut: 1 Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE=DTR/DSR MAXBANDWIDTH=0 -------------------------------------------------------------------------------- -- 08:21:02:028 TX -> [ESC].271} 08:21:03:637 RX <- .+C00113108170285CN000000000052969090002002400000000678300000000000000000002000000003990000000000000000000000000279300170141I } -- 08:21:03:637 TX -> [ESC].27G} 08:21:05:169 RX <- .+C001G000000000005000500001.000000000005290126000000000000000000000000000000000000000000000000000000000000 } -- 08:21:05:169 TX -> [ESC].27H} 08:21:06:794 RX <- .+C001H00000000000000000001 01.00.01 00050024000017000018000141000000000285000000000000000200000000000529690900000000006783 } -- 08:21:06:794 Estado TX -> [ESC].28} 08:21:08:403 RX <- .+0001000CLEIT. X 13F000000000000000000000000!1909170821N 001NN000000000000000000000000SFNN0 } -- 08:21:08:403 Estado TX -> [ESC].28} 08:21:09:965 RX <- .+0001000CLEIT. X 13F000000000000000000000000!1909170821N 001NN000000000000000000000000SFNN0 }
  17. Boa tarde. Estou fazendo testes com ECF em um ambiente onde aplicação e banco de dados são remotos, mas está dando erro ao enviar comandos para impressora. Testes com o ECFTeste do Trunk1 funciona perfeitamente, com o ECFTeste Trunk2 retorna o erro "Erro ao enviar comandos para a impressora Sweda". Fiz testes com impressora Bematech, porém o erro foi o mesmo. Analisando o log, percebi que o comando é enviado para a impressora fiscal, mas não está tendo retorno. -------------------------------------------------------------------------------- ATIVAR - 18/09/17 17:27:54:140 - Modelo: Sweda - Porta: COM1 - TimeOut: 3 Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE=DTR/DSR MAXBANDWIDTH=0 SENDBYTESCOUNT=0 SENDBYTESINTERVAL=0 -------------------------------------------------------------------------------- -- 18/09 17:27:56:249 -- 18/09 17:27:56:733 TX -> [ESC].271} -- 18/09 17:28:13:655 RX <- -- 18/09 17:28:13:655 ----------------- ERRO ----------------- Erro ao enviar comandos para a Impressora Sweda ---------------------------------------- Outro teste que fiz foi a impressão da LeituraX, o comando é enviado e a leitura é impressa, mas o comando está sendo disparado 10 vezes, e está sendo impressas 10 leituraX. No log só registrou um envio de comando. -- 18/09 16:40:26:583 -- Ativando a porta: COM1 -- 18/09 16:40:28:552 LeituraX -- 18/09 16:40:29:052 TX -> [ESC].13N} -- 18/09 16:40:30:755 RX <- -- 18/09 16:40:30:755 ----------------- ERRO ----------------- Erro ao enviar comandos para a Impressora Sweda ---------------------------------------- No Trunk1 funciona todos os comandos.
  18. Sim, estou usando aparelho de homologação. Vou tentar conseguir a série de um aparelho de algum cliente para fazer os testes. Obrigado.
  19. Bom dia. Estou tentando usar o ACBrSATWS para fazer download dos CFes, mas tanto pelo meu aplicativo quanto pelo Demo ocorre o mesmo problema. Rejeição: Falha no Schema XML. Alguém sabe o que posso estar fazendo de errado ? Os parâmetros de entrada são: Serie do SAT 900003065 Data Inicial 01/08/2017 00:00:01 Data Final 31/08/2017 23:59:59 Chave de segurança a116qwer-fdsv-4548-rrrr-olkdfem25ce3 Obrigado.
  20. Bom dia. Estou tentando usar o ACBrSATWS para fazer download dos CFes, mas tanto pelo meu aplicativo quanto pelo Demo ocorre o mesmo problema. Rejeição: Falha no Schema XML. Alguém sabe o que posso estar fazendo de errado ? Os parâmetros de entrada são: Serie do SAT 000020585 Data Inicial 01/08/2017 00:00:01 Data Final 31/08/2017 23:59:59 Chave de segurança a116qwer-fdsv-4548-rrrr-olkdfem25ce3 Obrigado.
  21. Comecei a fazer alguns testes enviando comandos direto para a impressora da seguinte forma: Nesse primeiro teste não importa o valor que eu passava no espaçamento, nada mudava na impressão. Write(impressora,#$1B'@'); //Reseta Impressora Write(impressora,#$1B+'3d'); //Aumenta espaço entre linhas para 100 Write(impressora, ' LINHA 1'+sLineBreak); Write(impressora, ' LINHA 2'+sLineBreak); Write(impressora, ' LINHA 3'+sLineBreak); Write(impressora, ' LINHA 4'+sLineBreak); Já nesse segundo teste, da LINHA 1 até a LINHA 3 o espaçamento foi aplicado, já a LINHA 4 ficou próximo a LINHA 3. Veja que o comando para resetar a impressora está depois da LINHA 4. Write(impressora,#$1B+'3d'); Write(impressora, ' LINHA 1'+sLineBreak); Write(impressora, ' LINHA 2'+sLineBreak); Write(impressora, ' LINHA 3'+sLineBreak); Write(impressora, ' LINHA 4'+sLineBreak); Write(impressora,#$1B'@'); Em conversa com o suporte da Daruma, a informação que me foi passada é que um comando estava "atropelando" o outro, e com isso não está sendo aplicado o comando de espaçamento. O suporte me pediu para fazer o teste com um sleep(200) entre os comandos #$1B'@' e #$1B+'3d', com o sleep entre as linhas funcionou corretamente. Expliquei que na impressão do extrato do SAT é enviado apenas uma string de impressão (#$1B'j'#0#$F'002 7 TESTE PRODUTO SAT....) com todos os comandos e que não tinha como colocar um sleep entre os comandos. Não conseguimos chegar a nenhuma solução. Para testes, comentei a linha FBuffer.Add('</zera></ce></logo>'); da procedure GerarCabecalho da unit ACBrSATExtratoESCPOS, sem essa linha o espaçamento entre linhas passou a ser aplicado. Entendo que a impressora deva ser resetada a cada inicio de impressão e essa linha não poderá sair do código, mas pensando em uma solução, será que o comando de resetar a impressora não poderia ser enviado separado da string que é montada no FBuffer ? Talvez na TACBrSATExtratoESCPOS.ImprimirCopias, antes do FOR já seria RESETADA a impressora, na sequência seria impresso o Buffer. Obrigado.
  22. Bom dia Fiz alguns testes, mas não muda o espaço entre as linhas. As propriedades LinhasEntreCupons, ConfigBarras.LarguraLinha, ConfigBarras.Altura e ConfigQRCode.LarguraModulo estão sendo respeitadas de acordo com os valores informados, somente a propriedade EspacoEntreLinhas que não muda na impressão. Debugando a montagem das Tags, vi que a tag de espaço é adicionada (#$1B'3È) conforme o valor que informei, mas mesmo assim não muda nada na impressão. #$1B'@'#$1B'3È</ce></logo>'#$D#$A'<n>Estabelecimento Fantasia 2</n>'#$D#$A'<c>Estabelecimento de Teste 2'#$D#$A'rua das flores 1005 frente centro-Sao Paulo-00000-000'#$D#$A'</ae><c>CNPJ:11.111.111/1111-11 IE:111111111111 IM:102030'#$D#$A'</linha_simples>'#$D#$A'</fn></ce><n>Extrato No. 000000'#$D#$A'CUPOM FISCAL ELETRâNICO - SAT</n>'#$D#$A' '#$D#$A' = T E S T E ='#$D#$A' '#$D#$A'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'#$D#$A'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'#$D#$A'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>'#$D#$A'</linha_simples>'#$D#$A'</ae><c>CPF/CNPJ do Consumidor: CONSUMIDOR NÇO IDENTIFICADO'#$D#$A'RazÆo Social/Nome: CONSUMIDOR'#$D#$A'</ae><c></linha_simples>'#$D#$A'# COD DESC QTD UN VL UN R$ (VLTR R$)* VL ITEM R$'#$D#$A'</linha_simples>'#$D#$A'</ae><c>001 7 TESTE PRODUTO SAT 7 1 UN X 20,000 20,00'#$D#$A
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...