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(); } }
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); }
private void LaborIntensityOfProducts_Click(object sender, RibbonControlEventArgs e) { using var loggerForm = new LoggerForm { Text = "Работа с трудоемкостю изделий" }; new Task(delegate() { LaborIntensityUpdater.SetLaborIntensityOfProducts(loggerForm); }).Start(); loggerForm.ShowDialog(); }
private void WeldedAssemblies_Click(object sender, RibbonControlEventArgs e) { using var loggerForm = new LoggerForm { Text = "Работа со сварными узлами" }; new Task(delegate() { LaborIntensityUpdater.SetWeldedAssembliesList(loggerForm); }).Start(); loggerForm.ShowDialog(); }
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; } }
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(); } }
public override void SetWorkingHours(LoggerForm logger) {