Exemplo n.º 1
0
        private void btnValidar_Click(object sender, EventArgs e)
        {
            openFileDialog1.InitialDirectory = Application.StartupPath + "\\nfe\\arquivos\\assinado";
            openFileDialog1.Filter           = "NF-e (*.xml)|";
            openFileDialog1.Title            = "Localizar NF-e p/ Validar";


            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                lblStatus.Text = "Validando arquivo, aguarde...";
                nfec.nfecsharp nfe = new nfec.nfecsharp();

                string Msgvalida = nfe.ValidarArquivoXML(openFileDialog1.FileName, cbbSchema.Text, true);
                //if (nfe.ValidarArquivoXML(openFileDialog1.FileName, cbbSchema.Text, true))
                {
                    //lblStatus.Text = "Validação concluída, nenhum erro identificado.";
                    lblStatus.Text = Msgvalida;
                    //lblStatus.Text = nfe.ValidarArquivoXML(openFileDialog1.FileName, cbbSchema.Text, true);
                    lblStatus.ForeColor = System.Drawing.Color.Black;
                }
                //else
                //{
                //    lblStatus.Text = "Problemas identificados na validação";
                //    lblStatus.ForeColor = System.Drawing.Color.Red;
                //}
            }
        }
Exemplo n.º 2
0
        private void Inutilizar()
        {
            try
            {
                CreaterCursor Cr = new CreaterCursor();
                this.Cursor = Cr.CreateCursor(Cr.btmap, 0, 0);

                nfec.nfecsharp nfe = new nfec.nfecsharp();
                string         MsgnInutilizacao = nfe.NfeInutilizacao(
                    txtAno.Text,
                    txtIni.Text,
                    txtFim.Text,
                    txtJustInut.Text);

                if (MsgnInutilizacao != string.Empty)
                {
                    this.Cursor = Cursors.Default;
                    MessageBox.Show(MsgnInutilizacao);
                    AtualizaDadosNFE();
                }
                else
                {
                    MessageBox.Show("Houve algum erro para inutilizar as NFe´s");
                }

                this.Cursor = Cursors.Default;
            }
            catch (Exception)
            {
                this.Cursor = Cursors.Default;
            }
        }
Exemplo n.º 3
0
        private void ModeloASSComp()
        {
            try
            {
                lblStatus.Text = "Aguarde, enviando email...";
                Application.DoEvents();

                string ArquivoAnexo = txtPathAnexo.Text;
                if (txtArquivoPDF.Text.Trim() != string.Empty)
                {
                    ArquivoAnexo = txtPathAnexo.Text + ";" + txtArquivoPDF.Text;
                }

                nfec.nfecsharp nfe = new nfec.nfecsharp();

                // if(nfe.EnviaEmail( txtEmailDest.Text, txtAssunto.Text, txtMensagem.Text, ArquivoAnexo))
                // {
                // lblStatus.Text = "Emaill enviado : " + txtEmailDest.Text + " com sucesso!";
                // }
                //  else
                //  {
                //    lblStatus.Text = "ERRO ao enviar o Email :" + txtEmailDest.Text;
                //   MessageBox.Show(lblStatus.Text);
                // }
            }
            catch (Exception ex)
            {
                lblStatus.Text = "Falha no envio do email.";
                MessageBox.Show("Erro técnico: " + ex.Message);
            }
        }
Exemplo n.º 4
0
        private void FrmEmailNFe_Load(object sender, EventArgs e)
        {
            this.MinimizeBox     = false;
            this.FormBorderStyle = FormBorderStyle.FixedDialog;

            txtEmailDest.Text = Email;
            txtPathAnexo.Text = ArquivoNFe;

            GetDropMensagem();

            //Arquivo PDF
            string        NFe  = ChaveNFe.Replace("N", "").Replace("F", "").Replace("e", "");
            List <string> dirs = FileHelper.GetFilesRecursive(ConfigSistema1.Default.PathInstall + @"\nfe\arquivos\procNFe");

            foreach (string p in dirs)
            {
                int LengthLine = p.Length;
                int pos        = p.IndexOf(NFe);
                if (pos != -1)
                {
                    string pathPDF = ConfigSistema1.Default.PathInstall + @"\nfe\arquivos\pdf\" + NFe + ".pdf";

                    if (File.Exists(pathPDF))
                    {
                        txtArquivoPDF.Text = pathPDF;
                    }
                    else
                    {
                        MessageBox.Show("Arquivo: " + pathPDF + " não localizado!");

                        nfec.nfecsharp nfe = new nfec.nfecsharp();
                        if (nfe.NFeDanfe(p, pathPDF, 2, false))
                        {
                            txtArquivoPDF.Text = pathPDF;
                            MessageBox.Show("Arquivo: " + pathPDF + " criado com sucesso!");
                        }
                    }
                }
            }


            EMPRESTy          = EMPRESAP.Read(1);
            txtMensagem.Text += "Prezado cliente, a Nota Fiscal Eletrônica (NF-e) foi gerada com sucesso!" + System.Environment.NewLine;
            txtMensagem.Text += "você receberá uma representação simplificada da Nota Fiscal Eletrônica chamada DANFE " + System.Environment.NewLine;
            txtMensagem.Text += "(Documento Auxiliar da Nota Fiscal Eletrônica) e o XML da mesma " + System.Environment.NewLine;
            txtMensagem.Text += " " + System.Environment.NewLine;
            txtMensagem.Text += "O DANFE em papel pode ser arquivado para apresentação ao fisco quando solicitado. Contudo, caso sua compra tenha sido efetuada em " + System.Environment.NewLine;
            txtMensagem.Text += "nome de Pessoa Jurídica e sua empresa também for emitente de NF-e, o arquivamento eletrônico do XML de seus fornecedores é obrigatório," + System.Environment.NewLine;
            txtMensagem.Text += " " + System.Environment.NewLine;
            txtMensagem.Text += "Assim, você recebe também em anexo o arquivo XML da Nota Fiscal Eletrônica. Este arquivo deve ser armazenado eletronicamente por sua empresa " + System.Environment.NewLine;
            txtMensagem.Text += "pelo prazo de 05 (cinco) anos, conforme previsto na legislação tributária (Art. 173 do Código Tributário Nacional e § 4º da Lei 5.172 de 25/10/1966)." + System.Environment.NewLine;
            txtMensagem.Text += " " + System.Environment.NewLine;
            txtMensagem.Text += "sendo passível de fiscalização." + System.Environment.NewLine;
            txtMensagem.Text += " " + System.Environment.NewLine;
            txtMensagem.Text += "===========================================================" + System.Environment.NewLine;
            txtMensagem.Text += EMPRESTy.NOMEFANTASIA + System.Environment.NewLine;
            txtMensagem.Text += EMPRESTy.CIDADE + "/" + EMPRESTy.UF + System.Environment.NewLine;
            txtMensagem.Text += EMPRESTy.EMAIL + System.Environment.NewLine;
        }
Exemplo n.º 5
0
        private void btnInutilizar_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.AppStarting; ;

            btnInutilizar.Enabled = false;

            nfec.nfecsharp nfe = new nfec.nfecsharp();
            string retorno = nfe.NfeInutilizacao(
                tbxAno.Text,
                tbxNumInicial.Text,
                tbxNumFinal.Text,
                tbxJustificativa.Text, parametroNfe);
            MessageBox.Show("Inutilizado com sucesso Nº protocolo: " + retorno);
            btnInutilizar.Enabled = true;
            Cursor = Cursors.Default;
            this.Close();
        }
Exemplo n.º 6
0
        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.InitialDirectory = Application.StartupPath + @"\nfe\arquivos\CCe";
            openFileDialog1.Filter           = "NF-e (*.xml)|";
            openFileDialog1.Title            = "Arquivo de Carta de Correção";


            nfec.nfecsharp nfe        = new nfec.nfecsharp();
            string         arquivocce = @"c:\temp\cartacorrecao.pdf";

            ////nfec.nfecsharp nfe = new nfec.nfecsharp();
            //string arquivocce = txtPathAnexo.Text + ".pdf";

            try
            {
                //if (!nfe.ImpCCe(txtPathAnexo.Text, arquivocce, 2))
                //{
                //    MessageBox.Show("Erro ao imprimir a Carta de Correção do arquivo selecionado");
                //}

                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    if (!nfe.ImpCCe(openFileDialog1.FileName, arquivocce, 1))
                    {
                        MessageBox.Show("Erro ao imprimir a Carta de Correção do arquivo selecionado");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro técnico: " + ex.Message);

                //if (openFileDialog1.ShowDialog() == DialogResult.OK)
                //{
                //    if (!nfe.ImpCCe(openFileDialog1.FileName, arquivocce, 2))
                //        MessageBox.Show("Erro ao imprimir a Carta de Correção do arquivo selecionado");
                //}
            }
        }
Exemplo n.º 7
0
        private void btnEnviar_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtCCeCorrecao.Text != string.Empty)
                {
                    nfec.nfecsharp nfe = new nfec.nfecsharp();

                    string TZD = string.Empty;
                    if (rbFernandoNoronha.Checked)
                    {
                        TZD = "-02:00";
                    }
                    else if (rbBrasilia.Checked)
                    {
                        TZD = "-03:00";
                    }
                    else if (rbManaus.Checked)
                    {
                        TZD = "-04:00";
                    }

                    if (rbFernandoNoronha.Checked && chkHorariVerao.Checked)
                    {
                        TZD = "01:00";
                    }
                    else if (rbBrasilia.Checked && chkHorariVerao.Checked)
                    {
                        TZD = "-02:00";
                    }
                    else if (rbManaus.Checked && chkHorariVerao.Checked)
                    {
                        TZD = "-03:00";
                    }

                    string Msg = nfe.GeraCCe(txtNFeCCe.Text.TrimEnd(),                                                            //chave NFE (apenas numeros)
                                             txtSequencia.Text.TrimEnd(),                                                         //Seqüencial do evento para o mesmo tipo de evento. Para maioria dos eventos será 1, nos casos em que possa existir mais de um evento, como é o caso da carta de correção, o autor do evento deve numerar de forma seqüencial.
                                             "110110",                                                                            //Código do de evento, conforme NT2011.03, default = 110110
                                             DateTime.Now.ToString("yyyy-MM-dd") + "T" + DateTime.Now.ToString("HH:mm:ss") + TZD, //Data e hora do evento no formato AAAA-MMDDThh:mm:ssTZD
                                             txtCCeCorrecao.Text.TrimEnd());                                                      //Correção a ser considerada, texto livre. A correção mais recente substitui as anteriores.

                    /* ATENÇÃO! Cuidado com o horario de verao.
                     * Data e hora do evento no formato AAAA-MMDDThh:mm:ssTZD (UTC - Universal Coordinated Time,
                     * onde TZD pode ser -02:00 (Fernando de Noronha), -03:00
                     * (Brasília) ou -04:00 (Manaus), no horário de verão serão:
                     * 01:00, -02:00 e -03:00.
                     * Ex.: 2010-08-19T13:00:15-03:00.
                     *
                     */

                    Msg += "\r\n\r\n";

                    MessageBox.Show("Mensagem de retorno: " + Msg);

                    int pos = Msg.IndexOf("vinculado");
                    if (pos != -1)
                    {
                        FrmRelatCartaCorrecao Frm = new FrmRelatCartaCorrecao();
                        Frm._Protocolo = Util.RetiraLetras(Msg);
                        Frm.ChaveNFe   = txtNFeCCe.Text.Replace("N", "").Replace("F", "").Replace("e", "");
                        Frm.ShowDialog();
                    }
                }
                else
                {
                    MessageBox.Show("Campo de correção não pode fica vazia!",
                                    ConfigSistema1.Default.NomeEmpresa,
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Error,
                                    MessageBoxDefaultButton.Button1);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro Ténico: " + ex.Message,
                                ConfigSistema1.Default.NomeEmpresa,
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error,
                                MessageBoxDefaultButton.Button1);
            }
        }
Exemplo n.º 8
0
        // ------------------------------------------------------------------------- //
        /// <summary>
        /// Método de criação do xml com os dados da nota fiscal para nfe
        /// </summary>
        /// <param name="identNotaFiscal">Classe onde contém os dados da Nota Fiscal</param>
        /// <param name="parametroNfe">Classe onde contém os parametros da NF-e</param>
        /// <returns></returns>
        public string GerarNFe(NotaFiscalVO identNotaFiscal, nfec.Parametro parametroNfe)
        {
            string[] ide, emit, dest, total, transp, cobr, infAdic;
            string[,] prod;
            ide = new string[14];
            emit = new string[17];
            dest = new string[20];
            prod = new string[Convert.ToInt32(identNotaFiscal.Itens.Count), 60];
            total = new string[16];
            transp = new string[15];
            cobr = new string[6];
            infAdic = new string[2]; 
            try
            {

                /*<ide> TAG de grupo das informações de identificação da NF-e*/
                ide[0] = identNotaFiscal.Emitente.Cep.Cidade.UF.CodUF;//<cUF>
                ide[1] = identNotaFiscal.CodNF.ToString().PadLeft(8, '0');//<cNF> //8 DIGITOS A PARTIR DA VERSAO 2.0 (MANUAL 4.01)
                ide[2] = identNotaFiscal.CFOP.NaturezaOperacao; //<natOp>
                if (identNotaFiscal.IndFaturamento == null)
                    ide[3] = "2";
                else
                    ide[3] = identNotaFiscal.IndFaturamento == false ? "0" : "1"; //<indPag>
                ide[4] = "55"; //<mod>
                ide[5] = identNotaFiscal.Serie; //<serie>
                ide[6] = identNotaFiscal.NF.ToString();//<nNF>
                ide[7] = DateTime.Today.ToString("yyyy-MM-dd");         	 //<dEmi>
                if (identNotaFiscal.DataEntradaSaida != null)
                {
                    ide[8] = identNotaFiscal.DataEntradaSaida.Value.ToString("yyyy-MM-dd");          //<dSaiEnt>
                }
                else
                {
                    ide[8] = string.Empty;

                }
                ide[9] = identNotaFiscal.IndEntradaSaida == false ? "0" : "1";																		 //<tpNF>
                ide[10] = identNotaFiscal.Emitente.Cep.Cidade.CodIBGE;//txtCodMun.Text;//<cMunFG>
                ide[11] = identNotaFiscal.NFe.IndTipoEmissao;//<tpEmis> - Verificar no sistema se for erro de rede
                ide[12] = identNotaFiscal.IndFinalidadeNF;//<finNFe> Criar flag de escolha conforme manual 1- NF-e normal/ 2-NF-e complementar / 3 – NF-e de ajuste 
                ide[13] = identNotaFiscal.RefNFe; //NFref: <refNFe> 'nf-e relacionadas'

                /*<emit>TAG de grupo de identificação do emitente da NF-e*/
                emit[0] = identNotaFiscal.Emitente.CNPJ;
                emit[1] = identNotaFiscal.Emitente.RazaoSocial.Trim(); //<xNome>
                emit[2] = identNotaFiscal.Emitente.NomeFantasia.Trim();//<xFant>
                emit[3] = identNotaFiscal.Emitente.Logradouro.Trim(); //<xLgr>
                emit[4] = identNotaFiscal.Emitente.Numero.ToString(); //<nro>
                emit[5] = identNotaFiscal.Emitente.Complemento.Trim();//<xCpl>
                emit[6] = identNotaFiscal.Emitente.Cep.Bairro.NomBairro.Trim(); //<xBairro>
                emit[7] = identNotaFiscal.Emitente.Cep.Cidade.CodIBGE; //<cMun>
                emit[8] = identNotaFiscal.Emitente.Cep.Cidade.NomCidade.Trim(); //<xMun>
                emit[9] = identNotaFiscal.Emitente.Cep.Cidade.UF.CodUF;//<xUF>
                emit[10] = identNotaFiscal.Emitente.Cep.CodCep.Trim(); //<CEP>
                emit[11] = identNotaFiscal.Emitente.Telefone; //<fone>
                emit[12] = identNotaFiscal.Emitente.InscricaoEstadual; //<IE>
                emit[13] = identNotaFiscal.Emitente.InscricaoMunicipal; //<IM>
                emit[14] = identNotaFiscal.Emitente.CNAE;//<CNAE>
                emit[15] = "";//<IEST>
                emit[16] = identNotaFiscal.NFe.CRT;//<CRT> 1 – Simples Nacional; 2 – Simples Nacional – excesso de sublimite de receita bruta; 3 – Regime Normal

                /*<dest> TAG de grupo de identificação do Destinatário da NF-e*/
                dest[0] = identNotaFiscal.Cliente.CNPJ;//<CNPJ> ou <CPF>
                dest[1] = identNotaFiscal.Cliente.RazaoSocial.Trim();//<xNome>
                dest[2] = identNotaFiscal.Cliente.Cep.NomEndereco.Trim();//<xLgr>
                dest[3] = identNotaFiscal.Cliente.Numero.Trim();//<nro>
                dest[4] = identNotaFiscal.Cliente.Complemento.Trim();//<xCpl>
                dest[5] = identNotaFiscal.Cliente.Cep.Bairro.NomBairro.Trim();//<xBairro>
                dest[6] = identNotaFiscal.Cliente.Cep.Cidade.CodIBGE;//<cMun>
                dest[7] = identNotaFiscal.Cliente.Cep.Cidade.NomCidade.Trim();//<xMun>
                dest[8] = identNotaFiscal.Cliente.Cep.Cidade.UF.CodUF;//<UF>
                dest[9] = identNotaFiscal.Cliente.Cep.CodCep.Trim();//<CEP>
                dest[10] = "1058";//<cPais>
                dest[11] = "BRASIL";//<xPais>
                dest[12] = identNotaFiscal.Cliente.Telefone;//<fone>
                dest[13] = identNotaFiscal.Cliente.InscricaoEstadual;//<IE>
                dest[14] = "";//<ISUF>

                /* Grupo de Exportação v6.01 */
                dest[15] = "SP";														//UFEmbarq
                dest[16] = "11";														//xLocEmbarq

                /* Grupo de Compra v6.01 */
                dest[17] = "SP";														//xNEmp
                dest[18] = "SP";														//xPed
                dest[19] = "SP";														//xCont

                /*<prod> TAG de grupo do detalhamento de Produtos e Serviços da NF-e*/
                int x = 0;
                foreach (ItemNotaFiscalVO identItemNotaFiscal in identNotaFiscal.Itens)
                {
                    prod[x, 0] = identItemNotaFiscal.Produto.Codigo.Trim();//<cProd>
                    prod[x, 1] = "";					//<cEAN>
                    string Op = string.Empty;
                    if (!string.IsNullOrEmpty(identItemNotaFiscal.OP))
                        Op = " - OP.: " + identItemNotaFiscal.OP.Trim();
                    string pedido = string.Empty;
                    if (!string.IsNullOrEmpty(identItemNotaFiscal.CodPedidoCliente))
                        pedido = " - Ped.: " + identItemNotaFiscal.CodPedidoCliente.Trim();
                    prod[x, 2] = identItemNotaFiscal.Produto.Descricao.Trim()+pedido+Op; //<xProd>
                    prod[x, 3] = identItemNotaFiscal.Produto.NCM;//"73181500";                        //<NCM>
                    prod[x, 4] = "";                                //<EXTIPI> //Antes da vr 2.00, esta posicao era o GENERO.
                    prod[x, 5] = identNotaFiscal.CFOP.CFOP;//<CFOP>
                    prod[x, 6] = identItemNotaFiscal.Produto.Unidade.TipoUnidade.Trim();//<uCom>
                    prod[x, 7] = identItemNotaFiscal.Qtd.ToString(); //<qCom>
                    prod[x, 8] = identItemNotaFiscal.Valor.ToString();//<vUnCom>
                    prod[x, 9] = identItemNotaFiscal.TotalItem.ToString();// "10.00";//<vProd>
                    prod[x, 10] = "";   //eantrib //<cEANTrib>
                    prod[x, 11] = identItemNotaFiscal.Produto.Unidade.TipoUnidade.Trim();// "Kg"; //<uTrib>
                    prod[x, 12] = identItemNotaFiscal.Qtd.ToString();  //<qTrib>
                    prod[x, 13] = identItemNotaFiscal.Valor.ToString();// "10.0000";//<vUnTrib>
                    prod[x, 14] = identNotaFiscal.ValorFrete.ToString(); //"1.00";      //<vFrete>
                    prod[x, 15] = identNotaFiscal.ValorSeguro.ToString(); //"1.00";     //<vSeg>
                    prod[x, 16] = identItemNotaFiscal.Desconto.ToString(); //"1.00";    //<vDesc>   

                    /* tag ICMS */
                    prod[x, 17] = identItemNotaFiscal.Icms.CodOrigem.ToString();	//<orig>
                    prod[x, 18] = identItemNotaFiscal.Icms.CodTipoTributacao;      //txtCstIcms.Text;						//<CST>
                    prod[x, 19] = identItemNotaFiscal.Icms.CodBaseCalculo.ToString();//<modBC>
                    prod[x, 20] = identItemNotaFiscal.TotalItem.ToString(); //10.0000 //<vBC>
                    prod[x, 21] = identItemNotaFiscal.ICMS.ToString(); //"17.00";									//<pICMS>
                    prod[x, 22] = identItemNotaFiscal.CalcIcms.ToString(); // "1.70";//<vICMS>
                    if (identNotaFiscal.NFe.CRT == "1")
                    {
                        prod[x, 46] = "0";// "0";									//<modBCST>			{ campo novo }
                        prod[x, 47] = "";// "";										//<pMVAST>			{ campo novo }
                        prod[x, 48] = ""; //"";										//<pRedBCST>		{ campo novo }

                        prod[x, 49] = "0";									//<vBCSTRet>			//foi modificado, antes vBCST; v6.01 = vBCSTRet
                        prod[x, 50] = "0";									//<vICMSSTRet>			//foi modificado, antes vICMSST; v6.01 = vICMSSTRet

                        prod[x, 51] = "0";									//<vICMSST>			{ campo novo }				
                        prod[x, 52] = "0";// "0";             						//<pRedBC>			{ campo novo }


                        /* tag IPI */
                        prod[x, 23] = "99";						    //IPI <CST>
                        prod[x, 24] = "0.00";											//IPI <vBC>
                        prod[x, 25] = "0";												//IPI <pIPI>
                        prod[x, 26] = "0.00";												//IPI <vIPI>

                        /* tag II */
                        prod[x, 27] = "";               							 //II <vBC>
                        prod[x, 28] = "";               							 //II <vDespAdu>
                        prod[x, 29] = "";               								 //II <vII>
                        prod[x, 30] = "";               							 //II <vIOF>


                        /* tag PIS */
                        prod[x, 31] = "99";     						  //<CST>
                        prod[x, 32] = "0.00"; //"10.00";           						  //<vBC>
                        prod[x, 33] = "0.00";             						  //<pPIS>
                        prod[x, 34] = "0.00";             						  //<vPis>
                        prod[x, 45] = "0.00";               						  //<vAliqProd>     { campo novo }

                        /* tag COFINS */
                        prod[x, 35] = "99";  							//<CST>
                        prod[x, 36] = "0.00";//"10.00";										//<vBC>
                        prod[x, 37] = "0.00";											//<pCOFINS>
                        prod[x, 38] = "0.00";											//<vCOFINS>
                        prod[x, 44] = "0.00";											//<vAliqProd>     { campo novo }

                        /* tag ISSQN */
                        prod[x, 39] = "";                					//ISSQN <vBC>
                        prod[x, 40] = "";                					//ISSQN <vAliq>
                        prod[x, 41] = "";                					//ISSQN <vISSQN>
                        prod[x, 42] = "";                            //ISSQN <cMunFG>
                        prod[x, 43] = "";            						//ISSQN <cListServ>

                        prod[x, 53] = identItemNotaFiscal.Observacao;            						//infAdProd

                        /*tag PISST*/
                        prod[x, 54] = "";								//vBC
                        prod[x, 55] = "";								//pPIS
                        prod[x, 56] = "";								//vPIS


                        /*tag COFINSST*/
                        prod[x, 57] = "";								//vBC
                        prod[x, 58] = "";								//pCOFINS
                        prod[x, 59] = "";								//vCOFINS
                        x++;
                    }
                    else
                    {
                        prod[x, 46] = identItemNotaFiscal.Icms.CodBaseCalculoICMSST.ToString();// "0";									//<modBCST>			{ campo novo }
                        prod[x, 47] = identItemNotaFiscal.Icms.PercentualMargemST.ToString();// "";										//<pMVAST>			{ campo novo }
                        prod[x, 48] = identItemNotaFiscal.Icms.PercentualReducaoST.ToString(); //"";										//<pRedBCST>		{ campo novo }
                        prod[x, 52] = identItemNotaFiscal.Icms.PercentualReducao.ToString();// "0";             						//<pRedBC>			{ campo novo }
                    }
                }//for

                /*<total> TAG de grupo de Valores Totais da NF-e */
                if (identNotaFiscal.NFe.CRT == "1")
                {
                    total[0] = "0.00";// "50.00";          //ICMSTot <vBC>
                    total[1] = "0.00";// "8.50";          //ICMSTot <vICMS>
                }
                else
                {
                    total[0] = identNotaFiscal.BaseCalcIcms.ToString();// "50.00";          //ICMSTot <vBC>
                    total[1] = identNotaFiscal.ValTotalImcs.ToString();// "8.50";          //ICMSTot <vICMS>
                }
                total[2] = "0.00";          //ICMSTot <vBCST>
                total[3] = "0.00";          //ICMSTot <vST>
                identNotaFiscal = NotaFiscal.CalcTotais(identNotaFiscal);
                total[4] = identNotaFiscal.ValTotalProduto.ToString(); //"50.00";          //ICMSTot <vProd>
                total[5] = identNotaFiscal.ValorFrete.ToString(); //"5.00";          //ICMSTot <vFrete>
                total[6] = identNotaFiscal.ValorSeguro.ToString(); //"7.10";          //ICMSTot <vSeg>
                total[7] = identNotaFiscal.ValTotalDesc.ToString(); // "8.10";          //ICMSTot <vDesc>
                total[8] = "0.00";          //ICMSTot <vII>
                total[9] = "0.00";        //ICMSTot <vIPI>
                total[10] = "0.00";      //ICMSTot <vPIS>
                total[11] = "0.00";      //ICMSTot <vCOFINS>
                total[12] = identNotaFiscal.OutDespAce.ToString(); // "0.00";      //ICMSTot <vOutro>
                total[13] = identNotaFiscal.ValTotalNota.ToString(); //"50.00";      //ICMSTot <vNF>

                /*<transp> Informações do Transporte da NF-e*/

                transp[0] = identNotaFiscal.IndFretePorConta == true ? "1" : "0"; //"0";	//<modFrete>
                if (!string.IsNullOrEmpty(identNotaFiscal.Transportadora.CNPJ))
                {
                    transp[1] = identNotaFiscal.Transportadora.CNPJ;// "34261131000144";             //<CNPJ> ou <CPF>
                    transp[2] = identNotaFiscal.Transportadora.RazaoSocial.Trim(); // "Teste Transp Jack";			//<xNome>
                    transp[3] = identNotaFiscal.Transportadora.InscricaoEstadual; // "7012578100048";				//<IE>
                    string transnumero = string.Empty;
                    if (!string.IsNullOrEmpty(identNotaFiscal.Transportadora.Numero))
                        transnumero = ", " + identNotaFiscal.Transportadora.Numero.Trim();
                    string complemento = string.Empty;
                    if (!string.IsNullOrEmpty(identNotaFiscal.Transportadora.Complemento))
                        complemento = " - " + identNotaFiscal.Transportadora.Complemento.Trim();
                    string bairro = string.Empty;
                    if (!string.IsNullOrEmpty(identNotaFiscal.Transportadora.Cep.Bairro.NomBairro))
                        bairro = " - " + identNotaFiscal.Transportadora.Cep.Bairro.NomBairro.Trim();
                    string enderecoCompleto = identNotaFiscal.Transportadora.Cep.NomEndereco.Trim()+transnumero+complemento+bairro;
                    if (enderecoCompleto.Length > 60)
                        enderecoCompleto = enderecoCompleto.Substring(0, 60);
                    transp[4] = enderecoCompleto; // "Teste End. Transp. Jack";  //<xEnder>
                    transp[5] = identNotaFiscal.Transportadora.Cep.Cidade.NomCidade.Trim(); //"Belo Horizonte";					//<xMun>
                    transp[6] = identNotaFiscal.Transportadora.Cep.Cidade.UF.CodUF.Trim(); //"MG";										//<UF>
                }
                else
                {
                    transp[1] = "";// "34261131000144";             //<CNPJ> ou <CPF>
                    transp[2] = ""; // "Teste Transp Jack";			//<xNome>
                    transp[3] = ""; // "7012578100048";				//<IE>
                    transp[4] = ""; // "Teste End. Transp. Jack";  //<xEnder>
                    transp[5] = ""; //"Belo Horizonte";					//<xMun>
                    transp[6] = ""; //"MG";										//<UF>
                    transp[7] = ""; // "XOX2255";							//<placa>
                    transp[8] = ""; //"MG";										//<UF>
                }
                
                transp[9] = identNotaFiscal.QtdVolumes.Trim(); //"5";//<qVol>
                transp[10] = identNotaFiscal.Especie.Trim(); // "VOLUME";							//<esp>
                transp[11] = identNotaFiscal.Marca.Trim(); // "JACK";								//<marca>
                transp[12] = identNotaFiscal.Numero.Trim(); // "99";									//<nVol>
                transp[13] = identNotaFiscal.PesoLiquido.Trim(); //"11.535";							//<pesoL>
                transp[14] = identNotaFiscal.PesoBruto.ToString(); //"15.282";							//<pesoB>
                
                /*<cobr> Dados da Cobrança*/
                int j = 0;
                string numero = string.Empty;
                string vencimento = string.Empty;
                string valor = string.Empty;
                foreach (DuplicataVO identDuplicata in identNotaFiscal.Duplicatas)
                {
                    j++;
                    numero += j.ToString().PadLeft(2, '0') + ";";
                    vencimento += identDuplicata.Vencimento.Value.ToString("yyyy-MM-dd") + ";";
                    valor += identDuplicata.Valor.ToString() + ";";
                }
                cobr[0] = identNotaFiscal.NF.ToString();// "22";                   //fat <nFat>
                cobr[1] = identNotaFiscal.ValTotalNota.ToString(); //"50";                   //fat <vOrig>
                if (identNotaFiscal.Duplicatas.Count > 0)
                {
                    cobr[2] = identNotaFiscal.ValTotalNota.ToString(); //"453.28";            //fat <vLiq>
                }
                else
                    cobr[2] = string.Empty; //"453.28";            //fat <vLiq>
                /* neste ex, existem 2 parcelas */
                cobr[3] = numero.ToString().PadLeft(2, '0');//"01;02;";									//dup <nDup>
                cobr[4] = vencimento;//"2008-05-30;2008-06-30;";    //dup <dVenc>
                cobr[5] = valor;//"226.64;226.64;";					//dup <vDup>
                /*<infAdic> Informações Adicionais da NF-e*/
                infAdic[0] = "";
                string mensagemnfe = string.Empty;
                string observacao = string.Empty;
                string enderecoCobranca = string.Empty;
                Regex remover = new Regex(@"[\t\r\n]",RegexOptions.Compiled);
                string mensagemnf = string.Empty;
                if (!string.IsNullOrEmpty(mensagemnf))
                    mensagemnf =" - "+ identNotaFiscal.MensagemNF.Descricao.Trim();
                if (!string.IsNullOrEmpty(identNotaFiscal.Observacao))
                    observacao = " - "+remover.Replace(identNotaFiscal.Observacao, "");
                if (!string.IsNullOrEmpty(identNotaFiscal.Cliente.CepCobranca))
                    enderecoCobranca = " - Endereço de Cobrança: Cep: " + identNotaFiscal.Cliente.CepCobranca.Trim();
                if (!string.IsNullOrEmpty(identNotaFiscal.Cliente.EnderecoCobranca))
                    enderecoCobranca += " - "+identNotaFiscal.Cliente.EnderecoCobranca.Trim();

                infAdic[1] = "DOCUMENTO EMITIDO POR ME OPTANTE PELO SIMPLES NACIONAL. NAO GERA DIREITO A CREDITO FISCAL DE ICMS, ISS E IPI. - " +  //infAdFisco
                               "Valor R$ " + FormataValor(identNotaFiscal.ValTotalImcs.ToString(), 2) + " Aliquota " + identNotaFiscal.ICMS.ToString() + "% Nos termos do Art. 23 da LC 123/2006" + observacao + enderecoCobranca + mensagemnf; 		//infCpl




            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                
            }
            /* chamar função para gerar a nf-e*/
            nfec.nfecsharp nfe = new nfec.nfecsharp();

            string erroMensagem = nfe.GeraNFe(ide, emit, dest, prod, total, transp, cobr, infAdic, parametroNfe, true);
            return erroMensagem;
        }
Exemplo n.º 9
0
 private void button2_Click(object sender, EventArgs e)
 {
    string status =  new nfec.nfecsharp().NfeStatusServico(parametroNfe);
    MessageBox.Show(status); 
 }