From 457dc022deb4feab21f517a3ea7abe42b1d58236 Mon Sep 17 00:00:00 2001 From: adriano_g3 Date: Mon, 12 Jun 2023 14:06:13 -0300 Subject: [PATCH 1/2] =?UTF-8?q?Ajuste=20para=20Obter=20Url=20do=20Servi?= =?UTF-8?q?=C3=A7o,=20nesse=20caso=20espec=C3=ADfico=20para=20consulta=20d?= =?UTF-8?q?e=20CNPJ=20de=20Outros=20Estados?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NFe.Servicos/ServicoNfeFactory.cs | 4 ++-- NFe.Servicos/ServicosNFe.cs | 9 ++++----- NFe.Utils/Enderecos/Enderecador.cs | 24 ++++++++++++++---------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/NFe.Servicos/ServicoNfeFactory.cs b/NFe.Servicos/ServicoNfeFactory.cs index 094a80b23..c2fe83977 100644 --- a/NFe.Servicos/ServicoNfeFactory.cs +++ b/NFe.Servicos/ServicoNfeFactory.cs @@ -90,9 +90,9 @@ private static DFe.Classes.Flags.VersaoServico ConverteVersaoLayout(VersaoServic /// Configuração do serviço /// Certificado /// - public static INfeServico CriaWsdlOutros(ServicoNFe servico, ConfiguracaoServico cfg, X509Certificate2 certificado) + public static INfeServico CriaWsdlOutros(ServicoNFe servico, ConfiguracaoServico cfg, X509Certificate2 certificado, string uf = null) { - string url = Enderecador.ObterUrlServico(servico, cfg); + string url = Enderecador.ObterUrlServico(servico, cfg, uf); switch (servico) { diff --git a/NFe.Servicos/ServicosNFe.cs b/NFe.Servicos/ServicosNFe.cs index ea60ba52a..e7094b240 100644 --- a/NFe.Servicos/ServicosNFe.cs +++ b/NFe.Servicos/ServicosNFe.cs @@ -134,9 +134,9 @@ private INfeServicoAutorizacao CriarServicoAutorizacao(ServicoNFe servico, bool return ServicoNfeFactory.CriaWsdlAutorizacao(_cFgServico, _certificado, compactarMensagem); } - private INfeServico CriarServico(ServicoNFe servico) + private INfeServico CriarServico(ServicoNFe servico, string uf = null) { - return ServicoNfeFactory.CriaWsdlOutros(servico, _cFgServico, _certificado); + return ServicoNfeFactory.CriaWsdlOutros(servico, _cFgServico, _certificado, uf); } /// @@ -723,14 +723,13 @@ public RetornoRecepcaoEvento RecepcaoEventoEpec(int idlote, int sequenciaEvento, /// Tipo de documento a ser consultado /// Documento a ser consultado /// Retorna um objeto da classe RetornoNfeConsultaCadastro com o retorno do serviço NfeConsultaCadastro - public RetornoNfeConsultaCadastro NfeConsultaCadastro(string uf, ConsultaCadastroTipoDocumento tipoDocumento, - string documento) + public RetornoNfeConsultaCadastro NfeConsultaCadastro(string uf, ConsultaCadastroTipoDocumento tipoDocumento, string documento) { var versaoServico = ServicoNFe.NfeConsultaCadastro.VersaoServicoParaString(_cFgServico.VersaoNfeConsultaCadastro); #region Cria o objeto wdsl para consulta - var ws = CriarServico(ServicoNFe.NfeConsultaCadastro); + var ws = CriarServico(ServicoNFe.NfeConsultaCadastro, uf); if (_cFgServico.VersaoNfeConsultaCadastro != VersaoServico.Versao400) { diff --git a/NFe.Utils/Enderecos/Enderecador.cs b/NFe.Utils/Enderecos/Enderecador.cs index cdcd44e5c..826337c46 100644 --- a/NFe.Utils/Enderecos/Enderecador.cs +++ b/NFe.Utils/Enderecos/Enderecador.cs @@ -35,6 +35,7 @@ using System.Collections.Generic; using System.Linq; using DFe.Classes.Entidades; +using DFe.Classes.Extensoes; using DFe.Classes.Flags; using NFe.Classes.Informacoes.Identificacao.Tipos; using NFe.Classes.Servicos.Tipos; @@ -384,7 +385,7 @@ private static List CarregarEnderecosServicos() #endregion #region NFCe - + addServico(new[] { ServicoNFe.NFeAutorizacao }, versao4, hom, emissao, Estado.CE, nfce, "https://nfceh.sefaz.ce.gov.br/nfce4/services/NFeAutorizacao4?WSDL"); addServico(new[] { ServicoNFe.NFeRetAutorizacao }, versao4, hom, emissao, Estado.CE, nfce, "https://nfceh.sefaz.ce.gov.br/nfce4/services/NFeRetAutorizacao4?WSDL"); addServico(new[] { ServicoNFe.NfeInutilizacao }, versao4, hom, emissao, Estado.CE, nfce, "https://nfceh.sefaz.ce.gov.br/nfce4/services/NFeInutilizacao4?WSDL"); @@ -401,7 +402,7 @@ private static List CarregarEnderecosServicos() #region Produção - + foreach (var emissao in emissaoComum) { #region NFe @@ -616,7 +617,7 @@ private static List CarregarEnderecosServicos() addServico(new[] { ServicoNFe.NFeRetAutorizacao }, versao4, prod, emissao, Estado.MG, nfe, "https://nfe.fazenda.mg.gov.br/nfe2/services/NFeRetAutorizacao4"); // NFC-e - //18/12/2018 - http://www.sped.fazenda.mg.gov.br/spedmg/nfce/web-services/ + //18/12/2018 - http://www.sped.fazenda.mg.gov.br/spedmg/nfce/web-services/ addServico(new[] { ServicoNFe.NfeInutilizacao }, versao4, prod, emissao, Estado.MG, nfce, "https://nfce.fazenda.mg.gov.br/nfce/services/NFeInutilizacao4"); addServico(new[] { ServicoNFe.NfeConsultaProtocolo }, versao4, prod, emissao, Estado.MG, nfce, "https://nfce.fazenda.mg.gov.br/nfce/services/NFeConsultaProtocolo4"); addServico(new[] { ServicoNFe.NfeStatusServico }, versao4, prod, emissao, Estado.MG, nfce, "https://nfce.fazenda.mg.gov.br/nfce/services/NFeStatusServico4"); @@ -1629,7 +1630,7 @@ private static List CarregarEnderecosServicos() #endregion -#region ConsultaGtin + #region ConsultaGtin foreach (var estado in Enum.GetValues(typeof(Estado)) .Cast() .ToList()) @@ -1643,7 +1644,7 @@ private static List CarregarEnderecosServicos() } } } -#endregion + #endregion return endServico; } @@ -1720,13 +1721,17 @@ private static string Erro(ServicoNFe servico, VersaoServico versaoServico, Esta /// Obtém uma url a partir de uma lista armazenada em enderecoServico e povoada dinamicamente no create desta classe /// /// - public static string ObterUrlServico(ServicoNFe servico, ConfiguracaoServico cfgServico) + public static string ObterUrlServico(ServicoNFe servico, ConfiguracaoServico cfgServico, string uf = null) { var versaoServico = ObterVersaoServico(servico, cfgServico); if (versaoServico == null) throw new Exception(string.Format("Não foi possível obter a versão do serviço {0}!", servico)); - return ObterUrlServico(servico, versaoServico.GetValueOrDefault(), cfgServico.cUF, cfgServico.tpAmb, - cfgServico.ModeloDocumento, cfgServico.tpEmis); + + Estado estado = cfgServico.cUF; + if (!string.IsNullOrWhiteSpace(uf)) + estado = estado.SiglaParaEstado(uf); + + return ObterUrlServico(servico, versaoServico.GetValueOrDefault(), estado, cfgServico.tpAmb, cfgServico.ModeloDocumento, cfgServico.tpEmis); } /// @@ -1753,8 +1758,7 @@ public static string ObterUrlServico(ServicoNFe servico, VersaoServico versaoSer /// Tipo de ambiente (produção ou homologação) /// Modelo do documento. Ex: NFe, NFCe. /// Tipo de emissão da nota - public static List ObterEnderecoServicosMaisRecentes(VersaoServico versaoLimite, Estado uf, TipoAmbiente tipoAmbiente, - ModeloDocumento modeloDocumento, TipoEmissao tipoEmissao) + public static List ObterEnderecoServicosMaisRecentes(VersaoServico versaoLimite, Estado uf, TipoAmbiente tipoAmbiente, ModeloDocumento modeloDocumento, TipoEmissao tipoEmissao) { var enderecoServicos = from end in ListaEnderecos where end.Estado == uf && end.TipoAmbiente == tipoAmbiente && end.ModeloDocumento == modeloDocumento && From 06ee56614bb5f5c4b048bb6e27a16f5baf3b7206 Mon Sep 17 00:00:00 2001 From: adriano_g3 Date: Fri, 3 Nov 2023 11:35:25 -0300 Subject: [PATCH 2/2] =?UTF-8?q?Ajustes=20para=20Impress=C3=A3o=20dos=20CST?= =?UTF-8?q?s=2002,=2015,=2053,=2061=20quando=20a=20emiss=C3=A3o=20por=20re?= =?UTF-8?q?alizada=20por=20empresa=20optante=20pelo=20Simple=20Nacional?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NFe.Danfe.Base/NFe/NFeRetrato.frx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/NFe.Danfe.Base/NFe/NFeRetrato.frx b/NFe.Danfe.Base/NFe/NFeRetrato.frx index 38479d8af..4b721937e 100644 --- a/NFe.Danfe.Base/NFe/NFeRetrato.frx +++ b/NFe.Danfe.Base/NFe/NFeRetrato.frx @@ -200,7 +200,11 @@ namespace FastReport var orig = icmsBasico.GetIcmsOrig(); if ((CRT)(Report.GetColumnValue("NFe.NFe.infNFe.emit.CRT")) == CRT.SimplesNacional) { - prodOriginCell.Text = orig.OrigemMercadoriaParaString()+icmsBasico.GetIcmsCsosn().CsosnicmsParaString(); + if (icmsBasico.GetIcmsCst().CsticmsParaString() == "02" || icmsBasico.GetIcmsCst().CsticmsParaString() == "15" || + icmsBasico.GetIcmsCst().CsticmsParaString() == "53" || icmsBasico.GetIcmsCst().CsticmsParaString() == "61") + prodOriginCell.Text = orig.OrigemMercadoriaParaString() + icmsBasico.GetIcmsCst().CsticmsParaString(); + else + prodOriginCell.Text = orig.OrigemMercadoriaParaString() + icmsBasico.GetIcmsCsosn().CsosnicmsParaString(); } else {