示例#1
0
        public override void TestConnection(LoggerForm logger, string connectionString, string login, string password)
        {
            try
            {
                logger.DefaultBoldText("Тестовое подключение к базе 1С через WEB сервис.\r\n\r\n");
                logger.DefaultText("Инициализация сервиса запросов...");
                using Tabel tabel = new Tabel
                      {
                          Url         = connectionString,
                          SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12,
                          Credentials = new NetworkCredential(Utf8ToWin1251(login), Utf8ToWin1251(password))
                      };
                logger.SuccessText(" ✓ ВЫПОЛНЕНО\r\n");

                logger.DefaultText("Отправка тестового запроса...");
                tabel.GetTabel("", "20200101", "20200101");
                logger.SuccessText(" ✓ ВЫПОЛНЕНО\r\n");

                logger.DefaultBoldText("\r\nТестирование успешно завершено!");
            }
            catch (Exception ex)
            {
                logger.ExceptionText(ex);
                ConnectionStatus = ConnectionStatus.Disconnected;
            }
            finally
            {
                logger.Complete();
            }
        }
示例#2
0
        private void ChangeConnectionState_Click(object sender, RibbonControlEventArgs e)
        {
            switch (_connector.ConnectionStatus)
            {
            case ConnectionStatus.Disconnected:
                new Task(() =>
                {
                    using (var loggerForm = new LoggerForm())
                    {
                        _connector.Connection();
                        UpdateConnectionStatus(_connector.ConnectionStatus);
                        if (_connector.ConnectorType != ConnectorType.WebConnector)
                        {
                            loggerForm.ShowDialog();
                        }
                    };
                }).Start();
                UpdateConnectionStatus(ConnectionStatus.Progress);
                return;

            case ConnectionStatus.Connected:
                if (MessageBox.Show("Отключиться от сервера 1С?", "Предупреждение",
                                    MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                {
                    _connector.Disonnection();
                }
                break;
            }
            UpdateConnectionStatus(_connector.ConnectionStatus);
        }
示例#3
0
 private void LaborIntensityOfProducts_Click(object sender, RibbonControlEventArgs e)
 {
     using var loggerForm = new LoggerForm
           {
               Text = "Работа с трудоемкостю изделий"
           };
     new Task(delegate() { LaborIntensityUpdater.SetLaborIntensityOfProducts(loggerForm); }).Start();
     loggerForm.ShowDialog();
 }
示例#4
0
 private void WeldedAssemblies_Click(object sender, RibbonControlEventArgs e)
 {
     using var loggerForm = new LoggerForm
           {
               Text = "Работа со сварными узлами"
           };
     new Task(delegate() { LaborIntensityUpdater.SetWeldedAssembliesList(loggerForm); }).Start();
     loggerForm.ShowDialog();
 }
示例#5
0
        private void GetWorkedTime_Click(object sender, RibbonControlEventArgs e)
        {
            switch (_connector.ConnectionStatus)
            {
            case (ConnectionStatus.Connected):
                using (var loggerForm = new LoggerForm())
                {
                    new Task(delegate() { _connector.SetWorkingHours(loggerForm); }).Start();
                    loggerForm.ShowDialog();
                }
                break;

            case (ConnectionStatus.Disconnected):
                ChangeConnectionState_Click(sender, e);
                break;

            case (ConnectionStatus.Progress):
                MessageBox.Show(null, "В настоящий момент устанавливается соединение.", "Информация", MessageBoxButtons.OK, MessageBoxIcon.Information);
                break;
            }
        }
示例#6
0
        public override void TestConnection(LoggerForm logger, string connectionString, string login, string password)
        {
            //тестирование соединения происходит с использованием библиотек VisualBasic
            //это необходимо для получения человекочитаемых сообщений при исключениях.
            try
            {
                logger.DefaultBoldText("Тестовое подключение к базе 1С через COM порт.\r\n\r\n");

                logger.DefaultText("Инициализация компонента ActiveX \"V83.COMConnector\"...");
                object COMConnector = RuntimeHelpers.GetObjectValue(Interaction.CreateObject("V83.COMConnector"));
                if (logger.IsClosed)
                {
                    return;
                }
                logger.SuccessText(" ✓ ВЫПОЛНЕНО\r\n");

                logger.DefaultText("Установка соединения с 1С...");
                connectionString = $"{connectionString}Usr=\"{login}\";Pwd =\"{password}\"";
                _ = RuntimeHelpers.GetObjectValue(NewLateBinding.LateGet(COMConnector, null, "Connect", new object[1] {
                    connectionString
                }, null, null, null));
                if (logger.IsClosed)
                {
                    return;
                }
                logger.СustomText(" ✓ ВЫПОЛНЕНО\r\n", Color.Green, FontStyle.Bold);

                logger.СustomText("\r\nТестирование успешно завершено!", Color.Black, FontStyle.Regular);
            }
            catch (Exception ex)
            {
                logger.ExceptionText(ex);
            }
            finally
            {
                logger.Complete();
            }
        }
示例#7
0
 public override void SetWorkingHours(LoggerForm logger)
 {