Ir para conteúdo
  • Cadastre-se

José Jair de Oliveira

Membros
  • Total de ítens

    43
  • Registro em

  • Última visita

Tudo que José Jair de Oliveira postou

  1. Boa tarde Italo Conforme retornado pelo provedor, no XML tem os caracteres &#xD;&#xA; que é a quebra de linha na tag <Discriminacao> Na procedure TACBrNFSeProviderDSF200.Configuracao tem seu tratamento na propriedade ConfigGeral.QuebradeLinha := '&#xD;&#xA;'; Jair 017117065-lista-nfse-con-lot-soap.xml 017122476-lista-nfse-con-lot-soap.xml
  2. Boa tarde Italo. Ajustei a DSF.Provider como segue: adicionei StrUtilsEx em USES function TACBrNFSeXWebserviceDSF200.TratarXmlRetornado( const aXML: string): string; begin Result := inherited TratarXmlRetornado(aXML); Result := ParseText(AnsiString(Result), True, False); Result := FaststringReplace(Result, '&#xD;&#xA;', '!#xD;!#xA;', [rfReplaceAll]); Result := FaststringReplace(Result, '&', ' ', [rfReplaceAll]); Result := FaststringReplace(Result, '!#xD;!#xA;', '&#xD;&#xA;', [rfReplaceAll]); end; Dessa forma substituirá todos os & por espaço, mantendo os que compõem a expressão que pula linha. Obrigado DSF.Provider.pas
  3. UNIT ACBrNFSeXWebserviceBase (modificada) function TACBrNFSeXWebservice.ExtrairRetorno(const ARetorno: string; responseTag: array of string): string; var Document: TACBrXmlDocument; ANode: TACBrXmlNode; I: Integer; xRetorno: string; begin Result := ''; xRetorno := TratarXmlRetornado(ARetorno); if xRetorno = '' then Exit; if not StringIsXML(xRetorno) then begin Result := xRetorno; Exit; end; if (Length(responseTag) = 0) then begin Result := xRetorno; Exit; end; Document := TACBrXmlDocument.Create; try xRetorno := ReplaceString( TratarXmlRetornado(ARetorno), 'R & J','R J'); // Forçando a remoção do & no nome do prestador apenas Document.LoadFromXml(xRetorno); //<== Gerava erro nesse ponto UNIT ACBrXmlDocument (não modifiquei) procedure TACBrXmlDocument.LoadFromXml(AXmlDocument: string); var loadedDoc: xmlDocPtr; loadedRoot: xmlNodePtr; begin loadedDoc := xmlParseDoc(PAnsiChar(ansistring(AXmlDocument))); A variável loadedDoc retornava vazia sem a remoção do & na razão social Na urgência tive que fazer o que não se faz...até termos a solução adequada. Obrigado
  4. Bom dia Desde o dia 11/10, um único cliente que contém & na sua Razão Social no cadastro da prefeitura de Sorocaba(DSF) retorna o erro "xmlParseEntityRef: no name" ao enviar NFS e ao Consultar o Lote. Todos os demais clientes que emitem NFS estão obtendo o retorno normalmente. A NF é gerada e consta o lote de retorno, porém o componente dispara o erro acima e estão parados sem poder emitir notas. Provedor: DSF ERRO Código : X999 Erro de Conexão: xmlParseEntityRef: no name Correção: --------- Agradeço a atenção 1-env-lot-sinc.xml 1-env-lot-sinc-soap.xml 1-lista-nfse-sinc-soap.xml 017122476-con-lot.xml 017122476-con-lot-soap.xml 017122476-lista-nfse-con-lot-soap.xml
  5. Bom dia! Ontem iniciei em um cliente a integração PIX com Banco do Brasil em produção com sucesso. Alguém já está utilizando os PSPs ITAÚ e SANTANDER pra saber se está tudo OK? Obrigado.
  6. Italo, boa tarde. Fiz os testes e tudo OK Leitura do XML original e Observações Essas observações eu estava fazendo nas minhas emissões de notas e agora vou atualizar o sistema em um cliente que emite com mais frequência, mas acredito que não tenhamos maiores transtornos. Desde já meu muito obrigado pelos retornos. Abraço
  7. Boa tarde Italo, Atualizei os fontes, reinstalei o ACBR e recompilei a aplicação, mas ainda retorna ERRO UTF ao ler o XML original. Vou anexar outro para novos testes. Outro ponto que notei. Na impressão da DANFE, os OBS (informações complementares) não eram exibidas..o provedor AcessorPublico aparentemente não tem um campo de OBS Gerais da NF apenas a tag <OBSSERVICO> e a DANFE exibe informações do objeto NFSe.OutrasInformacoes, então ajustei a unit AssessorPublico.LerXml.pas, linha 147 a 151 (segue em anexo). No meu envio das informações para o componente estou preenchendo os 2 campos Servico.Discriminacao e OutrasInformacoes com as observações da NF, onde Servico.Discriminacao chega ao WebService e registra na NF e OutrasInformacoes apenas caso queiram visualizar a NF antes da transmissão. A DANFE também não exibe o endereço, mas nesse caso no XML retornado do provedor, as tags estão em branco. Obrigado. AssessorPublico.LerXml.pas XML AcessorPublico.xml
  8. Boa tarde Obrigado Italo. Erro 1) resolvido Erro 2) ainda permanece Numa reimpressão da Nota no sistema, estou salvando o XML original num arquivo, carrego em outro componente, trato as codificações, etc, salvo e depois carrego no ACBrNFSeX QR_NOTAnfe_xml.SaveToFile(GetEnvironmentVariable('TEMP')+'\temp.xml'); MemoResp.Lines.LoadFromFile(GetEnvironmentVariable('TEMP')+'\temp.xml'); if ACBrNFSeX1.Configuracoes.Geral.Provedor=proAssessorPublico then begin MemoResp.Lines.Text:=TratarXmlUTF8(MemoResp.Text); MemoResp.Lines.SaveToFile(GetEnvironmentVariable('TEMP')+'\temp.xml'); end; ACBrNFSeX1.NotasFiscais.LoadFromFile(GetEnvironmentVariable('TEMP')+'\temp.xml'); provedor ISSDSF (Sorocaba) não gera o erro do AssessorPublico(Votorantim) Obrigado.
  9. Boa tarde, Não será por conta de que agora devemos passar como parâmetro o nr do protocolo que retorna no envio e não mais o nr lote? with ACBrNFSeX1.WebService do begin if Enviando then begin with Emite do begin NumLote:=Lote; NumProtocolo:=Protocolo; .... na consulta... ACBrNFSeX1.ConsultarLoteRps(NumProtocolo, NumLote); o erro HTTP 500 tem retornado constantemente, pois desde o dia 01/04 está muito instável o serviço, todo dia tem essas oscilações na conexão. Abraço!
  10. Bom dia Italo, tudo bem? Segue mais algumas observações das últimas atualizações do provedor AssessorPublico. 1) Na unit AssessorPublico.LerXml.pas: function TNFSeR_AssessorPublico.LerXmlNfse(const ANode: TACBrXmlNode): Boolean; Linha 254 O sinal (+) deve ser (*)...está resultando em valores totais dos itens incorretos na DANFESeX Está ==> ValorTotal := Quantidade + ValorUnitario; Correto ==> ValorTotal := Quantidade * ValorUnitario; 2) Ao carregar o XML *sem ser na consulta do lote*, usando ACBrNFSeX1.NotasFiscais.LoadFromFile, retorna erro proper UTF-8...acredito que devido a tag <LINK> ou <SERIEDESC> ou <OBSSERVICO> ou <ATIVDESC> ou <PRESTNOMERAZAO> retornarem informações acentuadas ou com caracteres codificados ...vou anexar algum retorno para seus testes. temp.xml
  11. opa...bom dia Italo, vou atualizar e habilitar então o detalhamento dos serviços. Muito obrigado
  12. Boa tarde Italo, obrigado por adicionar as solicitações acima na sua lista. Hoje precisei cancelar uma NF e ao consultar na prefeitura, a NF posterior que havia sido cancelada. Fiz um ajuste e após isso cancelou a NF correta. arquivo: ...ACBR\Fontes\ACBrDFe\ACBrNFSeX\Provedores\AssessorPublico.Provider.pas -> procedure TACBrNFSeProviderAssessorPublico.PrepararCancelaNFSe LInha 543: Response.ArquivoEnvio := '<NFSE>' + '<IDENTIFICACAO>' + '<INSCRICAO>' + Emitente.InscMun + '</INSCRICAO>' + '<LOTE>' + Response.InfCancelamento.NumeroLote + '</LOTE>' + // '<SEQUENCIA>' + // Response.InfCancelamento.NumeroNFSe + '<SEQUENCIA>' + inttostr(Response.InfCancelamento.NumeroRps) + '</SEQUENCIA>' + '<OBSERVACAO>' + Response.InfCancelamento.MotCancelamento + '</OBSERVACAO>' + '</IDENTIFICACAO>' + '</NFSE>'; a TAG <SEQUENCIA> estava recebendo o NR da Nota Fiscal e passei a informar o NR do RPS (Esse nr RPS está sendo retornado no XML do provedor no campo ACBrNFSeX1.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Serie) Obrigado Italo. AssessorPublico.Provider.pas
  13. Boa tarde, como estão? Fiz essa semana a troca de ACBrNFSe para ACBrNFSeX para Sorocaba (DSF) e Votorantim(AccessorPublico). Sorocaba está indo bem, mesmo com alguns bugs e instabilidades no WebService decorrentes da recente migração, acredito. Para Votorantim tenho algumas considerações e agradeço a análise de vcs no devido tempo: ** Dados da Cidade: ACBrNFSeXServicos.ini [3557006] Nome=Votorantim UF=SP Provedor=AssessorPublico ProRecepcionar=http://sql.sefvotorantim.sp.gov.br:8080/issonline/servlet/anfse?wsdl HomRecepcionar=http://sql.sefvotorantim.sp.gov.br:8080/issonline_teste/servlet/anfse?wsdl **Está retornando erro caso nenhuma informação seja enviada no COMPLEMENTO do endereço do tomador **A montagem da DANFESe não exibe os itens de serviço (AssessorPublico aceita mais de um item de serviço)..A NF é registrada com todos os itens normalmente, aparentemente é algum detalhe na montagem do relatório. **No retorno: ACBrNFSeX1.NotasFiscais.Items[X].NFSe.IdentificacaoRps.Numero está retornando CÓDIGO DE VERIFICAÇÃO **No retorno: ACBrNFSeX1.NotasFiscais.Items[X].NFSe.IdentificacaoRps.Serie está retornando NR RPS **Ao ler os dados das NFs em ACBrNFSeX1.NotasFiscais após consultar o lote TUDO OK, mas se salvar o XML e ler do arquivo ACBrNFSeX1.NotasFiscais.LoadFromFile() retorna o erro: Input is not proper UTF-8, indicate encoding ! Bytes: 0xF4 0x6E 0x69 0x63 Não sei se devido ao LINK para visualização da NF retornado no XML *OutrasInformacoes e InformacoesComplementares Não estão sendo considerados...mesmo preenchido qq um deles não é registrado na NF(WebService), a NF é gerada sem as informações. Agradeço a atenção e tenham todos uma boa tarde.
  14. aqui desde cedo recebendo a mesma mensagem...os clientes que tem SAT em outros cxs estou orientando a finalizar as vendas nesses terminais, até surgir uma luz.
  15. Bom dia Italo. Também no provedor AssessorPublico ao enviar RPS com retenções de PIS, COFINS, IR e CSLL, temos que enviar parâmetros para que tais retenções sejam aceitas: Obrigado. Gerador.wCampo(tcDe2, '', 'PIS', 1, 1, 1,NFSe.Servico.Valores.ValorPis, ''); if NFSe.Servico.Valores.ValorPis>0 then Gerador.wCampo(tcStr, '', 'RETPIS', 1, 1, 1, 'S', ''); Gerador.wCampo(tcDe2, '', 'COFINS', 1, 1, 1, NFSe.Servico.Valores.ValorCofins, ''); if NFSe.Servico.Valores.ValorCofins>0 then Gerador.wCampo(tcStr, '', 'RETCOFINS', 1, 1, 1, 'S', ''); Gerador.wCampo(tcDe2, '', 'INSS', 1, 1, 1, NFSe.Servico.Valores.ValorInss , ''); if NFSe.Servico.Valores.ValorInss>0 then Gerador.wCampo(tcStr, '', 'RETINSS', 1, 1, 1, 'S', ''); Gerador.wCampo(tcDe2, '', 'IR', 1, 1, 1, NFSe.Servico.Valores.ValorIr, ''); if NFSe.Servico.Valores.ValorIr>0 then Gerador.wCampo(tcStr, '', 'RETIR', 1, 1, 1, 'S', ''); Gerador.wCampo(tcDe2, '', 'CSLL', 1, 1, 1, NFSe.Servico.Valores.ValorCsll , ''); if NFSe.Servico.Valores.ValorCsll>0 then Gerador.wCampo(tcStr, '', 'RETCSLL', 1, 1, 1, 'S', '');
  16. Sim... no primeiro caso com duas notas até apareceu os números dos dois RPS 3205 e 3206, mas com 3 ficou repetindo o mesmo erro do primeiro RPS para cada ocorrência. O PDF que geram no link até está com informações mais corretas, embora cada RPS com apenas 1 erro está repetindo duas vezes. Vou encaminhar para os desenvolvedores nossas consideraçõeos e ver o que nos respondem. Obrigado Italo
  17. document.pdf Duas notas: RPS 3205 e 3206 no lote 410073948 Enviei com 2 tipos de erro em ambas: Alíquota de ISS normal e Alíquota de ISS Retenção ...Gerei com % acima do correto por se tratar de testes e verificação dos retornos. Fiz novos envios agora com 3 notas, apenas % ISS incorreto em todas e a última (RPS 3207) também com código do serviço incorreto. Abrindo o PDF pelo site da prefeitura até fica +- link abaixo e PDF anexo http://sql.sefvotorantim.sp.gov.br:8080/issonline/servlet/hrelprocessoinconsistencia?zLyutwVzqrd%2Fxzd%2BbPY9IQ%3D%3D agora o retorno em XML que vem, ficou esquisito. document com 3 RPS.pdfErros AssessorPublico com 3 RPS.xml
  18. Erros AssessorPublico.xml Italo Segue XML retornado em ACBrNFSe1.WebServices.ConsLote.RetWS pnfsNFSeW_AssessorPublico.pas Outro detalhe... o preenchimento da TAG EMAIL na unit pnfsNFSeW_AssessorPublico estava comentada. Gerador.wCampoNFSe(tcStr, '', 'EMAIL', 1, 1, 1, NFSe.Tomador.Contato.Email, ''); Obrigado
  19. http://sql.sefvotorantim.sp.gov.br:8080/issonline/servlet/hrelprocessoinconsistencia?gSTLOZBwpA3z0kgOsrxYHw%3D%3D Este link (que direciona para um PDF) é recebido no ACBrNFSe1.WebServices.ConsLote.RetornoNFSeRetornoNFSE, mas não sei se o WebService retorna um XML com as inconsistências.
  20. Bom dia Italo Fiz o teste e tudo ok com o envio de mais de uma NF no lote. Enviei informações com erros e ao consultar o lote function TWebServices.ConsultaLoteRps(const ANumLote, AProtocolo: String): Boolean; begin FConsLote.FNumeroLote := ANumLote; FConsLote.FProtocolo := AProtocolo; Result := FConsLote.Executar; if not (Result) then FConsLote.GerarException( FConsLote.Msg ); end; Na unit ACBrNFSeWebServices a linha Result := FConsLote.Executar; retorna FALSE resultando em erro. Quando o lote não contem erros retorna TRUE e a NF é gerada com sucesso no servidor da prefeitura ou seja, apenas não está conseguindo pegar as observações do WebService, que contém os erros que invalidaram o lote. Mas agora já está 99,99% funcional Muito obrigado.
  21. pnfsNFSeW_AssessorPublico.pas Quanto ao envio com mais de 2 notas no lote (está enviando apenas a última) e retornos sem informações dos erros no envio do lote, aguardo suas análises/cosiderações. Muito obrigado.
×
×
  • 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.