Ir para conteúdo
  • Cadastre-se

AlexandreSoaresSP

Membros
  • Total de ítens

    61
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

AlexandreSoaresSP's Achievements

Contributor

Contributor (5/14)

  • Dedicated Rare
  • Collaborator Rare
  • One Year In
  • First Post
  • Conversation Starter

Recent Badges

2

Reputação

2

Community Answers

  1. Município: Guaíba/RS Código IBGE: 4309308 Provedor: IPM / Atende.Net Componente: ACBrNFSeX Problema: Ao enviar NFS-e para Guaíba/RS, o provedor retornava inicialmente o erro: "Código 00183 - Econômico sem autorização para emissão de RPS/DPS ou não contém uma autorização liberada para conversão." Após criar/liberar a autorização de RPS no portal Atende.Net, o envio passou a retornar: "Não é possível inserir o registro, pois já existe um registro com estas informações." Verificações: - A autorização de RPS estava liberada para a faixa utilizada. - O RPS não aparecia como convertido no portal. - O município utiliza IPM/Atende.Net. - O caso é semelhante ao ajuste já aplicado para Palhoça/SC, onde foi necessário usar o parâmetro NaoGerarGrupoRps. Configuração atual no 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 Alteração testada com sucesso: [4309308] Nome=Guaiba UF=RS Provedor=IPM Versao=1.01 Params=GerarTag:codigo_atividade|NaoGerarGrupoRps:|ServicosPadraoNacional:ObterDANFSE ProRecepcionar=https://guaiba.atende.net/?pg=rest&service=WNERestServiceNFSe HomRecepcionar=https://guaiba.atende.net/?pg=rest&service=WNERestServiceNFSe Solicitação: Favor avaliar a inclusão do parâmetro NaoGerarGrupoRps para o município de Guaíba/RS (4309308) no ACBrNFSeXServicos.ini oficial. Alexandre
  2. 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
  3. Pulou a etapa do erro que estava tendo, enviou o lote mas deu problema na prefeitura, enviei mensagem para eles para consertar. Mas com a correção enviou o lote sim, segue anexo caso necessite. Conam.GravarXml.pas Alexandre
  4. 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
  5. 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
  6. 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
  7. 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.
  8. 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
  9. 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
  10. 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
  11. Estou usando o componente, atualizei antes de ontem, já tentei informacoescomplementares e outrasinformacoes mas não envia mesmo assim.
  12. Bom dia, desculpe mas coloquei em outrasinformacoes e continua não indo. o Resto das informações envia normalmente. Alexandre.
  13. boa tarde amigos, Preencho outrasinformações ou informações complementares ao enviar NFSE nacional mas não aparece no no xml, consequentemente também não no portal, essas propriedades não funcionam com NACIONAL? Alexandre
×
×
  • 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.

The popup will be closed in 10 segundos...