示例#1
0
        private void bntSavePereocenka_Click(object sender, EventArgs e)
        {
            int l = dgvPereoc.RowCount;

            if (l == 0)
            {
                MessageBox.Show("Переоценка пустая!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtPereocshtovar.Focus();
                return;
            }

            DialogResult savePereoc = MessageBox.Show("Сохранить Переоценку?", "Сообщение", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (savePereoc == DialogResult.No)
            {
                return;
            }
            else
            {
                string SQLqueryUpdateRcena = "";
                string SQLqueryPereocenka  = "";
                for (int irow = 0; irow < dgvPereoc.Rows.Count; irow++)
                {
                    SQLqueryUpdateRcena = "Update dbase set rcena=" + dgvPereoc.Rows[irow].Cells["newRcena"].Value.ToString().Replace(',', '.') + " where kod='" + dgvPereoc.Rows[irow].Cells["kodT"].Value.ToString() + "'";
                    SQLqueryPereocenka  = "insert into pereocenka (kod_dbase,oldrcena,newrcena,users_bd,date) values('" + dgvPereoc.Rows[irow].Cells["kodT"].Value.ToString() + "'," + dgvPereoc.Rows[irow].Cells["oldRcena"].Value.ToString().Replace(',', '.') + "," + dgvPereoc.Rows[irow].Cells["newRcena"].Value.ToString().Replace(',', '.') + "," + Sform.id_users + ",'" + DateTime.Now.ToString("u").Remove(19) + "')";
                    _SQl.SQL_Query(SQLqueryUpdateRcena);
                    _SQl.SQL_Query(SQLqueryPereocenka);
                }
                exitfrm = "func";
                this.Close();
            }
        }
示例#2
0
        private void btnok_Click(object sender, EventArgs e)
        {
            Classform NewClassfrm = (Classform)this.Owner;

            DataTable DTnclass = _SQl.ExecuteSQL("SELECT max(id) FROM Classt");

            if (txtMinMargin.Text != "" && txtnameclass.Text != "")
            {
                if (DTnclass.Rows[0][0].ToString() == "")
                {
                    int    id_classn           = 1;
                    string txtQueryNewClassAdd = "INSERT INTO Classt VALUES('" + id_classn + "','" + txtnameclass.Text + "'," + txtMinMargin.Text.Replace(',', '.') + ")";
                    _SQl.SQL_Query(txtQueryNewClassAdd);
                }
                else
                {
                    int    id_classn           = Convert.ToInt32(DTnclass.Rows[0][0].ToString()) + 1;
                    string txtQueryNewClassAdd = "INSERT INTO Classt VALUES('" + id_classn + "','" + txtnameclass.Text + "'," + txtMinMargin.Text.Replace(',', '.') + ")";
                    _SQl.SQL_Query(txtQueryNewClassAdd);
                }
            }
            else
            {
                MessageBox.Show("Заполните все поля!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            this.Close();

            NewClassfrm.load_class();
        }
示例#3
0
        //private void saveprihod(string Kod, double Count, double Rcena, double Zcena, string datedok)
        //{
        //    this.Cursor = Cursors.WaitCursor;

        //    double count_s = 0;
        //    int status_dock = 0;

        //    string SqlSelectQuantity = "select Quantity from Dbase where Kod='" + Kod + "'";
        //    DataTable saveprihodTable = _SQl.ExecuteSQL(SqlSelectQuantity);

        //    double Quantity = Convert.ToDouble(saveprihodTable.Rows[0][0].ToString());
        //    if (Quantity < 0)
        //    {
        //        if (Math.Round((Quantity + Count), 3) >= 0)
        //        {
        //            count_s = Math.Round((Count - (Quantity + Count)), 3);

        //            if (count_s == Count)
        //            {
        //                status_dock = 1;
        //            }
        //        }
        //        else
        //        {
        //            count_s = Count;
        //            status_dock = 1;
        //        }
        //    }
        //    Quantity = Math.Round((Quantity + Count), 3);

        //    string txtStxtSQLQuerySaveprihodBase = "update  Dbase set  Quantity =" + Convert.ToString(Quantity).Replace(',', '.') + ",Zcena =" + Convert.ToString(Zcena).Replace(',', '.') + ",Rcena =" + Convert.ToString(Rcena).Replace(',', '.') + " where Kod ='" + Kod + "'";
        //    _SQl.SQL_Query(txtStxtSQLQuerySaveprihodBase);

        //    string SQLQuerySaveprihod = "insert into  Incoming (kod_dbase,count,count_s,zcena,numberdock_mag,id_suppliers,status,datedok,date,numberdock_sup,rcena,users_bd) values ('" + Kod + "'," + Convert.ToString(Count).Replace(',', '.') + "," + count_s.ToString().Replace(',', '.') + "," + Convert.ToString(Zcena).Replace(',', '.') + ",'" + lblNumdokmag.Text + "'," + cmbSup.SelectedValue + "," + status_dock + ",'" + msktxtDateDok.Text + "','" + datedok + "','" + txtDokSup.Text + "'," + Convert.ToString(Rcena).Replace(',', '.') + "," + Sform.id_users + ")";
        //    _SQl.SQL_Query(SQLQuerySaveprihod);

        //    this.Cursor = Cursors.Default;
        //}
        private void saveprihod(string Kod, double Count, double Rcena, double Zcena, string datedok)
        {
            this.Cursor = Cursors.WaitCursor;
            //Блокируем код товара всем потокам для работы с ним по всем запросам
            while (true)
            {
                _SQl.SQL_Query("INSERT INTO BlockT (kod_dbase) Values('" + Kod + "')");
                if (_SQl.uniqBlockT == 0 && _SQl.sql_con.State.ToString() == "Closed")
                {
                    break;
                }
                Thread.Sleep(500);
            }

            double count_s     = 0;
            int    status_dock = 0;

            string    SqlSelectQuantity = "select Quantity from Dbase where Kod='" + Kod + "'";
            DataTable saveprihodTable   = _SQl.ExecuteSQL(SqlSelectQuantity);

            double Quantity = Math.Round(Convert.ToDouble(saveprihodTable.Rows[0][0].ToString()), 3);

            if (Quantity < 0)
            {
                if (Math.Round((Quantity + Count), 3) >= 0)
                {
                    count_s = Math.Round((Count - (Quantity + Count)), 3);

                    if (count_s == Count)
                    {
                        status_dock = 1;
                    }
                }
                else
                {
                    count_s     = Count;
                    status_dock = 1;
                }
            }
            Quantity = Math.Round((Quantity + Count), 3);

            string txtStxtSQLQuerySaveprihodBase = "update  Dbase set  Quantity =" + Convert.ToString(Quantity).Replace(',', '.') + ",Zcena =" + Convert.ToString(Zcena).Replace(',', '.') + ",Rcena =" + Convert.ToString(Rcena).Replace(',', '.') + " where Kod ='" + Kod + "'";


            string SQLQuerySaveprihod = "insert into  Incoming (kod_dbase,count,count_s,zcena,numberdock_mag,id_suppliers,status,datedok,date,numberdock_sup,rcena,users_bd) values ('" + Kod + "'," + Convert.ToString(Count).Replace(',', '.') + "," + count_s.ToString().Replace(',', '.') + "," + Convert.ToString(Zcena).Replace(',', '.') + ",'" + lblNumdokmag.Text + "'," + cmbSup.SelectedValue + "," + status_dock + ",'" + msktxtDateDok.Text + "','" + datedok + "','" + txtDokSup.Text + "'," + Convert.ToString(Rcena).Replace(',', '.') + "," + Sform.id_users + ")";

            //_SQl.SQL_Query(txtStxtSQLQuerySaveprihodBase);
            _SQl.SQL_Query(SQLQuerySaveprihod + ";" + txtStxtSQLQuerySaveprihodBase + ";");
            _SQl.SQL_Query("DELETE FROM BlockT WHERE kod_dbase='" + Kod + "'");
            Thread.Sleep(200);
            this.Cursor = Cursors.Default;
        }
示例#4
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (txtLogin.Text == "")
            {
                MessageBox.Show("Поле ''Пользователь/логин'' пустое", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtLogin.Focus();
                return;
            }
            if (txtPass.Text == "")
            {
                MessageBox.Show("Поле ''Пароль'' пустое", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtPass.Focus();
                return;
            }
            if (txtPass2.Text == "")
            {
                MessageBox.Show("Поле ''Подтвердите пароль'' пустое", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtPass2.Focus();
                return;
            }
            if (cmbaccess.Text == "")
            {
                MessageBox.Show("Поле ''Уровень доступа'' пустое", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                cmbaccess.Focus();
                return;
            }
            if (lblcomp.Text == "!")
            {
                MessageBox.Show("Пароли не совпадают!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtPass.Focus();
                return;
            }
            if (lbllog.Text == "!")
            {
                MessageBox.Show("Такой пользователь уже существует!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtLogin.Focus();
                return;
            }

            if (this.Text == "Редактирование пользователя")
            {
                _SQl.SQL_Query("update users set login='******',pass='******',id_access=" + cmbaccess.SelectedValue + " where id=" + Data.idUser + "");
            }
            else
            {
                _SQl.SQL_Query("insert into users (login,pass,id_access) values('" + txtLogin.Text + "','" + txtPass.Text + "'," + cmbaccess.SelectedValue + ") ");
            }
            Usersform Newuserfrm = (Usersform)this.Owner;

            Newuserfrm.load_users_form();
            this.Close();
        }
示例#5
0
        private void btnNB_Click(object sender, EventArgs e)
        {
            if (dgvCheki.RowCount > 0)
            {
                DialogResult changeNalBez = MessageBox.Show("Изменить тип оплаты?", "Сообщение", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (changeNalBez == DialogResult.No)
                {
                    return;
                }
                else
                {
                    if (dgvCheki.Rows.Count > 0)
                    {
                        int    idrowNB       = dgvCheki.CurrentRow.Index;
                        string type_pay      = dgvCheki.Rows[idrowNB].Cells[3].Value.ToString();
                        int    chek_num      = Convert.ToInt32(dgvCheki.Rows[idrowNB].Cells[0].Value.ToString());
                        string QueryChangeNB = "";

                        if (type_pay == "Н")
                        {
                            QueryChangeNB = "update sales set id_type_pay='Б' where chek=" + chek_num + "";
                        }
                        else
                        {
                            QueryChangeNB = "update sales set id_type_pay='Н' where chek=" + chek_num + "";
                        }
                        _SQl.SQL_Query(QueryChangeNB);
                        btnGurSalesRep.PerformClick();
                    }
                }
            }
        }
示例#6
0
 private void btnInsertCash_Click(object sender, EventArgs e)
 {
     if (txtCash.Text != "" && rtxtcoment.Text != "")
     {
         DateTime date               = DateTime.Now;
         string   datecash           = date.ToString("u").Remove(19);
         string   SQLQueryCashInsert = "insert into Cash(type,cashsum,date,comment,users_bd) values('Внесение'," + Convert.ToInt32(txtCash.Text) + ",'" + datecash + "','" + rtxtcoment.Text + "'," + Sform.id_users + ")";
         _SQl.SQL_Query(SQLQueryCashInsert);
         _SQl.SQL_Query("update source set cash=((Select cash from source)+" + Convert.ToInt32(txtCash.Text) + ")");
         load_cash();
     }
     else
     {
         MessageBox.Show("Заполните поля ''Сумма'' и ''Комментарий'' !", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
 }
示例#7
0
        private void btnSupSaveCH_Click(object sender, EventArgs e)
        {
            Supform SupFrm = (Supform)this.Owner;
            string  QueryNewSuppliersCH = "update suppliers set name='" + txtNameSupCH.Text + "',person='" + txtSupPersonCH.Text + "',phone='" + mskTXTSupphoneCH.Text + "',adress='" + txtSupAdressCH.Text + "' where id=" + (SupFrm.idCH) + "";

            _SQl.SQL_Query(QueryNewSuppliersCH);
            this.Close();
            SupFrm.load_sup_form();
        }
示例#8
0
        private void btnSupSave_Click(object sender, EventArgs e)
        {
            Supform SupFrm            = (Supform)this.Owner;
            string  QueryNewSuppliers = "insert into suppliers(name,person,phone,adress) values('" + txtNameSup.Text + "','" + txtSupPerson.Text + "','" + mskTXTSupphone.Text + "','" + txtSupAdress.Text + "')";

            _SQl.SQL_Query(QueryNewSuppliers);
            this.Close();
            SupFrm.load_sup_form();
        }
示例#9
0
        private void save_new_tovar()
        {
            string eansave = "";

            for (int i = 0; i < lstboxean.Items.Count; i++)
            {
                if (i == lstboxean.Items.Count - 1)
                {
                    eansave = eansave + lstboxean.Items[i].ToString();
                    string ean_mag = _SRC.ean_mag();
                    if (eansave == ean_mag)
                    {
                        ean_mag = eansave.Remove(10, 3) + Convert.ToString((Convert.ToInt32(eansave.Remove(0, 10)) + 1)).PadLeft(3, '0');
                        string QueryUpdateEanMag = "update  source set  ean_mag ='" + ean_mag + "'";
                        _SQl.SQL_Query(QueryUpdateEanMag);
                    }
                    break;
                }
                eansave = eansave + lstboxean.Items[i].ToString() + " ";
            }


            string txtSQLsaveNewTovar = "Insert Into  dbase (kod,name,quantity,zcena,rcena,id_group,id_class,id_brand,id_suppliers,ean,kod_osnova,obem_spisanie,plukod,life_goods) Values('" + lblkod.Text + "','" + lblname.Text + "',0," + txtzcena.Text.Replace(',', '.') + "," + txtrcena.Text.Replace(',', '.') + "," + cmbgroup.SelectedValue + "," + cmbclass.SelectedValue + "," + cmbbrand.SelectedValue + "," + cmbsuppliers.SelectedValue + ",'" + eansave + "','" + txtKodOsnova.Text + "'," + txtObemSpisania.Text.Replace(',', '.') + "," + txtPLUkod.Text + "," + txtLifeGoods.Text + ")";

            _SQl.SQL_Query(txtSQLsaveNewTovar);
        }
示例#10
0
        private void btnok_Click(object sender, EventArgs e)
        {
            Brandform ChangeBrandfrm = (Brandform)this.Owner;
            string    id             = Convert.ToString(ChangeBrandfrm.dgvbrand.Rows[ChangeBrandfrm.dgvbrand.CurrentRow.Index].Cells["id"].Value);

            string txtQueryChangeClass = "UPDATE Brand SET name='" + txtnamebrand.Text + "' WHERE id='" + id + "'";

            _SQl.SQL_Query(txtQueryChangeClass);

            this.Close();

            ChangeBrandfrm.load_brand();
        }
示例#11
0
        private void btnok_Click(object sender, EventArgs e)
        {
            Groupform ChangeGRPfrm = (Groupform)this.Owner;
            string    id           = Convert.ToString(ChangeGRPfrm.dgvgroup.Rows[ChangeGRPfrm.dgvgroup.CurrentRow.Index].Cells["id"].Value);

            string txtQueryChangeClass = "UPDATE groupt SET name='" + txtnamegrp.Text + "' WHERE id='" + id + "'";

            _SQl.SQL_Query(txtQueryChangeClass);

            this.Close();

            ChangeGRPfrm.load_group();
        }
示例#12
0
        private void btnok_Click(object sender, EventArgs e)
        {
            Brandform NewBrandfrm = (Brandform)this.Owner;

            DataTable DTnbrand = _SQl.ExecuteSQL("SELECT max(id) FROM Brand");

            if (DTnbrand.Rows[0][0].ToString() == "")
            {
                int    id_brandn           = 1;
                string txtQueryNewBrandAdd = "INSERT INTO Brand VALUES('" + id_brandn + "','" + txtnamebrand.Text + "')";
                _SQl.SQL_Query(txtQueryNewBrandAdd);
            }
            else
            {
                int    id_brandn           = Convert.ToInt32(DTnbrand.Rows[0][0].ToString()) + 1;
                string txtQueryNewBrandAdd = "INSERT INTO Brand VALUES('" + id_brandn + "','" + txtnamebrand.Text + "')";
                _SQl.SQL_Query(txtQueryNewBrandAdd);
            }


            this.Close();

            NewBrandfrm.load_brand();
        }
示例#13
0
        private void btnok_Click(object sender, EventArgs e)
        {
            Groupform NewGRPsfrm = (Groupform)this.Owner;

            DataTable DTngrp = _SQl.ExecuteSQL("SELECT max(id) FROM Groupt");

            if (DTngrp.Rows[0][0].ToString() == "")
            {
                int    id_grpn             = 1;
                string txtQueryNewClassAdd = "INSERT INTO groupt VALUES('" + id_grpn + "','" + txtnamegrp.Text + "')";
                _SQl.SQL_Query(txtQueryNewClassAdd);
            }
            else
            {
                int    id_grpn             = Convert.ToInt32(DTngrp.Rows[0][0].ToString()) + 1;
                string txtQueryNewClassAdd = "INSERT INTO groupt VALUES('" + id_grpn + "','" + txtnamegrp.Text + "')";
                _SQl.SQL_Query(txtQueryNewClassAdd);
            }


            this.Close();

            NewGRPsfrm.load_group();
        }
示例#14
0
        private void btnok_Click(object sender, EventArgs e)
        {
            Classform ChangeClassfrm = (Classform)this.Owner;
            string    id             = Convert.ToString(ChangeClassfrm.dgvclass.Rows[ChangeClassfrm.dgvclass.CurrentRow.Index].Cells["id"].Value);

            if (txtMinMargin.Text != "" && txtnameclass.Text != "")
            {
                string txtQueryChangeClass = "UPDATE ClassT SET name='" + txtnameclass.Text + "',margin_class=" + txtMinMargin.Text.Replace(',', '.') + " WHERE id='" + id + "'";
                _SQl.SQL_Query(txtQueryChangeClass);
            }
            else
            {
                MessageBox.Show("Заполните все поля!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            this.Close();

            ChangeClassfrm.load_class();
        }
示例#15
0
        private void btnSaveRecvizite_Click(object sender, EventArgs e)
        {
/// ДОписать запрос на изменение______________________________________________________________________________
            string SQlqueryRek = "update source set urliconame='" + txtNameCompany.Text + "'," +
                                 "inn='" + txtINN.Text + "'," +
                                 "ogrn='" + txtOGRN.Text + "'," +
                                 "index_city='" + txtInd.Text + "'," +
                                 "city='" + txtcity.Text + "'," +
                                 "street='" + txtstreet.Text + "'," +
                                 "dom='" + txtDom.Text + "'," +
                                 "stroenie='" + txtStroenie.Text + "'," +
                                 "litera='" + txtLitera.Text + "'";

            _SQl.SQL_Query(SQlqueryRek);
            Sform.urliconame = txtNameCompany.Text;
            Sform.inn        = txtINN.Text;
            Sform.ogrn       = txtOGRN.Text;
            Sform.city       = txtcity.Text;
            Sform.indexcity  = txtInd.Text;
            Sform.street     = txtstreet.Text;
            Sform.dom        = txtDom.Text;
            Sform.stroenie   = txtStroenie.Text;
            Sform.litera     = txtLitera.Text;

            txtNameCompany.Enabled = false;
            txtINN.Enabled         = false;
            txtOGRN.Enabled        = false;
            txtcity.Enabled        = false;
            txtInd.Enabled         = false;
            txtstreet.Enabled      = false;
            txtDom.Enabled         = false;
            txtStroenie.Enabled    = false;
            txtLitera.Enabled      = false;

            MessageBox.Show("Настройки Реквизитов успешно сохранены", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
示例#16
0
        private void GurnalPereocenkiform_Load(object sender, EventArgs e)
        {
            dgvGurPereocenka.Columns.Add("kodT", "Код");
            dgvGurPereocenka.Columns.Add("nameT", "Наименование");
            dgvGurPereocenka.Columns.Add("oldRcena", "Старая цена");
            dgvGurPereocenka.Columns.Add("newRcena", "Новая цена");
            dgvGurPereocenka.Columns.Add("DatePrihod", "Дата Переоценки");
            dgvGurPereocenka.Columns.Add("User_id", "Пользователь");
            DataGridViewCheckBoxColumn chk = new DataGridViewCheckBoxColumn();

            dgvGurPereocenka.Columns.Add(chk);
            chk.HeaderText = "Выбор";
            chk.Name       = "Chek";


            dgvGurPereocenka.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            dgvGurPereocenka.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            dgvGurPereocenka.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            dgvGurPereocenka.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            dgvGurPereocenka.Columns[4].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            dgvGurPereocenka.Columns[5].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            dgvGurPereocenka.Columns[6].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

            dgvGurPereocenka.Columns[0].ReadOnly = true;
            dgvGurPereocenka.Columns[1].ReadOnly = true;
            dgvGurPereocenka.Columns[2].ReadOnly = true;
            dgvGurPereocenka.Columns[3].ReadOnly = true;
            dgvGurPereocenka.Columns[4].ReadOnly = true;
            dgvGurPereocenka.Columns[5].ReadOnly = true;

            dtpPereocenka1.Value = dtpPereocenka1.Value.AddDays(-10);
            dtpPereocenka2.Value = dtpPereocenka2.Value.AddDays(10);
            string CreatTblPereocenka = "CREATE TABLE IF NOT EXISTS Pereocenka(id INTEGER PRIMARY KEY AUTOINCREMENT,kod_dbase TEXT,oldRcena REAL,newRcena REAL,date DATETIME,users_bd int)";

            _SQl.SQL_Query(CreatTblPereocenka);
        }
示例#17
0
        private void rashod_save(string kod, double zcena, double count, string numdok_magR, int id_supR, string numdock_sup, string date_dock_sup, string dateR, string kod_osnova, double obem_spisania, string Name)
        {
            //Дописать списание по виртуальному коду;
//////////////Дописать функию списания расходной накладной, чере FIFO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            //Проверка есть ли привязка на списание к основному товару

            string KODFIFO = "";

            if (obem_spisania > 0)
            {
                KODFIFO = kod_osnova;
                count   = Math.Round((count * obem_spisania), 3);
            }
            else
            {
                KODFIFO = kod;
            }
            //Блокируем код товара всем потокам для работы с ним по всем запросам
            while (true)
            {
                _SQl.SQL_Query("INSERT INTO BlockT (kod_dbase) Values('" + KODFIFO + "')");
                if (_SQl.uniqBlockT == 0 && _SQl.sql_con.State.ToString() == "Closed")
                {
                    break;
                }
                Thread.Sleep(500);
            }
            //Проверка есть ли привязка на списание к основному товару
            double    QTYDBASE         = 0;//количество из dbase
            DataTable QuantityKodTable = new DataTable();


            FifoTableR = _SQl.ExecuteSQL("SELECT numberdock_mag,count,count_s,id FROM incoming WHERE kod_dbase = '" + KODFIFO + "' AND status = '0' order by date");

            QuantityKodTable = _SQl.ExecuteSQL("select quantity from dbase where kod='" + KODFIFO + "'");
            QTYDBASE         = Math.Round((Convert.ToDouble(QuantityKodTable.Rows[0][0].ToString())), 3);//количество товара



            for (int idrow = 0; idrow < FifoTableR.Rows.Count; idrow++)
            {
                string numberdock_mag_incoming = FifoTableR.Rows[idrow][0].ToString();
                double count_incoming          = Convert.ToDouble(FifoTableR.Rows[idrow][1].ToString());
                double count_s_incoming        = Convert.ToDouble(FifoTableR.Rows[idrow][2].ToString());
                double ostatok_incoming        = Math.Round((count_incoming - count_s_incoming), 3);
                int    id_incoming             = Convert.ToInt32(FifoTableR.Rows[idrow][3].ToString());
                // Количество товара больше или равно свободному остатку в таблице прихода
                double CountFIFO = 0;
                if (count >= ostatok_incoming)
                {
                    CountFIFO = Math.Round(ostatok_incoming + count_s_incoming, 3);
                    string txtSQLQueryUpdateIncomingR = "update incoming set count_s =" + Convert.ToString((CountFIFO)).Replace(',', '.') + ", status='1' where id =" + id_incoming + "";
                    //выполнение запроса внизу

                    string txtSQLQueryUpdateOutgoingR = "";
                    if (obem_spisania > 0)
                    {
                        CountFIFO = Math.Round(ostatok_incoming / obem_spisania, 3);
                    }
                    else
                    {
                        CountFIFO = ostatok_incoming;
                    }

                    txtSQLQueryUpdateOutgoingR = "insert into  Outgoing (kod_dbase,count,zcena,numberdock_mag,id_suppliers,date,id_incoming,numberdock_sup,date_dock_sup,users_bd) values ('" + kod + "'," + Convert.ToString(CountFIFO).Replace(',', '.') + "," + Convert.ToString(zcena).Replace(',', '.') + ",'" + numdok_magR + "'," + id_supR + ",'" + dateR + "'," + id_incoming + ",'" + numdock_sup + "','" + date_dock_sup + "'," + Sform.id_users + ")";
                    //выполнение запроса внизу



                    double Quantity = 0;
                    string txtSQLQueryUpdateDbaseR = "";

                    Quantity = Math.Round((QTYDBASE - ostatok_incoming), 3);
                    QTYDBASE = Quantity;
                    txtSQLQueryUpdateDbaseR = "update dbase set quantity=" + Convert.ToString(Quantity).Replace(',', '.') + " where kod='" + KODFIFO + "'";
                    //выполнение запроса внизу

                    _SQl.SQL_Query(txtSQLQueryUpdateIncomingR + ";" + txtSQLQueryUpdateOutgoingR + ";" + txtSQLQueryUpdateDbaseR + ";");
                    //_SQl.SQL_Query(txtSQLQueryUpdateOutgoingR);
                    //_SQl.SQL_Query(txtSQLQueryUpdateDbaseR);

                    count = Math.Round((count - ostatok_incoming), 3);
                    if (count <= 0)
                    {
                        _SQl.SQL_Query("DELETE FROM BlockT WHERE kod_dbase='" + KODFIFO + "'");
                        Thread.Sleep(200);
                        return;
                    }
                }
                else
                {
                    // Количество товара меньше свободного остатка в таблице прихода
                    CountFIFO = Math.Round((count + count_s_incoming), 3);
                    string txtSQLQueryUpdateIncomingR = "update  incoming set  count_s ='" + Convert.ToString(CountFIFO).Replace(',', '.') + "' where id =" + id_incoming + "";
                    //выполнение запроса внизу

                    string txtSQLQueryUpdateOutgoingR = "";
                    if (obem_spisania > 0)
                    {
                        CountFIFO = Math.Round(count / obem_spisania, 3);
                    }
                    else
                    {
                        CountFIFO = count;
                    }
                    txtSQLQueryUpdateOutgoingR = "insert into  Outgoing (kod_dbase,count,zcena,numberdock_mag,id_suppliers,date,id_incoming,numberdock_sup,date_dock_sup,users_bd) values ('" + kod + "'," + Convert.ToString(CountFIFO).Replace(',', '.') + "," + Convert.ToString(zcena).Replace(',', '.') + ",'" + numdok_magR + "'," + id_supR + ",'" + dateR + "'," + id_incoming + ",'" + numdock_sup + "','" + date_dock_sup + "'," + Sform.id_users + ")";
                    //выполнение запроса внизу


                    double Quantity = 0;
                    string txtSQLQueryUpdateDbaseR = "";
                    Quantity = Math.Round((QTYDBASE - count), 3);
                    QTYDBASE = Quantity;

                    txtSQLQueryUpdateDbaseR = "update dbase set quantity=" + Convert.ToString(Quantity).Replace(',', '.') + " where kod='" + KODFIFO + "'";
                    //выполнение запроса внизу

                    _SQl.SQL_Query(txtSQLQueryUpdateIncomingR + ";" + txtSQLQueryUpdateOutgoingR + ";" + txtSQLQueryUpdateDbaseR + ";");
                    //_SQl.SQL_Query(txtSQLQueryUpdateOutgoingR);
                    //_SQl.SQL_Query(txtSQLQueryUpdateDbaseR);

                    count = Math.Round((count - ostatok_incoming), 3);
                    if (count <= 0)
                    {
                        _SQl.SQL_Query("DELETE FROM BlockT WHERE kod_dbase='" + KODFIFO + "'");
                        Thread.Sleep(200);
                        return;
                    }
                }
            }

            // Если нет свободного остатка (расход в минус!!!!!!!!!!!!!!!), а количество товара больше 0!!!!!
            if (count > 0)
            {
                string txtSQLQueryUpdateOutgoingR = "";
                double CountFIFOMinusR            = 0;
                if (obem_spisania > 0)
                {
                    CountFIFOMinusR = Math.Round((count / obem_spisania), 3);
                }
                else
                {
                    CountFIFOMinusR = count;
                }
                txtSQLQueryUpdateOutgoingR = "insert into  Outgoing (kod_dbase,count,zcena,numberdock_mag,id_suppliers,date,id_incoming,numberdock_sup,date_dock_sup,users_bd) values ('" + kod + "'," + Convert.ToString(CountFIFOMinusR).Replace(',', '.') + "," + Convert.ToString(zcena).Replace(',', '.') + ",'" + numdok_magR + "'," + id_supR + ",'" + dateR + "',0,'" + numdock_sup + "','" + date_dock_sup + "'," + Sform.id_users + ")";
                //выполнение запроса внизу

                double Quantity = 0;
                string txtSQLQueryUpdateDbaseR = "";
                Quantity = Math.Round((QTYDBASE - count), 3);
                QTYDBASE = Quantity;

                txtSQLQueryUpdateDbaseR = "update dbase set quantity=" + Convert.ToString(Quantity).Replace(',', '.') + " where kod='" + KODFIFO + "'";

                _SQl.SQL_Query(txtSQLQueryUpdateOutgoingR + ";" + txtSQLQueryUpdateDbaseR + ";");

                //_SQl.SQL_Query(txtSQLQueryUpdateDbaseR);

                count           = 0;
                FlagRashodMinus = 1;
                _SQl.SQL_Query("DELETE FROM BlockT WHERE kod_dbase='" + KODFIFO + "'");
                Thread.Sleep(200);
            }
        }
示例#18
0
        private void button1_Click(object sender, EventArgs e)
        {
            Tform Calcfrm = (Tform)this.Owner;

            int l = Calcfrm.dGV.RowCount;

            if (l == 0)
            {
                MessageBox.Show("Чек пустой!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.txtnal.Focus();
                return;
            }

            string type_pay = "";

            if (chkbBeznal.Checked == true)
            {
                type_pay = "Б";
            }
            else
            {
                type_pay = "Н";
            }
            this.Cursor = Cursors.WaitCursor;
            int cheknow = _SRC.chek();

            string[] ArrMinus = new string[Calcfrm.dGV.Rows.Count];
            int      iArr     = 0;

            for (int i = 0; i < Calcfrm.dGV.Rows.Count; i++)
            {
                string   Kod      = Calcfrm.dGV.Rows[i].Cells[0].Value.ToString();
                string   Name     = Calcfrm.dGV.Rows[i].Cells[1].Value.ToString();
                double   Rcena    = Convert.ToDouble(Calcfrm.dGV.Rows[i].Cells[3].Value.ToString());
                double   Count    = Convert.ToDouble(Calcfrm.dGV.Rows[i].Cells[4].Value.ToString());
                double   Summ     = Convert.ToDouble(Calcfrm.dGV.Rows[i].Cells[5].Value.ToString());
                double   Zcena    = Convert.ToDouble(Calcfrm.dGV.Rows[i].Cells[2].Value.ToString());
                string   kod_osn  = Calcfrm.dGV.Rows[i].Cells[6].Value.ToString();
                double   obem_sps = Convert.ToDouble(Calcfrm.dGV.Rows[i].Cells[7].Value.ToString());
                DateTime date1    = DateTime.Now;
                string   datechek = date1.ToString("u").Remove(19);
                int      chek     = Convert.ToInt32(cheknow);
                //метод списания FIFO

                Calcfrm.Fifo(Kod, Count, Zcena, Rcena, chek, datechek, type_pay, kod_osn, obem_sps, Name);
                if (Calcfrm.FlagSaleMinus == 1)
                {
                    Calcfrm.FlagSaleMinus = 0;
                    ArrMinus[iArr]        = Kod + " - " + Name;
                    iArr++;
                }
            }
            if (ArrMinus[0] != null)
            {
                string messminus = "Внимание продажа в минус: " + Environment.NewLine;
                for (int k = 0; k < iArr; k++)
                {
                    messminus += ArrMinus[k] + Environment.NewLine;
                }
                MessageBox.Show(messminus, "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            if (type_pay == "Н")
            {
                _SQl.SQL_Query("update source set cash=((Select cash from source)+" + Convert.ToInt32(lblSummShek.Text) + ")");
            }

            if (Calcfrm.ckbPrintchek.Checked == true)
            {
                Calcfrm.PrintChek(cheknow.ToString());
            }
            while (Calcfrm.dGV.Rows.Count != 0)
            {
                Calcfrm.dGV.Rows.Remove(Calcfrm.dGV.Rows[Calcfrm.dGV.Rows.Count - 1]);
            }
            Calcfrm.lblSumChekTform.Text = "0";

            this.Cursor = Cursors.Default;

            this.Close();
            Calcfrm.txtShtovar.Focus();
        }
示例#19
0
        public int chek()
        {
            while (true)
            {
                _SQl.SQL_Query("INSERT INTO BlockT (kod_dbase) Values('Check')");
                if (_SQl.uniqBlockT == 0 && _SQl.sql_con.State.ToString() == "Closed")
                {
                    break;
                }
                Thread.Sleep(500);
            }

            string    SqlQueryChek = "select chek from source";
            DataTable ChekTable    = _SQl.ExecuteSQL(SqlQueryChek);
            int       Chek         = Convert.ToInt32(ChekTable.Rows[0][0].ToString());

            Chek += 1;
            string SqlUpdateChek = "Update  Source Set  chek =" + Chek + "";

            _SQl.SQL_Query(SqlUpdateChek);
            Chek -= 1;
            _SQl.SQL_Query("DELETE FROM BlockT WHERE kod_dbase='Check'");
            Thread.Sleep(200);
            return(Chek);
        }
示例#20
0
        private void Sform_Load(object sender, EventArgs e)
        {
            ChekBase chbd = new ChekBase();

            DirectoryInfo dirapp = new DirectoryInfo(Application.StartupPath);

            FileInfo[] fapp = dirapp.GetFiles("*.db");
            if (fapp.Length == 0)
            {
                DialogResult result = MessageBox.Show("Файл базы данных отсутствует!" + Environment.NewLine + " Вы хотите создать новую базу данных?", "Сообщение", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (result == DialogResult.Yes)
                {
                    try
                    {
                        Sform.basename = "magbase.db";
                        Sform.pathDB   = Application.StartupPath + "\\" + Sform.basename;
                        writeSetting();

                        chbd.chek_fields();
                        _SQl.SQL_Query("INSERT INTO Access_bd VALUES(0,'Администратор')");
                        _SQl.SQL_Query("INSERT INTO Access_bd VALUES(1,'Пользователь')");
                        _SQl.SQL_Query("INSERT INTO Users VALUES(1,'Админ','12345',0)");
                        _SQl.SQL_Query("INSERT INTO Source (chek," +
                                       "pref_kod," +
                                       "pref_dok_prihod," +
                                       "pref_dok_rashod," +
                                       "ean_mag," +
                                       "urliconame," +
                                       "kod_mag," +
                                       "number_dok_rashod," +
                                       "number_dok_prihod," +
                                       "min_margin," +
                                       "ogrn," +
                                       "inn," +
                                       "index_city," +
                                       "street," +
                                       "dom," +
                                       "stroenie," +
                                       "litera," +
                                       "PrefVesEan," +
                                       "PLUcount," +
                                       "EAnCount," +
                                       "PLUkodnum," +
                                       "PrinterChek," +
                                       "PrinterDok," +
                                       "City," +
                                       "SMTP," +
                                       "LoginMail," +
                                       "PassMail," +
                                       "ToMail," +
                                       "SubMail," +
                                       "BodyMail," +
                                       "AttachMail," +
                                       "TimerTime," +
                                       "ServerIP," +
                                       "ServerPort," +
                                       "ClientIP," +
                                       "ClientPort," +
                                       "Cash)" +
                                       "VALUES(1," +
                                       "'pi'," +
                                       "'ПР'," +
                                       "'РХ'," +
                                       "'1234567890001'," +
                                       "'ИП Иванов И.И.'," +
                                       "1," +
                                       "1," +
                                       "1," +
                                       "100," +
                                       "123456789012345," +
                                       "123456789012," +
                                       "198000," +
                                       "'ул.Ивановская'," +
                                       "33," +
                                       "'корп.1'," +
                                       "'а'," +
                                       "'22'," +
                                       "'5'," +
                                       "'13'," +
                                       "1," +
                                       "'0'," +
                                       "'0'," +
                                       "'Санкт-Петербург'," +
                                       "'0'," +
                                       "'0'," +
                                       "'0'," +
                                       "'0'," +
                                       "'0'," +
                                       "'0'," +
                                       "'0'," +
                                       "'0'," +
                                       "'127.0.0.1'," +
                                       "'8060'," +
                                       "'0'," +
                                       "'0'," +
                                       "0)");

                        Application.Exit();
                        return;
                    }
                    catch (Exception ex)
                    {
                        //Program.log.Error("Ошибка выполнения запроса: " + ex.Message);
                        _Log.logwrite("Ошибка создания базы данных" + Environment.NewLine
                                      + ex.Message, ex);
                        MessageBox.Show("Ошибка создания базы данных" + Environment.NewLine + ex.Message, "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Application.Exit();
                        return;
                    }
                }
                else
                {
                    Application.Exit();
                    return;
                }
            }

            if (!(File.Exists(props.Fields.XMLFileName)))
            {
                MessageBox.Show("Файл настроек отсутствует", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Application.Exit();
                return;
            }

            readSetting();

            chbd.chek_fields();

            load_source();


            if (GetNumLockState())
            {
                tSSlblNUM.Text = "NUM";
                this.statusStrip.Refresh();
            }
            if (GetScrollLockState())
            {
                tSSSCRL.Text = "SCRL";
                this.statusStrip.Refresh();
            }
            if (GetCapsLockState())
            {
                tSSlblCAPS.Text = "CAPS";
                this.statusStrip.Refresh();
            }


            Thread netchek = new Thread(cheknet);

            netchek.IsBackground = true;
            netchek.Start();

            timerDateTime.Interval = 1000;
            timerDateTime.Enabled  = true;



            Form entryform = new entryform();

            //скрываем форму из панели задач
            //secondForm.ShowInTaskbar = false;
            //устанавливаем форму по центру экрана
            entryform.StartPosition = FormStartPosition.CenterScreen;
            //entryform.WindowState = FormWindowState.Maximized;
            //указываем владельца для формы
            entryform.MdiParent = this;  // где containerInstance - это экземпляр контейнера или указатель на MainForm
            entryform.Show();

            //for (int x = 0; x < this.MdiChildren.Length; x++)
            //{
            //    if (this.MdiChildren[x].Name == "entryform")
            //    {
            //        this.MdiChildren[x].Focus();
            //        return;
            //    }
            //}
        }
示例#21
0
        public void chek_fields()
        {
            string[] baseColName          = { "Access_bd", "Brand", "BlockT", "Cash", "ClassT", "Dbase", "Groupt", "Incoming", "Outgoing", "Pereocenka", "Sales", "Source", "Suppliers", "Users" };
            string[] Access_bd_Fields     = { "id", "LevelUsers" };                          //Access_bd
            string[] Access_bd_FieldsType = { "INTEGER PRIMARY KEY AUTOINCREMENT", "TEXT" }; //Access_bd


            string[] Brand_Fields     = { "id", "name" };                                //"Brand"
            string[] Brand_FieldsType = { "INTEGER PRIMARY KEY AUTOINCREMENT", "TEXT" }; //"Brand"


            string[] ClassT_Fields     = { "id", "name", "margin_class" };                        //"ClassT"
            string[] ClassT_FieldsType = { "INTEGER PRIMARY KEY AUTOINCREMENT", "TEXT", "REAL" }; //"ClassT"


            string[] Dbase_Fields     = { "Kod", "Name", "Quantity", "Zcena", "Rcena", "id_Group", "id_Class", "id_Brand", "id_Suppliers", "EAN", "kod_osnova", "obem_spisanie", "plukod", "life_goods" }; //Dbase
            string[] Dbase_FieldsType = { "TEXT PRIMARY KEY", "TEXT", "REAL", "REAL", "REAL", "INT", "INT", "INT", "INT", "TEXT", "TEXT", "REAL", "INT", "INT" };                                          //Dbase


            string[] Groupt_Fields     = { "id", "name" };                                // Groupt
            string[] Groupt_FieldsType = { "INTEGER PRIMARY KEY AUTOINCREMENT", "TEXT" }; // Groupt


            string[] Incoming_Fields     = { "id", "kod_dbase", "count", "count_s", "zcena", "numberdock_mag", "datedok", "id_suppliers", "status", "date", "numberdock_sup", "rcena", "users_bd" }; // Incoming
            string[] Incoming_FieldsType = { "INTEGER PRIMARY KEY AUTOINCREMENT", "TEXT", "REAL", "REAL", "REAL", "TEXT", "TEXT", "INTEGER", "NUMERIC", "DATETIME", "TEXT", "REAL", "INT" };         // Incoming


            string[] Outgoing_Fields     = { "id", "kod_dbase", "count", "zcena", "numberdock_mag", "id_suppliers", "date", "id_incoming", "numberdock_sup", "date_dock_sup", "users_bd" }; // Outgoing
            string[] Outgoing_FieldsType = { "INTEGER PRIMARY KEY AUTOINCREMENT", "TEXT", "REAL", "REAL", "TEXT", "INTEGER", "DATETIME", "INTEGER", "TEXT", "TEXT", "INT" };                // Outgoing


            string[] Pereocenka_Fields     = { "id", "kod_dbase", "oldRcena", "newRcena", "date", "users_bd" };                  // Pereocenka
            string[] Pereocenka_FieldsType = { "INTEGER PRIMARY KEY AUTOINCREMENT", "TEXT", "REAL", "REAL", "DATETIME", "INT" }; // Pereocenka


            string[] Sales_Fields     = { "Kod", "Rcena", "Count", "Chek", "Date", "Zcena", "numberdock_mag_incoming", "id_incoming", "id_type_pay", "users_bd" }; // Sales
            string[] Sales_FieldsType = { "TEXT", "REAL", "REAL", "INT", "DATETIME", "REAL", "TEXT", "INT", "TEXT", "INT" };                                       // Sales


            string[] Source_Fields     = { "chek", "pref_kod", "pref_dok_prihod", "pref_dok_rashod", "ean_mag", "urliconame", "kod_mag", "number_dok_rashod", "number_dok_prihod", "min_margin", "ogrn", "inn", "index_city", "street", "dom", "stroenie", "litera", "PrefVesEan", "PLUcount", "EAnCount", "PLUkodnum", "PrinterChek", "PrinterDok", "City", "SMTP", "LoginMail", "PassMail", "ToMail", "SubMail", "BodyMail", "AttachMail", "TimerTime", "ServerIP", "ServerPort", "ClientIP", "ClientPort", "Cash" }; // Source
            string[] Source_FieldsType = { "INT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "INT", "INT", "INT", "REAL", "NUMERIC", "NUMERIC", "NUMERIC", "TEXT", "NUMERIC", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "INT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "INT" };                                                                                                                                                              // Source


            string[] Suppliers_Fields     = { "id", "name", "person", "phone", "adress" };                           // Suppliers
            string[] Suppliers_FieldsType = { "INTEGER PRIMARY KEY AUTOINCREMENT", "TEXT", "TEXT", "TEXT", "TEXT" }; // Suppliers


            string[] Users_Fields     = { "id", "login", "pass", "id_access" };                         // Users
            string[] Users_FieldsType = { "INTEGER PRIMARY KEY AUTOINCREMENT", "TEXT", "TEXT", "INT" }; // Users

            string[] Cash_Fields     = { "type", "cashsum", "date", "comment", "users_bd" };            // Cash
            string[] Cash_FieldsType = { "TEXT", "INT", "DATETIME", "TEXT", "INT" };                    // Cash

            string[] BlockT_Fields     = { "kod_dbase" };                                               // Cash
            string[] BlockT_FieldsType = { "TEXT" };                                                    // Cash

            _SQl.SQL_Query("PRAGMA journal_mode=WAL");
            _SQl.SQL_Query("pragma synchronous=1");
            string value = String.Concat <string>(Access_bd_Fields);

            DataTable BaseTable  = _SQl.ExecuteSQL("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name");
            int       countTable = BaseTable.Rows.Count;

            string[] basearray = new string[countTable];

            for (int i = 0; i < BaseTable.Rows.Count - 1; i++)
            {
                basearray[i] = BaseTable.Rows[i][0].ToString();
            }

            for (int itbl = 0; itbl < baseColName.Length; itbl++)
            {
                string fieldsname   = baseColName[itbl].ToString();
                int    searchFields = Array.BinarySearch(basearray, fieldsname);
                if (searchFields >= 0)
                {
                    DataTable BaseTableColumnsFields = _SQl.ExecuteSQL("pragma table_info(" + baseColName[itbl].ToString() + ")");

                    string[] baseColumns = new string[BaseTableColumnsFields.Rows.Count];
                    for (int icol = 0; icol < BaseTableColumnsFields.Rows.Count; icol++)
                    {
                        baseColumns[icol] = BaseTableColumnsFields.Rows[icol][1].ToString();
                    }
                    string ArrayName = baseColName[itbl].ToString() + "_Fields";
                    int    i         = 0;
                    switch (ArrayName)
                    {
                    case "Access_bd_Fields":
                        foreach (string ColumnsName in Access_bd_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Access_bd_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Brand_Fields":
                        foreach (string ColumnsName in Brand_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Brand_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "BlockT_Fields":
                        foreach (string ColumnsName in BlockT_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + BlockT_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Cash_Fields":
                        foreach (string ColumnsName in Cash_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Cash_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "ClassT_Fields":
                        foreach (string ColumnsName in ClassT_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + ClassT_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Dbase_Fields":
                        foreach (string ColumnsName in Dbase_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Dbase_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Groupt_Fields":
                        foreach (string ColumnsName in Groupt_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Groupt_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Incoming_Fields":
                        foreach (string ColumnsName in Incoming_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Incoming_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Outgoing_Fields":
                        foreach (string ColumnsName in Outgoing_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Outgoing_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Pereocenka_Fields":
                        foreach (string ColumnsName in Pereocenka_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("alter TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Pereocenka_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Sales_Fields":
                        foreach (string ColumnsName in Sales_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Sales_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Source_Fields":

                        foreach (string ColumnsName in Source_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Source_FieldsType[i].ToString() + " NOT NULL default(0)");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Suppliers_Fields":
                        foreach (string ColumnsName in Suppliers_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Suppliers_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    case "Users_Fields":
                        foreach (string ColumnsName in Users_Fields)
                        {
                            int searchColumns = Array.IndexOf(baseColumns, ColumnsName);
                            if (searchColumns < 0)
                            {
                                _SQl.SQL_Query("ALTER TABLE " + ArrayName.Remove(ArrayName.IndexOf("_Fields")) + " ADD COLUMN " + ColumnsName + " " + Users_FieldsType[i].ToString() + "");
                            }
                            i++;
                        }
                        i = 0;
                        break;

                    default:
                        Console.WriteLine("Такой язык я не знаю");
                        break;
                    }
                }
                else
                {
                    string createtable = "";
                    string ArrayName   = fieldsname + "_Fields";
                    int    i           = 0;
                    string columnsType = "";
                    switch (ArrayName)
                    {
                    case "Access_bd_Fields":

                        foreach (string ColumnsName in Access_bd_Fields)
                        {
                            if (i != Access_bd_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Access_bd_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Access_bd_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Brand_Fields":
                        foreach (string ColumnsName in Brand_Fields)
                        {
                            if (i != Brand_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Brand_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Brand_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "BlockT_Fields":
                        foreach (string ColumnsName in BlockT_Fields)
                        {
                            if (i != BlockT_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + BlockT_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + BlockT_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Cash_Fields":
                        foreach (string ColumnsName in Cash_Fields)
                        {
                            if (i != Cash_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Cash_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Cash_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "ClassT_Fields":
                        foreach (string ColumnsName in ClassT_Fields)
                        {
                            if (i != ClassT_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + ClassT_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + ClassT_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Dbase_Fields":
                        foreach (string ColumnsName in Dbase_Fields)
                        {
                            if (i != Dbase_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Dbase_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Dbase_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Groupt_Fields":
                        foreach (string ColumnsName in Groupt_Fields)
                        {
                            if (i != Groupt_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Groupt_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Groupt_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Incoming_Fields":
                        foreach (string ColumnsName in Incoming_Fields)
                        {
                            if (i != Incoming_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Incoming_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Incoming_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Outgoing_Fields":
                        foreach (string ColumnsName in Outgoing_Fields)
                        {
                            if (i != Outgoing_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Outgoing_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Outgoing_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Pereocenka_Fields":
                        foreach (string ColumnsName in Pereocenka_Fields)
                        {
                            if (i != Pereocenka_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Pereocenka_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Pereocenka_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Sales_Fields":
                        foreach (string ColumnsName in Sales_Fields)
                        {
                            if (i != Sales_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Sales_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Sales_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Source_Fields":

                        foreach (string ColumnsName in Source_Fields)
                        {
                            if (i != Source_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Source_FieldsType[i].ToString() + " NOT NULL default(0),";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Source_FieldsType[i].ToString() + " NOT NULL default(0)";
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Suppliers_Fields":
                        foreach (string ColumnsName in Suppliers_Fields)
                        {
                            if (i != Suppliers_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Suppliers_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Suppliers_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    case "Users_Fields":
                        foreach (string ColumnsName in Users_Fields)
                        {
                            if (i != Users_Fields.Length - 1)
                            {
                                columnsType = columnsType + ColumnsName + " " + Users_FieldsType[i].ToString() + ",";
                            }
                            else
                            {
                                columnsType = columnsType + ColumnsName + " " + Users_FieldsType[i].ToString();
                            }
                            i++;
                        }
                        createtable = "CREATE TABLE " + fieldsname + " (" + columnsType + ")";
                        _SQl.SQL_Query(createtable);
                        columnsType = "";
                        createtable = "";
                        i           = 0;
                        break;

                    default:
                        //Console.WriteLine("Такой язык я не знаю");
                        break;
                    }
                }
            }
        }