Пример #1
0
        private void btnGerar_Click(object sender, EventArgs e)
        {
            try
            {
                belNumeroNF objNumeroNF = new belNumeroNF();

                List<belNumeroNF> objNumeroNfs = new List<belNumeroNF>();
                objNumeroNfs = objNumeroNF.GeraNumeroNF(plNotas, txtNumeroASerEmi.Text, psEmp);

                //Verifica se a as notas já não foram enviadas
                if (objNumeroNfs.Count == 0)
                {

                    throw new Exception("Selecione "
                        + (objNumeroNfs.Count > 1 ? "as " : "a ")
                        + (objNumeroNfs.Count > 1 ? "Notas " : "Nota ") + " Novamente pois já "
                        + (objNumeroNfs.Count > 1 ? "existem " : "existe ")
                        + (objNumeroNfs.Count > 1 ? "Numerações " : "Numeração ")
                        + (objNumeroNfs.Count > 1 ? "Geradas " : "Gerada ")
                        + " ou o número a ser emitido já foi utilizado!!");
                }

                //Verifica se Já não existe no banco a mesma numeração;              
                string sNumNotasInvalidas = objbelRegras.VerificaNumeracaoExistente(objNumeroNfs);

                if (sNumNotasInvalidas == "")
                {

                    string sSqlAtualizaNF = string.Empty;
                    //DataGeneric AcessoDados = new DataGeneric();

                    for (int i = 0; i < objNumeroNfs.Count; i++)
                    {
                        objbelRegras.AlteraDuplicatasNfe(objNumeroNfs, ref sSqlAtualizaNF, i);

                        if (HLP.bel.Static.belStatic.sNomeEmpresa.Equals("LORENZON"))
                        {
                            HLP.bel.NFe.belLorenzon objLorenzon = new HLP.bel.NFe.belLorenzon();
                            objLorenzon.AlteraDuplicataLorenzon(objNumeroNfs, i);
                        }

                        //Claudinei - o.s. 23929 - 10/12/2009
                        string sFiltro = string.Empty;
                        sFiltro = objbelRegras.OperacoesValidas(psEmp, objNumeroNfs[i].Nfseq);
                        bool bHe131 = false; ;

                        if (sFiltro.IndexOf("TIPO131") == -1)
                        {
                            sFiltro = objbelRegras.MontaFiltroOperacoesValidas(sFiltro);
                            bHe131 = false;
                        }
                        else
                        {
                            sFiltro = objbelRegras.MontaFiltroOperacoesValidas(sFiltro.Replace("TIPO131", ""));
                            bHe131 = true;

                        }
                        if (bHe131)
                        {
                            sSqlAtualizaNF = "update movitem set DT_DOC = '" + HLP.Util.Util.GetDateServidor().ToString("dd.MM.yyyy") +
                                                                 "' where cd_empresa = '" + psEmp +
                                                                 "' and cd_nfseq = '" + objNumeroNfs[i].Nfseq + "'" + sFiltro;
                        }
                        else
                        {
                            sSqlAtualizaNF = "update movitem set cd_doc = '" + objNumeroNfs[i].Cdnotafis +
                                             "', DT_DOC = '" + HLP.Util.Util.GetDateServidor().ToString("dd.MM.yyyy") +
                                             "' where cd_empresa = '" + psEmp +
                                             "' and cd_nfseq = '" + objNumeroNfs[i].Nfseq + "'" + sFiltro;
                        }

                        FbCommand cmdUpdatemovitem = new FbCommand(sSqlAtualizaNF, cx.get_Conexao());
                        cx.Open_Conexao();
                        cmdUpdatemovitem.ExecuteNonQuery();
                        cx.Close_Conexao();
                        //Fim - Claudinei - o.s. 23929 - 10/12/2009

                        belDuplicata objDuplicata = new belDuplicata();
                        objDuplicata.Empresa = psEmp;
                        objDuplicata.Nrseq = objNumeroNfs[i].Nfseq;
                        objDuplicata.Cdnotafis = objNumeroNfs[i].Cdnotafis;
                        objDuplicata.Dtemi = dtpEmissao.Value;
                        objDuplicata.Conn = cx.get_Conexao();

                        objDuplicata.BuscaVencto();

                    }
                    KryptonMessageBox.Show(null, "Numeração das notas geradas com sucesso!", "Gerar Numeros de Notas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    GeraNumeroNF();
                    this.Hide();
                    this.bValida = true;
                }
                else
                {
                    throw new Exception("Selecione "
                        + (objNumeroNfs.Count > 1 ? "as " : "a ")
                        + (objNumeroNfs.Count > 1 ? "Notas " : "Nota ") + " Novamente pois já "
                        + (objNumeroNfs.Count > 1 ? "existem " : "existe ")
                        + (objNumeroNfs.Count > 1 ? "Numerações " : "Numeração ")
                        + (objNumeroNfs.Count > 1 ? "Geradas " : "Gerada ")
                        + " ou o número a ser emitido já foi utilizado!!");
                }

            }
            catch (Exception ex)
            {
                KryptonMessageBox.Show(null, ex.Message, "A V I S O", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.bValida = false;
                this.Close();
            }
            finally
            {
                cx.Close_Conexao();
            }
        }
Пример #2
0
        public List<belNumeroNF> GeraNumeroNF(List<string> lsNFSEq, string sProximaNF, string sEmpresa)
        {
            belConnection cx = new belConnection();
            try
            {

                StringBuilder sSql = new StringBuilder();

                sSql.Append("select ");
                sSql.Append("nf.cd_nfseq ");
                sSql.Append("From nf ");
                sSql.Append("where ");
                sSql.Append("((nf.cd_notafis is null) or (nf.cd_notafis = '')) and (");
                sSql.Append("nf.cd_empresa ='");
                sSql.Append(sEmpresa);
                sSql.Append("') and (");
                sSql.Append("nf.cd_nfseq in('");
                int iCont = 0;
                foreach (var sNfseq in lsNFSEq)
                {
                    iCont++;
                    sSql.Append(sNfseq);
                    if (lsNFSEq.Count > iCont)
                    {
                        sSql.Append("','");
                    }
                }
                sSql.Append("')) ");
                sSql.Append("Order by nf.cd_empresa, nf.cd_nfseq ");



                //Fim - Claudinei - o.s. sem - 11/03/2010
                FbCommand cmd = new FbCommand(sSql.ToString(), cx.get_Conexao());
                cx.Open_Conexao();
                cmd.ExecuteNonQuery();

                FbDataReader dr = cmd.ExecuteReader();


                Int32 iNumeroNF = Convert.ToInt32(sProximaNF);

                List<belNumeroNF> objNumeroNFs = new List<belNumeroNF>();
                //dr = AcessoDados.ExecuteReader(sSql.ToString(), CommandType.Text);                  


                while (dr.Read())
                {

                    belNumeroNF objNumeroNF = new belNumeroNF();
                    objNumeroNF._nfseq = dr["cd_nfseq"].ToString();
                    objNumeroNF.Cdnotafis = iNumeroNF.ToString().PadLeft(6, '0');
                    objNumeroNFs.Add(objNumeroNF);

                    iNumeroNF++;

                }

                return objNumeroNFs;
            }
            catch (Exception)
            {
                throw;
            }
            finally { cx.Close_Conexao(); }

        }