Ir para conteúdo
  • Cadastre-se

Valdir Dill

Membros Pro
  • Total de ítens

    933
  • Registro em

  • Última visita

  • Days Won

    5

Tudo que Valdir Dill postou

  1. Feito. ACBrDFeUtil.pas em anexo. A alteração proposta é da linha 273 a 297, ou seja, para a "class function DFeUtil.FormatarNumeroDocumentoFiscal(AValue: String): String;" Obrigado ACBrDFeUtil.pas
  2. Sim, sim Italo. Foi exatamente isso que eu fiz. Eu abri este post (lá em maio ainda) para sugerir que fosse feita a alteração no fonte do ACBR. Assim ficaria uma alteração permanente.
  3. Bom dia, Me desculpe Italo, mas só vi hoje essa tua resposta/pergunta neste tópico. Veja se consigo te passar a sequência correta dos caminhos que o componente executa: 1) Executo ACBrNFSe1.NotasFiscais.Imprimir 2) A function TACBrNFSeDANFSeFR.PrepareReport(NFSe: TNFSe): Boolean (linha 141 da ACBrNFSeDANFSeFR.pas) chama a dmDanfse.CarregaDados; 3) A TdmACBrNFSeFR.CarregaDados (na linha 130 da ACBrNFSeDANFSeFR.pas) chama a TdmACBrNFSeFR.CarregaIdentificacao; 4) A TdmACBrNFSeFR.CarregaIdentificacao, (linha 163 da ACBrNFSeDANFSeFRDM.pas) é executada a formatação do número da nota - linha abaixo: FieldByName('NumeroNFSe').AsString := DFeUtil.FormatarNumeroDocumentoFiscal(Numero); Como a função DFeUtil.FormatarNumeroDocumentoFiscal acima limite o tamanho do número em 9 dígitos, quando o número da nota é maior que isso, como é o caso de BH (exemplo de um nr de NFSe de um cliente 201400000000084), ocorre o problema. Entendeu? Obs.: atualizei os fontes hoje e a situação persiste. Obrigado.
  4. Perfeito! Atualizado, testado e NFSe para Bacabal-MA funcionando 100%. Esse Fiorilli é mesmo de matar, rs! Muito mais exigente que outros provedores. Obrigado Italo pela sua presteza de sempre! Abraços.
  5. Boa tarde, No envio de NFSe de Bacabal-MA - provedor Fiorilli - estou tendo problema de falta da informação no campo CodigoTributacaoMunicipio, ou seja, essa informação é obrigatória para esse provedor. Contudo, na linha 540 da pnfsNFSeW.pas está assim: " if FProvedor <> proFiorilli then Gerador.wCampoNFSe(tcStr, '#31', 'CodigoTributacaoMunicipio', 01, 0020, 0, SomenteNumeros(NFSe.Servico.CodigoTributacaoMunicipio), ''); " Ou seja, do jeito que está, essa tag só deve ser gerada se o provedor não for Fiorilli. Como proceder nesse caso? Obrigado Valdir
  6. Bom dia Italo, Bem, o problema do componente fazer a substituição duas vezes eu localizei. Veja se abaixo eu consigo explicar onde está o erro no componente. 1) na procedure TNFSeW.GerarXML_ABRASF_V1 da pnfsNFSeW.pas ele chama a função GerarTomador 2) Dentro da GeraTomador, temos a linha "Gerador.wCampoNFSe(tcStr, '#38', 'RazaoSocial', 001, 115, 0, NFSe.Tomador.RazaoSocial, '')", que acaba chamando a FiltrarTextoXML e gera a tag RazaoSocial formatada (já com o "&" substituído por "&amp"). 3) Depois temos a "procedure TNotasFiscais.Assinar(AssinaRPS: Boolean = True)" da ACBrNFSeNotasFiscais.pas. Nessa procedure temos a linha "FConfiguracoes."Geral.Save(NotaUtil.PathWithDelim(CaminhoArquivo) + Self.Items.NFSe.InfID.ID+'-Rps2.xml', LocNFSeW.Gerador.ArquivoFormatoXML)", que chama a função abaixo: "function TGeralConf.Save(AXMLName: String; AXMLFile: WideString; aPath: String = ''): Boolean" da ACBrNFSeConfiguracoes.pas. Nessa função save é executada a linha abaixo: //..SILVIO/RODRIGO estamos trocando o & por causa de erro na abertura do arquivo XML - 06-02-2014 vSalvar.Text := StringReplace(vSalvar.Text, '&', '&amp;', [rfReplaceAll]); Com esta última rotina todo o conteúdo do xml passa NOVAMENTE pela substituição do caractere "&" por "&amp" . Eu comentei essa linha vSalvar.Text := StringReplace(vSalvar.Text, '&', '&amp;', [rfReplaceAll]) e aí gerou corretamente, ou seja, ao invés de substituir o "&" por "&" por "&amp;amp;", substituiu por "&amp;". Mas o erro inicial de "unexpected character" e que gera a rejeição pelo web service permanece. Obrigado!
  7. Eu concordo plenamente contigo meu caro Italo e agradeço sua resposta. Mas acho que não cabe a nós esse julgamento. Até porque o cliente nosso (que é quem vai utilizar o nosso sistema), pode precisar emitir uma nota para um alemão, um polaco e até russo,....e aí quantos "unexpected character" não poderemos ter? O que faríamos nesse caso? Substituir tudo? Claro que não seria possível! Acho que a saída é adequarmos o sistema para que não ocorra esse erro. Eu até verifiquei que o ACBR faz isso, ou seja, ele troca o "&" por "&amp;amp;" na função FiltrarTextoXML da pcnAuxiliar.pas. Não entendo muito disso, mas será que o problema não está no .xsd do BHISS que não consegue interpretar isso? Por hora vou fazer conforme você sugeriu, ou seja, vou trocar "&" por "e", mas acho que teria que te outra saída, pois, como mencionei, em nomes de pessoas (seja PJ, seja PF), não somos nós desenvolvedores que podemos determinar como vai ser. Obrigado pela sua costumeira ajuda Italo!
  8. Bom dia, Estou tendo um erro ao enviar NFSe para Belo Horizonte. O erro que retorna é: 'Ocorreu um erro Inesperado. (Unexpected character '' (code 32) (missing name?) ate [row,col {unknows-source}]: [1,1108)' Ele ocorre por causa de um & (e comercial) que tem no nome do tomador. Se tirar esse caracter, o erro não ocorre. Veriquei no XML do RPS e o ACBR está substituindo o "&" por "&amp;amp;". O correto não seria "&amp;"? Alguma dica? Obrigado! Valdir
  9. Resolvi o problema alterando a função DFeUtil.FormatarNumeroDocumentoFiscal (vide abaixo). Gostaria de sugerir que essa alteração fosse analisada e, se possível, implementada no no componente. função FormatarNumeroDocumentoFiscal alterada class function DFeUtil.FormatarNumeroDocumentoFiscal(AValue: String): String; Var VTamanho : Integer; begin if length(AValue) < 9 then VTamanho := 9 else VTamanho := length(AValue); AValue := Poem_Zeros(AValue, VTamanho); While VTamanho > 0 do begin if result <> '' then //na primeira volta do loop NÃO coloca o ponto. result := '.' + result; if VTamanho > 3 then begin result := copy(AValue,VTamanho-2,3) + result; Dec(VTamanho, 3); end else begin result := copy(AValue,1, VTamanho) + result; Dec(VTamanho, VTamanho); end; end; Obrigado.
  10. Não consegui. Você saberia dizer onde (qual unit/linha) o ACBrNFe1.WebServices.Retorno.cStat recebe valor?
  11. Estou tendo problemas na impressão de Danfe de NFSe. Na ACBrDFeUtil temos a função: class function DFeUtil.FormatarNumeroDocumentoFiscal(AValue: String): String; begin AValue := Poem_Zeros(AValue, 9); Result := copy(AValue,1,3) + '.' + copy(AValue,4,3)+ '.'+ copy(AValue,7,3); end; Na linha 163 (abaixo) da ACBrNFSeDANFSeFRDM a função acima é chamada para formatar o número da nota fiscal. FieldByName('NumeroNFSe').AsString := DFeUtil.FormatarNumeroDocumentoFiscal(Numero); Essa formatação retorna um valor no padrão "000.000.000", ou seja, até 9 dígitos. Porém, as notas de Belo Horizonte, o XML dessa cidade retorna com quantidade de dígitos bem acima. Uma exemplo de uma nota: 201400000000084. Nesse exemplo acima, o número formatado fica 201.400.000. Pergunto: - Como os colegas têm feito nesse caso? - Há alguma forma de não formatar esse campo? Obrigado.
  12. Estou tendo problemas na impressão de Danfe de NFSe. Na ACBrDFeUtil temos a função: class function DFeUtil.FormatarNumeroDocumentoFiscal(AValue: String): String; begin AValue := Poem_Zeros(AValue, 9); Result := copy(AValue,1,3) + '.' + copy(AValue,4,3)+ '.'+ copy(AValue,7,3); end; Na linha 163 (abaixo) da ACBrNFSeDANFSeFRDM a função acima é chamada para formatar o número da nota fiscal. FieldByName('NumeroNFSe').AsString := DFeUtil.FormatarNumeroDocumentoFiscal(Numero); Essa formatação retorna um valor no padrão "000.000.000", ou seja, até 9 dígitos. Porém, as notas de Belo Horizonte, o XML dessa cidade retorna com quantidade de dígitos bem acima. Uma exemplo de uma nota: 201400000000084. Nesse exemplo acima, o número formatado fica 201.400.000. Pergunto: - Como os colegas têm feito nesse caso? - Há alguma forma de não formatar esse campo? Obrigado.
  13. Testei de ambas as formas (com true e com false no último parâmetro). O resultado é o mesmo.
  14. Meus arquivos do componentes ACBR estão em D:\ACBR Fiz o seguinte: 1) Um update via svn do D:\ADBR; 2) Del D:\ACBR\acbr*.bpl; 3) Del D:\ACBR\acbr*.dcu; 4) Del C:\Arquivos de programas\Embarcadero\acbr*.bpl; 5) Del C:\Arquivos de programas\Embarcadero\acbr*.dcu; 6) Del C:\users\acbr*.bpl; 7) Del C:\users\acbr*.dcu; Reinstalei todos os pacotes manual. Nunca consegui instalar pelo ACBRInstall. Então sempre abro o .dpk, dou um build e um install. Mesmo depois desses procedimentos o cstat não traz valor. A rotina abaixo é do demo do ACBR. Veja o que tem nas variáveis depois de executar a linha ACBrNFe1.Enviar(vNumLote,True, True): MemoDados.Lines.Add(''); MemoDados.Lines.Add('Envio NFe'); MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb)); --> aqui o TpAmb está igual taProducao MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic); --> aqui o verAplic está igual '' MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat)); --> aqui o cStat está igual 0 É como se ACBrNFe1.WebServices.Retorno não fosse alimentado. Obrigado.
  15. Atualizo semanalmente. Acabei de fazê-lo inclusive e testar novamente e o problema persiste. Depois de atualizar pelo svn, basta executar o ACBRInstal para recompilar os pacotes, correto?
  16. Estou com o mesmo problema em homologação no MT - Neste pos de 07/05/2014, mas achei que era só comigo que ocorria, pois não tive nenhum comentário. Por coincidência ou não, o problema começou ocorrer quando mudei para NFCe 3.10. Testei inclusive no demo do ACBR que antes funcionava beleza, mas o ACBrNFe1.WebServices.Retorno.cStat retorna com valor zero. Se logo em seguida fizer uma consulta na nota, a nota está com status 100, ou seja, autorizada.
  17. Este novo anexo é de uma tentativa de validação do xml com o xsd do provedor BHISS. À esquerda é o conteúdo do XML de envio do cabeçalho e à direita o .xsd do provedor. Se alguém puder dar uma olhada no erro que mostra e me passar uma dica, agradeço imensamente. Obrigado.
  18. Bom dia, Estou tentando enviar a primeira NFSe para o proveder BHISS - Cidade de Belo Horizonte. Baixei os .xsd atualizados. Porém na hora do envio está retornando o seguinte erro: <Codigo>E188</Codigo> <Mensagem>O documento XML do cabecalho de dados esta fora do padrao especificado.</Mensagem> Em anexo estou enviando os arquivos de envio. Já virei tudo que é fórum, mas não encontrei nada a respeito. Alguma dica? Obrigado. 1-env-lot.xml 1-env-lot-c.xml
  19. Boa tarde, Vi que o Dercide postou neste tópico que resolveu o problema do ACBrNFe1.WebServices.Retorno.cStat retornar zerado, mas meu sistema estava redondo nessa parte. Depois que mudei a versão para 3.10, esse problema está ocorrendo. Testei inclusive a sugestão do colega, mas nada mudou. A nota é enviada e autorizada (vide anexo) e retorna com status 100, no texto do 12-pro-lot.xml (arquivo gerado na consulta), mas ACBrNFe1.WebServices.Retorno.cStat não tem valor. Testei tanto no meu sistema como no demo, o problema ocorre em ambos. Os testes que fiz foram com a NFCe em homologação e passaram a ocorrer depois que mudei para versão 3.10. Alguma dica? Obrigado!
  20. Não fiz ainda não! Por enquanto não tenho como efetuar esses testes, mas se é necessário, vou tentar ver com algum cliente que possa! Obrigado.
  21. Bom dia, Solicito a gentileza de incluir a cidade de Bacabal-MA para emissão de NFSe via ACBR? URL produção: http://finanbbl.ddns.us:8080/IssWeb-ejb/IssWebWS/IssWebWS?wsdl Obrigado!
  22. Boa tarde, Cada impressão de um Danfe de NFCe gera um arquivo .bmp do qrCode. Essa geração é feita na ACBrNFeDANFEFRDM.pas, função GetImgQRCode, correto? Ocorre que à medida que esses danfes forem sendo impressos, o ACbr vai gerando um novo arquivo .bmp na pasta raiz do programa em execução para cada impressão. Com o tempo esses arquivos vão se acumulando desnecessariamente. Gostaria de fazer uma rotina de manutenção para excluir esses arquivos. Pesquisei mas não encontrei uma função para recuperar o nome do arquivo gerado. Como ele gera o nome até com os milisegundos da hora da geração ( ExtractFilePath(ParamStr(0))+FormatDateTime('ddmmyyymmssmm', now)+'.bmp';), também não tem como capturar o nome para excluí-lo manualmente após a impressão do Danfe. Então pergunto: há alguma forma recuperar o nome do arquivo gerado? Ou então uma forma de definir uma pasta para que esse arquivo seja salvo e aí, poderíamos deletar todos os arquvios dessa pasta que definirmos? Obrigado
  23. Obrigado pelas dicas Juliomar. Fiz de tudo, inclusive em relação a midas que você sugeriu, mas não resolveu. Olha que estranho: eu tinha os componentes ACBrNFSeDANFSeFR1 e DANFSE.fr3 em um dataModule. Só mudei eles para o form onde a impressão é chamada e resolveu. Não sei o que pode estar gerando esse conflito, mas resolveu, que é o mais importantes, rs. Obrigado pela ajuda!
  24. Beleza Rodrigo, resolvido. No meu caso (issCuritiba), como esse servidor não aceita dados em "Outras Informações", coloquei na própria discriminação do serviço acrescentando o texto contendo o valor dos tributos. Obrigado pela ajuda!
×
×
  • 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.