diff --git "a/docs/\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.md" "b/docs/\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.md"
index 2e1e3db0..54086f56 100644
--- "a/docs/\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.md"
+++ "b/docs/\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.md"
@@ -21,6 +21,11 @@
- Значение - ПроизвольныйТип
- Массив - ПроизвольныйТип
+В модуле **__ПредопределенныеЗначенияПереопределяемый** значения добавляются через метод **Добавить()** коллекции **Результат**, которая представляет собой таблицу предопределённых значений. Каждая новая запись в этой таблице может быть настроена как группа путём установки свойства ЭтоГруппа в значение Истина.
+**ИдентификаторНастройки**: Уникальный идентификатор группы, который используется для внутренних ссылок и связей между группами.
+**Родитель**: Идентификатор настройки родительской группы, указывается для элементов и групп являющихся подгруппами.
+**УровеньИерархии**: Целочисленное значение, определяющее уровень группы в иерархической структуре. Этот параметр используется для обеспечения правильного порядка создания групп, где сначала должны быть созданы группы верхнего уровня, а затем вложенные.
+
Пример добавления нового элемента в модуле __ПредопределенныеЗначенияПереопределяемый:
```1C (BSL)
@@ -35,6 +40,34 @@
НоваяНастройка.Пароль = Истина;
НоваяНастройка.СписокЗначений = Ложь;
НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
+ НоваяНастройка.Родитель = "Доступ_ИТС"; // Указывается идентификатор настройки группы
+ // КонецДобавления
+
+ Возврат Результат;
+
+КонецФункции
+```
+
+Пример добавления новой группы в модуле __ПредопределенныеЗначенияПереопределяемый:
+
+```1C (BSL)
+Функция ПредопределенныеЗначения() Экспорт
+
+ Результат = ТаблицаПредопределенных();
+
+ // Добавление
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Интеграции";
+ НоваяНастройка.ИдентификаторНастройки = "Интеграции";
+ НоваяНастройка.ЭтоГруппа = Истина;
+ НоваяНастройка.УровеньИерархии = 0;
+
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Интеграции локал";
+ НоваяНастройка.ИдентификаторНастройки = "Интеграции_локал";
+ НоваяНастройка.ЭтоГруппа = Истина;
+ НоваяНастройка.Родитель = "Интеграции";
+ НоваяНастройка.УровеньИерархии = 1;
// КонецДобавления
Возврат Результат;
diff --git "a/src/cf/Catalogs/__\320\230\320\275\321\202\320\265\320\263\321\200\320\270\321\200\321\203\320\265\320\274\321\213\320\265\320\241\320\270\321\201\321\202\320\265\320\274\321\213.xml" "b/src/cf/Catalogs/__\320\230\320\275\321\202\320\265\320\263\321\200\320\270\321\200\321\203\320\265\320\274\321\213\320\265\320\241\320\270\321\201\321\202\320\265\320\274\321\213.xml"
index eb44f23a..320c63cd 100644
--- "a/src/cf/Catalogs/__\320\230\320\275\321\202\320\265\320\263\321\200\320\270\321\200\321\203\320\265\320\274\321\213\320\265\320\241\320\270\321\201\321\202\320\265\320\274\321\213.xml"
+++ "b/src/cf/Catalogs/__\320\230\320\275\321\202\320\265\320\263\321\200\320\270\321\200\321\203\320\265\320\274\321\213\320\265\320\241\320\270\321\201\321\202\320\265\320\274\321\213.xml"
@@ -36,7 +36,7 @@
- false
+ true
HierarchyFoldersAndItems
false
2
@@ -143,7 +143,7 @@
Auto
-
+
DontIndex
Use
Use
diff --git "a/src/cf/Catalogs/__\320\230\320\275\321\202\320\265\320\263\321\200\320\270\321\200\321\203\320\265\320\274\321\213\320\265\320\241\320\270\321\201\321\202\320\265\320\274\321\213/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/__\320\230\320\275\321\202\320\265\320\263\321\200\320\270\321\200\321\203\320\265\320\274\321\213\320\265\320\241\320\270\321\201\321\202\320\265\320\274\321\213/Ext/ManagerModule.bsl"
index 94c42843..7ad95bb2 100644
--- "a/src/cf/Catalogs/__\320\230\320\275\321\202\320\265\320\263\321\200\320\270\321\200\321\203\320\265\320\274\321\213\320\265\320\241\320\270\321\201\321\202\320\265\320\274\321\213/Ext/ManagerModule.bsl"
+++ "b/src/cf/Catalogs/__\320\230\320\275\321\202\320\265\320\263\321\200\320\270\321\200\321\203\320\265\320\274\321\213\320\265\320\241\320\270\321\201\321\202\320\265\320\274\321\213/Ext/ManagerModule.bsl"
@@ -29,12 +29,10 @@
ТЗПредопределенныхЗначенийКСозданию = __ПредопределенныеЗначения.ПредопределенныеЗначенияКСозданию(
ТЗПредопределенныхЗначений,
"Справочник.__ИнтегрируемыеСистемы");
-
- Для Каждого СтрокаТаблицы Из ТЗПредопределенныхЗначенийКСозданию Цикл
-
- __ПредопределенныеЗначения.СоздатьПредопределенноеЗначение(СтрокаТаблицы, Справочники.__ИнтегрируемыеСистемы);
- КонецЦикла;
+ __ПредопределенныеЗначения.СоздатьПредопределенныеЗначения(
+ ТЗПредопределенныхЗначенийКСозданию,
+ Справочники.__ИнтегрируемыеСистемы);
КонецПроцедуры
diff --git "a/src/cf/Catalogs/__\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" "b/src/cf/Catalogs/__\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml"
index d1820a94..2fce074e 100644
--- "a/src/cf/Catalogs/__\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml"
+++ "b/src/cf/Catalogs/__\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml"
@@ -36,7 +36,7 @@
- false
+ true
HierarchyFoldersAndItems
false
2
@@ -235,7 +235,7 @@
Auto
-
+
DontIndex
Use
Use
diff --git "a/src/cf/Catalogs/__\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/__\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl"
index c35bde65..77b57b49 100644
--- "a/src/cf/Catalogs/__\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl"
+++ "b/src/cf/Catalogs/__\320\234\320\265\321\202\320\276\320\264\321\213\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl"
@@ -29,12 +29,10 @@
ТЗПредопределенныхЗначенийКСозданию = __ПредопределенныеЗначения.ПредопределенныеЗначенияКСозданию(
ТЗПредопределенныхЗначений,
"Справочник.__МетодыИнтеграции");
-
- Для Каждого СтрокаТаблицы Из ТЗПредопределенныхЗначенийКСозданию Цикл
-
- __ПредопределенныеЗначения.СоздатьПредопределенноеЗначение(СтрокаТаблицы, Справочники.__МетодыИнтеграции);
- КонецЦикла;
+ __ПредопределенныеЗначения.СоздатьПредопределенныеЗначения(
+ ТЗПредопределенныхЗначенийКСозданию,
+ Справочники.__МетодыИнтеграции);
КонецПроцедуры
diff --git "a/src/cf/Catalogs/__\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml" "b/src/cf/Catalogs/__\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml"
index 6e3a666c..a72c49ea 100644
--- "a/src/cf/Catalogs/__\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml"
+++ "b/src/cf/Catalogs/__\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270.xml"
@@ -36,7 +36,7 @@
- false
+ true
HierarchyFoldersAndItems
false
2
@@ -519,7 +519,7 @@
Auto
-
+
DontIndex
Use
Use
diff --git "a/src/cf/Catalogs/__\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/__\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl"
index 4292b5e1..5349cf4d 100644
--- "a/src/cf/Catalogs/__\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl"
+++ "b/src/cf/Catalogs/__\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270/Ext/ManagerModule.bsl"
@@ -29,12 +29,10 @@
ТЗПредопределенныхЗначенийКСозданию = __ПредопределенныеЗначения.ПредопределенныеЗначенияКСозданию(
ТЗПредопределенныхЗначений,
"Справочник.__НастройкиИнтеграции");
-
- Для Каждого СтрокаТаблицы Из ТЗПредопределенныхЗначенийКСозданию Цикл
-
- __ПредопределенныеЗначения.СоздатьПредопределенноеЗначение(СтрокаТаблицы, Справочники.__НастройкиИнтеграции);
- КонецЦикла;
+ __ПредопределенныеЗначения.СоздатьПредопределенныеЗначения(
+ ТЗПредопределенныхЗначенийКСозданию,
+ Справочники.__НастройкиИнтеграции);
КонецПроцедуры
diff --git "a/src/cf/Catalogs/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml" "b/src/cf/Catalogs/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml"
index 55dc9e6c..2e8d039a 100644
--- "a/src/cf/Catalogs/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml"
+++ "b/src/cf/Catalogs/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml"
@@ -36,7 +36,7 @@
- false
+ true
HierarchyFoldersAndItems
false
2
@@ -369,7 +369,7 @@
Auto
-
+
DontIndex
Use
Use
diff --git "a/src/cf/Catalogs/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221/Ext/ManagerModule.bsl"
index 9a42de02..a97edc50 100644
--- "a/src/cf/Catalogs/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221/Ext/ManagerModule.bsl"
+++ "b/src/cf/Catalogs/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221/Ext/ManagerModule.bsl"
@@ -56,12 +56,10 @@
ТЗПредопределенныхЗначенийКСозданию = __ПредопределенныеЗначения.ПредопределенныеЗначенияКСозданию(
ТЗПредопределенныхЗначений,
"Справочник.__ТипСоответствияОбъектовИБ");
-
- Для Каждого СтрокаТаблицы Из ТЗПредопределенныхЗначенийКСозданию Цикл
-
- __ПредопределенныеЗначения.СоздатьПредопределенноеЗначение(СтрокаТаблицы, Справочники.__ТипСоответствияОбъектовИБ);
- КонецЦикла;
+ __ПредопределенныеЗначения.СоздатьПредопределенныеЗначения(
+ ТЗПредопределенныхЗначенийКСозданию,
+ Справочники.__ТипСоответствияОбъектовИБ);
КонецПроцедуры
diff --git "a/src/cf/ChartsOfCharacteristicTypes/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.xml" "b/src/cf/ChartsOfCharacteristicTypes/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.xml"
index d0f2dd51..4029d366 100644
--- "a/src/cf/ChartsOfCharacteristicTypes/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.xml"
+++ "b/src/cf/ChartsOfCharacteristicTypes/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217.xml"
@@ -576,7 +576,7 @@
Auto
DontIndex
-
+
Use
Use
diff --git "a/src/cf/CommonModules/__\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/__\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl"
index 104dbbb8..f55dbd3e 100644
--- "a/src/cf/CommonModules/__\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/__\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl"
@@ -72,10 +72,7 @@
Результат = Новый ТаблицаЗначений;
- ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
-
- Результат.Колонки.Добавить("Наименование", ОписаниеСтрока);
- Результат.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока);
+ __ПредопределенныеЗначенияПереопределяемый.ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат);
Возврат Результат;
@@ -85,10 +82,7 @@
Результат = Новый ТаблицаЗначений;
- ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
-
- Результат.Колонки.Добавить("Наименование", ОписаниеСтрока);
- Результат.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока);
+ __ПредопределенныеЗначенияПереопределяемый.ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат);
Возврат Результат;
@@ -98,10 +92,7 @@
Результат = Новый ТаблицаЗначений;
- ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
-
- Результат.Колонки.Добавить("Наименование", ОписаниеСтрока);
- Результат.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока);
+ __ПредопределенныеЗначенияПереопределяемый.ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат);
Возврат Результат;
diff --git "a/src/cf/CommonModules/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217/Ext/Module.bsl" "b/src/cf/CommonModules/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217/Ext/Module.bsl"
index b0b83043..3ac2a9ee 100644
--- "a/src/cf/CommonModules/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217/Ext/Module.bsl"
@@ -26,10 +26,60 @@
ТЗПредопределенныхЗначенийКСозданию = ПредопределенныеЗначенияКСозданию(ТЗПредопределенныхЗначений);
- Для Каждого СтрокаТаблицы Из ТЗПредопределенныхЗначенийКСозданию Цикл
+ СоздатьПредопределенныеЗначения(
+ ТЗПредопределенныхЗначенийКСозданию,
+ ПланыВидовХарактеристик.__ПредопределенныеЗначения);
- СоздатьПредопределенноеЗначение(СтрокаТаблицы, ПланыВидовХарактеристик.__ПредопределенныеЗначения);
+КонецПроцедуры
+
+// Создание предопределенных значений на основании заполненной таблицы
+//
+// Параметры:
+// Таблица - ТаблицаЗначений - см. __ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных,
+// __ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных
+// МенеджерОбъекта - СправочникМенеджер, ДокументМенеджер, ОбработкаМенеджер, РегистрСведенийМенеджер - менеджер объекта.
+//
+Процедура СоздатьПредопределенныеЗначения(Таблица, МенеджерОбъекта) Экспорт
+
+ Если Не ЗначениеЗаполнено(Таблица) Тогда
+ Возврат;
+ КонецЕсли;
+
+ Группы = Новый Соответствие;
+ КолонкаСуществует = Таблица.Колонки.Найти("ЭтоГруппа") <> Неопределено;
+
+ Если КолонкаСуществует Тогда
+
+ // Сначала создаются группы, затем элементы
+ Таблица.Сортировать("ЭтоГруппа УБЫВ, УровеньИерархии");
+
+ ТекстЗапроса =
+ "ВЫБРАТЬ
+ | __ПредопределенныеЗначения.Ссылка КАК Ссылка,
+ | __ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки
+ |ИЗ
+ | %1 КАК __ПредопределенныеЗначения
+ |ГДЕ
+ | __ПредопределенныеЗначения.ЭтоГруппа";
+
+ ПолноеИмяОМ = Метаданные.НайтиПоТипу(ТипЗнч(МенеджерОбъекта)).ПолноеИмя();
+
+ Запрос = Новый Запрос;
+ Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОМ);
+
+ ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
+
+ Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
+ Группы.Вставить(ВыборкаДетальныеЗаписи.ИдентификаторНастройки, ВыборкаДетальныеЗаписи.Ссылка);
+ КонецЦикла;
+ КонецЕсли;
+ Для Каждого СтрокаТаблицы Из Таблица Цикл
+ Если КолонкаСуществует И СтрокаТаблицы.ЭтоГруппа Тогда
+ СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, Группы);
+ Иначе
+ СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Группы, КолонкаСуществует);
+ КонецЕсли;
КонецЦикла;
КонецПроцедуры
@@ -75,18 +125,43 @@
КонецФункции
-Процедура СоздатьПредопределенноеЗначение(СтрокаТаблицы, МенеджерОбъекта) Экспорт
+Процедура СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, Группы)
+
+ НоваяГруппа = МенеджерОбъекта.СоздатьГруппу();
+ ЗаполнитьЗначенияСвойств(НоваяГруппа, СтрокаТаблицы, "Наименование,ИдентификаторНастройки");
+ Если ЗначениеЗаполнено(СтрокаТаблицы.Родитель) Тогда
+ Родитель = Группы.Получить(СтрокаТаблицы.Родитель);
+ НоваяГруппа.Родитель = Родитель;
+ КонецЕсли;
+
+ Попытка
+ НоваяГруппа.Записать();
+ Исключение
+ __ОбщегоНазначенияСлужебный.СообщитьПользователю(ОписаниеОшибки());
+ КонецПопытки;
+
+ Группы.Вставить(СтрокаТаблицы.ИдентификаторНастройки, НоваяГруппа.Ссылка);
+
+КонецПроцедуры
+
+Процедура СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Родители, ЗаполнитьРодителя = Ложь)
ПроверяемыйТип = ТипЗнч(МенеджерОбъекта);
- НовыйПредопределенныйЭлемент = МенеджерОбъекта.СоздатьЭлемент();
- ЗаполнитьЗначенияСвойств(НовыйПредопределенныйЭлемент, СтрокаТаблицы);
+
+ НовыйЭлемент = МенеджерОбъекта.СоздатьЭлемент();
+ ЗаполнитьЗначенияСвойств(НовыйЭлемент, СтрокаТаблицы);
+ Если ЗаполнитьРодителя И ЗначениеЗаполнено(СтрокаТаблицы.Родитель) Тогда
+ Родитель = Родители.Получить(СтрокаТаблицы.Родитель);
+ НовыйЭлемент.Родитель = Родитель;
+ КонецЕсли;
+
// инициализация значения по умолчанию
Если ПроверяемыйТип = Тип("ПланВидовХарактеристикМенеджер.__ПредопределенныеЗначения") Тогда
- НовыйПредопределенныйЭлемент.Значение = СтрокаТаблицы.ТипЗначения.ПривестиЗначение();
+ НовыйЭлемент.Значение = СтрокаТаблицы.ТипЗначения.ПривестиЗначение();
КонецЕсли;
Попытка
- НовыйПредопределенныйЭлемент.Записать();
+ НовыйЭлемент.Записать();
Исключение
__ОбщегоНазначенияСлужебный.СообщитьПользователю(ОписаниеОшибки());
КонецПопытки;
diff --git "a/src/cf/CommonModules/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl"
index 59fa4d19..72e99da0 100644
--- "a/src/cf/CommonModules/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/__\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl"
@@ -1,19 +1,38 @@
#Область ПрограммныйИнтерфейс
-Функция ПредопределенныеЗначения() Экспорт
+Функция ПредопределенныеЗначения() Экспорт
Результат = ТаблицаПредопределенных();
ОписаниеЧисло = Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(10,0));
// Добавление
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Интеграции";
+ НоваяНастройка.ИдентификаторНастройки = "Интеграции";
+ НоваяНастройка.ЭтоГруппа = Истина;
+ НоваяНастройка.УровеньИерархии = 0;
+
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Интеграции локал";
+ НоваяНастройка.ИдентификаторНастройки = "Интеграции_локал";
+ НоваяНастройка.ЭтоГруппа = Истина;
+ НоваяНастройка.Родитель = "Интеграции";
+ НоваяНастройка.УровеньИерархии = 1;
+
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Тестовая";
+ НоваяНастройка.ИдентификаторНастройки = "Тестовая";
+ НоваяНастройка.ЭтоГруппа = Истина;
+
НоваяНастройка = Результат.Добавить();
НоваяНастройка.Наименование = "Количество дней хранения истории интеграции";
НоваяНастройка.ИдентификаторНастройки = "КолДнейХраненияИсторииИнтеграции";
НоваяНастройка.Пароль = Ложь;
НоваяНастройка.СписокЗначений = Ложь;
НоваяНастройка.ТипЗначения = ОписаниеЧисло;
+ НоваяНастройка.Родитель = "Интеграции";
НоваяНастройка = Результат.Добавить();
НоваяНастройка.Наименование = "Количество дней хранения ошибок истории интеграции";
@@ -21,6 +40,7 @@
НоваяНастройка.Пароль = Ложь;
НоваяНастройка.СписокЗначений = Ложь;
НоваяНастройка.ТипЗначения = ОписаниеЧисло;
+ НоваяНастройка.Родитель = "Интеграции";
НоваяНастройка = Результат.Добавить();
НоваяНастройка.Наименование = "Тест_бул";
@@ -28,6 +48,7 @@
НоваяНастройка.Пароль = Ложь;
НоваяНастройка.СписокЗначений = Ложь;
НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Булево");
+ НоваяНастройка.Родитель = "Тестовая";
НоваяНастройка = Результат.Добавить();
НоваяНастройка.Наименование = "Тест_список";
@@ -41,6 +62,18 @@
КонецФункции
+Процедура ОбщиеКолонкиТаблицыПредопределенныхЗначений(Таблица) Экспорт
+
+ ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
+
+ Таблица.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока);
+ Таблица.Колонки.Добавить("Наименование", ОписаниеСтрока);
+ Таблица.Колонки.Добавить("ЭтоГруппа", Новый ОписаниеТипов("Булево"));
+ Таблица.Колонки.Добавить("Родитель", ОписаниеСтрока);
+ Таблица.Колонки.Добавить("УровеньИерархии", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(2,0)));
+
+КонецПроцедуры
+
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@@ -49,11 +82,10 @@
Результат = Новый ТаблицаЗначений;
- ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
ОписаниеБулево = Новый ОписаниеТипов("Булево");
- Результат.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока);
- Результат.Колонки.Добавить("Наименование", ОписаниеСтрока);
+ ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат);
+
Результат.Колонки.Добавить("Пароль", ОписаниеБулево);
Результат.Колонки.Добавить("СписокЗначений", ОписаниеБулево);
Результат.Колонки.Добавить("ТипЗначения", Новый ОписаниеТипов("ОписаниеТипов"));
diff --git "a/src/cf/CommonModules/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl"
index 99a78b86..9290cd99 100644
--- "a/src/cf/CommonModules/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl"
+++ "b/src/cf/CommonModules/__\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl"
@@ -44,10 +44,7 @@
Результат = Новый ТаблицаЗначений;
- ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
-
- Результат.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока);
- Результат.Колонки.Добавить("Наименование", ОписаниеСтрока);
+ __ПредопределенныеЗначенияПереопределяемый.ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат);
Возврат Результат;