// Заполнение главного окна
        private void InitMainForm()
        {
            // Очистка данных из прошлого сеанса
            AdditionalToolParameters.gostReportToolsArray.Clear();

            // Загружаем параметры инструмента из файла
            AdditionalToolParameters.LoadToolsParameters();

            // Собираем инструмент из текущего документа
            Esprit.Document curDocument = Connect.sEspApp.Document;

            if (curDocument == null)
            {
                Connect.logger.Error("Инициализация формы: пустая ссылка на документ");
            }

            Connect.sEspDocument = curDocument;
            // Идем по списку инструментов в документе
            //currentTool = curDocument.Tools;

            // Идем по списку инструментов в операциях
            currentTool = getOperationTools();

            // Пытаться загрузить пользовательские параметры
            bool bLoadUserParams = true;

            foreach (Tool Tool in currentTool)
            {
                // Добавляем инструмент в массив отчета
                Connect.logger.Info("Инициализация главного окна. Добавление инструмента в список для отчета");

                if (!addReportTool(Tool, bLoadUserParams) && bLoadUserParams)
                {
                    MessageBox.Show("Превышено время ожидания подключения в Базе данных.\nЗначения дополнительных параметров не будут загружены.",
                                    "ОШИБКА", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    bLoadUserParams = false;
                }

                Connect.logger.Info("Инициализация главного окна. Инструмент обавлен в список для отчета");

                Technology toolTech   = (Technology)Tool;
                string[]   reportTool = new string[2];
                reportTool[0] = toolTech.Caption;
                reportTool[1] = toolTech.Name;

                ListViewItem newReportTool = new ListViewItem(reportTool);
                Connect.logger.Info("Инициализация главного окна. Добавление инструмента на форму");
                listDocumentTools.Items.Add(newReportTool);
            }

            // Заполнить таблицу параметров первого инструмента
            Connect.logger.Info("Инициализация главного окна. Заполнение параметров первого инструмента");
            fillFormReportToolParameters(0);
        }
        // Добавить инструмент в список для отчета
        private bool addReportTool(Tool newReportTool, bool loadUserParams)
        {
            bool result = true;

            if (newReportTool == null)
            {
                return(false);
            }

            Connect.logger.Info(String.Format("Инициализация главного окна. Добавление инструмента : {0}", newReportTool.ToolID));

            GostTool gostReportTool = new GostTool(AdditionalToolParameters.getGostTool((int)newReportTool.ToolStyle));

            //gostReportTool = AdditionalToolParameters.getGostTool( (int) newReportTool.ToolStyle);
            if (gostReportTool == null)
            {
                return(false);
            }

            // Сохраняем ID инструмента
            gostReportTool.toolDocumentID = newReportTool.ToolID;
            // Сохраняем Capture
            Technology toolTech = (Technology)newReportTool;

            gostReportTool.toolType = toolTech.Name;

            // Записать значения параметров из инструмента
            Connect.logger.Info("Загрузка значений параметров");
            if (!gostReportTool.addParametersValue(newReportTool, loadUserParams))
            {
                result = false;
            }

            // Добавить инструмент для отчета в массив
            Connect.logger.Info("Добавление инструмента в список для отчета");
            AdditionalToolParameters.gostReportToolsArray.Add(gostReportTool);

            return(result);
        }