1
0
mirror of https://github.com/firstBitSportivnaya/PSSL.git synced 2025-01-26 03:52:13 +02:00
PSSL/docs/ПредопределенныеЗначения.md
DenisUshakov f2b4e99c67
Changing prefixes (#71)
Изменен префикс на пбп_
2024-05-15 12:49:31 +03:00

7.8 KiB

Подсистема "предопределенные значения"

Для обращения к ссылкам из кода используем предопределенные значения, добавляем их в план видов характеристик (ПВХ) "пбп_ПредопределенныеЗначения"

Для удобной работы с ПВХ у нас есть следующие функции:

  • пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенноеЗначение(Имя, ИспользоватьКэш) - если это единичное значение, возвращается сразу оно, если установлен флаг "Список значений" то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина.
    • Параметры:
      • Имя - Строка
      • ИспользоватьКэш - Булево
    • Возвращаемое значение:
      • ПроизвольныйТип - Значение переменной ПВХ.
      • Массив - Массив значений переменной ПВХ.
  • пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей, ИспользоватьКэш) - если "ВРазрезеКлючей" то возвращает соответствие нескольких элементов ПВХ, если ВРазрезеКлючей = ложь, то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина.
    • Параметры:
      • Имена - Строка - Имена переменных ПВХ, перечисленные через запятую.
      • ВРазрезеКлючей - Булево
      • ИспользоватьКэш - Булево
    • Возвращаемое значение:
      • Соответствие - Соответствие имен и значений переменных ПВХ.
        • Ключ - Строка - имя значения
        • Значение - ПроизвольныйТип
      • Массив - ПроизвольныйТип

В модуле пбп_ПредопределенныеЗначенияПереопределяемый значения добавляются через метод Добавить() коллекции Результат, которая представляет собой таблицу предопределённых значений. Каждая новая запись в этой таблице может быть настроена как группа путём установки свойства ЭтоГруппа в значение Истина.
ИдентификаторНастройки: Уникальный идентификатор группы, который используется для внутренних ссылок и связей между группами.
Родитель: Идентификатор настройки родительской группы, указывается для элементов и групп являющихся подгруппами.
УровеньИерархии: Целочисленное значение, определяющее уровень группы в иерархической структуре. Этот параметр используется для обеспечения правильного порядка создания групп, где сначала должны быть созданы группы верхнего уровня, а затем вложенные.

Пример добавления нового элемента в модуле пбп_ПредопределенныеЗначенияПереопределяемый:

Функция ПредопределенныеЗначения() Экспорт

	Результат = ТаблицаПредопределенных();

	// Добавление
	НоваяНастройка = Результат.Добавить();
	НоваяНастройка.Наименование = "Пароль доступа на ИТС";
	НоваяНастройка.ИдентификаторНастройки = "ПарольДоступаНаИТС";
	НоваяНастройка.Пароль = Истина;
	НоваяНастройка.СписокЗначений = Ложь;
	НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
	НоваяНастройка.Родитель = "Доступ_ИТС"; // Указывается идентификатор настройки группы
	// КонецДобавления
	
	Возврат Результат;
	
КонецФункции

Пример добавления новой группы в модуле пбп_ПредопределенныеЗначенияПереопределяемый:

Функция ПредопределенныеЗначения() Экспорт

	Результат = ТаблицаПредопределенных();

	// Добавление
	НоваяНастройка = Результат.Добавить();
	НоваяНастройка.Наименование = "Интеграции";
	НоваяНастройка.ИдентификаторНастройки = "Интеграции";
	НоваяНастройка.ЭтоГруппа = Истина;
	НоваяНастройка.УровеньИерархии = 0;
	
	НоваяНастройка = Результат.Добавить();
	НоваяНастройка.Наименование = "Интеграции локал";
	НоваяНастройка.ИдентификаторНастройки = "Интеграции_локал";
	НоваяНастройка.ЭтоГруппа = Истина;
	НоваяНастройка.Родитель = "Интеграции";
	НоваяНастройка.УровеньИерархии = 1;
	// КонецДобавления
	
	Возврат Результат;
	
КонецФункции

Пример получения множественного результата:

Функция ПолучитьДанныеАвторизации()

    ДанныеАвторизации = Новый Структура("Логин, Пароль");
    Результат = пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения("Логин_ИТС, Пароль_ИТС", Истина, Истина);
    
    Для Каждого Пара Из Результат Цикл
        Сообщить("Ключ: " Пара.Ключ);
        Сообщить("Значение: "+ Пара.Значение);
        ДанныеАвторизации[Пара.Ключ] = Пара.Значение;
    КонецЦикла;

    Возврат ДанныеАвторизации;

КонецФункции

Пример получения единичного результата:

Функция ЗаписыватьДанныеСтандартнымСпособом(ПроверяемаяДата)

    Результат = пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенноеЗначение("ДатаНачалаЗаписиВРегистры", Истина);

    Возврат ПроверяемаяДата = Результат;

КонецФункции