Пример #1
0
        /* ЗАГРУЗКА: Загрузка окна */
        void WindowLoad()         // Загрузка окна
        {
            // При создании новой записи
            if (this.Text == "Новая документ.")
            {
                // формируем уникальный идентификатор документа
                DocID = "ORDER:" + DateTime.Now.ToString();
                // Загружаем информацию из констант
                textBox6.Text = ClassSelectConst.constantValue("Основной склад");
                textBox5.Text = ClassSelectConst.constantValue("Наша фирма");
                textBox2.Text = ClassSelectConst.constantValue("Покупатель");
                label12.Text  = ClassConfig.Rapid_Client_UserName;
                //формируем табличную часть
                LoadTabularSection();
                ClassForms.Rapid_Client.MessageConsole("Заказ: Создание нового документа.", false);
            }
            // При изменении записи
            if (this.Text == "Изменить документ.")
            {
                // Загружаем основные данные.
                JurnalDataSet.Clear();
                JurnalDataSet.DataSetName    = "journal";
                JurnalMySQL.SelectSqlCommand = "SELECT * FROM journal WHERE (id_journal = " + ActionID + ")";
                if (JurnalMySQL.ExecuteFill(JurnalDataSet, "journal"))
                {
                    // загрузка полученной информации
                    DataTable _table = JurnalDataSet.Tables["journal"];
                    DocID                = _table.Rows[0]["journal_id_doc"].ToString();
                    textBox1.Text        = _table.Rows[0]["journal_number"].ToString();
                    dateTimePicker1.Text = _table.Rows[0]["journal_date"].ToString();
                    label12.Text         = _table.Rows[0]["journal_user_autor"].ToString();
                    // информация о продавец
                    textBox5.Text = _table.Rows[0]["journal_firm_seller"].ToString();
                    textBox4.Text = _table.Rows[0]["journal_firm_seller_details"].ToString();
                    // информация о покупателе
                    textBox2.Text = _table.Rows[0]["journal_firm_buyer"].ToString();
                    textBox3.Text = _table.Rows[0]["journal_firm_buyer_details"].ToString();
                    // информация: склад и торг. представитель.
                    textBox6.Text = _table.Rows[0]["journal_store"].ToString();
                    textBox7.Text = _table.Rows[0]["journal_staff_trade_representative"].ToString();
                    // Загрузка информации итогов
                    labelSum.Text   = ClassConversion.StringToMoney(_table.Rows[0]["journal_sum"].ToString());
                    labelNDS.Text   = ClassConversion.StringToMoney(_table.Rows[0]["journal_tax"].ToString());
                    labelTotal.Text = ClassConversion.StringToMoney(_table.Rows[0]["journal_total"].ToString());
                    // Загрузка информации табличной части.
                    LoadTabularSection();
                }
                else
                {
                    ClassForms.Rapid_Client.MessageConsole("Заказ: Ошибка загрузки основной информации.", true);
                }

                ClassForms.Rapid_Client.MessageConsole("Заказ: Открытие документа для ввода изменений.", false);
            }
        }
Пример #2
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);
        }
Пример #3
0
 /* ЗАГРУЗКА: Загрузка окна */
 void WindowLoad()         // Загрузка окна
 {
     // Загрузка списка доступных папок
     _tmcDataSet.Clear();
     _tmcDataSet.DataSetName    = "tmc";
     _tmcMySQL.SelectSqlCommand = "SELECT * FROM tmc WHERE (tmc_type = 1 AND tmc_delete = 0) ORDER BY tmc_name ASC";
     if (_tmcMySQL.ExecuteFill(_tmcDataSet, "tmc"))
     {
         DataTable table = _tmcDataSet.Tables["tmc"];
         foreach (DataRow row in table.Rows)
         {
             comboBox1.Items.Add(row["tmc_name"].ToString());
         }
     }
     else
     {
         ClassForms.Rapid_Client.MessageConsole("ТМЦ: Ошибка при выгрузке перечня доступных папок.", true);
     }
     // При создании новой записи
     if (this.Text == "Новая запись.")
     {
         // Загружаем информацию из констант
         textBox2.Text = ClassSelectConst.constantValue("Вид НДС");
         textBox3.Text = ClassSelectConst.constantValue("Ед. измерения");
         textBox7.Text = ClassSelectConst.constantValue("Основной склад");
         ClassForms.Rapid_Client.MessageConsole("ТМЦ: Создание новой записи.", false);
     }
     // При изменении записи
     if (this.Text == "Изменить запись.")
     {
         _tmcDataSet.Clear();
         _tmcDataSet.DataSetName    = "tmc";
         _tmcMySQL.SelectSqlCommand = "SELECT * FROM tmc WHERE (id_tmc = " + ActionID + ")";
         if (_tmcMySQL.ExecuteFill(_tmcDataSet, "tmc"))
         {
             DataTable table = _tmcDataSet.Tables["tmc"];
             textBox1.Text  = table.Rows[0]["tmc_name"].ToString();
             textBox2.Text  = table.Rows[0]["tmc_type_tax"].ToString();
             textBox3.Text  = table.Rows[0]["tmc_units"].ToString();
             textBox4.Text  = ClassConversion.StringToMoney(table.Rows[0]["tmc_buy"].ToString());
             textBox5.Text  = ClassConversion.StringToMoney(table.Rows[0]["tmc_sale"].ToString());
             textBox6.Text  = table.Rows[0]["tmc_additionally"].ToString();
             textBox7.Text  = table.Rows[0]["tmc_store"].ToString();
             comboBox1.Text = table.Rows[0]["tmc_folder"].ToString();
             ClassForms.Rapid_Client.MessageConsole("ТМЦ: запись №" + ActionID + " успешно открыта для редактирования.", false);
         }
         else
         {
             ClassForms.Rapid_Client.MessageConsole("ТМЦ: Ошибка выполнения запроса к таблице 'ТМЦ' обращение к записи с идентификатором " + ActionID + " тип записи 'Запись'.", true);
         }
         editName = textBox1.Text;
     }
 }
Пример #4
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) + "  ";
 }
Пример #5
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);
            }
        }
Пример #6
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);
                }
            }
        }
Пример #7
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);
                }
            }
        }