/* ЗАГРУЗКА: Загрузка окна */ 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); } }
/*----------------------------------------------------------------*/ /* Загрузка окна */ 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); }
/* ЗАГРУЗКА: Загрузка окна */ 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; } }
/* Очистка */ 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) + " "; }
/* Загрузка данных из таблицы фирмы*/ 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); } }
/*---------------------------------------------------------*/ /* Сохранить документ */ 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); } } }
/*---------------------------------------------------------*/ /* Сохранить документ */ 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); } } }