RDT1C/DataProcessors/ирМенеджерИнтерфейсов/Ext/ObjectModule.bsl
2016-12-04 00:14:16 +03:00

108 lines
5.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#Если Клиент Тогда
// <Описание процедуры>
//
// Параметры:
// <Параметр1> <Тип.Вид> <описание параметра>
// <продолжение описания параметра>;
// <Параметр2> <Тип.Вид> <описание параметра>
// <продолжение описания параметра>.
//
Процедура ВосстановитьСписокИнтерфейсов() Экспорт
лСписокИнтерфейсов = ВосстановитьЗначение("СписокИнтерфейсов");
Если лСписокИнтерфейсов <> Неопределено Тогда
СписокИнтерфейсов = лСписокИнтерфейсов;
КонецЕсли;
ОбновитьСписокИнтерфейсов();
КонецПроцедуры // ВосстановитьСписокИнтерфейсов()
// <Описание процедуры>
//
// Параметры:
// <Параметр1> <Тип.Вид> <описание параметра>
// <продолжение описания параметра>;
// <Параметр2> <Тип.Вид> <описание параметра>
// <продолжение описания параметра>.
//
Процедура СохранитьСписокИнтерфейсов() Экспорт
СохранитьЗначение("СписокИнтерфейсов", СписокИнтерфейсов);
КонецПроцедуры // СохранитьСписокИнтерфейсов()
Процедура ОбновитьСписокИнтерфейсов() Экспорт
МассивСтарых = Новый Массив;
Для Каждого ИнтерфейсСписка Из СписокИнтерфейсов Цикл
Если Метаданные.Интерфейсы.Найти(ИнтерфейсСписка.Значение) = Неопределено Тогда
МассивСтарых.Добавить(ИнтерфейсСписка);
КонецЕсли;
КонецЦикла;
Для Каждого СтарыйИнтерфейс Из МассивСтарых Цикл
СписокИнтерфейсов.Удалить(СтарыйИнтерфейс);
КонецЦикла;
Для каждого Интерфейс Из Метаданные.Интерфейсы Цикл
ЭлементСписка = СписокИнтерфейсов.НайтиПоЗначению(Интерфейс.Имя);
Если Не ПравоДоступа("Использование", Интерфейс) Тогда
Продолжить;
КонецЕсли;
Если ЭлементСписка = Неопределено Тогда
ЭлементСписка = СписокИнтерфейсов.Добавить(Интерфейс.Имя, Интерфейс.Синоним, ГлавныйИнтерфейс[Интерфейс.Имя].Видимость);
КонецЕсли;
Если ЭлементСписка <> Неопределено Тогда
Если Интерфейс.Переключаемый Тогда
ЭлементСписка.Представление = "Переключаемый - " + Интерфейс.Представление();
Иначе
ЭлементСписка.Представление = "Общий - " + Интерфейс.Представление();
КонецЕсли;
КонецЕсли;
ЭлементИнтерфейса = ГлавныйИнтерфейс.Найти(Интерфейс.Имя);
ЭлементСписка.Пометка = ЭлементИнтерфейса.Видимость;
КонецЦикла;
СписокИнтерфейсов.СортироватьПоПредставлению();
КонецПроцедуры
// <Описание процедуры>
//
// Параметры:
// <Параметр1> <Тип.Вид> <описание параметра>
// <продолжение описания параметра>;
// <Параметр2> <Тип.Вид> <описание параметра>
// <продолжение описания параметра>.
//
Процедура ДобавитьИнтерфейс(ИмяИнтерфейса) Экспорт
ЭлементИнтерфейса = СписокИнтерфейсов.НайтиПоЗначению(ИмяИнтерфейса);
Если ЭлементИнтерфейса <> Неопределено Тогда
ЭлементИнтерфейса.Пометка = Истина;
КонецЕсли;
КонецПроцедуры // ДобавитьИнтерфейс()
Процедура ВыполнитьПереключениеИнтерфейсов() Экспорт
СтрокаИменИнтерфейсов = "";
Для каждого СтрокаСписка Из СписокИнтерфейсов Цикл
Если СтрокаСписка.Пометка Тогда;
СтрокаИменИнтерфейсов = СтрокаИменИнтерфейсов + ?(СтрокаИменИнтерфейсов = "", "", ",") + СтрокаСписка.Значение;
КонецЕсли;
КонецЦикла;
ГлавныйИнтерфейс.ПереключитьИнтерфейс(СтрокаИменИнтерфейсов);
КонецПроцедуры
ВосстановитьСписокИнтерфейсов();
#КонецЕсли