Ir para conteúdo
  • Cadastre-se

everson.turossi

Membros
  • Total de ítens

    183
  • Registro em

  • Última visita

Tudo que everson.turossi postou

  1. É um objeto do meu sistema.
  2. if (FACBrNFSe.NotasFiscais.Items[0].NFSe.Protocolo <> '') then begin FNotaFiscal.RPS.Protocolo := FACBrNFSe.NotasFiscais.Items[0].NFSe.Protocolo; end; Te mandei parte do meu código, inclusive algumas partes comentadas pois tive uma certa dificuldade pra entender como o provedor trabalhava. O mais estranho é que ele valida na hora do envio já os dados, mas não retorna os dados da NFS-e gerada.
  3. procedure TNFSeACBrUtil.ConsultaAutorizacaoEquiplano(); const cTentativas = 5; var LTentativa: Integer; begin LTentativa := 0; { não existe objeto caso tenha ocorrido alguma exception de validação antes de enviar para webservice } if (Assigned(FACBrNFSe.WebServices.EnviarLoteRPS.RetEnvLote)) then begin if (FACBrNFSe.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.MsgRetorno.Count > 0) then begin if (FACBrNFSe.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.MsgRetorno.Items[0].Codigo <> '8005') then { O RPS ainda nao foi convertido em NFS-e } LTentativa := cTentativas + 1; { 8011 - ja foi convertido 1204 - Valor Total de Servicos nao confere com o enviado } end; if (FACBrNFSe.WebServices.EnviarLoteRPS.RetEnvLote.InfRec.MsgRetorno.Count = 0) then Aviso('É preciso aguardar alguns segundos até que o RPS seja convertido em NFSe.'); end else LTentativa := cTentativas + 1; while (LTentativa < cTentativas) do begin try FACBrNFSe.NotasFiscais.Clear; FACBrNFSe.WebServices.ConsultaNFSeporRps(FTopNFSe.NotaFiscal.RPS.Numero.ToString, FTopNFSe.NotaFiscal.RPS.Serie, TipoRPSToStr(trRPS)); LTentativa := cTentativas + 1; except if (FACBrNFSe.WebServices.ConsNFSeRps.RetornoNFSe.ListaNFSe.MsgRetorno.Count > 0) then begin if (FACBrNFSe.WebServices.ConsNFSeRps.RetornoNFSe.ListaNFSe.MsgRetorno.Items[0].Codigo = '8005') then { O RPS ainda nao foi convertido em NFS-e } begin Inc(LTentativa); Aviso('Consultando NFSe (Tentativa %D / %D)', [LTentativa, cTentativas]); end else raise; end; end; end; if (LTentativa = cTentativas) then begin Aviso('RSP ainda não convertido. Utilize a opção "Verificar Situação da NFS-e" mais tarde para atualizar os dados da NFSe.'); end; end; if (LProvedor = proEquiplano) then begin Self.ConsultaAutorizacaoEquiplano(); if (FACBrNFSe.NotasFiscais.Count > 0) then { quando consulta é zerado lista de notas } if (FACBrNFSe.NotasFiscais.Items[0].Confirmada) then begin FNotaFiscal.Situacao := tsAutorizada; FNotaFiscal.CodigoVerificacao := FACBrNFSe.NotasFiscais.Items[0].NFSe.CodigoVerificacao; FNotaFiscal.NumeroAutorizado := StrToIntDef(FACBrNFSe.NotasFiscais.Items[0].NFSe.Numero, 0); FNotaFiscal.Link := Self.GerLinkImpressao(); { xml que retorna é apenas com dados da autorizacao } end; end;
  4. Infelizmente é isso mesmo, vai ter que utilizar o método ACBrNFSe.WebServices.ConsultaNFSeporRps(...) alguns segundos após o envio para o webservice.
  5. Algumas considerações. Consegui emitir NFS-e com SSLLib: libCapicom, libWinCrypt Quando tento utilizar a SSLLib configurada como libOpenSSL recebo a exception "Erro: Falha ao localizar o nó Raiz". Essa exceção ocorre duas vezes no processo de envio, a primeira é controlada, aparece quando executa pelo delphi mas não para o processo, já a segunda interrompe tudo. Depurando percebi que a XmlSec na verdade invoca os métodos da LibXml2, então configurei da seguinte forma: SSLLib := libCustom; SSLCryptLib := cryOpenSSL; SSLHttpLib := httpOpenSSL; SSLXmlSignLib := xsLibXml2; Dessa forma emitiu a nota, mas se SSLXmlSignLib = xsXmlSec não foi nem com reza braba. Outro porém é que isso só é valido para NFS-e (estou testando com Equiplano), testei emissão de NFC-e com SSLXmlSignLib = xsXmlSec e emitiu normalmente.
  6. Boa tarde, seguem em anexo. Só um porém, está sendo adicionado ao final das tags os caracteres &#xd; Não influencia na leitura, mas só acontece nos XML´s que são salvos de retornos. Se executo a mesma consulta com uma revisão mais antiga, os caracteres não aparecem. 721-comp-nfse.xml
  7. Boa tarde Italo, Já havia testado com nível 2 e 4, e não havia dado certo, então resolvi trocar para nível 1, ai ele entrou na condição. Segue unit alterada novamente. pnfsNFSeR.pas
  8. Só funciona com os certificados instalados, mas funciona tanto com Capicom quanto Wincrypt . Eu utilizei os próprios métodos do ACBr para fazer a listagem dos certificados e também verifico a data de validade dele.
  9. Temos implementado aqui 2 modelos de balança. Estou anexando os fontes para análise. ACBrBAL.pas ACBrBALToledo2098.pas ACBrBALWT3000.pas
  10. Quanto utilizo o método ConsultaNFSeporRps no provedor Equiplano para NFS-e que foram canceladas, não está lendo as tags de cancelamento. A alteração que fiz para resolver foi a seguinte: //if (Leitor.rExtrai(3, 'cancelamento') <> '') then if (Pos('<cancelamento>', Leitor.Arquivo) > 0) then begin NFSe.NfseCancelamento.DataHora := Leitor.rCampo(tcDatHor, 'dtCancelamento'); NFSe.MotivoCancelamento := Leitor.rCampo(tcStr, 'dsCancelamento'); NFSe.Status := srCancelado; NFSe.Cancelada := snSim; end; Segue unit completa em anexo. pnfsNFSeR.pas
  11. Estou anexando a unit atualizada com minha implementação para seleção automática do certificado. ACBrDFeSSL.pas
  12. Estou com o mesmo problema no Equiplano. Com libCapicom está funcionando, mas to tentando usar o libWinCrypt recebo a mensagem "Nenhum elemento encontrado"
  13. Tentem utilizar WinCrypt com LT_TLSv1_2
  14. Tenta depurar, veja bem que para gerar a tag pST o valor de vBCSTRET ou vICMSSTRET devem ser maior que zero.
  15. Também tive o mesmo problema, mas com a implementação da versão 1.50 da NT 2016_002 em ambiente de homologação já é possível informar valor zerado quando for sem pagamento, isso para o sefaz do RS e SVRS
  16. O grupo Dup teve sua descrição alterada de Duplicata para Parcela assim como as demais tags desse grupo. Estou fazendo testes tem Homologação nos servidores do RS e está aceitando sempre que houver pagamento.
  17. Chegou a instalar o ACBrMonitor? Deu uma olhada nos exemplos de como utilizar ele com Socket?
  18. Estou submetendo um ajuste no grupo ICMS60 para a tag pST que tem ocorrência 1-1 quando seu grupo opcional for informado. pcnNFeW.pas
  19. Caso não tenha sucesso nessa jornada, gostaria de sugerir duas opções utilizando um novo Terminal seja ele físico ou virtualizado. A primeira é utilizar o ACBrMonitor para fazer a autorização dos documentos, uma vez que é possível trocar informações com ele por TCP/IP (Socket) A segunda seria você mesmo desenvolver uma API só para tal finalidade. Digo isso porque existe uma solução proprietária que trabalha dessa forma visando atender a clientes que querem continuar emitindo NF-e na versão 4.0 a partir de Sistemas operacionais Antigos, então através de Gets e Posts a autorização é feita em uma estação compatível com os requisitos da versão 4.0.
  20. Da uma olhadinha a partir deste comentário. Em homologação (RS e SVRS) já voltou a aceitar nDup da forma como você está informando ali no seu xml.
  21. O tPag 14=Duplicata Mercantil vai ser excluído, e o grupo dup teve a descrição alterada para Grupo Parcelas, nDup passa a ser Número da Parcela e vDup vai ser Valor da Parcela.
  22. Não viu as ultimas Nota Técnicas né?
  23. Mas é muita sacanagem!
  24. Estou com o mesmo problema aqui. Analisando as notas técnicas, ainda na versão NFe_NT2016_002 v1.10 a tag pST teve sua ocorrência alterada para 1-1 tanto no grupo ICMS60 quanto no grupo ICMSSN500
×
×
  • 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.