Ir para conteúdo
  • Cadastre-se

Italo Giurizzato Junior

Consultores
  • Total de ítens

    39.656
  • Registro em

  • Última visita

  • Days Won

    1.151

Tudo que Italo Giurizzato Junior postou

  1. Boa tarde Marcelo, Você enviou o RPS de numero 100 e gerou a nota de numero 120. Agora você quer cancelar a nota de numero 120 e o webservice não deixa, correto? Tente o seguinte: 1. Alimenta o componente com os dados de um novo RPS 2. Inclua nele as informações do RPS que você deseja substituir, o RPS a ser substituído é o que gerou a nota de numero 120 {exemplo} RpsSubstituido.Numero := '100'; RpsSubstituido.Serie := 'UNICA'; RpsSubstituido.Tipo := trRPS; 3. Envie esse novo RPS. Na verão 1 do layout da ABRASF o procedimento é esse.
  2. Bom dia Pablo, A lib lhe fornece essas duas possibilidades de carregar um arquivo INI e fazer o resto ou carregar um XML. Eu particularmente prefiro o arquivo INI. Hoje você gera o XML e carrega ele na lib, amanha a prefeitura muda de provedor que tem um layout diferente, pronto você vai ter que alterar a sua rotina que gera o XML. Por outro lado se você gera o arquivo INI talvez tenha que acrescentar um campo ou outro que é exigido pelo novo provedor, não sendo necessário refazer do zero a sua rotina. O erro E090 e o L003 são os mesmos que você já estava tendo e lhe passei as instruções de como resolver. O erro E252, note que ele diz que você esta informando o Regime Especial: Cooperativa e este regime esta errado. Portanto você tem dois erros cujos dados informados estão errados, ao informar os dados corretos ele vão desaparecer e o outro se refere a numeração do RPS. Você fazendo esses testes em ambiente de homologação ou de produção? Se esta fazendo em produção e o seu cliente esta usando outro software para emitir as suas notas, vai ocorrer esse erro E090.
  3. Bom dia @LeonardoRocha, A cidade de Castro/PR se utiliza do provedor IPM. Esse provedor é problemático, pois para algumas prefeituras no cadastro do prestador existe uma opção para determinar se você deseja receber o XML completo da nota ou não. Mas tem cidades que esta opção não esta disponível. No retorno que você anexou note que existe um campo chamado Link que contem uma URL, com ela você tem acesso ao DANFSE e em alguns caso é possível baixar o XML. Quanto a configuração que mencionei acima veja o tópico abaixo:
  4. Bom dia @LeonardoRocha, A cidade de Passo Fundo/RS se utiliza do provedor Thema que trabalha com a versão 1 do layout da ABRASF. Sendo assim, após o envio se faz necessário Consultar a situação do lote. Se a situação for 3 ou 4 devemos consultar o Lote. É nesta ultima consulta que vamos ter a lista de erros se a situação for 3 ou a lista de notas se a situação for 4. Para mais informações sobre os provedores que seguem a versão 1 do layout da ABRASF, por favor leia o tópico abaixo.
  5. Bom dia @LeonardoRocha, Você pode seguir as orientações do tópico abaixo para fazer as alterações no arquivo ACBrNFSeXServicos.ini Caso precise de mais alguma ajuda, basta continuar aqui.
  6. Bom dia Isaias, Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes. Observação, o provedor ISSCambe não tem ambiente de homologação, somente de produção.
  7. Boa tarde Isaias, O prestador é MEI? Se sim, você deve configurar o componente para usar o layout do Padrão Nacional. Se não é MEI, você deve configurar o componente para usar o layout do provedor.
  8. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  9. Boa tarde Bruno, Favor Atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes. Mas antes leia o tópico abaixo:
  10. Olá pessoal, Foi implementado a classe Endereco dentro da classe Servico para poder informar os dados do local da prestação do serviço a ser utilizado pelo provedor Giap. Antes o componente estava gerando as tags do grupo <dadosServico> com os dados do prestador, mas pode ocorrer do local da prestação do serviço não ser o mesmo do prestador, pode ser do tomador e até outro. Para que seja possível informar corretamente o local da prestação do serviço foi criado a nova classe. Abaixo temos o código que alimenta os campos para gerar as tags do grupo <dadosServico>. // Provedor Giap Servico.Endereco.Bairro := 'Bairro onde o serviço foi prestado'; Servico.Endereco.CEP := 'cep do local da prestação do serviço'; Servico.Endereco.xMunicipio := 'município do local da prestação do serviço'; Servico.Endereco.Complemento := 'complemento do local da prestação do serviço'; Servico.Endereco.Endereco := 'endereço do local da prestação do serviço'; Servico.Endereco.Numero := 'numero do local da prestação do serviço'; Servico.Endereco.xPais := 'pais do local da prestação do serviço'; Servico.Endereco.UF := 'UF do local da prestação do serviço'; Para quem utiliza o ACBrMonitor Plus temos agora os seguintes campos dentro da seção [Servico]: [Servico] ; Provedor Giap Bairro=Bairro onde o serviço foi prestado CEP=cep do local da prestação do serviço xMunicipio=município do local da prestação do serviço Complemento=complemento do local da prestação do serviço Endereco=endereço do local da prestação do serviço Numero=numero do local da prestação do serviço xPais=pais do local da prestação do serviço UF=UF do local da prestação do serviço
      • 3
      • Curtir
  11. Boa tarde @Pablo.ferreirax, Quanto ao erro referente ao numero do RPS, se faz necessário você checar com o prestador ou através do site da prefeitura para saber qual foi o numero do ultimo RPS enviado, para que você possa dar continuidade. Segundo a descrição do erro, o numero de RPS = 215 não corresponde o numero do próximo RPS a ser enviado. Com relação ao erro de Código de Tributação, analisando o seu arquivo INI senti a falta do campo: CodigoTributacaoMunicipio. Esse campo deve ser informado na seção [Servico]. Conforme consta na mensagem, você deve entrar em contato com a prefeitura para saber qual é o código a ser informado para o prestador em questão.
  12. Boa tarde Cleiver, O prestador é MEI? Você poderia anexar o XML do DPS?
  13. Boa tarde @mar1975, O método ObterDANFSE tem por finalidade baixar e salvar o DANFSE em PDF e foi implementando no componente para atender o Padrão Nacional que possui esse serviço. Lembre-se que, a prefeitura da cidade contratou o provedor Ginfes, este segue a versão 1 do layout da ABRASF e segundo esse layout não existe nenhum serviço que baixa o PDF do DANFSE. Nessa cidade temos prestadores de serviços que são MEI e os que não são MEI. Os que são MEI você vai configurar a Lib para usar o layout do Padrão Nacional, neste caso o envio do RPS passa a ser unitário, ou seja, você só pode enviar um RPS por vez e já no retorno você já tem o XML da nota. No tópico que eu pedi para você ler, detalho todos os serviços disponibilizados pelo Padrão Nacional. Por outro lado os prestadores que não são MEI, você vai configurar a Lib para usar o layout do Provedor que neste caso é o Ginfes. Dependendo do layout adotado pelo provedor e dos serviços que ele implementou em seu webservice você vai poder usar ou não um determinado método. Veja isso: TACBrNFSeXWebserviceGinfes = class(TACBrNFSeXWebserviceSoap11) private function GetNameSpace: string; public function Recepcionar(ACabecalho, AMSG: String): string; override; function ConsultarLote(ACabecalho, AMSG: String): string; override; function ConsultarSituacao(ACabecalho, AMSG: String): string; override; function ConsultarNFSePorRps(ACabecalho, AMSG: String): string; override; function ConsultarNFSe(ACabecalho, AMSG: String): string; override; function Cancelar(ACabecalho, AMSG: String): string; override; function TratarXmlRetornado(const aXML: string): string; override; property NameSpace: string read GetNameSpace; end; As funções Recepcionar até Cancelar são os serviços implementados pelo provedor Ginfes em seu WebService. TACBrNFSeXWebserviceFiorilli200 = class(TACBrNFSeXWebserviceSoap11) private function GetDadosUsuario: string; public function Recepcionar(ACabecalho, AMSG: String): string; override; function RecepcionarSincrono(ACabecalho, AMSG: String): string; override; function GerarNFSe(ACabecalho, AMSG: String): string; override; function ConsultarLote(ACabecalho, AMSG: String): string; override; function ConsultarNFSePorRps(ACabecalho, AMSG: String): string; override; function ConsultarNFSePorFaixa(ACabecalho, AMSG: String): string; override; function ConsultarNFSeServicoPrestado(ACabecalho, AMSG: String): string; override; function ConsultarNFSeServicoTomado(ACabecalho, AMSG: String): string; override; function Cancelar(ACabecalho, AMSG: String): string; override; function SubstituirNFSe(ACabecalho, AMSG: String): string; override; function TratarXmlRetornado(const aXML: string): string; override; property DadosUsuario: string read GetDadosUsuario; end; As funções Recepcionar até SubstituirNFSe são os serviços implementados pelo provedor Fiorilli que usa a versão 2 do layout da ABRASF. TACBrNFSeXWebserviceMegaSoft200 = class(TACBrNFSeXWebserviceSoap11) public function GerarNFSe(ACabecalho, AMSG: String): string; override; function ConsultarNFSePorRps(ACabecalho, AMSG: String): string; override; function TratarXmlRetornado(const aXML: string): string; override; end; Agora veja os serviços implementados pelo provedor MegaSoft que também usa a versão 2 do layout da ABRASF. Eles nem sequer implementaram o serviço para cancelar notas, ou seja, através da sua aplicação não vai ser possível cancelar uma nota de um prestador cuja cidade use esse provedor. Por fim, o que funciona para um provedor não significa que vai funcionar em outro.
  14. Boa tarde Diogo, Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes. Por favor testa todos os serviços disponibilizados pelo provedor, pois se foi necessário alterar a montagem do Envelope Soap para o envio do RPS em modo assíncrono pode ser que seja necessário também fazer o mesmo ajustes nos demais métodos de envio de consulta e de cancelamento.
  15. Boa tarde Willians, Já esta no SVN.
  16. Boa tarde @gerasoft, Desculpe pela demora, vamos fazer o seguinte teste: Na unit que faz a leitura do XML (IPM.LerXml temos o seguinte: aValor := ObterConteudo(ANodes[i].Childrens.FindAnyNs('codigo_item_lista_servico'), tcStr); ItemListaServico := PadLeft(aValor, 4, '0'); altere para: aValor := ObterConteudo(ANodes[i].Childrens.FindAnyNs('codigo_item_lista_servico'), tcStr); ItemListaServico := aValor; Salve a unit alterada, reinstale o ACBr e faça um novo teste.
  17. Bom dia @mar1975, O provedor Ginfes segue a versão 1 do layout da ABRASF. Por favor leia o tópico a abaixo. Quando aparece a mensagem: Serviço não implementado pelo Provedor, isso significa que você esta tentando usar um serviço que o provedor não implementou em seu webservice, logo não tem nada haver com a versão da Lib que você esta usando. Um provedor que se utiliza da versão 1 ou 2 da ABRASF e que não implementou um determinado serviço que esta previsto no manual da ABRASF, pode no futuro vir a implementar, caso isso ocorra nós iremos fazer as devidas alterações para que você possa usar esse serviço. Mas até hoje eu não vi isso ocorrer.
  18. Boa tarde @dant, O tipo de enumerados TipoTributacaoRPS conforme já te mostrei acima foi criado para atender alguns provedores que não seguem o layout da ABRASF. E alguns desses provedores o valor do enumerado é uma letra e outros é um numero. Já o tipo de enumerados TnfseNaturezaOperacao foi criado para atender os provedores que seguem o layout da ABRASF, mas veja como são as coisas, se você pegar o manual da versão 1 do layout da ABRASF que é o layout utilizado pela cidade de Recife, os valores são: Código de natureza da operação 1 – Tributação no município 2 - Tributação fora do município 3 - Isenção 4 - Imune 5 – Exigibilidade suspensa por decisão judicial 6 – Exigibilidade suspensa por procedimento administrativo Conforme consta no manual. Mas tem provedor que achou muito pouco ou não gostou dos valores de 1 até 6 e veja como ficou a definição desse tipo: TnfseNaturezaOperacao = (no0, no1, no2, no3, no4, no5, no6, no7, no8, no9, no10, no11, no12, no13, no14, no15, no17, no18, no50, no51, no52, no53, no54, no55, no56, no57, no58, no59, no60, no61, no62, no63, no64, no65, no66, no67, no68, no69, no70, no71, no72, no78, no79, no81, no91, no101, no102, no103, no104, no105, no106, no107, no108, no109, no110, no111, no112, no113, no114, no115, no116, no117, no118, no121, no200, no201, no300, no301, no400, no501, no511, no512, no515, no521, no522, no539, no541, no549, no551, no601, no611, no612, no613, no615, no616, no621, no622, no701, no711, no712, no901, no902, no911, no912, no921, no931, no951, no952, no971, no981, no991, noNenhum); Como você pode ver uma verdadeira aberração. Eu não vejo a hora de que todas as cidades resolvam migrar para o Padrão Nacional, assim acaba com essa palhaçada. Por fim, não tem muita diferença entre esses dois tipos. Na NFS-e você tem que dançar conforme a musica que o provedor toca.
  19. André, Esse é o grupo <serv> de uma nota que emiti em ambiente de produção no inicio de fevereiro (prestador é MEI). <serv> <locPrest> <cLocPrestacao>3554003</cLocPrestacao> </locPrest> <cServ> <cTribNac>010601</cTribNac> <xDescServ>SERVICO DE CONSULTORIA</xDescServ> </cServ> </serv> O seu XML: <serv> <locPrest> <cLocPrestacao>4204202</cLocPrestacao> </locPrest> <cServ> <cTribNac>010601</cTribNac> <cTribMun>001</cTribMun> <xDescServ>discriminacao I; discriminacao II</xDescServ> </cServ> </serv> Note que o serviço é o mesmo, o que muda é o código IBGE do local da prestação e a descrição do serviço.
  20. Bom dia Oliveira, A versão 2.04 do provedor ISSNet só foi implementado no novo componente: ACBrNFSeX. O componente só vai imprimir o QR-Code no DANFSE se no XML da NFS-e conter em alguma tag a string do QR-Code ou se no arquivo ACBrNFSeXServicos.ini conter a string do QR-Code para a referida cidade, caso contrario não vai imprimir. Se tratando do provedor ISSNet tanto na versão 1.00 quanto na 2.04 no XML da NFS-e não contem a string do QR-Code e nem no arquivo ACBrNFSeXServicos.ini Para a versão 2.04 foi implementando um método chamado ConsultarLinkNFSe que retorna a string do QR-Code. De posse da string do QR-Code, você deve ler o XML da nota, passar para a propriedade NFSe.Link e por fim mandar imprimir o DANFSE. Esse processo é só para o provedor ISSNet na versão 2.04
  21. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  22. Bom dia André, Notei agora isso no seu XML: <cServ> <cTribNac>010601</cTribNac> <cTribMun>001</cTribMun> <xDescServ>discriminacao I; discriminacao II</xDescServ> </cServ> Remova essa informação: <cTribMun>001</cTribMun>
  23. Bom dia @dant, Checando o código fonte do componente, mas precisamente a unit ACBrNFSeXProviderBase temos a definição de duas funções que se utilizam esses enumeradores. function TACBrNFSeXProvider.TipoTributacaoRPSToStr(const t: TTipoTributacaoRPS): string; begin Result := EnumeradoToStr(t, ['T', 'F', 'A', 'B', 'M', 'N', 'X', 'V', 'P'], [ttTribnoMun, ttTribforaMun, ttTribnoMunIsento, ttTribforaMunIsento, ttTribnoMunImune, ttTribforaMunImune, ttTribnoMunSuspensa, ttTribforaMunSuspensa, ttExpServicos]); end; function TACBrNFSeXProvider.StrToTipoTributacaoRPS(out ok: Boolean; const s: string): TTipoTributacaoRPS; begin Result := StrToEnumerado(ok, s, ['T', 'F', 'A', 'B', 'M', 'N', 'X', 'V', 'P'], [ttTribnoMun, ttTribforaMun, ttTribnoMunIsento, ttTribforaMunIsento, ttTribnoMunImune, ttTribforaMunImune, ttTribnoMunSuspensa, ttTribforaMunSuspensa, ttExpServicos]); end; A sequencia das Letras é a mesma dos enumerados, portanto T = ttTribnoMun e assim por diante. O que significa cada enumerador, bom procuramos dar um nome ao enumerador que seja o mais próximo possível do venha a ser. ttTribnoMun = Tributado no Municipio ttTribforaMun = Tributado fora do Municipio ttTribnoMunIsento = Tributado no Municipio - Isento ttTribforaMunIsento = Tributado fora do Municipio - Isento ttTribnoMunImune = Tributado no Municipio - Imune ttTribforaMunImune = Tributado fora do Municipio - Imune ttTribnoMunSuspensa = Tributado no Municipio - Suspensa ttTribforaMunSuspensa = Tributado fora do Municipio - Suspensa ttExpServicos = Exportação Serviço Acima eu lhe passei uma analise do código do componente, mas o que você utiliza (componente, ACBrLib ou o Monitor)?
  24. Boa tarde @leonard.miranda, Esse erro esta ocorrendo em ambiente de homologação, mas o de produção esta OK. Favor entrar em contato com o provedor e expor o problema que esta ocorrendo em ambiente de homologação.
×
×
  • 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.