Example #1
0
        /// <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);
                }
            }
        }
Example #2
0
        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);
                    }
                }
            }
        }