-
Total de ítens
60 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que AlexandreSoaresSP postou
-
WebService retornou um XML vazio - Guaibá/RS
AlexandreSoaresSP replied to AlexandreSoaresSP's tópico in ACBrNFSe
IPM.GravarXml.pasObrigado! -
WebService retornou um XML vazio - Guaibá/RS
AlexandreSoaresSP replied to AlexandreSoaresSP's tópico in ACBrNFSe
boa tarde amigos, ao atualizar o acbr o problema do cliente continuou , adicionei a correção acima, recompilei o acbrnfsex.bpl e voltou a funcionar, se possivel atualizar a correção no Trunk seria interessante pois assim não vai dar problema quando atualizar o acbr da próxima vez, e buscar a versão sem a correção, obrigado! Alexandre -
👉 NFSeX CONAM – Geração indevida de Reg40 (LOCPREEXT_*) quando CodigoPais = 0
um tópico no fórum postou AlexandreSoaresSP ACBrNFSe
Olá pessoal, Estou utilizando o ACBr NFSeX com o provedor CONAM (Etransparência) para emissão de NFSe no município de Taboão da Serra/SP e identifiquei um comportamento incorreto na geração do XML, especificamente no Registro 40 (campos adicionais). Problema encontrado O componente está gerando automaticamente os campos: LOCPREEXT_CODPOST LOCPREEXT_CIDADE LOCPREEXT_ESTPROVREG mesmo quando o serviço é prestado no Brasil e sem conteúdo preenchido. Isso resulta no seguinte erro do webservice: "Reg40 - Sigla (LOCPREEXT_CODPOST) é necessário informar o conteúdo. A quantidade de Reg40 no Registro 90 não corresponde à quantidade válida." Análise O problema ocorre porque o código atual gera esses campos apenas com base em: if CodigoPais <> 1058 then Porém, em muitos casos o CodigoPais vem como 0, fazendo com que o sistema interprete erroneamente como exterior e gere os campos LOCPREEXT, mesmo sem dados válidos. Além disso, o campo LOCPREEXT_CODPOST estava sendo preenchido incorretamente com UF ao invés de CEP. Correção aplicada Foi necessário ajustar a geração do Reg40 para: validar também CodigoPais <> 0 só gerar os campos quando houver conteúdo corrigir o uso do CEP no CODPOST Exemplo: if (CodigoPais <> 0) and (CodigoPais <> 1058) then E validar conteúdo antes de gerar cada campo. Sugestão de melhoria Seria interessante que o ACBr: não gerasse automaticamente campos LOCPREEXT quando vazios validasse corretamente CodigoPais = 0 como Brasil ou ignorasse garantisse consistência entre Reg40 e Reg90 ✔ Resultado Após o ajuste, o XML passou a ser aceito normalmente pelo webservice. Obrigado pelo excelente trabalho com o ACBr. Segue código alterado: function TNFSeW_Conam.GerarReg40: TACBrXmlNode; var xmlNode: TACBrXmlNode; aValor: string; begin Result := CreateElement('Reg40'); if NFSe.Servico.Valores.DescontoIncondicionado > 0 then begin aValor := FormatFloat('0.00', NFSe.Servico.Valores.DescontoIncondicionado); xmlNode := GerarReg40Item('DESCINCOND', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; if Trim(NFSe.Servico.InfAdicional) <> '' then begin aValor := NFSe.Servico.InfAdicional; xmlNode := GerarReg40Item('DADOSADICIONAIS', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; if Trim(NFSe.Servico.CodigoCnae) <> '' then begin aValor := NFSe.Servico.CodigoCnae; xmlNode := GerarReg40Item('SRV_CNAE', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; if Trim(NFSe.Servico.CodigoAnexoCnae) <> '' then begin aValor := NFSe.Servico.CodigoAnexoCnae; xmlNode := GerarReg40Item('SRV_ANEXOSN', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; if Trim(NFSe.Servico.CodigoServicoNacional) <> '' then begin aValor := NFSe.Servico.CodigoServicoNacional; xmlNode := GerarReg40Item('SRV_CTN', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; if Trim(NFSe.Servico.CodigoNBS) <> '' then begin aValor := NFSe.Servico.CodigoNBS; xmlNode := GerarReg40Item('SRV_NBS', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; if NFSe.IBSCBS.tpEnteGov <> tcgNenhum then begin aValor := tpEnteGovToStr(NFSe.IBSCBS.tpEnteGov); if Trim(aValor) <> '' then begin xmlNode := GerarReg40Item('TOM_TPENTGOV', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; end; if (NFSe.Tomador.Endereco.CodigoPais <> 0) and (NFSe.Tomador.Endereco.CodigoPais <> 1058) then begin aValor := CodIBGEPaisToSiglaISO2(NFSe.Tomador.Endereco.CodigoPais); if Trim(aValor) <> '' then begin xmlNode := GerarReg40Item('TOMEXT_PAIS', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; aValor := OnlyNumber(NFSe.Tomador.Endereco.CEP); if Trim(aValor) <> '' then begin xmlNode := GerarReg40Item('TOMEXT_CODPOST', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; aValor := Trim(NFSe.Tomador.Endereco.xMunicipio); if aValor <> '' then begin xmlNode := GerarReg40Item('TOMEXT_CIDADE', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; aValor := Trim(NFSe.Tomador.Endereco.UF); if aValor <> '' then begin xmlNode := GerarReg40Item('TOMEXT_ESTPROVREG', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; end; if (NFSe.Servico.Endereco.CodigoPais <> 0) and (NFSe.Servico.Endereco.CodigoPais <> 1058) then begin aValor := OnlyNumber(NFSe.Servico.Endereco.CEP); if Trim(aValor) <> '' then begin xmlNode := GerarReg40Item('LOCPREEXT_CODPOST', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; aValor := Trim(NFSe.Servico.Endereco.xMunicipio); if aValor <> '' then begin xmlNode := GerarReg40Item('LOCPREEXT_CIDADE', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; aValor := Trim(NFSe.Servico.Endereco.UF); if aValor <> '' then begin xmlNode := GerarReg40Item('LOCPREEXT_ESTPROVREG', aValor); Result.AppendChild(xmlNode); Inc(FQtdReg40); end; end; end; att, Alexandre -
Não imprime Informações complementares no DANFSE
AlexandreSoaresSP replied to AlexandreSoaresSP's tópico in ACBrNFSe
Boa tarde, Fiz a correção na procedure procedure TfrlXDANFSeRLPadraoNacional.rlbBanda13_InformacoesComplementaresBeforePrint( Sender: TObject; var PrintIt: Boolean); begin inherited; rlmDadosAdicionais.Lines.BeginUpdate; try rlmDadosAdicionais.Lines.Clear; if fpNFSe.Servico.CodigoNBS <> '' then rlmDadosAdicionais.Lines.Append(ACBrStr('NBS: ') + fpNFSe.Servico.CodigoNBS); if fpDANFSe.OutrasInformacaoesImp <> '' then rlmDadosAdicionais.Lines.Add(StringReplace(fpDANFSe.OutrasInformacaoesImp, FQuebradeLinha, #13#10, [rfReplaceAll])); if fpNFSe.OutrasInformacoes <> '' then rlmDadosAdicionais.Lines.Add(StringReplace(fpNFSe.OutrasInformacoes, FQuebradeLinha, #13#10, [rfReplaceAll])); if fpNFSe.InformacoesComplementares <> '' then rlmDadosAdicionais.Lines.Add(StringReplace(fpNFSe.InformacoesComplementares, FQuebradeLinha, #13#10, [rfReplaceAll])); finally rlmDadosAdicionais.Lines.EndUpdate; end; rllMsgTeste.Visible := (fpDANFSe.Producao = snNao); rllMsgTeste.Enabled := (fpDANFSe.Producao = snNao); if fpDANFSe.Cancelada or (fpNFSe.NfseCancelamento.DataHora <> 0) or (fpNFSe.SituacaoNfse = snCancelado) or (fpNFSe.StatusRps = srCancelado) then begin rllMsgTeste.Caption := 'NFS-e CANCELADA'; rllMsgTeste.Visible := True; rllMsgTeste.Enabled := True; end; rllMsgTeste.Repaint; end; Por favor se possivel avaliar e atualizarem, se já não foi corrigido por favor avaliarem outras correções dos tópicos: https://www.projetoacbr.com.br/forum/topic/91131-webservice-retornou-um-xml-vazio-guaibárs/ https://www.projetoacbr.com.br/forum/topic/91271-não-imprime-número-da-nota-e-não-traz-o-código-de-verificação-nfse-ginfes/ muito Obrigado, Alexandre -
Não imprime número da nota e não traz o código de verificação - Nfse - Ginfes
um tópico no fórum postou AlexandreSoaresSP ACBrNFSe
Boa tarde, estou com um problema na hora de imprimir usando provedor GINFES, não sai o número da nota e também não traz o código de verificação quanto autoriza a nota, só o protocolo. Segue anexos para verificação: 3526035896594800016156000000000001566-rps.xml OBrigado, Alexandre -
WebService retornou um XML vazio - Guaibá/RS
AlexandreSoaresSP replied to AlexandreSoaresSP's tópico in ACBrNFSe
Boa tarde, o problema do WebService resolveu, consegui enviar mas tive que fazer duas alterações, peço aos administradores para por favor verificar e atualizar no trunk Tive que alterar o arquivo ACBrNFSeXServicos.ini [4309308] Nome=Guaiba UF=RS Provedor=IPM Versao=1.01 Params=GerarTag:codigo_atividade|ServicosPadraoNacional:ObterDANFSE ProRecepcionar=https://guaiba.atende.net/?pg=rest&service=WNERestServiceNFSe HomRecepcionar=https://guaiba.atende.net/?pg=rest&service=WNERestServiceNFSe Pois é obrigatório a tag codigo_atividade, adicionei GerarTag:codigo_atividade| e Identificamos um comportamento inconsistente na geração do XML de NFSe para o provedor IPM (versão 1.01), especificamente no método TNFSeW_IPM.GerarLista da unit IPM.GravarXml. Atualmente, o ACBr está gerando automaticamente a tag <unidade_codigo>, mesmo quando os campos relacionados à unidade de serviço não estão efetivamente informados (quantidade e valor unitário). Isso resulta em XMLs incompletos do ponto de vista do provedor, causando rejeição com a seguinte mensagem: Código 00166: "Para utilizar Unidade de Serviço nos ítens dos serviços é necessário informar os campos unidade_codigo, unidade_quantidade e unidade_valor_unitario." Conforme validado: O provedor IPM não exige o uso de unidade de serviço; Porém, quando a tag <unidade_codigo> é enviada, torna-se obrigatório informar também: <unidade_quantidade> <unidade_valor_unitario> O problema ocorre porque o ACBr inclui <unidade_codigo> mesmo quando Quantidade e ValorUnitario estão zerados ou não informados, gerando um XML inconsistente com as regras do provedor. Corriji da seguinte forma que esta em IPM.GravarXml; : function TNFSeW_IPM.GerarLista: TACBrXmlNodeArray; var i: Integer; xDescr: string; xUnidade: string; lGerarUnidade: Boolean; begin Result := nil; SetLength(Result, NFSe.Servico.ItemServico.Count); for i := 0 to NFSe.Servico.ItemServico.Count - 1 do begin Result[i] := CreateElement('lista'); Result[i].AppendChild(AddNode(tcStr, '#', 'tributa_municipio_prestador', 1, 1, 1, FpAOwner.SimNaoToStr(NFSe.Servico.ItemServico[i].TribMunPrestador), '')); Result[i].AppendChild(AddNode(tcStr, '#', 'codigo_local_prestacao_servico', 1, 9, 1, CodIBGEToCodTOM(StrToIntDef(NFSe.Servico.ItemServico[i].CodMunPrestacao, 0)), '')); xUnidade := Trim(UnidadeToStr(NFSe.Servico.ItemServico[i].TipoUnidade)); lGerarUnidade := (xUnidade <> '') and (NFSe.Servico.ItemServico[i].Quantidade > 0) and (NFSe.Servico.ItemServico[i].ValorUnitario > 0); if lGerarUnidade then begin Result[i].AppendChild(AddNode(tcStr, '#', 'unidade_codigo', 1, 9, 0, xUnidade, '')); Result[i].AppendChild(AddNode(tcDe10, '#', 'unidade_quantidade', 1, 15, 0, NFSe.Servico.ItemServico[i].Quantidade, '')); Result[i].AppendChild(AddNode(tcDe10, '#', 'unidade_valor_unitario', 1, 15, 0, NFSe.Servico.ItemServico[i].ValorUnitario, '')); end; Result[i].AppendChild(AddNode(tcStr, '#', 'codigo_item_lista_servico', 1, 9, 1, OnlyNumber(NFSe.Servico.ItemServico[i].ItemListaServico), '')); Result[i].AppendChild(AddNode(tcStr, '#', 'codigo_nbs', 1, 9, 0, OnlyNumber(NFSe.Servico.CodigoNBS), '')); Result[i].AppendChild(AddNode(tcStr, '#', 'codigo_atividade', 1, 9, FpNrOcorrCodigoAtividade, OnlyNumber(NFSe.Servico.ItemServico[i].CodigoCnae), '')); if NFSe.Servico.ItemServico[i].Descricao = '' then xDescr := NFSe.Servico.Discriminacao else xDescr := NFSe.Servico.ItemServico[i].Descricao; xDescr := StringReplace(xDescr, Opcoes.QuebraLinha, FpAOwner.ConfigGeral.QuebradeLinha, [rfReplaceAll]); Result[i].AppendChild(AddNode(tcStr, '#', 'descritivo', 1, 1000, 1, xDescr, '')); if NFSe.Servico.ItemServico[i].Aliquota = 0 then Result[i].AppendChild(AddNode(tcDe4, '#', 'aliquota_item_lista_servico', 1, 15, 1, NFSe.Servico.Valores.Aliquota, '')) else Result[i].AppendChild(AddNode(tcDe4, '#', 'aliquota_item_lista_servico', 1, 15, 1, NFSe.Servico.ItemServico[i].Aliquota, '')); Result[i].AppendChild(AddNode(tcInt, '#', 'situacao_tributaria', 1, 4, 1, NFSe.Servico.ItemServico[i].SituacaoTributaria, '')); Result[i].AppendChild(AddNode(tcDe2, '#', 'valor_tributavel', 1, 15, 0, NFSe.Servico.ItemServico[i].ValorTributavel, '')); Result[i].AppendChild(AddNode(tcDe2, '#', 'valor_deducao', 1, 15, 0, NFSe.Servico.ItemServico[i].ValorDeducoes, '')); Result[i].AppendChild(AddNode(tcDe2, '#', 'valor_desconto_incondicional', 1, 15, 0, NFSe.Servico.ItemServico[i].DescontoIncondicionado, '')); if NFSe.Servico.ItemServico[i].SituacaoTributaria in [3, 4] then Result[i].AppendChild(AddNode(tcDe2, '#', 'valor_issrf', 1, 15, 1, NFSe.Servico.ItemServico[i].ValorISSRetido, DSC_VISS)) else Result[i].AppendChild(AddNode(tcDe2, '#', 'valor_issrf', 1, 15, 0, NFSe.Servico.ItemServico[i].ValorISSRetido, DSC_VISS)); Result[i].AppendChild(AddNode(tcStr, '#', 'cno', 1, 15, 0, NFSe.Servico.ItemServico[i].CodCNO, '')); end; if NFSe.Servico.ItemServico.Count > 10 then wAlerta('#', 'lista', '', ERR_MSG_MAIOR_MAXIMO + '10'); end; Se possivel avaliar e fazer as devidas atualizações, pois meu cliente já está usando a minha versão bpl aqui em ambiente de produção, amanhã vou tentar resolver a questão do tópico: meu cliente esta a alguns dias precisando urgente dessa informação na impressão, se alguém tiver uma solução eu agradeço, tentarei achar e corrigir daqui enquanto isso. Alexandre. -
Não imprime Informações complementares no DANFSE
AlexandreSoaresSP replied to AlexandreSoaresSP's tópico in ACBrNFSe
achei mas não vi bpl com essa unidade acoplada. Alguém tem alguma sugestão para ajudar? preciso resolver pois estou a 3 dias sem essa informação nas impressões. Alexandre -
Boa tarde, implementei o código para Servidor próprio IPM para Guaibá/RS mas segue mensagem quando envio a nota e não sei o que pode ser: Modo de Envio : Enviar Lote Numero do Lote: 101 Data de Envio : 30/12/1899 Numero do Prot: Sucesso : True Erro(s): Código : X201 Mensagem: WebService retornou um XML vazio. Correção: Alexandre
-
Não imprime Informações complementares no DANFSE
um tópico no fórum postou AlexandreSoaresSP ACBrNFSe
Bom dia, Depois que atualizei o acbr não imprime mais informações complementares no envio Padrão Nacional, Segue arquivo anexado do cliente, testei pelo acbrnfsex teste mas também não sai, preciso preencher algo novo nessa versão nova para sair? Obrigado pelo suporte, Alexandre 35302012206959482000198000000000029326034855054262-nfse.xml -
Atualizei o acbr antes de ontem . Eu tentei emitir uma nota pelo site e apareceu a mensagem que não estou permitido. No sistema quando tento enviar cclass ocorre o erro. Quanto aos inis. Achei que estava acoplado quando compila pelo instalador do acbr. Quais inis você se refere? Vou tentar coloca los na minha pasta e ver se envia .
-
Não consigo enviar nfse pelo acbrnfsex para SP enviando ibs cbs
um tópico no fórum postou AlexandreSoaresSP ACBrNFSe
Bom dia ! estou com dificuldades de envio de nfse para SP, não autoriza com ibs cbs, ainda não está disponivel ?pelo site da prefeitura eu consigo, esse problema é no caso da minha empresa, eu não estou ainda cadastrado no envio nacional, tem algo no meu código errado?schemas? Peguei o código do acbrnfsex exemplo mas não autoriza, diz uma tag de icbs não existe no servidor. Alexandre -
Boa tarde, creio que agora foi, esta retornando um erro informando que o cnpj precisa ter autorização na prefeitura para emissão fora do site da prefeitura(softhouse) mas já estou consultando sem a mensagem de erro de host. Vou verificar com meu cliente, desde já agradeço pela colaboração, Alexandre
-
Boa tarde, Eu não sei qual dessas endereços são o que necessito usar, segue link para "produção", não sei dentro dele qual é o endereço https://e-gov.betha.com.br/e-nota-contribuinte-ws/nfseWS?wsdl No caso cliquei em web services produção da versão 2.02, mas não entendo muito como funciona, no link que enviei acima tem os endereços? Obrigado pela atenção. Alexandre
-
Boa tarde amigos, estou tentando enviar notas de serviço para um cliente mas diz que o endereço de produção esta inválido. Poderiam por favor verificar se esta desatualizado? Segue manual que encontrei no site deles: https://e-gov.betha.com.br/e-nota-test/ambienteteste.faces Creio que está por ai os endereços, estou mandando esse link porque enviei e-mail para eles um mês não obtive resposta. Obrigado pela atenção. Alexandre
-
Campo informações complementares não sai na nota
um tópico no fórum postou AlexandreSoaresSP ACBrNFSe
Bom dia amigos, Estou com um problema que a algum tempo preciso resolver, o cliente preenche as informações complementares da nota mas não sai na geração da nota. Seria a tag outrasinformações? preencho ela mas mesmo assim vai vazio. Alexandre
