mirror of
https://github.com/tormozit/RDT1C.git
synced 2025-12-17 13:14:11 +00:00
Загрузка табличных данных
+Редактирование и хранение алгоритмов переделано на новый механизм с поддержкой внутренних параметров
+При заполнении колонок таблицы значений по табличному документу и конвертации значений теперь учитываются расшифровки ячеек
Таблица значений
+Команда "Получить"/"из табличного документа" теперь открывает инструмент "Загрузка табличных данных"
+Добавлена команда "Передать"/"в сравнитель"
Табличный документ
+Добавлена команда "Загрузить в таблицу значений"
Общее
*Размеры логотипа подсистемы изменены на 24x24
*Исправлена запуск приложения из управляемой формы с флажком "Подключиться к отладчику", который мог некорректно находить текущие параметры http отладки
Конструктор запроса
+Для таблицы выбранных полей включено множественное выделение строк
*Исправлена свежая проблема не заполнения параметров по тексту запроса
Консоль запросов
*При активизации строки дерева запроса теперь выполняется поиск элемента пакетного результата только при включенной панели пакета
*Исправлены свежие проблемы накопления и не заполнения параметров при работе с конструктором запросов ИР
+Для таблицы параметров добавлена команда "Заменить на ЗНАЧЕНИЕ()"
Портативный
*Устранено дублирование баз с квадратными скобками в списке пользователя при сохранении в окне "Список инструментов и общие настройки"
Подбор и обработка объектов
*Исправлена ошибка обработки следующего объекта после отображения модального окна при обработке текущего объекта
430 lines
34 KiB
Plaintext
430 lines
34 KiB
Plaintext
//ирПортативный Перем ирПортативный Экспорт;
|
||
//ирПортативный Перем ирОбщий Экспорт;
|
||
//ирПортативный Перем ирСервер Экспорт;
|
||
//ирПортативный Перем ирКэш Экспорт;
|
||
//ирПортативный Перем ирПривилегированный Экспорт;
|
||
|
||
Процедура ЗаполнитьСписокПользователей() Экспорт
|
||
|
||
ПользователиИБ.Очистить();
|
||
СписокПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей();
|
||
Для Каждого ТекПользователь Из СписокПользователей Цикл
|
||
СтрокаПользователя = ПользователиИБ.Добавить();
|
||
СтрокаПользователя.ИмяПользователя = ТекПользователь.Имя;
|
||
КонецЦикла;
|
||
ПользователиИБ.Сортировать("ИмяПользователя");
|
||
|
||
КонецПроцедуры
|
||
|
||
//////////////
|
||
//Талица форм
|
||
|
||
Процедура ДобавитьФормуВТаблицу(ПолноеИмяОбъекта, ПредставлениеОбъекта, ТипОбъекта, ВидОбъекта, КартинкаОбъекта)
|
||
|
||
СтрокаФ = ФормыИБ.Добавить();
|
||
СтрокаФ.ПолноеИмяОбъекта = ПолноеИмяОбъекта;
|
||
СтрокаФ.ИмяОбъекта = ирОбщий.ПолучитьПоследнийФрагментЛкс(ПолноеИмяОбъекта); // Неоптимально
|
||
СтрокаФ.ТипОбъекта = ТипОбъекта;
|
||
СтрокаФ.ВидОбъекта = ВидОбъекта;
|
||
СтрокаФ.ПредставлениеОбъекта = ПредставлениеОбъекта;
|
||
|
||
КонецПроцедуры
|
||
|
||
Функция КартинкаПоТипуОбъекта(ТипОбъекта) Экспорт
|
||
|
||
Если ТипОбъекта = "Общие" Тогда
|
||
Возврат БиблиотекаКартинок.Форма;
|
||
//ИначеЕсли ТипОбъекта = "Справочник" Тогда
|
||
// Возврат БиблиотекаКартинок.Справочник;
|
||
//ИначеЕсли ТипОбъекта = "КритерийОтбора" Тогда
|
||
// Возврат БиблиотекаКартинок.КритерийОтбора;
|
||
//ИначеЕсли ТипОбъекта = "ХранилищеНастроек" Тогда
|
||
// Возврат БиблиотекаКартинок.ХранилищеНастроек;
|
||
//ИначеЕсли ТипОбъекта = "Документ" Тогда
|
||
// Возврат БиблиотекаКартинок.Документ;
|
||
//ИначеЕсли ТипОбъекта = "ЖурналДокументов" Тогда
|
||
// Возврат БиблиотекаКартинок.ЖурналДокументов;
|
||
//ИначеЕсли ТипОбъекта = "Перечисление" Тогда
|
||
// Возврат БиблиотекаКартинок.Перечисление;
|
||
//ИначеЕсли ТипОбъекта = "Отчет" Тогда
|
||
// Возврат БиблиотекаКартинок.Отчет;
|
||
//ИначеЕсли ТипОбъекта = "Обработка" Тогда
|
||
// Возврат БиблиотекаКартинок.Обработка;
|
||
//ИначеЕсли ТипОбъекта = "РегистрСведений" Тогда
|
||
// Возврат БиблиотекаКартинок.РегистрСведений;
|
||
//ИначеЕсли ТипОбъекта = "РегистрНакопления" Тогда
|
||
// Возврат БиблиотекаКартинок.РегистрНакопления;
|
||
//ИначеЕсли ТипОбъекта = "ПланВидовХарактеристик" Тогда
|
||
// Возврат БиблиотекаКартинок.ПланВидовХарактеристик;
|
||
//ИначеЕсли ТипОбъекта = "ПланСчетов" Тогда
|
||
// Возврат БиблиотекаКартинок.ПланСчетов;
|
||
//ИначеЕсли ТипОбъекта = "РегистрБухгалтерии" Тогда
|
||
// Возврат БиблиотекаКартинок.РегистрБухгалтерии;
|
||
//ИначеЕсли ТипОбъекта = "ПланВидовРасчета" Тогда
|
||
// Возврат БиблиотекаКартинок.ПланВидовРасчета;
|
||
//ИначеЕсли ТипОбъекта = "РегистрРасчета" Тогда
|
||
// Возврат БиблиотекаКартинок.РегистрРасчета;
|
||
//ИначеЕсли ТипОбъекта = "БизнесПроцесс" Тогда
|
||
// Возврат БиблиотекаКартинок.БизнесПроцесс;
|
||
//ИначеЕсли ТипОбъекта = "Задача" Тогда
|
||
// Возврат БиблиотекаКартинок.Задача;
|
||
Иначе
|
||
Попытка
|
||
Возврат БиблиотекаКартинок[ТипОбъекта];
|
||
Исключение
|
||
Возврат Новый Картинка;
|
||
КонецПопытки;
|
||
КонецЕсли;
|
||
|
||
КонецФункции // ПолучитьКартинкуПоВидуОбъекта()
|
||
|
||
Процедура ПолучитьСписокФорм() Экспорт
|
||
|
||
ФормыИБ.Очистить();
|
||
Для Каждого Форма Из Метаданные.ОбщиеФормы Цикл
|
||
ДобавитьФормуВТаблицу("ОбщаяФорма." + Форма.Имя, "Общая форма." + Форма.Синоним, "Общие", "ОбщиеФормы", КартинкаПоТипуОбъекта("Общие"));
|
||
КонецЦикла;
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаОбъекта", "Форма объекта");
|
||
ИменаСтандартныхФорм.Добавить("ФормаГруппы", "Форма группы");
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбора", "Форма выбора");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбораГруппы", "Форма выбора группы");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.Справочники, "Справочник", "Справочник", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("Форма", "Форма");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.КритерииОтбора, "КритерийОтбора", "Критерий отбора", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаСохранения", "Форма сохранения");
|
||
ИменаСтандартныхФорм.Добавить("ФормаЗагрузки", "Форма выбора");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.ХранилищаНастроек, "ХранилищеНастроек", "Хранилище настроек", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаОбъекта", "Форма объекта");
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбора", "Форма выбора");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.Документы, "Документ", "Документ", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("Форма", "Форма");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.ЖурналыДокументов, "ЖурналДокументов", "Журнал документов", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбора", "Форма выбора");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.Перечисления, "Перечисление", "Перечисление", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("Форма", "Форма");
|
||
ИменаСтандартныхФорм.Добавить("ФормаНастроек", "Форма настроек");
|
||
ИменаСтандартныхФорм.Добавить("ФормаВарианта", "Форма варианта");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.Отчеты, "Отчет", "Отчет", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("Форма", "Форма");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.Обработки, "Обработка", "Обработка", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаЗаписи", "Форма записи");
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.РегистрыСведений, "РегистрСведений", "Регистр сведений", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.РегистрыНакопления, "РегистрНакопления", "Регистр накопления", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаОбъекта", "Форма объекта");
|
||
ИменаСтандартныхФорм.Добавить("ФормаГруппы", "Форма группы");
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбора", "Форма выбора");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбораГруппы", "Форма выбора группы");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.ПланыВидовХарактеристик, "ПланВидовХарактеристик", "План видов характеристик", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаОбъекта", "Форма объекта");
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбора", "Форма выбора");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.ПланыСчетов, "ПланСчетов", "План счетов", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.РегистрыБухгалтерии, "РегистрБухгалтерии", "Регистр бухгалтерии", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаОбъекта", "Форма объекта");
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбора", "Форма выбора");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.ПланыВидовРасчета, "ПланВидовРасчета", "План видов расчета", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.РегистрыРасчета, "РегистрРасчета", "Регистр расчета", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаОбъекта", "Форма объекта");
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбора", "Форма выбора");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.БизнесПроцессы, "БизнесПроцесс", "Бизнес процесс", ИменаСтандартныхФорм);
|
||
|
||
ИменаСтандартныхФорм = Новый СписокЗначений;
|
||
ИменаСтандартныхФорм.Добавить("ФормаОбъекта", "Форма объекта");
|
||
ИменаСтандартныхФорм.Добавить("ФормаСписка", "Форма списка");
|
||
ИменаСтандартныхФорм.Добавить("ФормаДляВыбора", "Форма выбора");
|
||
ПолучитьСписокФормОбъектаМетаданных(Метаданные.Задачи, "Задача", "Задача", ИменаСтандартныхФорм);
|
||
|
||
КонецПроцедуры
|
||
|
||
Процедура ПолучитьСписокФормОбъектаМетаданных(СписокОбъектовМетаданных, ИмяОбъектаМетаданных, ПредставлениеОбъектаМетаданных, ИменаСтандартныхФорм)
|
||
|
||
Индикатор = ирОбщий.ПолучитьИндикаторПроцессаЛкс(СписокОбъектовМетаданных.Количество(), ПредставлениеОбъектаМетаданных + ".Формы");
|
||
Для Каждого Объект Из СписокОбъектовМетаданных Цикл
|
||
ирОбщий.ОбработатьИндикаторЛкс(Индикатор);
|
||
Префикс = ИмяОбъектаМетаданных + "." + Объект.Имя;
|
||
ПрефиксПредставления = ПредставлениеОбъектаМетаданных + "." + Объект.Синоним;
|
||
ПолучитьСписокФормИзСпискаМетаданныхФорм(Префикс, ПрефиксПредставления, Объект.Формы, ИмяОбъектаМетаданных, Объект.Имя);
|
||
Для Каждого ИмяСтандартнойФормы Из ИменаСтандартныхФорм Цикл
|
||
ДобавитьСтандартнуюФорму(Префикс, ПрефиксПредставления, Объект, ИмяСтандартнойФормы.Значение, ИмяСтандартнойФормы.Представление, ИмяОбъектаМетаданных, Объект.Имя);
|
||
КонецЦикла;
|
||
КонецЦикла;
|
||
ирОбщий.ОсвободитьИндикаторПроцессаЛкс();
|
||
|
||
КонецПроцедуры
|
||
|
||
Процедура ПолучитьСписокФормИзСпискаМетаданныхФорм(Префикс, ПрефиксПредставления, МетаданныеФорм, ИмяОбъектаМетаданных, ИмяВидаОбъекта)
|
||
|
||
Для Каждого Форма Из МетаданныеФорм Цикл
|
||
ДобавитьФормуВТаблицу(Префикс + ".Форма." + Форма.Имя, ПрефиксПредставления + "." + Форма.Синоним, ИмяОбъектаМетаданных, ИмяВидаОбъекта, КартинкаПоТипуОбъекта(ИмяОбъектаМетаданных));
|
||
КонецЦикла;
|
||
|
||
КонецПроцедуры
|
||
|
||
Процедура ДобавитьСтандартнуюФорму(Префикс, ПрефиксПредставления, ОбъектМетаданных, ИмяОбъекта, ПредставлениеОбъекта, ИмяОбъектаМетаданных, ИмяВидаОбъекта)
|
||
|
||
Если ОбъектМетаданных["Основная" + ИмяОбъекта] = Неопределено Тогда
|
||
ДобавитьФормуВТаблицу(Префикс + "." + ИмяОбъекта, ПрефиксПредставления + "." + ПредставлениеОбъекта, ИмяОбъектаМетаданных, ИмяВидаОбъекта, КартинкаПоТипуОбъекта(ИмяОбъектаМетаданных));
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
|
||
//////////////
|
||
|
||
Функция ПолучитьМенеджерХранилищаПоИмени(ИмяРаздела)
|
||
|
||
Если ИмяРаздела = "ХранилищеСистемныхНастроек" Тогда
|
||
Возврат ХранилищеСистемныхНастроек;
|
||
ИначеЕсли ИмяРаздела = "ХранилищеОбщихНастроек" Тогда
|
||
Возврат ХранилищеОбщихНастроек;
|
||
ИначеЕсли ИмяРаздела = "ХранилищеНастроекДанныхФорм" Тогда
|
||
Возврат ХранилищеНастроекДанныхФорм;
|
||
ИначеЕсли ИмяРаздела = "ХранилищеВариантовОтчетов" Тогда
|
||
Возврат ХранилищеВариантовОтчетов;
|
||
ИначеЕсли ИмяРаздела = "ХранилищеПользовательскихНастроекОтчетов" Тогда
|
||
Возврат ХранилищеПользовательскихНастроекОтчетов;
|
||
Иначе
|
||
Возврат ХранилищаНастроек[ИмяРаздела];
|
||
КонецЕсли;
|
||
|
||
КонецФункции // ()
|
||
|
||
Процедура ПолучитьОписаниеНастроек(ПользователиНазначения, ФормыНазначения, ИмяРаздела) Экспорт
|
||
|
||
ОписаниеНастроек.Очистить();
|
||
ПредставлениеОтбораЗагрузки = "Пользователи";
|
||
Если ПользователиНазначения.Количество() > 0 Тогда
|
||
ОтборЗагрузкиПользователи = ирОбщий.РасширенноеПредставлениеЗначенияЛкс(ПользователиНазначения);
|
||
ИндикаторПользователи = ирОбщий.ПолучитьИндикаторПроцессаЛкс(ПользователиНазначения.Количество(), "Пользователи");
|
||
Для каждого ТекПользователь Из ПользователиНазначения Цикл
|
||
ирОбщий.ОбработатьИндикаторЛкс(ИндикаторПользователи);
|
||
Отбор = Новый Структура("Пользователь", ТекПользователь);
|
||
ЗагрузитьНастройкиИзХранилища(Отбор, ФормыНазначения, ИмяРаздела);
|
||
КонецЦикла;
|
||
ирОбщий.ОсвободитьИндикаторПроцессаЛкс();
|
||
Иначе
|
||
ОтборЗагрузкиПользователи = "Все";
|
||
ЗагрузитьНастройкиИзХранилища(, ФормыНазначения, ИмяРаздела);
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
Функция ЗагрузитьНастройкиИзХранилища(Отбор, ФормыНазначения, ИмяРаздела)
|
||
|
||
БезФильтраПоОбъектам = ФормыНазначения.Количество() = 0;
|
||
ДобавлятьПрочие = Ложь
|
||
Или БезФильтраПоОбъектам
|
||
Или ФормыНазначения.Найти("Прочие") <> Неопределено;
|
||
МенеджерХранилища = ПолучитьМенеджерХранилищаПоИмени(ИмяРаздела);
|
||
Выборка = МенеджерХранилища.Выбрать(Отбор);
|
||
Индикатор = ирОбщий.ПолучитьИндикаторПроцессаЛкс(, "Настройки");
|
||
Пока 1=1 Цикл
|
||
Попытка
|
||
ЭлементСчитан = Выборка.Следующий();
|
||
Исключение
|
||
ОписаниеОшибки = ОписаниеОшибки();
|
||
Сообщить("Ошибка чтения настройки");
|
||
Продолжить;
|
||
КонецПопытки;
|
||
Если Не ЭлементСчитан Тогда
|
||
Прервать;
|
||
КонецЕсли;
|
||
ирОбщий.ОбработатьИндикаторЛкс(Индикатор);
|
||
текОбъект = Выборка.КлючОбъекта;
|
||
текКлюч = "";
|
||
ПозРазделителя = Найти(Выборка.КлючОбъекта, "/");
|
||
Если ПозРазделителя > 0 Тогда
|
||
текОбъект = Лев(Выборка.КлючОбъекта, ПозРазделителя-1);
|
||
текКлюч = Сред(Выборка.КлючОбъекта, ПозРазделителя+1);
|
||
КонецЕсли;
|
||
СтрокаФормы = ФормыИБ.Найти(текОбъект, "ПолноеИмяОбъекта");
|
||
Если СтрокаФормы = Неопределено Тогда
|
||
Если ДобавлятьПрочие Тогда
|
||
НовоеОписание = ОписаниеНастроек.Добавить();
|
||
НовоеОписание.ИмяОбъекта = Выборка.КлючОбъекта;
|
||
НовоеОписание.ПредставлениеОбъекта = Выборка.КлючОбъекта;
|
||
НовоеОписание.Описание = Выборка.Представление;
|
||
НовоеОписание.ИмяПользователя = Выборка.Пользователь;
|
||
НовоеОписание.ТипНастройки = ТипЗнч(Выборка.Настройки);
|
||
НовоеОписание.Настройка = ирОбщий.РасширенноеПредставлениеЗначенияЛкс(Выборка.Настройки);
|
||
НовоеОписание.КлючНастроек = Выборка.КлючНастроек;
|
||
КонецЕсли;
|
||
Иначе
|
||
Если Ложь
|
||
Или БезФильтраПоОбъектам
|
||
Или ФормыНазначения.Найти(текОбъект) <> Неопределено
|
||
Тогда
|
||
НовоеОписание = ОписаниеНастроек.Добавить();
|
||
//НовоеОписание.ИмяОбъекта = СтрокаФормы.ИмяОбъекта;
|
||
НовоеОписание.ИмяОбъекта = текОбъект;
|
||
НовоеОписание.ПредставлениеОбъекта = СтрокаФормы.ПредставлениеОбъекта;
|
||
НовоеОписание.Описание = Выборка.Представление;
|
||
НовоеОписание.ИмяПользователя = Выборка.Пользователь;
|
||
НовоеОписание.ТипНастройки = ТипЗнч(Выборка.Настройки);
|
||
НовоеОписание.Настройка = ирОбщий.РасширенноеПредставлениеЗначенияЛкс(Выборка.Настройки);
|
||
НовоеОписание.КлючНастроек = Выборка.КлючНастроек;
|
||
НовоеОписание.Ключ = текКлюч;
|
||
Иначе
|
||
//Сообщить(""+Выборка.КлючОбъекта+"");
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
ирОбщий.ОсвободитьИндикаторПроцессаЛкс();
|
||
Возврат Неопределено;
|
||
|
||
КонецФункции
|
||
|
||
Процедура УдалитьНастройкиПользователей(ТабКУдалению, ИмяРаздела) Экспорт
|
||
|
||
МенеджерХранилища = ПолучитьМенеджерХранилищаПоИмени(ИмяРаздела);
|
||
|
||
Для каждого Строка Из ТабКУдалению Цикл
|
||
МенеджерХранилища.Удалить(Строка.КлючОбъекта, Строка.КлючНастроек, Строка.Пользователь);
|
||
КонецЦикла;
|
||
|
||
КонецПроцедуры
|
||
|
||
Процедура СкопироватьНастройкиПользователей(ТабОписаний, ПользователиНазначения, ИмяРаздела) Экспорт
|
||
|
||
МенеджерХранилища = ПолучитьМенеджерХранилищаПоИмени(ИмяРаздела);
|
||
Для Каждого Строка Из ТабОписаний Цикл
|
||
лОписаниеНастроек = Новый ОписаниеНастроек;
|
||
Настройка = МенеджерХранилища.Загрузить(Строка.КлючОбъекта, Строка.КлючНастроек, лОписаниеНастроек, Строка.Пользователь);
|
||
Если Настройка <> Неопределено Тогда
|
||
Для Каждого ПользовательПриемник Из ПользователиНазначения Цикл
|
||
МенеджерХранилища.Сохранить(Строка.КлючОбъекта, Строка.КлючНастроек, Настройка, лОписаниеНастроек, ПользовательПриемник);
|
||
КонецЦикла;
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
КонецПроцедуры
|
||
|
||
#Если Клиент Тогда
|
||
|
||
Процедура ОткрытьЗначНастройки(ТабОписаний, ИмяРаздела, Исследовать = Ложь) Экспорт
|
||
|
||
МенеджерХранилища = ПолучитьМенеджерХранилищаПоИмени(ИмяРаздела);
|
||
Для Каждого СтрокаТаб Из ТабОписаний Цикл
|
||
текЗначениеНастройки = МенеджерХранилища.Загрузить(СтрокаТаб.КлючОбъекта, СтрокаТаб.КлючНастроек, , СтрокаТаб.Пользователь);
|
||
Если текЗначениеНастройки = Неопределено Тогда
|
||
//Предупреждение("Настройка не найдена");
|
||
Продолжить;
|
||
КонецЕсли;
|
||
Если Исследовать Тогда
|
||
ирОбщий.ИсследоватьЛкс(текЗначениеНастройки);
|
||
Иначе
|
||
ОткрытьЗнач(текЗначениеНастройки);
|
||
КонецЕсли;
|
||
КонецЦикла;
|
||
|
||
КонецПроцедуры
|
||
|
||
Процедура ОткрытьЗнач(текЗначениеНастройки) Экспорт
|
||
|
||
ТипЗначенияНастройки = ТипЗнч(текЗначениеНастройки);
|
||
Если ТипЗначенияНастройки = Тип("Строка") Тогда
|
||
ФормаПросмотраСтрок = ПолучитьФорму("СериализацияЗначения");
|
||
ФормаПросмотраСтрок.ЗначениеНастройки = текЗначениеНастройки;
|
||
ФормаПросмотраСтрок.НадписьТипНастройки = ТипЗначенияНастройки;
|
||
ФормаПросмотраСтрок.Открыть();
|
||
ИначеЕсли Ложь
|
||
Или ТипЗначенияНастройки = Тип("Структура")
|
||
Или ТипЗначенияНастройки = Тип("ФиксированнаяСтруктура")
|
||
Или ТипЗначенияНастройки = Тип("Массив")
|
||
Или ТипЗначенияНастройки = Тип("ФиксированныйМассив")
|
||
Или ТипЗначенияНастройки = Тип("Соответствие")
|
||
Или ТипЗначенияНастройки = Тип("СписокЗначений")
|
||
Или ТипЗначенияНастройки = Тип("ТаблицаЗначений")
|
||
Тогда
|
||
ирОбщий.ИсследоватьЛкс(текЗначениеНастройки,, Истина);
|
||
Иначе
|
||
ОткрытьАвто = Ложь;
|
||
XMLТип = XMLТипЗнч(ТипЗначенияНастройки);
|
||
Если Истина
|
||
И XMLТип <> Неопределено
|
||
И Найти(XMLТип.ИмяТипа, "Ref.") > 0
|
||
Тогда
|
||
ОткрытьЗначение(текЗначениеНастройки);
|
||
Иначе
|
||
ЗаписьXML = Новый ЗаписьXML();
|
||
ЗаписьXML.УстановитьСтроку();
|
||
ЗаписьXML.ЗаписатьНачалоЭлемента("details");
|
||
Попытка
|
||
СериализаторXDTO.ЗаписатьXML(ЗаписьXML, текЗначениеНастройки, "item");
|
||
Исключение
|
||
ирОбщий.ИсследоватьЛкс(текЗначениеНастройки);
|
||
Возврат;
|
||
КонецПопытки;
|
||
ЗаписьXML.ЗаписатьКонецЭлемента();
|
||
XMLЗначНастройки = ЗаписьXML.Закрыть();
|
||
ФормаПросмотраСтрок = ПолучитьФорму("СериализацияЗначения");
|
||
ФормаПросмотраСтрок.XMLНастройки = XMLЗначНастройки;
|
||
ФормаПросмотраСтрок.ЗначениеНастройки = текЗначениеНастройки;
|
||
ФормаПросмотраСтрок.НадписьТипНастройки = ТипЗначенияНастройки;
|
||
ФормаПросмотраСтрок.Открыть();
|
||
КонецЕсли;
|
||
КонецЕсли;
|
||
|
||
КонецПроцедуры
|
||
|
||
#КонецЕсли
|
||
|
||
//ирПортативный лФайл = Новый Файл(ИспользуемоеИмяФайла);
|
||
//ирПортативный ПолноеИмяФайлаБазовогоМодуля = Лев(лФайл.Путь, СтрДлина(лФайл.Путь) - СтрДлина("Модули\")) + "ирПортативный.epf";
|
||
//ирПортативный #Если Клиент Тогда
|
||
//ирПортативный Контейнер = Новый Структура();
|
||
//ирПортативный Оповестить("ирПолучитьБазовуюФорму", Контейнер);
|
||
//ирПортативный Если Не Контейнер.Свойство("ирПортативный", ирПортативный) Тогда
|
||
//ирПортативный ирПортативный = ВнешниеОбработки.ПолучитьФорму(ПолноеИмяФайлаБазовогоМодуля);
|
||
//ирПортативный ирПортативный.Открыть();
|
||
//ирПортативный КонецЕсли;
|
||
//ирПортативный #Иначе
|
||
//ирПортативный ирПортативный = ВнешниеОбработки.Создать(ПолноеИмяФайлаБазовогоМодуля, Ложь); // Это будет второй экземпляр объекта
|
||
//ирПортативный #КонецЕсли
|
||
//ирПортативный ирОбщий = ирПортативный.ПолучитьОбщийМодульЛкс("ирОбщий");
|
||
//ирПортативный ирКэш = ирПортативный.ПолучитьОбщийМодульЛкс("ирКэш");
|
||
//ирПортативный ирСервер = ирПортативный.ПолучитьОбщийМодульЛкс("ирСервер");
|
||
//ирПортативный ирПривилегированный = ирПортативный.ПолучитьОбщийМодульЛкс("ирПривилегированный");
|