Пример #1
0
        /*--------------------------------------------------------------------*/

        /* Удаление выбранного документа */
        void DeleteDoc()
        {
            if (ClassConfig.Rapid_Client_UserRight == "admin" || ClassConfig.Rapid_Client_UserName == listView1.Items[listView1.SelectedIndices[0]].SubItems[5].Text.ToString())
            {
                if (listView1.SelectedIndices.Count > 0)                 // проверка выбранного элемента
                // Удалить документ Расходная Накладная *************************
                {
                    if (listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text.ToString() == "Расходная Накладная")
                    {
                        if (listView1.SelectedItems[0].StateImageIndex == 2)                         // не удалён
                        // Установка отметки удаления
                        {
                            if (MessageBox.Show("Пометить документ на удаление?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                MsSQLShort SQLCommand = new MsSQLShort();
                                SQLCommand.SqlCommand = "UPDATE journal SET journal_delete = 1 WHERE (id_journal = " + listView1.Items[listView1.SelectedIndices[0]].SubItems[6].Text.ToString() + ")";
                                if (SQLCommand.ExecuteNonQuery())
                                {
                                    // ОСТАТКИ: увеличить остатки при удалении
                                    ClassBalance.BalanceRemoval(listView1.Items[listView1.SelectedIndices[0]].SubItems[6].Text.ToString(), true);
                                    // ИСТОРИЯ: Запись в журнал истории обновлений
                                    ClassServer.SaveUpdateInBase(9, DateTime.Now.ToString(), "", "Удаление документа.", "");
                                    ClassForms.Rapid_Client.MessageConsole("Полный журнал: успешное удаление документа.", false);
                                }
                                else
                                {
                                    ClassForms.Rapid_Client.MessageConsole("Полный журнал: Ошибка выполнения запроса к таблице 'Журнал' при удалении документа.", true);
                                }
                            }
                        }
                        else                           // уже уданён
                                                       // Восстановление записи
                        {
                            if (MessageBox.Show("Восстановить документ?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                MsSQLShort SQLCommand = new MsSQLShort();
                                SQLCommand.SqlCommand = "UPDATE journal SET journal_delete = 0 WHERE (id_journal = " + listView1.Items[listView1.SelectedIndices[0]].SubItems[6].Text.ToString() + ")";
                                if (SQLCommand.ExecuteNonQuery())
                                {
                                    // ОСТАТКИ: уменьшить остатки при восстановлении
                                    ClassBalance.BalanceRecovery(listView1.Items[listView1.SelectedIndices[0]].SubItems[6].Text.ToString(), false);
                                    // ИСТОРИЯ: Запись в журнал истории обновлений
                                    ClassServer.SaveUpdateInBase(9, DateTime.Now.ToString(), "", "Восстановление документа.", "");
                                    ClassForms.Rapid_Client.MessageConsole("Полный журнал: успешное восстановление документа.", false);
                                }
                                else
                                {
                                    ClassForms.Rapid_Client.MessageConsole("Склады: Ошибка выполнения запроса к таблице 'Журнал' при восстановлении документа.", true);
                                }
                            }
                        }
                    }
                    //***************************************************************
                }
            }
            else
            {
                ClassForms.Rapid_Client.MessageConsole("Полный журнал: у вас недостаточно прав для удаления выбранного документа.", false);
            }
        }
Пример #2
0
 /* При вводе значения */
 void TextBox1TextChanged(object sender, EventArgs e)
 {
     if (textBox1.Text != "")
     {
         TmcDataLoad(textBox1.Text);                                 // Загрузка данных
     }
     label9.Text = "Остаток на складе: " + ClassBalance.BalanceShow(textBox1.Text, ActualDate) + "  ";
 }
Пример #3
0
        /*----------------------------------------------------------------*/

        /* Загрузка окна */
        void FormClientDocOrderElementLoad(object sender, EventArgs e)
        {
            // Загружаем информацию из констант
            textBox2.Text = ClassSelectConst.constantValue("Ед. измерения");
            if (this.Text == "Новая строка")
            {
                textBox5.Text = ClassSelectConst.constantValue("Вид НДС");
            }
            label9.Text = "Остаток на складе: " + ClassBalance.BalanceShow(textBox1.Text, ActualDate) + "  ";
            ClassForms.Rapid_Client.MessageConsole("Строка заказа: открыто окно обработки строки табличной части документа Заказ.", false);
        }
Пример #4
0
 /* При нажатии на Интер*/
 void TextBox1KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Tab)
     {
         if (textBox1.Text != "")
         {
             TmcDataLoad(textBox1.Text);                                     // Загрузка данных
         }
         label9.Text = "Остаток на складе: " + ClassBalance.BalanceShow(textBox1.Text, ActualDate) + "  ";
     }
 }
Пример #5
0
 /* Очистка */
 void Button2Click(object sender, EventArgs e)
 {
     textBox1.Clear();
     textBox2.Clear();
     textBox3.Text = "0.00";
     textBox4.Text = "0.00";
     textBox5.Text = ClassSelectConst.constantValue("Вид НДС");
     textBox6.Text = "0.00";
     textBox7.Text = "0.00";
     textBox8.Text = "0.00";
     label9.Text   = "Остаток на складе: " + ClassBalance.BalanceShow(textBox1.Text, ActualDate) + "  ";
 }
Пример #6
0
        /*----------------------------------------------------------------*/

        /* СОХРАНЕНИЕ: сохранение данных в таблицу */
        void SaveData()         // созранение данных
        {
            MsSQLShort SQlCommand = new MsSQLShort();

            // При сохранении новой записи
            if (this.Text == "Новая запись.")
            {
                SQlCommand.SqlCommand = "INSERT INTO tmc (tmc_name, tmc_type_tax, tmc_units, tmc_buy, tmc_sale, tmc_store, tmc_additionally, tmc_type, tmc_folder, tmc_delete) VALUES ('" + textBox1.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', " + textBox4.Text + ", " + textBox5.Text + ", '" + textBox7.Text + "', '" + textBox6.Text + "', 0, '" + comboBox1.Text + "', 0)";
                if (SQlCommand.ExecuteNonQuery())
                {
                    // Создание записи в остатках
                    ClassBalance.BalanceNew(textBox1.Text);

                    // ИСТОРИЯ: Запись в журнал истории обновлений
                    ClassServer.SaveUpdateInBase(4, DateTime.Now.ToString(), "", "Создание новой записи.", "");
                    ClassForms.Rapid_Client.MessageConsole("ТМЦ: успешное создание новой записи.", false);
                    Close();
                }
                else
                {
                    ClassForms.Rapid_Client.MessageConsole("ТМЦ: Ошибка выполнения запроса к таблице 'ТМЦ' при создании новой записи.", true);
                }
            }
            // При сохранении измененной записи
            if (this.Text == "Изменить запись.")
            {
                if (ClassConfig.Rapid_Client_UserRight == "admin")
                {
                    SQlCommand.SqlCommand = "UPDATE tmc SET tmc_name = '" + textBox1.Text + "', tmc_type_tax = '" + textBox2.Text + "', tmc_units = '" + textBox3.Text + "', tmc_buy = " + textBox4.Text + ", tmc_sale = " + textBox5.Text + ", tmc_store = '" + textBox7.Text + "', tmc_additionally = '" + textBox6.Text + "', tmc_folder = '" + comboBox1.Text + "' WHERE (id_tmc = " + ActionID + ") ";
                    if (SQlCommand.ExecuteNonQuery())
                    {
                        // Изменение записей в остатках
                        ClassBalance.BalanceEdit(textBox1.Text, editName);

                        // ИСТОРИЯ: Запись в журнал истории обновлений
                        ClassServer.SaveUpdateInBase(4, DateTime.Now.ToString(), "", "Изменение записи.", "");
                        ClassForms.Rapid_Client.MessageConsole("ТМЦ: успешное изменение записи.", false);
                        Close();
                    }
                    else
                    {
                        ClassForms.Rapid_Client.MessageConsole("ТМЦ: Ошибка выполнения запроса к таблице 'ТМЦ' при изменении записи.", true);
                    }
                }
                else
                {
                    MessageBox.Show("Извините но вы '" + ClassConfig.Rapid_Client_UserName + "' не обладаете достаточными правами для ввода изменений.", "Сообщение");
                    ClassForms.Rapid_Client.MessageConsole("Сотрудники: у вас недостаточно прав для ввода изменений.", false);
                }
            }
        }
Пример #7
0
        /* Загрузка данных из таблицы фирмы*/
        void TmcDataLoad(String tmcName)
        {
            MsSQLFull tmcMySQL   = new MsSQLFull();
            DataSet   tmcDataSet = new DataSet();

            tmcDataSet.Clear();
            tmcDataSet.DataSetName    = "tmc";
            tmcMySQL.SelectSqlCommand = "SELECT * FROM tmc WHERE (tmc_name = '" + tmcName + "')";
            if (tmcMySQL.ExecuteFill(tmcDataSet, "tmc"))
            {
                DataTable table = tmcDataSet.Tables["tmc"];
                if (table.Rows.Count > 0)
                {
                    // Наименование ТМЦ
                    textBox2.Text = table.Rows[0]["tmc_units"].ToString();
                    // Количество ТМЦ на складе
                    textBox3.Text = "1.00";
                    label9.Text   = "Остаток на складе: " + ClassBalance.BalanceShow(textBox1.Text, ActualDate) + "  ";
                    // Цена (покупка или продажа)
                    if (BuyOrSell)
                    {
                        textBox4.Text = ClassConversion.StringToMoney(table.Rows[0]["tmc_buy"].ToString());
                    }
                    else
                    {
                        textBox4.Text = ClassConversion.StringToMoney(table.Rows[0]["tmc_sale"].ToString());
                    }
                    // Вид НДС
                    textBox5.Text = table.Rows[0]["tmc_type_tax"].ToString();
                    //Вычисление
                    Calculation();
                }
                else
                {
                    //ТМЦ не найден
                    textBox2.Clear();
                    textBox3.Text = "0.00";
                    textBox4.Text = "0.00";
                    textBox5.Text = ClassSelectConst.constantValue("Вид НДС");
                    textBox6.Text = "0.00";
                    textBox7.Text = "0.00";
                    textBox8.Text = "0.00";
                }
            }
            else
            {
                ClassForms.Rapid_Client.MessageConsole("Заказ: Ошибка при загрузке данных о тмц.", true);
            }
        }
Пример #8
0
        /*---------------------------------------------------------*/

        /* Сохранить документ */
        void SaveDoc()
        {
            // При создании новой записи
            if (this.Text == "Новая документ." || this.Text == "Ввод на основании Заказа.")
            {
                ComingMySQL.SqlCommand = "INSERT INTO journal (journal_id_doc, journal_date, journal_number, journal_user_autor, journal_type, journal_store, journal_firm_buyer, journal_firm_buyer_details, journal_firm_seller, journal_firm_seller_details, journal_staff_trade_representative, journal_typeTax, journal_sum, journal_tax, journal_total, journal_delete) " +
                                         "VALUES ('" + DocID + "', '" + dateTimePicker1.Text + "', '" + textBox1.Text + "', '" + label12.Text + "', 'Приходная Накладная', '" + textBox6.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox5.Text + "', '" + textBox4.Text + "', '', '" + ClassSelectConst.constantValue("Вид НДС") + "', " + labelSum.Text + ", " + labelNDS.Text + ", " + labelTotal.Text + ", 0)";
                if (ComingMySQL.ExecuteNonQuery())
                {
                    if (ComingTS_MySQL.ExecuteUpdate(ComingTS_DataSet, "tabularsection"))
                    {
                        // ОСТАТКИ: Увеличение остатков
                        ClassBalance.BalancePlus(ComingTS_DataSet);

                        /* ОПЕРАЦИЯ: Создание бухгалтерской проводки
                         *          Приобретение товара
                         * Оприходована партия товара 281 / 631
                         * Налоговый кредит (НДС) 641 / 631
                         * Погашена задолженность перед поставщиком 631 / 311
                         */
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "28", "63", labelSum.Text, "Оприходована партия товара", DocID);
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "64", "63", labelNDS.Text, "Налоговый кредит (НДС)", DocID);
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "63", "31", labelTotal.Text, "Погашена задолженность перед поставщиком", DocID);
                        // ИСТОРИЯ: Запись в журнал истории обновлений
                        ClassServer.SaveUpdateInBase(9, DateTime.Now.ToString(), "", "Изменение записи.", "");
                        ClassForms.Rapid_Client.MessageConsole("Полный журнал: успешное создание нового документа Приходная Накладная.", false);
                        // Закрыть окно
                        Close();
                    }
                    else
                    {
                        ClassForms.Rapid_Client.MessageConsole("Приходная Накладная: Ошибка сохранения табличной части.", true);
                    }
                }
                else
                {
                    ClassForms.Rapid_Client.MessageConsole("Приходная Накладная: Ошибка сохранения данных о документе в журнале документов.", true);
                }
            }

            // При изменении записи
            if (this.Text == "Изменить документ.")
            {
                ComingMySQL.SqlCommand = "UPDATE journal SET journal_date = '" + dateTimePicker1.Text + "', journal_number = '" + textBox1.Text + "', journal_user_autor = '" + ClassConfig.Rapid_Client_UserName + "', journal_store = '" + textBox6.Text + "', journal_firm_buyer = '" + textBox2.Text + "', journal_firm_buyer_details = '" + textBox3.Text + "', journal_firm_seller = '" + textBox5.Text + "', journal_firm_seller_details = '" + textBox4.Text + "', journal_staff_trade_representative = '', journal_sum = " + labelSum.Text + ", journal_tax = " + labelNDS.Text + ", journal_total = " + labelTotal.Text + " WHERE (id_journal = " + ActionID + ")";
                if (ComingMySQL.ExecuteNonQuery())
                {
                    if (ComingTS_MySQL.ExecuteUpdate(ComingTS_DataSet, "tabularsection"))
                    {
                        // ОСТАТКИ:  обновление остатков после изменений
                        ClassBalance.BalanceUpdatePlus(OldDS, ComingTS_DataSet);

                        /* ОПЕРАЦИЯ: Создание бухгалтерской проводки
                         *          Приобретение товара
                         * Оприходована партия товара 281 / 631
                         * Налоговый кредит (НДС) 641 / 631
                         * Погашена задолженность перед поставщиком 631 / 311
                         */
                        ClassOperations.OperationDelete(DocID, "");
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "28", "63", labelSum.Text, "Оприходована партия товара", DocID);
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "64", "63", labelNDS.Text, "Налоговый кредит (НДС)", DocID);
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "63", "31", labelTotal.Text, "Погашена задолженность перед поставщиком", DocID);
                        // ИСТОРИЯ: Запись в журнал истории обновлений
                        ClassServer.SaveUpdateInBase(9, DateTime.Now.ToString(), "", "Изменение записи.", "");
                        ClassForms.Rapid_Client.MessageConsole("Полный журнал: успешное сохранены изменения документа Приходная Накладная.", false);
                        // Закрыть окно
                        Close();
                    }
                    else
                    {
                        ClassForms.Rapid_Client.MessageConsole("Приходная Накладная: Ошибка сохранения табличной части.", true);
                    }
                }
                else
                {
                    ClassForms.Rapid_Client.MessageConsole("Приходная Накладная: Ошибка сохранения данных о документе в журнале документов.", true);
                }
            }
        }
Пример #9
0
        /*---------------------------------------------------------*/

        /* Сохранить документ */
        void SaveDoc()
        {
            // При создании новой записи
            if (this.Text == "Новая документ." || this.Text == "Ввод на основании Заказа.")
            {
                ExpenseMySQL.SqlCommand = "INSERT INTO journal (journal_id_doc, journal_date, journal_number, journal_user_autor, journal_type, journal_store, journal_firm_buyer, journal_firm_buyer_details, journal_firm_seller, journal_firm_seller_details, journal_staff_trade_representative, journal_typeTax, journal_sum, journal_tax, journal_total, journal_delete) " +
                                          "VALUES ('" + DocID + "', '" + dateTimePicker1.Text + "', '" + textBox1.Text + "', '" + label12.Text + "', 'Расходная Накладная', '" + textBox6.Text + "', '" + textBox2.Text + "', '" + textBox3.Text + "', '" + textBox5.Text + "', '" + textBox4.Text + "', '" + textBox7.Text + "', '" + ClassSelectConst.constantValue("Вид НДС") + "', " + labelSum.Text + ", " + labelNDS.Text + ", " + labelTotal.Text + ", 0)";
                if (ExpenseMySQL.ExecuteNonQuery())
                {
                    if (ExpenseTS_MySQL.ExecuteUpdate(ExpenseTS_DataSet, "tabularsection"))
                    {
                        // ОСТАТКИ: Уменьшение остатков
                        ClassBalance.BalanceMinus(ExpenseTS_DataSet);

                        /* ОПЕРАЦИЯ: Создание бухгалтерской проводки
                         *          Оптовая торговля
                         * Отгружен товар покупателю и отражен доход от реализации 360 / 702
                         * Отражено налоговое обязательство по НДС 702 / 641
                         * Получена оплата от покупателя 311 / 361
                         */
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "36", "70", labelSum.Text, "Отгружен товар покупателю, доход от реализации", DocID);
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "70", "64", labelNDS.Text, "Отражено налоговое обязательство по НДС", DocID);
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "31", "36", labelTotal.Text, "Получена оплата от покупателя", DocID);
                        // ИСТОРИЯ: Запись в журнал истории обновлений
                        ClassServer.SaveUpdateInBase(9, DateTime.Now.ToString(), "", "Изменение записи.", "");
                        ClassForms.Rapid_Client.MessageConsole("Полный журнал: успешное создание нового документа Расходная накладная.", false);
                        // Закрыть окно
                        Close();
                    }
                    else
                    {
                        ClassForms.Rapid_Client.MessageConsole("Расходная Накладная: Ошибка сохранения табличной части.", true);
                    }
                }
                else
                {
                    ClassForms.Rapid_Client.MessageConsole("Расходная Накладная: Ошибка сохранения данных о документе в журнале документов.", true);
                }
            }

            // При изменении записи
            if (this.Text == "Изменить документ.")
            {
                ExpenseMySQL.SqlCommand = "UPDATE journal SET journal_date = '" + dateTimePicker1.Text + "', journal_number = '" + textBox1.Text + "', journal_user_autor = '" + ClassConfig.Rapid_Client_UserName + "', journal_store = '" + textBox6.Text + "', journal_firm_buyer = '" + textBox2.Text + "', journal_firm_buyer_details = '" + textBox3.Text + "', journal_firm_seller = '" + textBox5.Text + "', journal_firm_seller_details = '" + textBox4.Text + "', journal_staff_trade_representative = '" + textBox7.Text + "', journal_sum = " + labelSum.Text + ", journal_tax = " + labelNDS.Text + ", journal_total = " + labelTotal.Text + " WHERE (id_journal = " + ActionID + ")";
                if (ExpenseMySQL.ExecuteNonQuery())
                {
                    if (ExpenseTS_MySQL.ExecuteUpdate(ExpenseTS_DataSet, "tabularsection"))
                    {
                        // ОСТАТКИ:  обновление остатков после изменений
                        ClassBalance.BalanceUpdateMinus(OldDS, ExpenseTS_DataSet);

                        /* ОПЕРАЦИЯ: Создание бухгалтерской проводки
                         *          Оптовая торговля
                         * Отгружен товар покупателю и отражен доход от реализации 360 / 702
                         * Отражено налоговое обязательство по НДС 702 / 641
                         * Получена оплата от покупателя 311 / 361
                         */
                        ClassOperations.OperationDelete(DocID, "");
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "36", "70", labelSum.Text, "Отгружен товар покупателю, доход от реализации", DocID);
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "70", "64", labelNDS.Text, "Отражено налоговое обязательство по НДС", DocID);
                        ClassOperations.OperationAdd(dateTimePicker1.Text, "31", "36", labelTotal.Text, "Получена оплата от покупателя", DocID);
                        // ИСТОРИЯ: Запись в журнал истории обновлений
                        ClassServer.SaveUpdateInBase(9, DateTime.Now.ToString(), "", "Изменение записи.", "");
                        ClassForms.Rapid_Client.MessageConsole("Полный журнал: успешное сохранены изменения документа Расходная Накладная.", false);
                        // Закрыть окно
                        Close();
                    }
                    else
                    {
                        ClassForms.Rapid_Client.MessageConsole("Расходная Накладная: Ошибка сохранения табличной части.", true);
                    }
                }
                else
                {
                    ClassForms.Rapid_Client.MessageConsole("Расходная Накладная: Ошибка сохранения данных о документе в журнале документов.", true);
                }
            }
        }
Пример #10
0
 /* При потере фокуса */
 void TextBox1LostFocus(object sender, EventArgs e)
 {
     //(Ошибка при открытии на редактирование)// if(textBox1.Text != "") TmcDataLoad(textBox1.Text); // Загрузка данных
     label9.Text = "Остаток на складе: " + ClassBalance.BalanceShow(textBox1.Text, ActualDate) + "   ";
 }