Ir para conteúdo
  • Cadastre-se

AlexandreSoaresSP

Membros
  • Total de ítens

    60
  • Registro em

  • Última visita

Tudo que AlexandreSoaresSP postou

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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.
  7. 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
  8. 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
  9. 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
  10. Estou usando o componente, atualizei antes de ontem, já tentei informacoescomplementares e outrasinformacoes mas não envia mesmo assim.
  11. Bom dia, desculpe mas coloquei em outrasinformacoes e continua não indo. o Resto das informações envia normalmente. Alexandre.
  12. 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
  13. Imaginei que fosse ele. Vou atualizar na minha pasta e testar. Obrigado.
  14. 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 .
  15. Bom dia amigos, esta tendo rejeição de aliquota ibs municipal inválida para o [itemX] quando tento enviar uma nfe do estado do RJ com aliquota 0,50, só envia com aliquota ibs municipal zerada, alguem enfrentou esse problema? Alexandre
  16. 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
  17. 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
  18. Vocês poderiam ver essa questão para mim? existe algum plano ?mensal? Estou sem tempo e preciso dessa questão resolvida, caso tenham algum plano me enviem por favor. Resolvendo já aproveita e ajuda a comunidade. Alexandre
  19. 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
  20. 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
  21. 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
  22. Boa tarde, O problema foi resolvido, muito obrigado Italo e aos amigos que me deram suporte. 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.