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 - ForItem + ForFolderAndItem 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 - ForItem + ForFolderAndItem 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 - ForItem + ForFolderAndItem 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 - ForItem + ForFolderAndItem 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 - ForItem + ForFolderAndItem 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)); - - Результат.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока); - Результат.Колонки.Добавить("Наименование", ОписаниеСтрока); + __ПредопределенныеЗначенияПереопределяемый.ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); Возврат Результат;