/// <summary> /// Функция работает с информационной базой /// </summary> /// <param name="arguments">Передача аргументов</param> void func(object arguments) { string PathBackup = Properties.Settings.Default.PathBackup; string _date = new _Format().DateNow_(); var argument = (List <Arguments>)arguments; int arg_count = argument.Count; for (int arg_index = 0; arg_index < arg_count; arg_index++) { if (arg_index == 0) { BaseDisconnect(argument, arg_index); } else if (arg_index == 1) { BaseUpload(argument, arg_index); } else if (arg_index == 2) { BaseConnect(argument, arg_index, PathBackup, _date); } } }
public void StartTheard() { Parameters param = new Parameters(); if (File.Exists(my_directory + @"\base.xml")) { param.dataSet1.ReadXml(my_directory + @"\base.xml", XmlReadMode.Auto); } setInfoParameters(); if (!string.IsNullOrEmpty(port_server)) { name_server = name_server.Trim() + ":" + port_server.Trim().Replace("1540", "1541"); } string arguments = ""; int c_t = param.dataSet1.Tables.Count; _Thread t1 = new _Thread(); for (int n_t = 0; n_t < c_t; n_t++) { if (param.dataSet1.Tables[n_t].TableName == "TableBases") { int c_r = param.dataSet1.Tables[n_t].Rows.Count; for (int n_r = 0; n_r < c_r; n_r++) { /// Выполнить три метода /// 1-заблокировать ИБ и отключить всех пользователей /// 2-выгрузить базу данных в файл *.dt /// 3-разблокировать ИБ на подключения пользователей /// List <Arguments> l_arg = new List <Arguments>(); string PathBase = param.dataSet1.Tables[n_t].Rows[n_r].ItemArray[0].ToString(); string PrifexBase = param.dataSet1.Tables[n_t].Rows[n_r].ItemArray[2].ToString(); string _date = new _Format().DateNow_(); /// Заблокировать ИБ и отключить всех пользователей if (!string.IsNullOrEmpty(name_server)) { arguments = @"" + PathBase; l_arg.Add(new Arguments() { Name = arguments }); } /*{ * arguments = @"" + " ENTERPRISE /F\"" + PathBase + "\" /N\"" + user_1c + "\" /P\"" + pas_1c + "\" /DisableStartupMessages /C\"ЗавершитьРаботуПользователей\" /Out\"" + path_log + "\\" + PrifexBase + "_" + "log1.txt\""; * } * else * { * arguments = @"" + " ENTERPRISE /S\"" + name_server + "\\" + PathBase + "\" /N\"" + user_1c + "\" /P\"" + pas_1c + "\" /DisableStartupMessages /C\"ЗавершитьРаботуПользователей\" /UC\"" + key_access + "\" /Out\"" + path_log + "\\" + PrifexBase + "_" + "log1.txt\""; * } * l_arg.Add(new Arguments() { Name = arguments }); */ /// Выгрузка ИБ if (string.IsNullOrEmpty(name_server)) { arguments = @"" + " DESIGNER /F\"" + PathBase + "\" /N\"" + user_1c + "\" /P\"" + pas_1c + "\" /UC" + key_access + " /DisableStartupMessages /DumpIB\"" + path_backup + "\\" + PrifexBase + "_" + _date + ".dt" + "\" /DumpResult " + path_log + "\\" + PrifexBase + "Result.txt\" /Out\"" + path_log + "\\" + PrifexBase + "_" + "log2.txt\""; } else { arguments = @"" + " DESIGNER /S\"" + name_server + "\\" + PathBase + "\" /N\"" + user_1c + "\" /P\"" + pas_1c + "\" /UC" + key_access + " /DisableStartupMessages /DumpIB\"" + path_backup + "\\" + PrifexBase + "_" + _date + ".dt" + "\" /DumpResult " + path_log + "\\" + PrifexBase + "Result.txt\" /Out\"" + path_log + "\\" + PrifexBase + "_" + "log2.txt\""; } l_arg.Add(new Arguments() { Name = arguments }); /// Разблокировать ИБ на подключения пользователей if (!string.IsNullOrEmpty(name_server)) { arguments = @"" + PathBase; l_arg.Add(new Arguments() { Name = arguments }); } /*{ * arguments = @"" + " ENTERPRISE /F\"" + PathBase + "\" /N\"" + user_1c + "\" /P\"" + pas_1c + "\" /C\"РазрешитьРаботуПользователей\" /UC" + key_access + " /Out\"" + path_log + "\\" + PrifexBase + "_" + "log3.txt\""; * } * else * { * arguments = @"" + " ENTERPRISE /S\"" + name_server + "\\" + PathBase + "\" /N\"" + user_1c + "\" /P\"" + pas_1c + "\" /C\"РазрешитьРаботуПользователей\" /UC" + key_access + " /Out\"" + path_log + "\\" + PrifexBase + "_" + "log3.txt\""; * } * l_arg.Add(new Arguments() { Name = arguments }); */ t1.myThread("1C8Backup", l_arg, PathBase, PrifexBase, m_maildata); } } } }