Ir para conteúdo
  • Cadastre-se

Ademir P. Voigt

Membros
  • Total de ítens

    176
  • Registro em

  • Última visita

Tudo que Ademir P. Voigt postou

  1. Ítalo, agora enviando alíquota zero a TAG não é mais criada no XML. Vi que vc comentou isso no arquivo. Show de bola. De minha parte, se puder, pode subir isso pro repositório.
  2. Vou testar, e em seguida, te retorno. Obrigado por enquanto!
  3. Esse é o problema, mesmo enviando zero p alíquota a TAG é criada. Retornando como ALÍQUOTA INFORMADA INDEVIDAMENTE
  4. cidades.ini: ; Devemos informar aqui a lista de cidades que utilizam a versao 1 ; do layout da ABRASF mas ainda nao possui um Web Services, ou seja, ; devemos apenas gerar o XML do RPS para ser lido pelo site da prefeitura [-1] Nome= UF= Provedor=ABRASFv1 ; Devemos informar aqui a lista de cidades que utilizam a versao 2 ; do layout da ABRASF mas ainda nao possui um Web Services, ou seja, ; devemos apenas gerar o XML do RPS para ser lido pelo site da prefeitura [-2] Nome= UF= Provedor=ABRASFv2 [4306007] Nome=Crissiumal UF=RS Provedor=Pronimv2 NomeURL_H=http://crissiumal-portais.govcloud.com.br/NFSe.Portal.Integracao.teste/Services.svc NomeURL_P=http://crissiumal-portais.govcloud.com.br/NFSe.Portal.Integracao/Services.svc VersaoDados=2.03 VersaoAtrib=203 pronimv2.ini ; Arquivo INI de configuração do Provedor Pronimv2 [Geral] VersaoSoap=1.1 Prefixo2=tem: Prefixo3= Prefixo4= Identificador=Id QuebradeLinha=; ; 0 = False / 1 = True UseCertificado=1 [Remover] ; 0 = Não / 1 = Sim QuebradeLinhaRetorno=1 EComercial=1 Tabulacao=1 TagQuebradeLinhaUnica=1 [NameSpace] Producao=http://tempuri.org Homologacao=http://tempuri.org ; No grupo abaixo é definido se o XML do RPS deve ser assinado ou não ; se o Lote deve ser assinado ou não ; e se o GerarNFSe deve ser assinado ou não ; o Campo URI faz parte da assinatura no caso da Digifred ele não deve ser informado ; É definido também quais tipos de acessos devem ser assinados ; 0 = False / 1 = True (se True então assina) [Assinar] RPS=0 Lote=1 URI=1 ConsSit=0 ConsLote=0 ConsNFSeRps=0 ConsNFSe=0 Cancelar=1 RpsGerar=0 LoteGerar=0 Substituir=0 ; 0 = False / 1 = True (se True então converte Cabeçalho e Dados para String) [XML] Layout=ABRASFv2 VersaoDados=2.02 VersaoXML=2.00 NameSpace=http://www.abrasf.org.br/nfse.xsd Cabecalho=0 Dados=0 VersaoAtrib=202 ; No grupo abaixo é definido os nomes dos arquivos XSD ; usados para realizar a validação do XML a ser enviado ; ao webservice ; 0 = False / 1 = True (Se True então valida) [Schemas] Validar=1 DefTipos= Cabecalho=nfse.xsd ServicoEnviar=nfse.xsd ServicoConSit=nfse.xsd ServicoConLot=nfse.xsd ServicoConRps=nfse.xsd ServicoConNfse=nfse.xsd ServicoCancelar=nfse.xsd ServicoGerar=nfse.xsd ServicoEnviarSincrono=nfse.xsd ServicoSubstituir=nfse.xsd [SoapAction] Recepcionar=http://tempuri.org/INFSEGeracao/RecepcionarLoteRps ConsSit=http://tempuri.org/INFSEConsultas/ConsultarSituacaoLoteRps ConsLote=http://tempuri.org/INFSEConsultas/ConsultarLoteRps ConsNFSeRps=http://tempuri.org/INFSEConsultas/ConsultarNfsePorRps ConsNFSe=http://tempuri.org/INFSEConsultas/ConsultarNfseServicoPrestado Cancelar=http://tempuri.org/INFSEGeracao/CancelarNfse Gerar=http://tempuri.org/INFSEGeracao/GerarNfse RecSincrono=http://tempuri.org/INFSEGeracao/EnviarLoteRpsSincrono Substituir=http://tempuri.org/INFSEGeracao/SubstituirNfse [URL_P] RecepcaoLoteRPS=http://crissiumal-portais.govcloud.com.br/NFSe.Portal.Integracao/Services.svc [URL_H] RecepcaoLoteRPS=http://crissiumal-portais.govcloud.com.br/NFSe.Portal.Integracao.teste/Services.svc [CabecalhoMsg] Texto1=<tem:cabecalho versao="%VersaoAtrib%"> Texto2=<tem:versaoDados>%VersaoDados%</tem:versaoDados> Texto3=</tem:cabecalho> [Recepcionar] IncluiEncodingCab=0 IncluiEncodingDados=1 Texto1=<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> Texto2=<soapenv:Header>%CabMsg%</soapenv:Header> Texto3=<soapenv:Body> Texto4=<tem:RecepcionarLoteRps> Texto5=<tem:xmlEnvio><![CDATA[%DadosMsg%]]></tem:xmlEnvio> Texto6=</tem:RecepcionarLoteRps> Texto7=</soapenv:Body> Texto8=</soapenv:Envelope> [ConsSit] IncluiEncodingCab=0 IncluiEncodingDados=0 Texto1= [ConsLote] IncluiEncodingCab=0 IncluiEncodingDados=1 Texto1=<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> Texto2=<soapenv:Header>%CabMsg%</soapenv:Header> Texto3=<soapenv:Body> Texto4=<tem:ConsultarLoteRps> Texto5=<tem:xmlEnvio><![CDATA[%DadosMsg%]]></tem:xmlEnvio> Texto6=</tem:ConsultarLoteRps> Texto7=</soapenv:Body> Texto8=</soapenv:Envelope> [ConsNFSeRps] IncluiEncodingCab=0 IncluiEncodingDados=1 Texto1=<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> Texto2=<soapenv:Header>%CabMsg%</soapenv:Header> Texto3=<soapenv:Body> Texto4=<tem:ConsultarNfsePorRps> Texto5=<tem:xmlEnvio><![CDATA[%DadosMsg%]]></tem:xmlEnvio> Texto6=</tem:ConsultarNfsePorRps> Texto7=</soapenv:Body> Texto8=</soapenv:Envelope> [ConsNFSe] IncluiEncodingCab=0 IncluiEncodingDados=1 TagGrupo=ConsultarNfseServicoPrestadoEnvio TagElemento= DocElemento= InfElemento= Texto1=<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> Texto2=<soapenv:Header>%CabMsg%</soapenv:Header> Texto3=<soapenv:Body> Texto4=<tem:ConsultarNfseServicoPrestado> Texto5=<tem:xmlEnvio><![CDATA[%DadosMsg%]]></tem:xmlEnvio> Texto6=</tem:ConsultarNfseServicoPrestado> Texto7=</soapenv:Body> Texto8=</soapenv:Envelope> [Cancelar] IncluiEncodingCab=0 IncluiEncodingDados=1 DocElemento=Pedido InfElemento=InfPedidoCancelamento Texto1=<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> Texto2=<soapenv:Header>%CabMsg%</soapenv:Header> Texto3=<soapenv:Body> Texto4=<tem:CancelarNfse> Texto5=<tem:xmlEnvio><![CDATA[%DadosMsg%]]></tem:xmlEnvio> Texto6=</tem:CancelarNfse> Texto7=</soapenv:Body> Texto8=</soapenv:Envelope> [Gerar] IncluiEncodingCab=0 IncluiEncodingDados=1 Texto1=<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> Texto2=<soapenv:Header>%CabMsg%</soapenv:Header> Texto3=<soapenv:Body> Texto4=<tem:GerarNfse> Texto5=<tem:xmlEnvio><![CDATA[%DadosMsg%]]></tem:xmlEnvio> Texto6=</tem:GerarNfse> Texto7=</soapenv:Body> Texto8=</soapenv:Envelope> [RecSincrono] IncluiEncodingCab=0 IncluiEncodingDados=1 Texto1=<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> Texto2=<soapenv:Header>%CabMsg%</soapenv:Header> Texto3=<soapenv:Body> Texto4=<tem:EnviarLoteRpsSincrono> Texto5=<tem:xmlEnvio><![CDATA[%DadosMsg%]]></tem:xmlEnvio> Texto6=</tem:EnviarLoteRpsSincrono> Texto7=</soapenv:Body> Texto8=</soapenv:Envelope> [Substituir] IncluiEncodingCab=0 IncluiEncodingDados=1 Texto1=<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> Texto2=<soapenv:Header>%CabMsg%</soapenv:Header> Texto3=<soapenv:Body> Texto4=<tem:SubstituirNfse> Texto5=<tem:xmlEnvio><![CDATA[%DadosMsg%]]></tem:xmlEnvio> Texto6=</tem:SubstituirNfse> Texto7=</soapenv:Body> Texto8=</soapenv:Envelope> [RetornoNFSe] Texto1=<CompNfse xmlns="http://www.abrasf.org.br">%DadosNFSe%</CompNfse> [LinkNFSe] Producao=http://server21.%NomeMunicipio%.rs.gov.br/nfse/VisualizarXMLdaNota.aspx?Prestador=&Numero=%NumeroNFSe%&Codigo=%CodVerif%&page=default.aspx&origin=ConAut&pdf=true Homologacao=http://server21.%NomeMunicipio%.rs.gov.br/nfse/VisualizarXMLdaNota.aspx?Prestador=&Numero=%NumeroNFSe%&Codigo=%CodVerif%&page=default.aspx&origin=ConAut&pdf=true [DadosSenha] Texto1= [GrupoMsgRet] Recepcionar=RecepcionarLoteRpsResponse ConsSit= ConsLote=ConsultarLoteRpsResponse ConsNFSeRPS=ConsultarNfsePorRpsResponse ConsNFSe=ConsultarNfsePorFaixaResponse Cancelar=CancelarNfseResponse Substituir=SubstituirNfseResponse Pronimv2.ini Cidades.ini
  5. Olá, vc tem que usar provedor PronimV2 para Crissiumal. Estou emitindo normalmente em Crissiumal
  6. provisoriamente, fiz uma alteração no arquivo: pnfsNFSeW_ABRASFv2 Inclui uma regra para MEI, mandando criar a TAG somente para quem não for do MEI proPronimv2: if (NFSe.OptanteSimplesNacional = snSim) then begin // Sugestão if (NFSe.RegimeEspecialTributacao <> retMicroempresarioIndividual) then // Fim Sugestão Gerador.wCampo(tcDe4, '#25', 'Aliquota', 01, 05, 1, NFSe.Servico.Valores.Aliquota, DSC_VALIQ); end else begin Gerador.wCampo(tcDe4, '#25', 'Aliquota', 01, 05, 0, NFSe.Servico.Valores.Aliquota, DSC_VALIQ); end; Mas não sei se isso pode ser aprovado para o projeto ACBR.
  7. Ademir P. Voigt

    Remover TAG Aliquota

    Boa Tarde, Na prefeitura do município de crissiumal RS, usam o provedor Pronimv2. Acontece que meus Cliente que são do MEI, não estão conseguindo emitir notas de serviço pois, por ser do MEI, não deve ser enviada a Alíquota do ISS. Mesmo enviando zerado, a nota não é aceita. Foi aberto um chamado para o suporte do sistema, onde retornaram que devo enviar o XML sem a TAG alíquota. Abaixo retorno do suporte. Como eu faço no ACBrNFSe para não coloca uma TAG no XML? ">> Acompanhamento registrado em: 07/04/2021 12:51:02 << Olá, boa tarde, Paulo. Peça para o contribuinte retirar a TAG alíquota do XML, por favor. Caso o erro persista, por favor, anexe o XML neste chamado. Atenciosamente."
  8. Bom dia! Estou recebendo esse aviso ao testar NFSe do município de Crissiumal/RS que agora usa Dueto (Provedor GovBR). Configurei o Cidadesa.ini na versão: ; Devemos informar aqui a lista de cidades que utilizam a versao 2 ; do layout da ABRASF mas ainda nao possui um Web Services, ou seja, ; devemos apenas gerar o XML do RPS para ser lido pelo site da prefeitura [-2] Nome= UF= Provedor=ABRASFv2 [4306007] Nome=Crissiumal UF=RS Provedor=GovBR e no arquivo GovBr.ini: ; 0 = False / 1 = True (se True então converte Cabeçalho e Dados para String) [XML] Layout=ABRASFv2 VersaoDados=1.00 VersaoXML=1.00 NameSpace=http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd Cabecalho=0 Dados=0 Mesmo assim o erro persiste. Fiz isso para ABRASFv1 e ABRASFv2.
  9. Farei isso e posto retorno aqui. Inclusive marquei na instalação do acbr p NAO USAR CAPICOM.
  10. Exato. Assim está. Exemplifiquei e comentei que seto apenas libWinCrypt e os outros são preenchidos pelo componente. Isso tbem está assim: acbr.SSL.SSLType := LT_TLSv1_2; Sobre o windows é server 2012 r2. Vou tentar numa máquina com windows 10.
  11. Boa Tarde! Olhei vários tópicos aqui no fórum, mas continuo com o problema. Com o objetivo de eliminar a necessidade de usar as configurações do Internet Explorer, estou parametrizando o sistema através da opção SSLLib. Se usar libOpenSSL tudo emite certinho, mas quando uso libWinCrypt o sistema trava. Lembrando que seto somente a opção libWinCrypt e deixo as outras padrão. O que ocorre eh que o sistema simplesmente trava e não retorna mais, nem mostra erro. Parece que tem alguma tela do windows oculta ou algo do gênero solicitando alguma ação, mas não vejo nada... nem com ALT + TAB. Abaixo minha configuração: acbr.Configuracoes.Geral.SSLLib := libWinCrypt; acbr.Configuracoes.Geral.SSLCryptLib := cryWinCrypt; acbr.Configuracoes.Geral.SSLHttpLib := httpWinHttp; acbr.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2; acbr.SSL.SSLType := LT_TLSv1_2;
  12. Pessoal, Achei! Estava enviado a nota sem o parâmetro (False) - ACBrNFSe1.Enviar(vNumLote, False);
  13. Ademir P. Voigt

    Impressão NFSe

    Senhores, como procedo caso não queira imprimir a NFSe na conclusão da mesma? Para não visualizar eu uso ACBrNFSeDANFSeRL.MostraPreview := True; Para Imprimir ACBrNFSeDANFSeRL1.MostraPreview := False; Como faço para que não ocorra evento de impressão ou visualização?
  14. Encontrei a solução! Na propriedade LarguraBobina do componente ACBrNFeDANFCe alterei de 302 pixel que seria 80 mm para 290 pixel.
  15. No banco de Dados salva no campo qCom 1.12. O XML é gerado como 1.1201.
  16. Vou testar Cristiano, o problema é o cliente necessita em alguns casos 3 casas. eu achei na linha 309 do arquivo PCNCFeW.pas Gerador.wCampo(tcDe2, 'I08 ', 'qCom ', 05, 15, 1, CFe.Det.Prod.qCom, DSC_QCOM); Que força a quantidade ter sempre 2 casas. Eu alterei para tcDe4 4 casas e deu certo. Se eu enviar 1.12 vai ficar 1.1200(correto) ou se enviar 1.1235 vai ficar 1.1235(correto) Cabe aos moderadores opinar a respeito para ver como podemos resolver... ou subir essa alteração
  17. Não vem a ser um problema as 4 casas, o problema é que gera a 4ª casa com 0,0001. Esse 1 no final que gera problemas nos cálculos e o sefaz não autoriza da NFe. Tem como não gerar esse 1 no final? - <prod> <cProd>265177</cProd> <cEAN>4718390028110</cEAN> <xProd>DRIVE DVD-RW SATA</xProd> <NCM>16023230</NCM> <CFOP>5101</CFOP> <uCom>UND</uCom> <qCom>1.1201</qCom> Valor que está no banco de dados é: 1.12 e o xml é gerado como 1.1201 <vUnCom>96.7620000000</vUnCom> <vProd>108.37</vProd> <cEANTrib>4718390028110</cEANTrib> <uTrib>UND</uTrib> <qTrib>1.1201</qTrib> <vUnTrib>96.7620000000</vUnTrib> <indTot>1</indTot> </prod>
  18. Quando eu digito 1.12 na quantidade e no valor unitário 9,762, o sistema gera no XML a quantidade com 4 casas, porem dessa forma: 1.1201 Esse 0001 a mais, gera diferença de centavos. Se fosse somente esse item, o sefaz iria autorizar, pois permite tolerância de 1 centavo, mas como alguns outros itens também geram esse 0,001 a nota é refugada. Eu já configurei a propriedade Formato da Danfe para tdetMascara. Isso em alguns casos corrigiu, mas em outros não.
  19. Estou reativando esse assunto, pois no começo imaginavamos ser problema da Bematech. Hoje, impressoras Perto Printer, Bematech e Epson são as que nossos clientes possuem. Todos estão com as danfes de NFCe desconfigurados. Impossível ser Driver ou configuração de vídeo. ACBrPosPrinter, e ACBrNFeDANFeESCPOS. Acredito que juntos poderemos resolver isso.
  20. Entendo, conforme comentei. Maravilha se sair esse formato. Um grande passo para o componente. A comunidade agradece desde já.
  21. Perfeito Juliomar Marchetti, fiz um comentário pertinente e agradeço pelo retorno. Os retornos são importantes. Comentei, pois a implementação é de 01/2016. Com certeza deverá ser toda revista novamente antes de subir ao repositório. Grato pelo retorno.
  22. Acredito que se foi desenvolvido, implementado no componente, caberia uma avaliação para disponibilizar a todos no SVN. Ou a ideia é cada um desenvolver por sua conta própria e o componente deixar de agregar uma interessante opção nos boletos?
  23. Olá Juliana, sobre as modificações do Boleto com Fatura sugeridas por Paulo Henrique de Castro, ainda não foram avaliadas? Acredito que muitos estão precisando esta opção, inclusive nós e será uma grande contribuição para a ferramenta.
  24. Veja se consegue algo com isso que usamos aqui. São ideias... Porem, fazemos isso usando o XML baixado manualmente do site do sefaz. Pois não encontramos uma forma de atualizar o XML local baseado somente no meotodo: ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile(ArquivoXML, False); ACBrNFe1.Consultar; ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile(ArquivoXML); for n := 0 to ACBrNFe1.NotasFiscais.Count - 1 do begin with ACBrNFe1.NotasFiscais.Items[n].NFe do begin Application.ProcessMessages; NFeNumeroXML := IntToStr(Ide.nNF); SerieXML := IntToStr(Ide.serie); CNPJRemXML := Emit.CNPJCPF; RemXML := Emit.xNome; ValorXML := FormatFloat('###,###,##0.00', total.ICMSTot.vNF); ValorTotalNF := FormatFloat('###,###,##0.00', MyQrNFevalor_total_nota.AsFloat); CNPJDestXML := Dest.CNPJCPF; DestXML := Dest.xNome; Application.ProcessMessages; // informar o numero caso ainda não estiver postado no banco de dados - ADEMIR 05/01/2016 InputQuery('NÚMERO NF', 'Informe o Número da NF a ser corrigido:', NumeroEsperado); if NFeNumeroXML <> NumeroEsperado then begin ShowMessage('Número da NFe no XML incompatível' + #13 + 'Número XML: ' + NFeNumeroXML + #13 + 'Número NF: ' + NumeroEsperado); abort; end else begin ShowMessage('Número da NFe OK'); end; Application.ProcessMessages; if SerieXML <> MyQrNFeserie.AsString then begin ShowMessage('Série da NFe no XML incompatível' + #13 + 'Série XML: ' + SerieXML + #13 + 'Série NF: ' + MyQrNFeserie.AsString); abort; end else begin ShowMessage('Série da NFe OK'); end; Application.ProcessMessages; if CNPJRemXML <> SomenteNumeros(MyQrNFeemit_cnpj.AsString) then begin ShowMessage('CNPJ do Emitente da NFe no XML incompatível' + #13 + 'CNPJ Emitente XML: ' + CNPJRemXML + #13 + 'CNPJ Emitente NF: ' + MyQrNFeemit_cnpj.AsString); if Application.MessageBox ('Pode conter erro de codificação de caractéres ' + #13 + 'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO', MB_YESNO + MB_ICONQUESTION) = IDYES then begin ShowMessage('CNPJ do Emitente da NFe confirmado pelo Usuário'); end else begin abort; end; end else begin ShowMessage('CNPJ do Emitente da NFe OK'); end; Application.ProcessMessages; if RemXML <> MyQrNFeemit_nome.AsString then begin ShowMessage('Emitente da NFe no XML incompatível' + #13 + 'Emitente XML: ' + RemXML + #13 + 'Emitente NF: ' + MyQrNFeemit_nome.AsString); if Application.MessageBox ('Pode conter erro de codificação de caractéres ' + #13 + 'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO', MB_YESNO + MB_ICONQUESTION) = IDYES then begin ShowMessage('Emitente da NFe confirmado pelo Usuário'); end else begin abort; end; end else begin ShowMessage('Emitente da NFe OK'); end; Application.ProcessMessages; if ValorXML <> ValorTotalNF then begin ShowMessage('Valor Total da NFe no XML incompatível' + #13 + 'Valor Total XML: ' + ValorXML + #13 + 'Valor Total NF: ' + MyQrNFevalor_total_nota.AsString); if Application.MessageBox ('Pode conter erro de codificação de caractéres ' + #13 + 'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO', MB_YESNO + MB_ICONQUESTION) = IDYES then begin ShowMessage('Valor Total da NFe confirmado pelo Usuário'); end else begin abort; end; end else begin ShowMessage('Valor Total da NFe OK'); end; Application.ProcessMessages; if CNPJDestXML <> SomenteNumeros(MyQrNFedest_cnpj.AsString) then begin ShowMessage('CNPJ do Destinatário da NFe no XML incompatível' + #13 + 'CNPJ Desttinatário XML: ' + CNPJDestXML + #13 + 'CNPJ Desttinatário NF: ' + MyQrNFedest_cnpj.AsString); if Application.MessageBox ('Pode conter erro de codificação de caractéres ' + #13 + 'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO', MB_YESNO + MB_ICONQUESTION) = IDYES then begin ShowMessage ('CNPJ do Destinatário da NFe confirmado pelo Usuário'); end else begin abort; end; end else begin ShowMessage('CNPJ do Destinatário da NFe OK'); end; Application.ProcessMessages; if (DestXML <> MyQrNFedest_nome.AsString) and (DestXML <> 'NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL') then begin ShowMessage('Destinatário da NFe no XML incompatível' + #13 + 'Destinatário XML: ' + DestXML + #13 + 'Destinatário NF: ' + MyQrNFedest_nome.AsString); // Em alguns casos os nomes são aparentemente iguais // por isso coloquei o Application.MessageBox para poder prosseguir // isso se o nome for igual - ADEMIR 17/11/2016 if Application.MessageBox ('Pode conter erro de codificação de caractéres ' + #13 + 'INFORME O ERRO AO SUPORTE. Deseja prosseguir?', 'ATENÇÃO', MB_YESNO + MB_ICONQUESTION) = IDYES then begin ShowMessage('Destinatário da NFe confirmado pelo Usuário'); end else begin abort; end; end else begin ShowMessage('Destinatário da NFe OK'); end; end; end; end else begin Application.ProcessMessages; ShowMessage('Arquivo: ' + ArquivoXML + #13 + ' não encontrado!'); abort; end; // caso ocorram bem as validações, sistema continua - ADEMIR 08/09/2016 ACBrNFe1.NotasFiscais.Clear; ACBrNFe1.NotasFiscais.LoadFromFile(ArquivoXML, False); ACBrNFe1.Consultar; MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Consulta.RetornoWS); memoRespWS.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Consulta.RetornoWS); LoadXML(MemoResp, WBResposta); LoadConsulta201(ACBrNFe1.WebServices.Consulta.RetornoWS); memoLog.Lines.Add(''); memoLog.Lines.Add('CONSULTA DE NFe'); memoLog.Lines.Add(' '); memoLog.Lines.Add('Versão da Aplicação Sefaz: ' + ACBrNFe1.WebServices.Consulta.verAplic); memoLog.Lines.Add('UF NFe: ' + IntToStr(ACBrNFe1.WebServices.Consulta.cUF)); memoLog.Lines.Add('Código do Status: ' + IntToStr(ACBrNFe1.WebServices.Consulta.cStat)); memoLog.Lines.Add('Descrição do Motivo: ' + ACBrNFe1.WebServices.Consulta.xMotivo); memoLog.Lines.Add('Protocolo: ' + ACBrNFe1.WebServices.Consulta.Protocolo); memoLog.Lines.Add('Chave: ' + ACBrNFe1.WebServices.Consulta.NFeChave); memoLog.Lines.Add('Recebimento: ' + DateToStr(ACBrNFe1.WebServices.Consulta.dhRecbto)); if Copy(ACBrNFe1.WebServices.Consulta.NFeChave, 26, 9) = FormatFloat('000000000', ProximoNumero) then begin if (ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat = 100) then begin conteudoXML := TStringList.Create; MyTbStatus.Active := True; MyTbStatus.Insert; MyTbStatusnotasfiscais_id.AsString := MyQrNFeid.AsString; MyTbStatuscod_status.AsString := IntToStr(ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.cStat); MyTbStatusrecibo.AsString := ACBrNFe1.WebServices.Retorno.Recibo; MyTbStatusprotocolo.AsString := ACBrNFe1.NotasFiscais.Items[0] .NFe.procNFe.nProt; MyTbStatuschave.AsString := ACBrNFe1.NotasFiscais.Items[0] .NFe.procNFe.chNFe; MyTbStatusdata.AsDateTime := ACBrNFe1.NotasFiscais.Items[0] .NFe.procNFe.dhRecbto; MyTbStatusdescr_status.AsString := ACBrNFe1.NotasFiscais.Items[0] .NFe.procNFe.xMotivo; MyTbStatuslote.Value := vNumLote; MyTbStatususuario_id.AsInteger := frmSenha.MyQrUsuariosusu_sis_id.AsInteger; Ano := IntToStr(YearOf(date)); mesinteiro := MonthOf(date); mes := FormatFloat('00', mesinteiro); anomes := Ano + mes; if FilesExists(ArquivoXML) then begin conteudoXML.LoadFromFile(ArquivoXML); MyTbStatusxml.AsString := conteudoXML.Text; end else begin ShowMessage('Arquivo: ' + ArquivoXML + ' não encontrado!'); end; // apaga arquivo temp XML -ADEMIR 30/06/2015 if FilesExists(PathWithDelim(ExtractFileDir(Application.ExeName)) + NomeArquivoXMLTemp + '.xml') then begin DeleteFile(PathWithDelim(ExtractFileDir(Application.ExeName)) + NomeArquivoXMLTemp + '.xml'); end; NomeArquivoXMLTemp := ''; MyTbStatus.Post; MyQrStatus.Active := False; MyQrStatus.Params.ParamValues['pNotaFiscal'] := MyQrNFeid.AsInteger; MyQrStatus.Active := True; conteudoXML.Free; MyTbStatus.Active := False; end else begin ShowMessage('Status não está confirmado como Autorização de uso!'); PostMessage(Self.handle, WM_CLOSE, 0, 0); abort; end;
×
×
  • 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.