Ir para conteúdo
  • Cadastre-se

jhmontoia

Membros
  • Total de ítens

    22
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que jhmontoia postou

  1. jhmontoia

    NFSe - Goiania

    Boa tarde Ítalo, Conforme o nosso amigo Dangelo informou acima a consulta não está funcionando. Comparando o XML gerado pelo componente e o disponibilizado pela prefeitura (no início desse post) verifiquei que a tag <ConsultarNfseRps> deve ser <ConsultarNfseRpsEnvio> Fiz a alteração e recebi um XML identico ao que eu recebi no envio (ainda estou em modo teste), porém deu um "erro desconhecido ao consultar por RPS". Debugando encontrei um problema na unit pnfsConsNfseporRpsResposta.pas. A propriedade "ItemListaServico" não existe para esse provedor (pelo menos no XML de modelo), retornando um valor em branco. Na linha 357 dessa mesma unit tem um StrToInt nessa propriedade que retorna um erro. Mudei pra StrToIntDef com Default 0 e não deu mais erro, lendo corretamente o XML. Uma coisa que eu Observei é que esse servidor as vezes demora muito pra responder, dando TimeOut na chamada "ReqResp.Execute(Acao.Text, Stream);" Existe uma forma de aumentar o TimeOut? Segue as Units alteradas. Jonas H. Montoia ACBrProvedorGoiania.pas pnfsConsNfseporRpsResposta.pas
  2. jhmontoia

    NFSe - Goiania

    Bom Dia Ítalo, Está funcionando perfeitamente... Obrigado, Jonas H. Montoia
  3. Boa tarde Ítalo Verificando esse erro vi que a correção que eu efetuei nesse post esse problema também. O erro era causado por uma varável criada na função Gera_TagI (xmlns: String), que continha o namespace "xmlns". Comentando essa linha o NamespaceDad chega na função em branco e o erro de Schema deixa de ocorrer. No meu ver o correto seria remover a variável xmlns ao invés de comentar essa linha. Att, Jonas H. Montoia
  4. jhmontoia

    NFSe - Goiania

    Boa tarde Ítalo, Meu cliente reclamou do mesmo erro informado acima. Tentei abrir o arquivo *-ger-nfse-soap.xml no Chrome e o mesmpo informou que o namespace "xmlns" estava duplicado. Realmente esse namespace estava duplicado no arquivo, efetuei a correção e voltou a funcionar. Segue anexa a unit alterada. ACBrProvedorGoiania.pas
  5. Bom Dia Ítalo, Estou com o mesmo problema do Cesar e do ncc.star. Primeiramente, mesmo modificando a opção Configuracoes.Geral.RetirarAcentos := False; quando eu faço um debug na função Gerador.wCampo essa opção sempre chega "True". Para um teste eu modifiquei a propriedade na unit pcnGerador no TGerador.Create para False e essa propriedade chegou false, mas não consegui encontrar onde essa propriedade deveria ser carregada com o conteúdo da propriedade "Configuracoes.Geral.RetirarAcentos". O erro todo ocorre por causa da Tag "retConsMDFeNaoEnc" que no componente está "RetConsMDFeNaoEnc". Alterei para o que consta no manual ( com "r" minusculo e tudo funcionou corretamente. Um possível problema seria essa linha, InfMDFe := TRetInfMDFeCollection.Create(Self); Ela somente é criada se retornar a tag retConsMDFeNaoEnc, por esse motivo deu o erro. Não seria o caso de criar no TRetConsMDFeNaoEnc.Create ou no início da function LerXML? Segue anexa a Unit alterada. pmdfeRetConsMDFeNaoEnc.pas
  6. Bom dia Pessoal, Estou com o mesmo problema e verifiquei que o erro ocorre somente se a NFe retornar rejeição. Nesse caso, a propriedade DigVal não é retornada, conforme o XML anexo. Fiz uma alteração na unit para que valide o DigestValue somente se a NF estiver confirmada. Segue a unit alterada. Att, Jonas H. Montoia PS: Somente um comentário. Essa validação utilizando uma exception pode causar problemas no caso do envio em lote. Caso uma nota retorne um DigestValue Inválido, o processo será parado e as outras notas serão prejudicadas, mesmo estando corretas. 351000085512044-pro-rec.xml ACBrNFeWebServices.pas
  7. Bom dia Pessoal, Efetuei a implementação da NFSe para a cidade de Indiana/SP. Adicionei a cidade na procedure CodCidadeToProvedor da unit pnfsConversao e fiz as alterações na unit ACBrProvedorSimplISS. Seguem os arquivos para análise. Att, Jonas NFSe Indiana.rar
  8. Bom dia Juliomar. Meus fontes estão atualizados sim. Na dúvida exclui todos os arquivos da pasta acbr\Fontes\ACBrNFe2 e dei um update. O problema somente ocorre ao enviar o email com a opção EnviaPDF = True. Na Unit ACBrNFe a procedure EnviarEmailEvento está assim: if (EnviaPDF) then begin if DANFE <> nil then begin ImprimirEventoPDF; // NomeArq := StringReplace(EventoNFe.Evento[0].InfEvento.id,'ID', '', [rfIgnoreCase]); NomeArq := Copy(EventoNFe.Evento[0].InfEvento.id, 09, 44) + Copy(EventoNFe.Evento[0].InfEvento.id, 03, 06) + Copy(EventoNFe.Evento[0].InfEvento.id, 53, 02); // Aqui tenta ler como IDNFe+TipoEvento+CodEvento NomeArq := PathWithDelim(DANFE.PathPDF)+NomeArq+'evento.pdf'; AnexosEmail.Add(NomeArq); end; end; EnviaEmail(sSmtpHost, Na procedure ImprimirEVENTOPDF da Unit ACBrNFeDANFEFR.pas está da seguinte forma: if PrepareReportEvento then begin dmDanfe.frxPDFExport.Author := Sistema; dmDanfe.frxPDFExport.Creator := Sistema; dmDanfe.frxPDFExport.Producer := Sistema; dmDanfe.frxPDFExport.Title := TITULO_PDF; dmDanfe.frxPDFExport.Subject := TITULO_PDF; dmDanfe.frxPDFExport.Keywords := TITULO_PDF; dmDanfe.frxPDFExport.ShowDialog := False; { NomeArq := TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.chNFe; NomeArq := NomeArq + '-' + TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.TipoEvento; NomeArq := NomeArq + '-' + IntToStr(TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.nSeqEvento); } { NomeArq := TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.TipoEvento; NomeArq := NomeArq + TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.chNFe; } NomeArq := Copy(TACBrNFe(ACBrNFe).EventoNFe.Evento.Items[0].InfEvento.id, 3, 52); // Aqui salva como TipoEvento+IDNFe+CódigoEvento dmDanfe.frxPDFExport.FileName := PathWithDelim(Self.PathPDF) + NomeArq + 'evento.pdf'; dmDanfe.frxReport.Export(dmDanfe.frxPDFExport); end; Observe que essa procedure é chamada antes de ler o PDF. Como os nomes de arquivo estão diferentes o sistema dá esse erro. Só tenho como testar os relatórios em Fast e em RaveCB, que são os que eu uso e nos dois casos o problema continua. Att, Jonas
  9. Boa tarde pessoal, Estou com um problema no envio do evento por email. Ao enviar o email de um evento pelo comando ACBrNFe1.EnviarEmailEvento com o parâmetro EnviaPDF = True está dando um erro que o sistema não encontra o PDF do evento. Ocorre que na revision 7487 a unit ACBrNFe.pas foi alterada, na linha 804 de: NomeArq := StringReplace(EventoNFe.Evento[0].InfEvento.id,'ID', '', [rfIgnoreCase]); para: NomeArq := Copy(EventoNFe.Evento[0].InfEvento.id, 09, 44) + Copy(EventoNFe.Evento[0].InfEvento.id, 03, 06) + Copy(EventoNFe.Evento[0].InfEvento.id, 53, 02); Ocorre que nas units que geram o PDF (Utilizo o Rave Codebase e o Fast Report) o nome do arquivo não foi alterado. Não sei como posso resolver esse problema, pois a alteração envolve muitas units, inclusive algumas que eu não utilizo e não tenho como testar. No Aguardo, Jonas Henrique Montoia
  10. Boa tarde Juliomar. Conforme solicitado, segue a Unit alterada. Para quem trabalha com diversos sistemas como eu o melhor é editar o arquivo na pasta do Delphi. Agora pra quem trabalha com um único sistema basta adicionar as duas units ( a alteração é somente na Soap.SoapHTTPTrans.pas) na pasta do sistema e adicionar as units ao projeto. Atenciosamente, Jonas Soap.SOAPHTTPTrans.pas Soap.SOAPHTTPClient.pas
  11. Oneide, Da uma olhada nesse post... parece ser o mesmo erro... Jonas
  12. Bom dia Pessoal. Segundo a Embarcadero o Delphi XE6 não é compatível com Windows XP. Porém encontrei uma solução no fórum da embarcadero que resolve o problema. http://qc.embarcadero.com/wc/qcmain.aspx?d=124627 No meu caso somente adicionei a pasta {Diretorio de Inspalação do Delphi XE6}/Source/Soap/ no meu LibraryPath editei o arquivo Soap.SoapHTTPTrans.pas substituindo o código: {$IFDEF UNICODE} HttpSendRequest(Request, nil, 0, DatStr.Bytes, DatStr.Size); {$ELSE} HttpSendRequest(Request, nil, 0, @DatStr.DataString[1], Length(DatStr.DataString)); {$ENDIF} RetVal := HandleWinInetError(GetLastError, Request, True); Por: {$IFDEF UNICODE} WinInetResult := HttpSendRequest(Request, nil, 0, DatStr.Bytes, DatStr.Size); {$ELSE} WinInetResult := HttpSendRequest(Request, nil, 0, @DatStr.DataString[1], Length(DatStr.DataString)); {$ENDIF} if not WinInetResult then RetVal := HandleWinInetError(GetLastError, Request, True); Lembrando de Criar a variável local WinInetResul : Boolean; Basta dar um Build e o executável volta a funcionar normalmente. Esta solução foi postada pra Windows 7 com instalação Original (I.E. 9) mas no meu caso (Windows XP com IE 8) o sistema funcionou normalmente. Se alguém quiser testar e compartilhar o resultado seria de grande ajuda. Att, Jonas
  13. Juliomar, Desculpe pelo flood mas eu li sim as regras do Forum... imaginei que fazer um único Bump após 7 horas que o meu post estava sem nenhuma resposta e já estava no final da página não seria de forma excessiva. ( e é normal em qualquer fórum...) Agradeço pela atenção e digo que não farei novamente. Jonas
  14. Bom dia, Após a última atualização dos boletos (Revision 7340) meu sistema começou a apresentar a seguinte mensagem de erro na impressão em Fortes: LayoutBoleto: Erro durante a preparação do relatório EAccessViolation(Access violation at address 0040BEB2 in module ''. Write of address 00000298) Voltando para uma versão anterior o erro não ocorre. Compilando verifiquei que o problema ocorre na linha 705 (RLBand2BeforePrint): txtSacadorAvalista3.Caption := txtSacadorAvalista2.Caption; Verifiquei então que esse componente (txtSacadorAvalista3) estava declarado no .pas, porém o mesmo não está declarado no .dfm, o que deixava compilar dando o access violation ao imprimir. Incluí o componente após no final da declaração da RLBand2 e o erro deixou de ocorrer. Segue a dfm alterada. Jonas H. Montoia ACBrBoletoFCFortesFr.rar
  15. Pessoal, Esse problema não é exclusivo da NFe, estamos com o mesmo problema ao emitir CTe, também para o estado de MG. Porém o erro não ocorre se o exe for compilado no delphi XE2 (Utilizando o mesmo fonte). O erro ocorre ao Enviar ou consultar o CTe. Até iria abrir um novo tópico no ACBrCTe mas como estamos falando do mesmo erro evitei ter um tópico duplicado. O problema começou a ocorrer hoje pela manhã. Att, Jonas
  16. jhmontoia

    Consulta De Nfse Cancelada

    Bom dia pessoal, Verifiquei uma inconsistencia na Consulta de NFse, utilizando o método ConsultarNFSeporRps. Ao utilizar esse método, a propriedade Nfse.Status retorna srNormal em uma NFSe Cancelada. Verifiquei os fontes e está faltando a seguinte linha na Unit ACBrNFSeWebServices.pas: FNotasFiscais.Items[i].NFSe.Status := NFSeRetorno.ListaNfse.CompNfse.Items[i].NFSe.Status; Adicionei a linha e a Consulta retornou Nfse.Status srCancelada. Segue anexa a Unit com a alteração. Jonas H. Montoia ACBrNFSeWebServices.pas
  17. Bom dia Pessoal, Estava com o mesmo problema, só que na Consulta de uma NFe cancelada. Resolvi esse problema a nível de sistema ( não no componente). Verifiquei que o Webservice retorna os eventos registrado na NFe, com o Status de cada um. O que eu fiz foi um for antes de verificar o Status da Nota. NFCancelada := False; // Verifica se existe um evento de Cancelamento. for I := 0 to ACBrNFe1.WebServices.Consulta.procEventoNFe.Count-1 do if (ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[I].RetEventoNFe.InfEvento.tpEvento = teCancelamento) and (ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[I].RetEventoNFe.cStat in [101,151,155,135,128]) then begin NFCancelada := True; //wEvento := I; if ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[I].RetEventoNFe.cStat in [101,151,155] then wcStat := ACBrNFe1.WebServices.Consulta.procEventoNFe.Items[I].RetEventoNFe.cStat else wcStat := 101; Break; end; StatusNFe(SeSenao(NFCancelada, wcStat, ACBrNFe1.WebServices.Consulta.cStat), ACBrNFe1.WebServices.Consulta.Protocolo, ACBrNFe1.WebServices.Consulta.xMotivo, ACBrNFe1.WebServices.Consulta.dhRecbto); Outra coisa, pelo que eu entendi vocês enviam o evento e depois consultam o Status da nota. Isso não é uma boa prática e pode resultar em "Consumo Indevido". Ao enviar um evento, se o retorno do cStat for 135 a nota está cancelada, não havendo a necessidade de uma consulta. Jonas
  18. Italo, Bom dia. Visualizando os posts encontrei este: Atualizei os fontes e o problema foi resolvido. Agradeço a Atenção Jonas
  19. Boa tarde, Tem como adicionar a alteração acima no componente? Grato Jonas H Montoia
  20. Bom dia Pessoal, Estava com um problema em um cliente que utiliza a NFSe para a cidade de Itu (Ginfes), onde utiliza a alíquota de ISS 3,84 %, sendo que ao enviar essa alíquota tem que ser dividida por 100 para ficar 0,0384. Ao imprimir a NFSe estava imprimindo a alíquota 0,04%. Atualizei os fontes e verifiquei que a unit ACBrNFSeDANFSeQRRetrato foi alterada para corrigir esse problema. if FProvedor in [proThema, proGinfes] A correção funcionou quando eu faço o envio pelo processo ACBrNFSe.Enviar, porém ao imprimir uma NFSe utilizando o ACBrNFSe.NotasFiscais.LoadFromFile a alíquota impressa é 384,00%. Ocorre que no XML de envio a tag vai dessa forma <ns4:Aliquota>0.0384</ns4:Aliquota> enquanto no XML de retorno fica assim <Aliquota>3.84</Aliquota> Consultei a NFSe no site da prefeitura e ela está correta. para resolver o problema eu retornei a unit ACBrNFSeDANFSeQRRetrato ao que era antes: if FProvedor = proThema e fiz uma alteração na consulta do XML, adicionando a seguinte linha na unit ACBrNFSeWebServices, na linha 3380 if FProvedor = proGINFES then FNotasFiscais.Items[iNF].NFSe.Servico.Valores.Aliquota := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.Servico.Valores.Aliquota; Como a alíquota retornada na consulta não é dividida por 100, não preciso dividir ao imprimir a DANFSe. Atenciosamente, Jonas H. Montoia
  21. Olá rblSystem, Estou tendo o mesmo problema no provedor Ginfes, inclusive no dia 03/01/2014 enviei uma NFSe aproximadamente as 17:15 e retornou vários Erros Desconhecidos. Verifiquei no site da prefeitura (Itu) e a NFSe não estava aprovada. Na segunda-feira fui consultar a NFSe e estava aprovada com data de Aprovação 03/01/2014 as 18:33 hs. Como aqui na empresa todos saem as 18:00, é impossível alguém ter reenviado a NFSe nesse horário. Nesse caso, Imagino que o problema seja mesmo a instabilidade no servidor Ginfes. Att, Jonas
×
×
  • 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.