コード例 #1
0
 private static Classes.NFe GetNf(int numero, ModeloDocumento modelo, VersaoServico versao)
 {
     Classes.NFe nf = new Classes.NFe {
         infNFe = GetInf(numero, modelo, versao)
     };
     return(nf);
 }
コード例 #2
0
        protected virtual ide GetIdentificacao(int numero, ModeloDocumento modelo, VersaoServico versao)
        {
            var ide = new ide
            {
                cUF     = Estado.SE,
                natOp   = "VENDA",
                indPag  = IndicadorPagamento.ipVista,
                mod     = modelo,
                serie   = 1,
                nNF     = numero,
                tpNF    = TipoNFe.tnSaida,
                cMunFG  = 2802908,
                tpEmis  = _configuracoes.CfgServico.tpEmis,
                tpImp   = TipoImpressao.tiRetrato,
                cNF     = "1234",
                tpAmb   = _configuracoes.CfgServico.tpAmb,
                finNFe  = FinalidadeNFe.fnNormal,
                verProc = "3.000"
            };

            if (ide.tpEmis != TipoEmissao.teNormal)
            {
                ide.dhCont = DateTime.Now.ToString(versao == VersaoServico.ve310 ? "yyyy-MM-ddTHH:mm:sszzz" : "yyyy-MM-ddTHH:mm:ss");
                ide.xJust  = "TESTE DE CONTIGÊNCIA PARA NFe/NFCe";
            }

            #region V2.00

            if (versao == VersaoServico.ve200)
            {
                ide.dEmi    = DateTime.Today.ToString("yyyy-MM-dd"); //Mude aqui para enviar a nfe vinculada ao EPEC, V2.00
                ide.dSaiEnt = DateTime.Today.ToString("yyyy-MM-dd");
            }

            #endregion

            #region V3.00

            if (versao != VersaoServico.ve310)
            {
                return(ide);
            }
            ide.idDest = DestinoOperacao.doInterna;
            ide.dhEmi  = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz"); //Mude aqui para enviar a nfe vinculada ao EPEC, V3.10
            if (ide.mod == ModeloDocumento.NFe)
            {
                ide.dhSaiEnt = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz");
            }
            else
            {
                ide.tpImp = TipoImpressao.tiNFCe;
            }
            ide.procEmi  = ProcessoEmissao.peAplicativoContribuinte;
            ide.indFinal = ConsumidorFinal.cfConsumidorFinal; //NFCe: Tem que ser consumidor Final
            ide.indPres  = PresencaComprador.pcPresencial;    //NFCe: deve ser 1 ou 4

            #endregion

            return(ide);
        }
コード例 #3
0
        protected virtual infNFe GetInf(int numero, ModeloDocumento modelo, VersaoServico versao)
        {
            var infNFe = new infNFe
            {
                versao = Auxiliar.VersaoServicoParaString(versao),
                ide    = GetIdentificacao(numero, modelo, versao),
                emit   = GetEmitente(),
                dest   = GetDestinatario(versao),
                total  = GetTotal(versao),
                transp = GetTransporte()
            };

            if (infNFe.ide.mod == ModeloDocumento.NFe & versao == VersaoServico.ve310)
            {
                infNFe.cobr = GetCobranca(); //V3.00 Somente
            }
            if (infNFe.ide.mod == ModeloDocumento.NFCe)
            {
                infNFe.pag = GetPagamento(); //NFCe Somente
            }
            for (var i = 0; i < 1; i++)
            {
                infNFe.det.Add(GetDetalhe(i));
            }

            return(infNFe);
        }
コード例 #4
0
        protected virtual dest GetDestinatario(VersaoServico versao, ModeloDocumento modelo)
        {
            var dest = new dest(versao)
            {
                CNPJ = "99999999000191",
                //CPF = "99999999999",
            };

            if (modelo == ModeloDocumento.NFe)
            {
                dest.xNome     = "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL"; //Obrigatório para NFe e opcional para NFCe
                dest.enderDest = GetEnderecoDestinatario();                                    //Obrigatório para NFe e opcional para NFCe
            }

            //if (versao == VersaoServico.ve200)
            //    dest.IE = "ISENTO";
            if (versao == VersaoServico.ve200)
            {
                return(dest);
            }

            dest.indIEDest = indIEDest.NaoContribuinte; //NFCe: Tem que ser não contribuinte V3.00 Somente
            dest.email     = "*****@*****.**";         //V3.00 Somente
            return(dest);
        }
コード例 #5
0
        protected virtual dest GetDestinatario(VersaoServico versao, ModeloDocumento modelo)
        {
            // TODO: CPF na nota?
            var dest = new dest(versao)
            {
                CPF       = "07506178966",
                xNome     = nfeEmitadaHomolog,
                indIEDest = indIEDest.NaoContribuinte,
                email     = "*****@*****.**"
            };

            //if (modelo == ModeloDocumento.NFe)
            //{
            //    dest.xNome = "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL"; //Obrigatório para NFe e opcional para NFCe
            //    dest.enderDest = GetEnderecoDestinatario(); //Obrigatório para NFe e opcional para NFCe
            //}

            ////if (versao == VersaoServico.ve200)
            ////    dest.IE = "ISENTO";
            //if (versao == VersaoServico.ve200) return dest;

            //dest.indIEDest = indIEDest.NaoContribuinte; //NFCe: Tem que ser não contribuinte V3.00 Somente
            //dest.email = "*****@*****.**"; //V3.00 Somente
            return(dest);
        }
コード例 #6
0
        protected virtual Classes.NFe GetNf(int numero, ModeloDocumento modelo, VersaoServico versao)
        {
            var nf = new Classes.NFe {
                infNFe = GetInf(numero, modelo, versao)
            };

            return(nf);
        }
コード例 #7
0
ファイル: EnderecoServico.cs プロジェクト: myrp/DFe.NET
 public EnderecoServico(ServicoNFe servicoNFe, VersaoServico versaoServico, TipoAmbiente tipoAmbiente, TipoEmissao tipoEmissao, Estado estado, ModeloDocumento modeloDocumento, string url)
 {
     ServicoNFe      = servicoNFe;
     VersaoServico   = versaoServico;
     TipoAmbiente    = tipoAmbiente;
     TipoEmissao     = tipoEmissao;
     Estado          = estado;
     Url             = url;
     ModeloDocumento = modeloDocumento;
 }
コード例 #8
0
 public EnderecoServico(ServicoNFe servicoNFe, VersaoServico versaoServico, TipoAmbiente tipoAmbiente, TipoEmissao tipoEmissao, Estado estado, ModeloDocumento modeloDocumento, string url)
 {
     ServicoNFe = servicoNFe;
     VersaoServico = versaoServico;
     TipoAmbiente = tipoAmbiente;
     TipoEmissao = tipoEmissao;
     Estado = estado;
     Url = url;
     ModeloDocumento = modeloDocumento;
 }
コード例 #9
0
 public ConfigInutiliza(string cnpj, short serie, long numeroInicial, long numeroFinal, int ano,
                        string justificativa, ModeloDocumento modeloDocumento = ModeloDocumento.CTe)
 {
     Cnpj            = cnpj;
     Serie           = serie;
     NumeroInicial   = numeroInicial;
     NumeroFinal     = numeroFinal;
     Ano             = ano;
     Justificativa   = justificativa;
     ModeloDocumento = modeloDocumento;
 }
コード例 #10
0
 protected ServCancTemplate(EmissorServicoConfig emissorServicoConfig, X509Certificate2 certificado, int idlote,
                            ICollection <EventoBuilder> eventoBuilder, VersaoServico versao, ModeloDocumento modelo = ModeloDocumento.NFe)
 {
     _certificadoDigital         = certificado ?? throw new ArgumentNullException(nameof(certificado));
     _emisorEmissorServicoConfig = emissorServicoConfig ?? throw new ArgumentNullException(nameof(emissorServicoConfig));
     _servicoBase    = new ServHttpSoapBase(emissorServicoConfig, certificado, NomeServico);
     _versao         = versao;
     _modelo         = modelo;
     _idlote         = idlote;
     _eventosBuilder = eventoBuilder;
 }
コード例 #11
0
        public static string ModeloDocumentoParaString(ModeloDocumento modelo)
        {
            switch (modelo)
            {
            case ModeloDocumento.NFe:
                return("NF-e");

            case ModeloDocumento.NFCe:
                return("NFC-e");
            }
            return(null);
        }
コード例 #12
0
 /// <summary>
 ///     Inicializa objeto
 /// </summary>
 /// <param name="emissorServicoConfig">Configuração do Emissor</param>
 /// <param name="certificado">Certificado Digital</param>
 /// <param name="versao">Versao do Serviço</param>
 /// <param name="modelo"></param>
 protected ServConsStatTemplate(EmissorServicoConfig emissorServicoConfig, X509Certificate2 certificado, VersaoServico versao,
                                ModeloDocumento modelo = ModeloDocumento.NFe)
 {
     if (certificado == null)
     {
         throw new ArgumentNullException(nameof(certificado));
     }
     _emisorEmissorServicoConfig = emissorServicoConfig ?? throw new ArgumentNullException(nameof(emissorServicoConfig));
     _servicoBase = new ServHttpSoapBase(emissorServicoConfig, certificado, NomeServico);
     _versao      = versao;
     _modelo      = modelo;
 }
コード例 #13
0
 protected ServInutTemplate(EmissorServicoConfig emissorServicoConfig, X509Certificate2 certificado, string cnpj, int ano,
                            ModeloDocumento modelo, VersaoServico versao, int serie, int numeroInicial, int numeroFinal, string justificativa)
 {
     _emisorEmissorServicoConfig = emissorServicoConfig;
     _certificadoDigital         = certificado;
     _cnpj          = cnpj;
     _ano           = ano;
     _modelo        = modelo;
     _serie         = serie;
     _numeroInicial = numeroInicial;
     _numeroFinal   = numeroFinal;
     _justificativa = justificativa;
     _versao        = versao;
 }
コード例 #14
0
 /// <summary>
 ///     Inicializa objeto
 /// </summary>
 /// <param name="emissorServicoConfig">Configuração do Emissor</param>
 /// <param name="certificado">Certificado Digital</param>
 /// <param name="documento">Chave ou Xml Nfe bem formado</param>
 /// <param name="doc">Tipo de documento a ser pesquisado</param>
 /// <param name="versao">Versao do Serviço</param>
 /// <param name="modelo"></param>
 protected ServConsProtTemplate(EmissorServicoConfig emissorServicoConfig, X509Certificate2 certificado, string documento,
                                DocumentoProtocolo doc, VersaoServico versao, ModeloDocumento modelo = ModeloDocumento.NFe)
 {
     if (certificado == null)
     {
         throw new ArgumentNullException(nameof(certificado));
     }
     _emisorEmissorServicoConfig = emissorServicoConfig ?? throw new ArgumentNullException(nameof(emissorServicoConfig));
     _servicoBase = new ServHttpSoapBase(emissorServicoConfig, certificado, NomeServico);
     _chaveNfe    = documento ?? throw new ArgumentNullException(nameof(documento));
     _xmlNfe      = documento;
     _documento   = doc;
     _versao      = versao;
     _modelo      = modelo;
 }
コード例 #15
0
        protected virtual det GetDetalhe(int i, CRT crt, ModeloDocumento modelo)
        {
            var det = new det
            {
                nItem   = i + 1,
                prod    = GetProduto(i + 1),
                imposto = new imposto
                {
                    vTotTrib = 0.17m,
                    ICMS     = new ICMS
                    {
                        TipoICMS =
                            crt == CRT.SimplesNacional
                                ? InformarCSOSN(Csosnicms.Csosn102)
                                : InformarICMS(Csticms.Cst00, VersaoServico.ve310)
                    },

                    COFINS =
                        new COFINS
                    {
                        TipoCOFINS = new COFINSOutr {
                            CST = CSTCOFINS.cofins99, pCOFINS = 0, vBC = 0, vCOFINS = 0
                        }
                    },
                    PIS = new PIS {
                        TipoPIS = new PISOutr {
                            CST = CSTPIS.pis99, pPIS = 0, vBC = 0, vPIS = 0
                        }
                    }
                }
            };

            if (modelo == ModeloDocumento.NFe) //NFCe não aceita grupo "IPI"
            {
                det.imposto.IPI = new IPI()
                {
                    cEnq    = 999,
                    TipoIPI = new IPITrib()
                    {
                        CST = CSTIPI.ipi00, pIPI = 5, vBC = 1, vIPI = 0.05m
                    }
                }
            }
            ;
            //det.impostoDevol = new impostoDevol() { IPI = new IPIDevolvido() { vIPIDevol = 10 }, pDevol = 100 };

            return(det);
        }
コード例 #16
0
        private void GeranNfe(VersaoServico versaoServico, ModeloDocumento modelo)
        {
            try
            {
                #region Gerar NFe

                var numero = Funcoes.InpuBox("Criar e Enviar NFe", "Número da Nota:");
                if (string.IsNullOrEmpty(numero))
                {
                    throw new Exception("O Número deve ser informado!");
                }

                _nfe = GetNf(Convert.ToInt32(numero), modelo, versaoServico);
                _nfe.Assina();
                //Descomente a linha abaixo se a SEFAZ de sua UF já habilitou a NT2015.002
                _nfe.infNFeSupl = new infNFeSupl()
                {
                    qrCode = EnderecadorDanfeNfce.ObterUrlQrCode(_nfe, _configuracoes.ConfiguracaoDanfeNfce)
                };
                _nfe.Valida();

                #endregion

                ExibeNfe();

                var dlg = new SaveFileDialog
                {
                    FileName   = _nfe.infNFe.Id.Substring(3),
                    DefaultExt = ".xml",
                    Filter     = "Arquivo XML (.xml)|*.xml"
                };
                var result = dlg.ShowDialog();
                if (result != true)
                {
                    return;
                }
                var arquivoXml = dlg.FileName;
                _nfe.SalvarArquivoXml(arquivoXml);
            }
            catch (Exception ex)
            {
                if (!string.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
コード例 #17
0
        /// <summary>
        /// Identificação para NFe v4.0
        /// </summary>
        /// <param name="config"></param>
        /// <param name="cNf"></param>
        /// <param name="natOp"></param>
        /// <param name="indPag"></param>
        /// <param name="mod"></param>
        /// <param name="serie"></param>
        /// <param name="nNf"></param>
        /// <param name="dEmi"></param>
        /// <param name="dSaiEnt"></param>
        /// <param name="dhEmi"></param>
        /// <param name="dhSaiEnt"></param>
        /// <param name="tpNf"></param>
        /// <param name="idDest"></param>
        /// <param name="tpImp"></param>
        /// <param name="tpEmis"></param>
        /// <param name="finNFe"></param>
        /// <param name="indFinal"></param>
        /// <param name="indPres"></param>
        /// <param name="versaoProcesso"></param>
        public IdentificacaoNFe40(Configurar config,
                                  string cNf, string natOp,
                                  ModeloDocumento mod, int serie, long nNf, DateTime dEmi,
                                  DateTime dSaiEnt, DateTimeOffset dhEmi, DateTimeOffset dhSaiEnt,
                                  TipoNFe tpNf, DestinoOperacao idDest, TipoImpressao tpImp,
                                  TipoEmissao tpEmis, FinalidadeNFe finNFe, ConsumidorFinal indFinal,
                                  PresencaComprador indPres, string versaoProcesso, DateTime?dhCont = null, string xJust = "")
        {
            var ide = new ide
            {
                cUF      = config.EmissorConfig.Estado,
                cNF      = cNf,
                natOp    = natOp,
                mod      = mod,
                serie    = serie,
                nNF      = nNf,
                dEmi     = dEmi,
                dSaiEnt  = dSaiEnt,
                dhEmi    = dhEmi,
                dhSaiEnt = dhSaiEnt,
                tpNF     = tpNf,
                idDest   = idDest,
                cMunFG   = config.EmissorConfig.Emitente.enderEmit.cMun,
                tpImp    = tpImp,
                tpEmis   = tpEmis,
                tpAmb    = config.EmissorConfig.Ambiente,
                finNFe   = finNFe,
                indFinal = indFinal,
                indPres  = indPres,
                verProc  = versaoProcesso
            };

            if (dhCont != null)
            {
                ide.dhCont = dhCont.Value;
            }
            if (xJust != null)
            {
                ide.xJust = xJust;
            }

            SetIde(ide);
        }
コード例 #18
0
        private void GeranNfe(VersaoServico versaoServico, ModeloDocumento modelo)
        {
            try
            {
                #region Gerar NFe

                var numero = Funcoes.InpuBox(this, "Criar e Enviar NFe", "Número da Nota:");
                if (String.IsNullOrEmpty(numero))
                {
                    throw new Exception("O Número deve ser informado!");
                }

                _nfe = GetNf(Convert.ToInt32(numero), modelo, versaoServico);
                _nfe.Assina().Valida();

                #endregion

                ExibeNfe();

                var dlg = new SaveFileDialog
                {
                    FileName   = _nfe.infNFe.Id.Substring(3),
                    DefaultExt = ".xml",
                    Filter     = "Arquivo XML (.xml)|*.xml"
                };
                var result = dlg.ShowDialog();
                if (result != true)
                {
                    return;
                }
                var arquivoXml = dlg.FileName;
                _nfe.SalvarArquivoXml(arquivoXml);
            }
            catch (Exception ex)
            {
                if (!String.IsNullOrEmpty(ex.Message))
                {
                    Funcoes.Mensagem(ex.Message, "Erro", MessageBoxButton.OK);
                }
            }
        }
コード例 #19
0
        private ConfiguracaoServico ConfiguraServico(Estado uf, ModeloDocumento mod,
                                                     NFe.Classes.Informacoes.Identificacao.Tipos.TipoAmbiente ta, TipoEmissao te, int timeOut,
                                                     SecurityProtocolType spt, ConfiguracaoCertificado certificate)
        {
            var cfgServico = NFe.Utils.ConfiguracaoServico.Instancia;

            cfgServico.ModeloDocumento          = mod;
            cfgServico.tpAmb                    = ta;
            cfgServico.tpEmis                   = te;
            cfgServico.TimeOut                  = timeOut;
            cfgServico.ProtocoloDeSeguranca     = spt;
            cfgServico.Certificado              = certificate;
            cfgServico.VersaoNFeDistribuicaoDFe = VersaoServico.ve100;
            cfgServico.VersaoRecepcaoEventoManifestacaoDestinatario = VersaoServico.ve100;
            cfgServico.VersaoNfeDownloadNF = VersaoServico.ve310;
            cfgServico.cUF = uf;
            cfgServico.DiretorioSchemas   = Constants.SchemasPath;
            cfgServico.DiretorioSalvarXml = Constants.DfeAppPath;

            _configServico = cfgServico;
            return(_configServico);
        }
コード例 #20
0
        private static infNFe GetInf(int numero, ModeloDocumento modelo, VersaoServico versao)
        {
            infNFe infNFe = new infNFe
            {
                versao = versao.VersaoServicoParaString(),
                ide    = GetIdentificacao(numero, modelo, versao),
                emit   = GetEmitente(),
                dest   = GetDestinatario(versao, modelo),
                transp = GetTransporte()
            };

            for (int i = 0; i < 5; i++)
            {
                infNFe.det.Add(GetDetalhe(i, infNFe.emit.CRT, modelo));
            }

            infNFe.total = GetTotal(versao, infNFe.det);

            if (infNFe.ide.mod == ModeloDocumento.NFe & (versao == VersaoServico.Versao310 || versao == VersaoServico.Versao400))
            {
                infNFe.cobr = GetCobranca(infNFe.total.ICMSTot); //V3.00 e 4.00 Somente
            }

            if (infNFe.ide.mod == ModeloDocumento.NFCe || (infNFe.ide.mod == ModeloDocumento.NFe & versao == VersaoServico.Versao400))
            {
                infNFe.pag = GetPagamento(infNFe.total.ICMSTot, versao); //NFCe Somente
            }

            if (infNFe.ide.mod == ModeloDocumento.NFCe & versao != VersaoServico.Versao400)
            {
                infNFe.infAdic = new infAdic()
                {
                    infCpl = "Troco: 10,00"
                };                                                          //Susgestão para impressão do troco em NFCe
            }

            return(infNFe);
        }
コード例 #21
0
        protected virtual infNFe GetInf(int numero, ModeloDocumento modelo, VersaoServico versao)
        {
            var infNFe = new infNFe
            {
                versao = Auxiliar.VersaoServicoParaString(versao),
                ide    = GetIdentificacao(numero, modelo, versao),
                emit   = GetEmitente(),
                dest   = GetDestinatario(versao, modelo),
                transp = GetTransporte()
            };

            for (var i = 0; i < NFCe.lstProd.Count; i++)
            {
                infNFe.det.Add(GetDetalhe(i, infNFe.emit.CRT, modelo));
            }

            infNFe.total = GetTotal(versao, infNFe.det);

            if (infNFe.ide.mod == ModeloDocumento.NFe & versao == VersaoServico.ve310)
            {
                infNFe.cobr = GetCobranca(infNFe.total.ICMSTot); //V3.00 Somente
            }
            if (infNFe.ide.mod == ModeloDocumento.NFCe)
            {
                infNFe.pag = GetPagamento(infNFe.total.ICMSTot); //NFCe Somente
            }
            if (infNFe.ide.mod == ModeloDocumento.NFCe)
            {
                infNFe.infAdic = new infAdic()
                {
                    infCpl = "Troco: 10,00"
                }
            }
            ;                                                               //Susgestão para impressão do troco em NFCe

            return(infNFe);
        }
コード例 #22
0
 public static int ModeloDocumentoParaInt(this ModeloDocumento modelo)
 {
     return((int)modelo);
 }
コード例 #23
0
        /// <summary>
        ///     Inutiliza uma faixa de números
        /// </summary>
        /// <param name="cnpj"></param>
        /// <param name="ano"></param>
        /// <param name="modelo"></param>
        /// <param name="serie"></param>
        /// <param name="numeroInicial"></param>
        /// <param name="numeroFinal"></param>
        /// <param name="justificativa"></param>
        /// <returns>Retorna um objeto da classe RetornoNfeInutilizacao com o retorno do serviço NfeInutilizacao</returns>
        public RetornoNfeInutilizacao NfeInutilizacao(string cnpj, int ano, ModeloDocumento modelo, int serie, int numeroInicial, int numeroFinal, string justificativa)
        {
            var versaoServico = Auxiliar.VersaoServicoParaString(ServicoNFe.NfeInutilizacao, _cFgServico.VersaoNfeInutilizacao);

            #region Cria o objeto wdsl para consulta

            var ws = CriarServico(ServicoNFe.NfeInutilizacao, TipoRecepcaoEvento.Nenhum);

            ws.nfeCabecMsg = new nfeCabecMsg
            {
                cUF         = _cFgServico.cUF,
                versaoDados = versaoServico
            };

            #endregion

            #region Cria o objeto inutNFe

            var pedInutilizacao = new inutNFe
            {
                versao  = versaoServico,
                infInut = new infInutEnv
                {
                    tpAmb  = _cFgServico.tpAmb,
                    cUF    = _cFgServico.cUF,
                    ano    = ano,
                    CNPJ   = cnpj,
                    mod    = modelo,
                    serie  = serie,
                    nNFIni = numeroInicial,
                    nNFFin = numeroFinal,
                    xJust  = justificativa
                }
            };

            var numId = String.Concat((int)pedInutilizacao.infInut.cUF, pedInutilizacao.infInut.ano,
                                      pedInutilizacao.infInut.CNPJ, (int)pedInutilizacao.infInut.mod, pedInutilizacao.infInut.serie.ToString().PadLeft(3, '0'),
                                      pedInutilizacao.infInut.nNFIni.ToString().PadLeft(9, '0'), pedInutilizacao.infInut.nNFFin.ToString().PadLeft(9, '0'));
            pedInutilizacao.infInut.Id = "ID" + numId;

            pedInutilizacao.Assina();

            #endregion

            #region Valida, Envia os dados e obtém a resposta

            var xmlInutilizacao = pedInutilizacao.ObterXmlString();
            Validador.Valida(ServicoNFe.NfeInutilizacao, TipoRecepcaoEvento.Nenhum, _cFgServico.VersaoNfeInutilizacao, xmlInutilizacao);
            var dadosInutilizacao = new XmlDocument();
            dadosInutilizacao.LoadXml(xmlInutilizacao);

            SalvarArquivoXml(numId + "-ped-inu.xml", xmlInutilizacao);

            var retorno          = ws.Execute(dadosInutilizacao);
            var retornoXmlString = retorno.OuterXml;
            var retInutNFe       = new retInutNFe().CarregarDeXmlString(retornoXmlString);

            SalvarArquivoXml(numId + "-inu.xml", retornoXmlString);

            return(new RetornoNfeInutilizacao(pedInutilizacao.ObterXmlString(), retInutNFe.ObterXmlString(), retornoXmlString, retInutNFe));

            #endregion
        }
コード例 #24
0
ファイル: Client.cs プロジェクト: consyste/consyste-dotnet
 /// <summary>
 /// Obtém os dados de um documento constante no Portal.
 /// </summary>
 public async Task <Documento> ConsultaDocumento(ModeloDocumento modelo, string id)
 {
     return(await ConsultaDocumento(CodigoModelo(modelo), id));
 }
コード例 #25
0
ファイル: Client.cs プロジェクト: consyste/consyste-dotnet
 /// <summary>
 /// Para continuar uma busca da listagem dos documentos.
 /// </summary>
 public async Task <ListagemDocumentos> ContinuaListagem(ModeloDocumento modelo, string token)
 {
     return(await ContinuaListagem(CodigoModelo(modelo), token));
 }
コード例 #26
0
ファイル: Client.cs プロジェクト: consyste/consyste-dotnet
 /// <summary>
 /// Obtém uma lista com dados dos documentos constantes no Portal.
 /// </summary>
 public async Task <ListagemDocumentos> ListaDocumentos(ModeloDocumento modelo, FiltroDocumento filtro, string[] campos = null, string consulta = null)
 {
     return(await ListaDocumentos(CodigoModelo(modelo), CodigoFiltro(filtro), campos, consulta));
 }
コード例 #27
0
ファイル: Client.cs プロジェクト: consyste/consyste-dotnet
 /// <summary>
 /// A empresa poderá informar a manifestação acerca de suas notas destinadas à SEFAZ.
 /// </summary>
 public async Task <HttpStatusCode> ManifestacaoNfe(ModeloDocumento modelo, string id, Manifestacao manifestacao, string justificativa = null)
 {
     return(await ManifestacaoNfe(CodigoModelo(modelo), id, CodigoManifestacao(manifestacao), justificativa));
 }
コード例 #28
0
ファイル: Client.cs プロジェクト: consyste/consyste-dotnet
 /// <summary>
 /// Obtém o XML ou PDF de um documento constante no Portal.
 /// </summary>
 public async Task <Download> BaixaDocumento(ModeloDocumento modelo, FormatoDocumento formato, string chave)
 {
     return(await BaixaDocumento(CodigoModelo(modelo), CodigoFormato(formato), chave));
 }
コード例 #29
0
ファイル: ChaveFiscal.cs プロジェクト: rubenlr/DFe.NET
        /// <summary>
        /// Obtém a chave do documento fiscal
        /// </summary>
        /// <param name="ufEmitente">UF do emitente do DF-e</param>
        /// <param name="dataEmissao">Data de emissão do DF-e</param>
        /// <param name="cnpjEmitente">CNPJ do emitente do DF-e</param>
        /// <param name="modelo">Modelo do DF-e</param>
        /// <param name="serie">Série do DF-e</param>
        /// <param name="numero">Numero do DF-e</param>
        /// <param name="tipoEmissao">Tipo de emissão do DF-e. Informar inteiro conforme consta no manual de orientação do contribuinte para o DF-e</param>
        /// <param name="cNf">Código numérico que compõe a Chave de Acesso. Número gerado pelo emitente para cada DF-e</param>
        /// <returns>Retorna um objeto <see cref="DadosChaveFiscal"/> com os dados da chave de acesso</returns>
        public static DadosChaveFiscal ObterChave(Estado ufEmitente, DateTime dataEmissao, string cnpjEmitente, ModeloDocumento modelo, int serie, long numero, int tipoEmissao, int cNf)
        {
            var chave = new StringBuilder();

            chave.Append(((int)ufEmitente).ToString("D2"))
            .Append(Convert.ToDateTime(dataEmissao).ToString("yyMM"))
            .Append(cnpjEmitente.PadLeft(14, '0').Substring(0, 14))
            .Append(((int)modelo).ToString("D2"))
            .Append(serie.ToString("D3"))
            .Append(numero.ToString("D9"))
            .Append(tipoEmissao.ToString())
            .Append(cNf.ToString("D8"));


            var digitoVerificador = ObterDigitoVerificador(chave.ToString());

            chave.Append(digitoVerificador);

            return(new DadosChaveFiscal(chave.ToString(), byte.Parse(digitoVerificador)));
        }
コード例 #30
0
 public static string ModeloDocumentoParaString(ModeloDocumento modelo)
 {
     switch (modelo)
     {
         case ModeloDocumento.NFe:
             return "NF-e";
         case ModeloDocumento.NFCe:
             return "NFC-e";
     }
     return null;
 }
コード例 #31
0
        /// <summary>
        ///     Inutiliza uma faixa de números
        /// </summary>
        /// <param name="cnpj"></param>
        /// <param name="ano"></param>
        /// <param name="modelo"></param>
        /// <param name="serie"></param>
        /// <param name="numeroInicial"></param>
        /// <param name="numeroFinal"></param>
        /// <param name="justificativa"></param>
        /// <returns>Retorna um objeto da classe RetornoNfeInutilizacao com o retorno do serviço NfeInutilizacao</returns>
        public RetornoNfeInutilizacao NfeInutilizacao(string cnpj, int ano, ModeloDocumento modelo, int serie, int numeroInicial, int numeroFinal, string justificativa)
        {
            var versaoServico = Auxiliar.VersaoServicoParaString(ServicoNFe.NfeInutilizacao, _cFgServico.VersaoNfeInutilizacao);

            #region Cria o objeto wdsl para consulta

            var ws = CriarServico(ServicoNFe.NfeInutilizacao, TipoRecepcaoEvento.Nenhum);

            ws.nfeCabecMsg = new nfeCabecMsg
            {
                cUF = _cFgServico.cUF,
                versaoDados = versaoServico
            };

            #endregion

            #region Cria o objeto inutNFe

            var pedInutilizacao = new inutNFe
            {
                versao = versaoServico,
                infInut = new infInutEnv
                {
                    tpAmb = _cFgServico.tpAmb,
                    cUF = _cFgServico.cUF,
                    ano = ano,
                    CNPJ = cnpj,
                    mod = modelo,
                    serie = serie,
                    nNFIni = numeroInicial,
                    nNFFin = numeroFinal,
                    xJust = justificativa
                }
            };

            var numId = String.Concat((int) pedInutilizacao.infInut.cUF, pedInutilizacao.infInut.ano,
                pedInutilizacao.infInut.CNPJ, (int) pedInutilizacao.infInut.mod, pedInutilizacao.infInut.serie.ToString().PadLeft(3, '0'),
                pedInutilizacao.infInut.nNFIni.ToString().PadLeft(9, '0'), pedInutilizacao.infInut.nNFFin.ToString().PadLeft(9, '0'));
            pedInutilizacao.infInut.Id = "ID" + numId;

            pedInutilizacao.Assina();

            #endregion

            #region Valida, Envia os dados e obtém a resposta

            var xmlInutilizacao = pedInutilizacao.ObterXmlString();
            Validador.Valida(ServicoNFe.NfeInutilizacao, TipoRecepcaoEvento.Nenhum, _cFgServico.VersaoNfeInutilizacao, xmlInutilizacao);
            var dadosInutilizacao = new XmlDocument();
            dadosInutilizacao.LoadXml(xmlInutilizacao);

            SalvarArquivoXml(numId + "-ped-inu.xml", xmlInutilizacao);

            var retorno = ws.Execute(dadosInutilizacao);
            var retornoXmlString = retorno.OuterXml;
            var retInutNFe = new retInutNFe().CarregarDeXmlString(retornoXmlString);

            SalvarArquivoXml(numId + "-inu.xml", retornoXmlString);

            return new RetornoNfeInutilizacao(pedInutilizacao.ObterXmlString(), retInutNFe.ObterXmlString(), retornoXmlString, retInutNFe);

            #endregion
        }
コード例 #32
0
ファイル: Client.cs プロジェクト: consyste/consyste-dotnet
 /// <summary>
 /// Solicita os arquivos XML ou PDF de um lote de documentos fiscais.
 /// </summary>
 public async Task <SolicitaDownload> SolicitaDownload(ModeloDocumento modelo, FiltroDocumento filtro, FormatoDocumento formato, string consulta = "")
 {
     return(await SolicitaDownload(CodigoModelo(modelo), CodigoFiltro(filtro), CodigoFormato(formato), consulta));
 }
コード例 #33
0
 public ServCancNfe4(EmissorServicoConfig emissorServicoConfig, X509Certificate2 certificado, int idlote,
                     ICollection <EventoBuilder> eventoBuilder, VersaoServico versao, ModeloDocumento modelo = ModeloDocumento.NFe) : base(
         emissorServicoConfig, certificado, idlote, eventoBuilder, versao, modelo)
 {
 }