Ir para conteúdo
  • Cadastre-se

Italo Giurizzato Junior

Consultores
  • Total de ítens

    39.632
  • Registro em

  • Última visita

  • Days Won

    1.149

Tudo que Italo Giurizzato Junior postou

  1. Boa noite Carlos, Em alguns provedores onde tivemos erro de assinatura invalida o motivo era o namespace, por exemplo. Se informar o namespace http://www.abrasf.org.br/ a assinatura é considerada valida pelo provedor, por outro lado se informar o namespace http://www.abrasf.org.br/nfse.xsd o provedor acusa que a assinatura é invalida. Se o provedor nos fornecer um XML completo para realizar a substituição vai ficar mais fácil descobrir onde estamos errando.
  2. Boa tarde ederts, Muito obrigado pela colaboração, já enviei para o repositório.
  3. Maiquel, Acabei de enviar uma correção no arquivo INI do provedor Fiorilli. Favor atualizar e faça novos testes.
  4. Boa tarde Diego, Muito obrigado pela correção. Já vou enviar para o repositório.
  5. Boa tarde Cesar, A NFSe não funciona da mesma forma que a NF-e, sendo assim em não me atreveria fazer algo semelhante a NF-e. Na NF-e o componente ACBrNFe gera o XML da NF-e que é enviado para a SEFAZ e esta retorna o protocolo de autorização, o componente por sua vez acrescenta o protocolo ao XML da NF-e deixando-o com validade jurídica, dai podemos imprimir o DANFE. Já a NFS-e o componente ACBrNFSe gera o XML do RPS e envia para o webservice do provedor, este processa e gera o XML da NFS-e. Mas atenção, existem 3 métodos para realizar o envio do RPS, são eles: Enviar, EnviarSincrono e Gerar. Se o provedor segue a versão 1 do layout da ABRASF somente o método Enviar poderá ser utilizado. Já os provedores que seguem a versão 2 do layout da ABRASF a principio deveria disponibilizar os 3 métodos, mas nem sempre isso ocorre. Como você pode ver, qual método deve ser executado vai depender do provedor, portanto você precisa ter na sua aplicação uma configuração que determine qual método será executado. Depois do envio se faz necessário uma consulta ou duas. Se o provedor segue a versão 1 do layout da ABRASF devemos após o envio executar o método ConsultarSituacao para saber a situação do lote enviado, se for 3 ou 4 devemos executar o método ConsultarLote. Se a situação for 3 teremos como resposta a lista de rejeições, por outro lado ser for 4 teremos o XML da NFS-e, por fim você pode executar o método para imprimir o DANFSE. Agora se o provedor segue a versão 2, devemos executar somente o método ConsultarLote e depois mandar imprimir o DANFSE caso o retorno da consulta retornar o XML da NFS-e. Espero ter ajudado.
  6. Boa tarde Beto, Primeiramente você não pode comparar o XML de um RPS com o de Envio de Lote. Abra o arquivo *-env-lot.xml para checar se a tag que contem o numero do lote foi gerada ou não.
  7. Boa tarde, Você tem certeza que a URL esta correta? Pois acessei o site da prefeitura e achei outra: http://webservice.giap.com.br/WSNfsesPmbp/nfseresources/ws Que comparando com a que você postou: http://webservice.giap.com.br/WSNfsesCotia/nfseresources/ws Noto um diferença. Pmbp não significa Prefeitura Municipal de Bragança Paulista? Se sim, a sua alteração no arquivo Cidades.ini esta errada.
  8. Boa tarde Maiquel, O componente jamais coloca prefixo na tag de assinatura. A minha sugestão é que você atualize todos os fontes de todas as pastas e reinstale a suíte ACBr usando o ACBrInstall_Trunk2 com a opção de apagar arquivos antigos marcada.
  9. Boa tarde Hugo, A impressão do QR-Code no DANFSE não é padrão para todos os provedores. Alguns provedores como EGoverneISS retorna no campo Link a URL que acredito ser do QR-Code. Essa alteração que você fez no arquivo INI do provedor só serve para gerar a URL através do método: function LinkNFSe(ANumeroNFSe: Integer; const ACodVerificacao: String; const AChaveAcesso: String = ''): String; Onde passamos como parâmetro o numero da nota, o código de verificação e uma chave de acesso (para alguns provedores).
  10. Olá Pessoal, O provedor GovDigital exigi que o prestador solicite uma sequencia de RPS junto a prefeitura do município. Exemplo: O prestador solicita a sequencia de 1 a 1000. Quando o mesmo emitir o RPS de numero 1000 deverá solicitar uma nova sequencia no caso de 1001 até 2000. Se isso não for feito ao enviar o RPS de numero 1001 o mesmo será rejeitado.
      • 4
      • Curtir
  11. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  12. Datilas, Acredito que não ficou claro a minha ultima postagem. As linhas que coloquei para pegar o XML e o nome do arquivo é para serem utilizadas logo após o envio do evento e não ao carregar o XML do disco através do método: ACBrNFe.EventoNFe.LerXML(xNomeXMLEvento);
  13. Boa tarde Datilas, Logo após o envio do evento se você ler as propriedades abaixo vai ter o nome completo (caminho + nome) e o conteúdo do XML (*-procEventoNFe.xml) xNome := (...).Evento.Evento.Items[ x ].RetInfEvento.NomeArquivo; xXML := (...).Evento.Evento.Items[ x ].RetInfEvento.XML; Acredito que com isso você já tem o XML para armazenar no banco de dados, mais o nome completo para que se necessário for ler do disco novamente o XML.
  14. Bom dia a todos, A alteração que fiz foi somente no que diz respeito ao conteúdo do XML e não o nome do mesmo no que se refere ao Evento. Não sei se lhe ajuda, mas o XML do evento quando é salvo em disco segue a configuração do componente, sendo assim você pode utilizar a seguinte função do ACBrNFe para montar o caminho do mesmo. Veja esse fragmento da minha aplicação: case DM_VEN.EventosEvento.AsInteger of 110110: // Carta de Correção PathEvento := DMDFe.NFe.Configuracoes.Arquivos.GetPathEvento(teCCe, '', '', DM_VEN.EventosDataEvento.AsDateTime); 110111: // Cancelamento PathEvento := DMDFe.NFe.Configuracoes.Arquivos.GetPathEvento(teCancelamento, '', '', DM_VEN.EventosDataEvento.AsDateTime); end; NomeEvento := PathEvento + '\' + DM_VEN.EventosEvento.AsString + DM_VEN.EventosChaveNFe.AsString + FormatFloat('00', DM_VEN.EventosSequencia.AsInteger) + '-procEventoNFe.xml'; // Carrega no Componente o Evento salvo em Arquivo XML ACBrNFe.EventoNFe.Evento.Clear; ACBrNFe.EventoNFe.LerXML(NomeEvento); Tenho uma tabela chamada Eventos que contem os seguintes campos: Evento tipo Integer; DataEvento tipo TDateTime; ChaveNFe tipo Char(44) e Sequencia tipo Integer; Esses campos são armazenados na tabela quando ocorre o envio do evento. No "case" através dos campos Evento e DataEvento e da função GetPathEvento consigo gerar o caminho onde o XML do evento foi salvo. Na linha seguinte após o "case " consigo através dos campos Evento, ChaveNFe e Sequencia montar o nome do XML e concatenar com o caminho. Essa mesma rotina pode ser utilizada, mudando o código dos eventos para os demais DFe. Por exemplo no caso do MDF-e temos os eventos de Cancelamento e de Encerramento.
  15. Bom dia Leonard, Favor solicitar a prefeitura ou a empresa Eddy Data, os schemas, URLs de homologação e produção, XMLs de exemplos para envio, consulta, etc. Desta forma vamos ter a certeza se eles possuem um layout próprio ou seguem alguma versão do layout da ABRASF. Eu não conheço essa empresa Eddy Data e o componente ACBrNFSe não atente esse provedor. Caso você queira colaborar com o projeto implementando esse provedor, toda ajuda é bem vinda.
  16. Bom dia Julio, Corrigi o arquivo INI do provedor GovDigital e enviei para o repositório. Quando a rejeição que você esta tendo agora, o problema é o seguinte: O prestador já enviou para o webservice alguns RPS que são numerados sequencialmente. O numero do RPS que você enviou não é o próximo dessa sequencia. Suponha que o ultimo RPS enviado pelo prestador tenha numero 500, você tem que enviar o RPS de numero 501, caso contrario o provedor vai rejeitar, como rejeitou. Veja as duas ultimas linhas da rejeição que coloquei em negrito, deixa claro o que escrevi acima. Rejeição: Numero de correlacao relacionado a Nota Fiscal nao esta autorizado.Numero de correlacao relacionado a Nota Fiscal nao esta autorizado. Numero do RPS invalido. Informe um numero de RPS que corresponda a sequencia utilizada pelo prestador do servico.
  17. Bom dia Renata, O grande problema é que esse provedor retorna o XML codificado de forma diferente, enquanto a maioria trabalha com a codificação UTF-8 esse trabalha com ISO-8859-1. Faça o seguinte teste. 1. Abra esse XML (da nota) que você anexou usando o NotePad++ 2. Exclua a primeira linha que contem o tipo de condificação 3. No menu Formatar escolha a opção para converter para UTF-8 4. Salva o arquivo e feche o NotePad++ 5. Tenta ler o arquivo através do componente. Observação: esse arquivo esta com quebras de linhas e identado, foi você que fez isso? Se sim, remova as quebras de linhas e a identação.
  18. Boa noite Walney, Você esta gerando o arquivo INI e passando para que o Monitor faça o resto ou a sua aplicação esta gerando o XML e usando o monitor para fazer o resto? Se esta gerando o arquivo INI não teria que primeiro executar o comando para gerar o MDF-e?
  19. Boa noite, Bater de reio no irresponsável, por gerar um valor formatado no XML, essa seria a melhor solução. Como nem tudo são flores, a solução que vejo é criar uma rotina para corrigir o XML. Essa rotina vai ter que sair a procura de R$, se encontrar: 1. remova o R$, 2. a partir desse ponto procurar pelo primeiro "<", se no meio do caminho encontrar o ponto "." remova, se encontrar a virgula trocar pelo ponto. 3. encontrado o caractere "<", volte a procurar pelo R$ a partir desse ponto. Quanto terminar salvar o XML corrigido em disco, para depois ler o seu conteúdo propriamente dito.
  20. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  21. Boa tarde ALA, Isso vai remover todos os "." pontos que constam no XML, podendo causar problemas colaterais.
  22. Boa tarde Camilo, Se no XML constar o numero do protocolo o cStat = 100 e xMotivo = Autorizado o uso do MDF-e, isso significa que o MDF-e foi aceito pela SEFAZ.
  23. Boa tarde ALA, Por favor vamos seguir as regras do fórum, para um novo assunto crie uma nova postagem. Como o problema tratado nesse já foi resolvido vou fechar ele.
  24. Boa tarde Henrique, Se a cidade mudou para o provedor IPM (que já esta implementado) se faz necessário alterar o arquivo Cidades.ini conforme as demais cidades que utiliza esse provedor.
×
×
  • 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.