public static dynamic ConnectionString()
        {
            var com1S = new V83.COMConnector
            {
                PoolCapacity = 10,
                PoolTimeout = 60,
                MaxConnections = 2
            };

            //Result = com1S.Connect(@"File='\\srvkb\SolidWorks Admin\TEMP\1C_Test';Usr='******';pwd='';");
            //Result = com1S.Connect(@"File='C:\1C_test_base';Usr='******';pwd='';");
            Result = com1S.Connect("srvr='Srvprog'; ref='Yurchenko_new'; usr='******'; pwd='1'");
            return Result;
        }
Пример #2
0
        private dynamic ConnectToServer()
        {
            dynamic Connection = null;

            try
            {
                Connection = con.Connect($"{Properties.Settings.Default.CS}");
            }
            catch (Exception err)
            {
                MessageBox.Show($"{err.Message}");
                Connection = null;
            }
            return(Connection);
        }
Пример #3
0
 public static void Connect1C(string cs)
 {
     try
     {
         con = new V83.COMConnector
         {
             PoolCapacity   = 10,
             PoolTimeout    = 60,
             MaxConnections = 2
         };
         Base = con.Connect(cs);
     }
     catch (Exception err)
     {
         MessageBox.Show(err.Message);
         return;
     }
 }
Пример #4
0
        /// <summary>
        /// Получение информации с информационной базы
        /// </summary>
        public void GetBaseInfo()
        {
            ClearLog();
            setInfoParameters();
            string connectionStringClientServerDB = "Srvr='" + name_server + "';Ref='" + getNameBase() + "';Usr='******';Pwd='" + pas_1c + "';";

            try
            {
                infoBase = com1s.Connect(connectionStringClientServerDB);

                var    rv = infoBase.NewObject("СистемнаяИнформация");
                string recomendVersion       = rv.ВерсияПриложения;
                string configurationVersion  = infoBase.Метаданные.Синоним + " (" + infoBase.Метаданные.Версия + ")";
                bool   isConfigurationModify = infoBase.КонфигурацияИзменена();

                setPlatformVersion("Версия платформы клиента: " + recomendVersion);
                setConfigVersion("Конфигурация ИБ: " + configurationVersion);
                setAccessUpdate("Доступно обновление конфигурации: " + isConfigurationModify);
            }
            catch (System.Runtime.InteropServices.COMException e) { setLogText(e.Message + " Возможно ИБ заблокирована."); }
        }
Пример #5
0
        private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;
            string           MsgString;

            //создаем пустую базу

            string UpdBase = Dir.Text + @"\UpdBase";

            //string UpdBase = @"C:\UpdBase";
            if (!CreateEmptyBase(UpdBase))
            {
                MsgString = "Не удалось скачать обновления (ошибка подключения)" + Environment.NewLine;
                worker.ReportProgress(100, MsgString);
                return; // "Не удалось скачать обновления (ошибка подключения)";
            }

            //создаем СОМ-соединение

            V83.COMConnector com1s = new V83.COMConnector();
            com1s.PoolCapacity   = 10;
            com1s.PoolTimeout    = 60;
            com1s.MaxConnections = 2;

            string path_connect_file = "File='" + UpdBase + "';";


            try
            {
                DB1C = com1s.Connect(path_connect_file);

                MsgString = "Подключение выполнено успешно" + Environment.NewLine;
                worker.ReportProgress(1, MsgString);
            }
            catch
            {
                MessageBox.Show("Не удалось подключиться");

                MsgString = "Не удалось скачать обновления (ошибка подключения)" + Environment.NewLine;
                worker.ReportProgress(100, MsgString);
                return;// "Не удалось скачать обновления";
            }

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                if ((bool)row.Cells["Up"].Value == true)
                {
                    worker.ReportProgress(1, "");

                    //обнуляем переменные
                    num  = "";
                    NVer = "";
                    u    = false;

                    int Str = row.Index;

                    if ((row.Cells["Address"].Value.ToString() == "") | (row.Cells["Reliz"].Value.ToString() == "") | (row.Cells["Konfig"].Value.ToString() == "") | (row.Cells["Platform"].Value.ToString() == ""))
                    {
                        MsgString = "Проверьте, заполнены ли все поля" + Environment.NewLine;
                        worker.ReportProgress(100, MsgString);
                        break;
                    }

                    string Login_user;
                    if (row.Cells["User"].Value == null)
                    {
                        Login_user = "";
                    }
                    else
                    {
                        Login_user = row.Cells["User"].Value.ToString();
                    }

                    string Pas_user     = row.Cells["Pass"].Value.ToString();
                    string file_db_user = row.Cells["Address"].Value.ToString();
                    string ThisVer      = row.Cells["Reliz"].Value.ToString();
                    string confName     = row.Cells["Konfig"].Value.ToString();
                    string platform     = row.Cells["Platform"].Value.ToString();
                    string Code         = row.Cells["Code"].Value.ToString();


                    MsgString = "===== Начато обновление базы " + file_db_user + " =====" + Environment.NewLine;
                    worker.ReportProgress(10, MsgString);

                    List <string> PathUpd = UpdateUserBase(ThisVer, confName, platform, sender); //получаем пути обновлений
                    //обновляем
                    if (PathUpd.Count > 0)
                    {
                        string Result = BatFile(Login_user, Pas_user, file_db_user, PathUpd, sender);

                        if (u && (Code != "")) //выполнено без ошибок И значение получено из БД
                        {
                            //передаем обратно версию обновления
                            using (Service service = new Service())
                            {
                                service.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12;
                                service.Credentials = new System.Net.NetworkCredential(WS_login, WS_pass);

                                var NumRequest = service.ReturnReliz(Code, NVer);
                            }
                        }
                        SendMessage(Result, sender);

                        MsgString = "===== Обновление завершено =====" + Environment.NewLine;
                        worker.ReportProgress(100, MsgString);
                    }
                    else
                    {
                        MsgString = "Обновление не выполнено" + Environment.NewLine;
                        worker.ReportProgress(100, MsgString);
                    }
                }
            }

            //удаляем СОМ

            if (Directory.Exists(UpdBase))
            {
                try
                {
                    Directory.Delete(UpdBase, true);
                }
                catch { }
            }

            backgroundWorker2.Dispose();
        }