-
Total de ítens
43 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por José Jair de Oliveira
-
-
Boa tarde Italo
Conforme retornado pelo provedor, no XML tem os caracteres 
 que é a quebra de linha na tag <Discriminacao>Na procedure TACBrNFSeProviderDSF200.Configuracao tem seu tratamento na propriedade ConfigGeral.QuebradeLinha := '
';
Jair
017117065-lista-nfse-con-lot-soap.xml 017122476-lista-nfse-con-lot-soap.xml
-
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;', [rfReplaceAll]);
Result := FaststringReplace(Result, '&', ' ', [rfReplaceAll]);
Result := FaststringReplace(Result, '!#xD;!#xA;', '
', [rfReplaceAll]);
end;Dessa forma substituirá todos os & por espaço, mantendo os que compõem a expressão que pula linha.
Obrigado
-
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 pontoUNIT 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
-
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 nameCorreçã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
-
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.
-
Italo, boa tarde.
Fiz os testes e tudo OK
Leitura do XML original e ObservaçõesEssas 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
-
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.
-
Boa tarde
Obrigado Italo.
Erro 1) resolvidoErro 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.
-
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!
-
-
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.
-
opa...bom dia Italo, vou atualizar e habilitar então o detalhamento dos serviços.
Muito obrigado -
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.
- 1
-
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.
- 1
-
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.
-
Bom dia Italo.
Muito obrigado.
-
-
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', ''); -
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
- 2
-
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
agora o retorno em XML que vem, ficou esquisito.
document com 3 RPS.pdfErros AssessorPublico com 3 RPS.xml
-
Italo
Segue XML retornado em ACBrNFSe1.WebServices.ConsLote.RetWS
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
- 1
-
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.
-
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.
-
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.
URGENTE - Erro "xmlParseEntityRef: no name" provedor DSF Sorocaba - Prestador com & na Razão Social
em ACBrNFSe
Postado
Bom dia Italo
Teste feito e sim, resolveu o problema.
Muito obrigado.