mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-17 13:14:11 +00:00
+В списке добавлена группа колонок свойств настроек управляемого приложения
+Добавлена кнопка "Установить..." для установки настроек управляемого приложения выделенным пользователям
+В форме запуска под пользователем добавлен флажок "Режим интерфейса "Такси""
+Запуск под пользователем с флагом "Разрешить отладку" теперь сразу подключает текущий отладчик к запускаемому сеансу
Общее
+Команда "Запустить обычное приложение" теперь в обоих типах управляемого приложения открывает одинаковую форму, в которой добавлен включенный по умолчанию флажок "Текущий пользователь"
+Команда "Запустить связанный тонкий клиент" теперь передает имя текущего пользователя в строке соединения
+При включенной параметром запуска /EnableCheckModal проверке модальности теперь при первом в сеансе открытии любой формы подсистемы предлагается запуск нового сеанса без проверки модальности
Интерфейсная панель.
+В контекстном меню добавлена команда "Связанный динамический список", открывающая единое окно динамического списка, обновляющее список при активизации строки
Динамический список
+Добавлена кнопка "Связанный редактор объекта БД", открывающая прикрепленное окно редактора объекта БД, загружающее объект при активизации строки
+Реализовано автоматическое обновление отображаемых строк при записи объекта в редакторе объекта БД
*Реализован обход ошибки платформы установки табличному полю типа списка независимого непериодического регистра сведений без измерений
Редактор объекта БД
*Увеличена длина дробной части значений отбора набора записей
Контекстная подсказка
*Исправлена ошибка инициализации формы списка слов при отсутствии activex компоненты Forms20
Консоль запросов
*Кнопка "Найти в дереве запроса" теперь доступна только в режиме просмотра узла дерева запроса
*При сохранении узла дерева запроса, текущий узел теперь ищется не по именам, а по индексам узлов
*Исправлено зависание программы при копировании папки дерева запросов
*Исправлено некорректное определение имени узла дерева запроса в некоторых случаях при наличии функции ЗНАЧЕНИЕ(...)
*При выборе основного элемента результата пакетного запроса теперь игнорируются результаты уничтожения таблиц
Редактор табличного документа
+Добавлена кнопка "Сохранить"
3.70
Консоль компоновки данных
+В настройках компоновки в таблице условного оформления добавлен пример оформления текста в колонке "Пример"
Консоль кода
+Добавлено дерево алгоритмов
+Изменен формат файлов на t1c, старый формат f1c доступен только для открытия файлов
*После сохранения в файл теперь сбрасывается модифицированность формы
+Добавлена кнопка объединения с файлом
+Добавлено подменю последних открытых файлов
+Для булевых параметров реализовано отображение флажка
Консоль запросов
+При генерации текста модуля пакетного запроса теперь добавляется установка переменных вида "Индекс_<ИмяЗапроса>=<Индекс>" для всех именованных запросов
+Команде "Найти в дереве" назначено сочетание клавиш CTRL+T
+Для булевых параметров реализовано отображение флажка
*Исправлено некорректное отображение количества строк в дереве результата при наличии выборок итогов
Общее
*Исправлены ошибки работы подсистемы при наличии общего модуля с именем ОбменДанными
*Кнопка "Установить одинаковую ширину для всех колонок" заменена на "Расширить все колонки на 5 символов"
Синтакс-помощник
*Исправлено построение дерева, сломавшееся несколько версий назад
Управление службами серверов 1С
*Исправлена ошибка чтения служб при наличии службы сервера 1С без ключа "range" в строке запуска
Редактор объекта БД
+Для наборов записей добавлена фиксированная колонка картинки вида движения регистра накопления
+По умолчанию для списка движений теперь включен отбор "Только не пустые"
+Кнопка открытия редактора для таблицы движений теперь передает текущую строку
Подбор и обработка объектов
+Реализована поддержка журналов документов в однотабличном режиме
Динамический список
+В режиме выбора в заголовке теперь добавляется "(выбор)"
Интерфейсная панель
+Теперь уважает настройку использования "Динамический список / Основная форма списка"
3.69
Общее
+Вместо форм выбора теперь по умолчанию всегда открывается динамический список
-Кнопка "Редактировать список" для значения отбор компоновки везде удалена, теперь редактирование списка всегда выполняется в расширенном режиме
Динамический список
+Добавлен флажок "Вместо основной" сохраняемый в настройках пользователя в разрезе объектов метаданных, управляющий подменой форм выбора
Консоль компоновки
*Исправлена ошибка команды "переставить с родителем" для группировок колонок и строк таблиц
Контекстная подсказка
*Кнопка "Удалить переносы" теперь еще заменяет двойные кавычки обычными
Конструктор запросов
+Для списка доступных таблиц добавлена закладка-отбор "Параметр"
+При добавлении таблицы-параметра в выбранные таблицы сразу устанавливать тип запроса и имя временной таблицы
Консоль запросов
*Исправлена вычисление группировок итогов с закомментированным словом ОБЩИЕ
+Кнопки выполнения запроса разделены на "Выполнить отображаемый запрос (F7)" и "Выполнить полный запрос (F8)"
Редактор объекта БД
*Исправлена ошибка поиска значения в бизнес процессе
3.68
Редактор констант
+Добавлена частичная поддержка констант с типом значения "Хранилище значения"
Динамический список
+Добавлена кнопка открытия основной формы списка с передачей отбора, текущей строки и владельца формы
*Исправлена свежая ошибки открытия журнала документов
Менеджер табличного поля
*Исправлено ограничение типа значений элементов отбора
Редактор объекта БД
+В элементах управления колонок набора записей и движений реализован учет многострочного режима и других свойств из метаданных
*Исправлена свежая поломка привязок на вкладке "Связанные колонки"
Управление службами 1с
*Исправлено перезаполнение списка при изменении компьютера
Консоль запросов
+Реализовано сохранение и восстановление позиции в тексте запроса при переходе между запросами и переключении режима дерева запроса
+Для поля текста запроса добавлена команда "найти в дереве запроса" (текущую позицию в тексте запроса)
Поиск дублей и замена ссылок
*Исправлена свежая ошибка выполнения замены в иерархическом справочнике без флажка "Изменять поля по связям параметров выбора"
Расширенный ввод значений
+Добавлено распознавание навигационных ссылок
Общее
+Кнопка запуска связанного тонкого клиента теперь при повторном нажатии позволяет открыть в редакторе объекта БД один из открытых в связанном сеансе объектов
Контекстная подсказка
+Включена поддержка 8.3.8 в низкоуровневом получении описаний объектов
3.67
Управление службами серверов 1С
*Устранена ошибка открытия при наличии в строке соединения порта
*Исправлено открытие при ошибках подключения WMI
Консоль компоновки
*Исправлена ошибка расшифровки при наличии пользовательских настроек компоновки
+В панели настроек добавлена закладка "Пользовательские настройки" только для просмотра
+В подменю "Исследовать" добавлена команда "Пользовательские настройки"
+При сохранении варианта настроек добавлен пункт "<Новый>"
+Реализовано перетаскивание полей на строки-коллекции в структуре
Консоль запросов
*Исправлена некорректная работа команды "найти результат" дерева запроса
*Исправлена некорректная работа команды "Встроить из подзапроса" дерева запроса
Конструктор запросов
*Исправлено обновление представления условия связи при перетаскивании элементов отбора между связями
Подбор и обработка объектов
*Исправлены свежие ошибки при обработке подчиненных регистров сведений
Редактор объекта БД
*Исправлена недоступность для изменения основной формы измененного объекта
+Добавлена кнопка "Отрыть основную форму объекта по ссылке"
+При двойном клике по имени регистра в списке движений открывается его форма списка с отбором по регистратору
*Исправлен сломанный несколько версий назад расширенный ввод значений в поле Ссылка
Общее
+В панели инструментов добавлена кнопка "Запустить связанный тонкий клиент"
Интерфейсная панель
+Реализовано явное отображение пустых ссылок в дереве
Динамический список
+Добавлена команда "Редактор объекта БД ячейки"
Поиск дублей и замена ссылок
+При выполнении замены реализовано предотвращение зацикливания уровней путем поднятия до ближайшего корректного родителя
Настройка техножурнала
*Реализован обход проблемы платформы со смещением времени изменения файла на 1ч
3.66
+Добавлен инструмент "Управление службами серверов 1С"
Поиск дублей и замена ссылок
*Исправлена ошибка вывода сообщения об ошибке при отказе в записи независимых регистров сведений
*Исправлено неверное замещение неуникальных записей в подчиненных регистрах сведений
Подбор и обработка объектов
*Исправлены ошибки при работе с подчиненными регистрами сведений
Общее
*Исправлено восстановление пароля в форме подключения СУБД
*Исправлено свежее незапланированное изменение в поведении кнопки "Редактор объекта БД"
Консоль компоновки данных
*Кнопка "Исполняемый запрос" теперь открывает консоль запросов немодально
Различные значения колонки
+Добавлена кнопка "В список"
*Исправлено некорректное вычисление типов значений
Редактор объекта БД
+Реализована поддержка флагов "Многострочный режим" и "Расширенное редактирование" колонок табличных частей и наборов записей
265 lines
19 KiB
Plaintext
265 lines
19 KiB
Plaintext
//ирПортативный Перем ирПортативный Экспорт;
|
||
//ирПортативный Перем ирОбщий Экспорт;
|
||
//ирПортативный Перем ирСервер Экспорт;
|
||
//ирПортативный Перем ирКэш Экспорт;
|
||
//ирПортативный Перем ирПривилегированный Экспорт;
|
||
|
||
Перем мПлатформа Экспорт;
|
||
Перем мСтруктураХраненияSDBL Экспорт;
|
||
Перем мСтруктураХраненияСУБД Экспорт;
|
||
Перем мКомпонентаCDDB;
|
||
Перем мИменаДополнительныхТаблиц Экспорт;
|
||
|
||
Процедура ОбновитьТаблицы() Экспорт
|
||
|
||
Таблицы.Очистить();
|
||
Индексы.Очистить();
|
||
|
||
// Антибаг 8.3.7-8.3.8 https://partners.v8.1c.ru/forum/topic/1486259 Выполнение метода ПолучитьСтруктуруХраненияБазаДанных с фильтром, включающим строку "Константы", приводит к ошибке
|
||
Если Истина
|
||
И ОтборПоМетаданным <> Неопределено
|
||
И ирКэш.Получить().ВерсияПлатформы > 803001
|
||
И Метаданные.РежимСовместимости = Метаданные.СвойстваОбъектов.РежимСовместимости.Версия8_2_13
|
||
Тогда
|
||
ИндексТаблицы = ОтборПоМетаданным.Найти("Константы");
|
||
Если ИндексТаблицы <> Неопределено Тогда
|
||
ОтборПоМетаданным.Удалить(ИндексТаблицы);
|
||
Сообщить("Таблица Константы удалена из фильтра из-за ошибка платформы 8.3");
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
Если ПоказыватьSDBL Тогда
|
||
Если ОтборПоМетаданным = Неопределено Тогда
|
||
мСтруктураХраненияSDBL = ирКэш.ПолучитьСтруктуруХраненияБДЛкс(Ложь);
|
||
Иначе
|
||
мСтруктураХраненияSDBL = ирОбщий.ПолучитьСтруктуруХраненияБДЛкс(ОтборПоМетаданным, Ложь);
|
||
КонецЕсли;
|
||
ЗаполнитьТаблицыИзСтруктурыХранения(мСтруктураХраненияSDBL, Ложь);
|
||
КонецЕсли;
|
||
Если ПоказыватьСУБД Тогда
|
||
Если ОтборПоМетаданным = Неопределено Тогда
|
||
мСтруктураХраненияСУБД = ирКэш.ПолучитьСтруктуруХраненияБДЛкс(Истина);
|
||
Иначе
|
||
мСтруктураХраненияСУБД = ирОбщий.ПолучитьСтруктуруХраненияБДЛкс(ОтборПоМетаданным, Истина);
|
||
КонецЕсли;
|
||
ЗаполнитьТаблицыИзСтруктурыХранения(мСтруктураХраненияСУБД, Истина);
|
||
КонецЕсли;
|
||
РезультирующееПоказыватьРазмеры = ПоказыватьРазмеры И ПоказыватьСУБД;
|
||
Если РезультирующееПоказыватьРазмеры Тогда
|
||
Если ирКэш.ЭтоФайловаяБазаЛкс() Тогда
|
||
ЗаполнитьРазмерыФайлойБазы();
|
||
Иначе
|
||
ЗаполнитьРазмерыБазыMSSQL();
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
Таблицы.Сортировать("Метаданные, ИмяТаблицы, Назначение, ИмяТаблицыХранения, СУБД");
|
||
Индексы.Сортировать("Метаданные, ИмяТаблицы, Назначение, ИмяТаблицыХранения, ИмяИндекса, ИмяИндексаХранения, СУБД");
|
||
|
||
КонецПроцедуры
|
||
|
||
Процедура ЗаполнитьРазмерыБазыMSSQL()
|
||
|
||
СоединениеADO = ирОбщий.ПолучитьСоединениеСУБД();
|
||
Если СоединениеADO = Неопределено Тогда
|
||
Возврат;
|
||
КонецЕсли;
|
||
ТекстЗапроса = ПолучитьМакет("ЗапросРазмеров").ПолучитьТекст();
|
||
РезультатЗапроса = Новый COMОбъект("ADODB.Recordset");
|
||
adOpenStatic = 3;
|
||
adLockOptimistic = 3;
|
||
adCmdText = 1;
|
||
РезультатЗапроса.Open(ТекстЗапроса, СоединениеADO, adOpenStatic, adLockOptimistic, adCmdText);
|
||
//Если СоединениеADO.Properties("Multiple Results").Value <> 0 Тогда
|
||
// // Получаем последний результат пакетной команды
|
||
// Пока Истина Цикл
|
||
// лРезультат = РезультатЗапроса.NextRecordset();
|
||
// Если лРезультат = Неопределено Тогда
|
||
// Прервать;
|
||
// КонецЕсли;
|
||
// РезультатЗапроса = лРезультат;
|
||
// КонецЦикла;
|
||
//КонецЕсли;
|
||
ADOUtils = мПлатформа.ПолучитьADOUtils(Истина, , Истина);
|
||
ТаблицаРезультата = ADOUtils.ADORecordsetToValueTable(РезультатЗапроса);
|
||
Если ОбщаяТаблицаИндексов Тогда
|
||
Для Каждого СтрокаРезультата Из ТаблицаРезультата Цикл
|
||
КлючПоиска = Новый Структура("НИмяТаблицыХранения, НИмяИндексаХранения", НРег(СтрокаРезультата.TableName), НРег(СтрокаРезультата.IndexName));
|
||
СтрокиИндекса = Индексы.НайтиСтроки(КлючПоиска);
|
||
Если СтрокиИндекса.Количество() = 0 Тогда
|
||
Если ОтборПоМетаданным <> Неопределено Тогда
|
||
Продолжить;
|
||
КонецЕсли;
|
||
СтрокаИндекса = Индексы.Добавить();
|
||
ЗаполнитьЗначенияСвойств(СтрокаИндекса, КлючПоиска);
|
||
СтрокаИндекса.ИмяИндексаХранения = СтрокаРезультата.IndexName;
|
||
СтрокаИндекса.ИмяИндекса = СтрокаРезультата.IndexName;
|
||
СтрокаИндекса.ИмяТаблицыХранения = СтрокаРезультата.TableName;
|
||
СтрокаИндекса.ИмяТаблицы = мИменаДополнительныхТаблиц[ВРег(СтрокаРезультата.TableName)];
|
||
Если Не ЗначениеЗаполнено(СтрокаИндекса.ИмяТаблицы) Тогда
|
||
СтрокаИндекса.ИмяТаблицы = СтрокаРезультата.TableName;
|
||
КонецЕсли;
|
||
СтрокаИндекса.Назначение = СтрокаИндекса.ИмяТаблицы;
|
||
СтрокаИндекса.СУБД = Истина;
|
||
Иначе
|
||
СтрокаИндекса = СтрокиИндекса[0];
|
||
КонецЕсли;
|
||
СтрокаИндекса.ТипИндекса = СтрокаРезультата.IndexType;
|
||
СтрокаИндекса.РазмерИндексы = СтрокаРезультата.IndexKB;
|
||
СтрокаИндекса.РазмерОбщий = СтрокаРезультата.ReservedKB;
|
||
КонецЦикла;
|
||
КонецЕсли;
|
||
ТаблицаРезультата.Свернуть("TableName", "IndexKB, ReservedKB, DataKB, Rows");
|
||
Для Каждого СтрокаРезультата Из ТаблицаРезультата Цикл
|
||
СтрокаТаблицы = Таблицы.Найти(НРег(СтрокаРезультата.TableName), "НИмяТаблицыХранения");
|
||
Если СтрокаТаблицы = Неопределено Тогда
|
||
Если ОтборПоМетаданным <> Неопределено Тогда
|
||
Продолжить;
|
||
КонецЕсли;
|
||
СтрокаТаблицы = Таблицы.Добавить();
|
||
СтрокаТаблицы.ИмяТаблицыХранения = СтрокаРезультата.TableName;
|
||
СтрокаТаблицы.НИмяТаблицыХранения = НРег(СтрокаТаблицы.ИмяТаблицыХранения);
|
||
СтрокаТаблицы.ИмяТаблицы = мИменаДополнительныхТаблиц[ВРег(СтрокаРезультата.TableName)];
|
||
Если Не ЗначениеЗаполнено(СтрокаТаблицы.ИмяТаблицы) Тогда
|
||
СтрокаТаблицы.ИмяТаблицы = СтрокаРезультата.TableName;
|
||
КонецЕсли;
|
||
СтрокаТаблицы.Назначение = СтрокаТаблицы.ИмяТаблицы;
|
||
СтрокаТаблицы.СУБД = Истина;
|
||
КонецЕсли;
|
||
СтрокаТаблицы.РазмерИндексы = СтрокаРезультата.IndexKB;
|
||
СтрокаТаблицы.РазмерОбщий = СтрокаРезультата.ReservedKB;
|
||
СтрокаТаблицы.КоличествоСтрок = СтрокаРезультата.Rows;
|
||
СтрокаТаблицы.РазмерЗаписи = СтрокаРезультата.DataKB;
|
||
КонецЦикла;
|
||
|
||
КонецПроцедуры
|
||
|
||
Процедура ЗаполнитьРазмерыФайлойБазы()
|
||
|
||
Компонента1CD = мПлатформа.ПолучитьОбъектВнешнейКомпонентыИзМакета("_1CDLib", "T1CDLib.DB1CD", "T1CDLib", ТипВнешнейКомпоненты.Native);
|
||
ПапкаОб = НСтр(СтрокаСоединенияИнформационнойБазы(), "File");
|
||
ИмяЛога = ПапкаОб + "\logdb1cd.log";
|
||
ИмяФайла = ПапкаОб + "\1cv8.1cd";
|
||
мКомпонентаCDDB = Новый("AddIn.T1CDLib.DB1CD");
|
||
мКомпонентаCDDB.LogLevel=0;
|
||
мКомпонентаCDDB.FileOpeningMode=3;
|
||
//FileDB.OpenLogFile(ИмяЛога);
|
||
#Если Клиент Тогда
|
||
Состояние("Чтение структуры файла");
|
||
#КонецЕсли
|
||
мКомпонентаCDDB.Open1CDFile(ИмяФайла);
|
||
мКомпонентаCDDB.OpenMetadata();
|
||
ВерсияБД = мКомпонентаCDDB.BaseVersion;
|
||
//Элементы.НадписьВерсияБД.Заголовок="Версия БД: "+ВерсияБД;
|
||
ArrayPres = мКомпонентаCDDB.GetTablesArray(Ложь);
|
||
TablesArray = ЗначениеИзСтрокиВнутр(ArrayPres);
|
||
Для TabInd = 1 По TablesArray.Count() Цикл
|
||
TableInfo = TablesArray[TabInd-1];
|
||
СтрокаТаблицы = Таблицы.Найти(НРег(TableInfo.Name), "НИмяТаблицыХранения");
|
||
Если СтрокаТаблицы = Неопределено Тогда
|
||
Если ОтборПоМетаданным <> Неопределено Тогда
|
||
Продолжить;
|
||
КонецЕсли;
|
||
СтрокаТаблицы = Таблицы.Добавить();
|
||
//ТекСтр.НомерПП = TabInd;
|
||
СтрокаТаблицы.ИмяТаблицыХранения = TableInfo.Name;
|
||
СтрокаТаблицы.НИмяТаблицыХранения = НРег(СтрокаТаблицы.ИмяТаблицыХранения);
|
||
СтрокаТаблицы.ИмяТаблицы = мИменаДополнительныхТаблиц[ВРег(TableInfo.Name)];
|
||
Если Не ЗначениеЗаполнено(СтрокаТаблицы.ИмяТаблицы) Тогда
|
||
СтрокаТаблицы.ИмяТаблицы = TableInfo.Name;
|
||
КонецЕсли;
|
||
СтрокаТаблицы.Назначение = СтрокаТаблицы.ИмяТаблицы;
|
||
СтрокаТаблицы.СУБД = Истина;
|
||
//ТекСтр.НазначениеТаблицы = ПолучитьТипТаблицы(TableInfo.Name);
|
||
//ТекСтр.ОписаниеТаблицы=TablePres;
|
||
КонецЕсли;
|
||
СтрокаТаблицы.РазмерЗаписи = Окр(мКомпонентаCDDB.GetObjectSize(TableInfo.RecordsIndex) / 1024);
|
||
СтрокаТаблицы.РазмерБлоб = Окр(мКомпонентаCDDB.GetObjectSize(TableInfo.BlobIndex) / 1024);
|
||
СтрокаТаблицы.РазмерИндексы = Окр(мКомпонентаCDDB.GetObjectSize(TableInfo.IndexesIndex) / 1024);
|
||
СтрокаТаблицы.РазмерОбщий = СтрокаТаблицы.РазмерЗаписи + СтрокаТаблицы.РазмерБлоб + СтрокаТаблицы.РазмерИндексы;
|
||
Если ПоказыватьУдаленные Тогда
|
||
ПолучитьРазмерУдалДанных(TableInfo.Name, СтрокаТаблицы);
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
мКомпонентаCDDB.CloseFile();
|
||
мКомпонентаCDDB.CloseLogFile();
|
||
|
||
КонецПроцедуры
|
||
|
||
Функция ПолучитьРазмерУдалДанных(TabName,ТекСтр)
|
||
РазмерУдал=0;
|
||
РазмерУдалБлоб=0;
|
||
|
||
Если мКомпонентаCDDB.OpenTable(0,TabName) Тогда
|
||
РазмерУдалБлоб=мКомпонентаCDDB.GetDelBlobDataLength(0);
|
||
Рез=мКомпонентаCDDB.MoveToRecord(0,0);
|
||
NextInd=мКомпонентаCDDB.GetNextDelRecordIndex(0);
|
||
КолвоУдал=0;
|
||
Пока Рез И (NextInd>0) Цикл
|
||
КолвоУдал=КолвоУдал+1;
|
||
Рез=мКомпонентаCDDB.MoveToRecord(0,NextInd);
|
||
NextInd=мКомпонентаCDDB.GetNextDelRecordIndex(0);
|
||
КонецЦикла;
|
||
РазмерУдал=КолвоУдал*мКомпонентаCDDB.GetTableRecordLength(0);
|
||
КонецЕсли;
|
||
|
||
мКомпонентаCDDB.CloseTable(0);
|
||
|
||
ТекСтр.РазмерУдаленЗаписи=РазмерУдал;
|
||
ТекСтр.РазмерУдаленБлоб=РазмерУдалБлоб;
|
||
ТекСтр.РазмерУдаленОбщий=ТекСтр.РазмерУдаленЗаписи+ТекСтр.РазмерУдаленБлоб;
|
||
Возврат Истина;
|
||
КонецФункции
|
||
|
||
Процедура ЗаполнитьТаблицыИзСтруктурыХранения(Знач СтруктураХранения, ЭтоСУБД)
|
||
|
||
#Если _ Тогда
|
||
СтруктураХранения = Новый ТаблицаЗначений;
|
||
#КонецЕсли
|
||
Индикатор = ирОбщий.ПолучитьИндикаторПроцессаЛкс(СтруктураХранения.Количество(), "Структура " + ?(ЭтоСУБД, "СУБД", "SDBL"));
|
||
Для Каждого СтрокаСтруктурыХранения Из СтруктураХранения Цикл
|
||
ирОбщий.ОбработатьИндикаторЛкс(Индикатор);
|
||
СтрокаТаблицы = Таблицы.Добавить();
|
||
ЗаполнитьЗначенияСвойств(СтрокаТаблицы, СтрокаСтруктурыХранения);
|
||
СтрокаТаблицы.Поля = СтрокаСтруктурыХранения.Поля.Количество();
|
||
СтрокаТаблицы.Индексы = СтрокаСтруктурыХранения.Индексы.Количество();
|
||
СтрокаТаблицы.СУБД = ЭтоСУБД;
|
||
СтрокаТаблицы.НИмяТаблицыХранения = НРег(СтрокаТаблицы.ИмяТаблицыХранения);
|
||
Если ОбщаяТаблицаИндексов Тогда
|
||
Для Каждого СтрокаХраненияИндекса Из СтрокаСтруктурыХранения.Индексы Цикл
|
||
СтрокаИндекса = Индексы.Добавить();
|
||
ЗаполнитьЗначенияСвойств(СтрокаИндекса, СтрокаТаблицы);
|
||
СтрокаИндекса.ИмяИндекса = ирОбщий.ПолучитьПредставлениеИндексаХраненияЛкс(СтрокаХраненияИндекса, СтрокаТаблицы.СУБД, СтрокаСтруктурыХранения);
|
||
СтрокаИндекса.ИмяИндексаХранения = СтрокаХраненияИндекса.ИмяИндексаХранения;
|
||
СтрокаИндекса.Поля = СтрокаХраненияИндекса.Поля.Количество();
|
||
СтрокаИндекса.НИмяИндексаХранения = НРег(СтрокаИндекса.ИмяИндексаХранения);
|
||
СтрокаИндекса.НИмяТаблицыХранения = НРег(СтрокаИндекса.ИмяТаблицыХранения);
|
||
КонецЦикла;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
ирОбщий.ОсвободитьИндикаторПроцессаЛкс();
|
||
|
||
КонецПроцедуры
|
||
|
||
//ирПортативный #Если Клиент Тогда
|
||
//ирПортативный Контейнер = Новый Структура();
|
||
//ирПортативный Оповестить("ирПолучитьБазовуюФорму", Контейнер);
|
||
//ирПортативный Если Не Контейнер.Свойство("ирПортативный", ирПортативный) Тогда
|
||
//ирПортативный ПолноеИмяФайлаБазовогоМодуля = ВосстановитьЗначение("ирПолноеИмяФайлаОсновногоМодуля");
|
||
//ирПортативный ирПортативный = ВнешниеОбработки.ПолучитьФорму(ПолноеИмяФайлаБазовогоМодуля);
|
||
//ирПортативный КонецЕсли;
|
||
//ирПортативный ирОбщий = ирПортативный.ПолучитьОбщийМодульЛкс("ирОбщий");
|
||
//ирПортативный ирКэш = ирПортативный.ПолучитьОбщийМодульЛкс("ирКэш");
|
||
//ирПортативный ирСервер = ирПортативный.ПолучитьОбщийМодульЛкс("ирСервер");
|
||
//ирПортативный ирПривилегированный = ирПортативный.ПолучитьОбщийМодульЛкс("ирПривилегированный");
|
||
//ирПортативный #КонецЕсли
|
||
|
||
мПлатформа = ирКэш.Получить();
|
||
мИменаДополнительныхТаблиц = Новый Соответствие;
|
||
мИменаДополнительныхТаблиц.Вставить("CONFIG", "КонфигурацияБД");
|
||
мИменаДополнительныхТаблиц.Вставить("CONFIGSAVE", "СохранённаяКонфигурация");
|
||
мИменаДополнительныхТаблиц.Вставить("DBSCHEMA", "СхемаБД");
|
||
мИменаДополнительныхТаблиц.Вставить("FILES", "Файлы");
|
||
мИменаДополнительныхТаблиц.Вставить("PARAMS", "Параметры");
|
||
мИменаДополнительныхТаблиц.Вставить("V8USERS", "Пользователи");
|
||
мИменаДополнительныхТаблиц.Вставить("IBVERSION", "ВерсияИБ");
|