diff --git "a/src/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/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"
new file mode 100644
index 00000000..55dc9e6c
--- /dev/null
+++ "b/src/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"
@@ -0,0 +1,381 @@
+
+
+
+
+
+ 280eb978-6a11-448c-8785-502e870a97d1
+ 6c8966f7-fa9e-4194-96b2-e8404c296bf6
+
+
+ 1b4dca87-7e69-40c8-9176-36d0f0960d7f
+ 47c4ce4f-bf9a-4766-af8f-1dc21611098c
+
+
+ 695babfd-6c8a-4fae-9170-d1b718d82e6d
+ 07747918-a384-417d-94b4-f5a70b42a82f
+
+
+ 756094da-102a-4a7b-8b9d-f049b4e030f6
+ 454f9606-5976-4479-a1c5-dce53fd8c047
+
+
+ 73032f45-9bff-4ea6-a9cf-5cbc25292a10
+ 08cbf773-caa0-4981-932f-d287dc533ea9
+
+
+
+ __ТипСоответствияОбъектовИБ
+
+
+ ru
+ Тип соответствия объектов ИБ
+
+
+ en
+ The type of compliance of IB objects
+
+
+
+ false
+ HierarchyFoldersAndItems
+ false
+ 2
+ true
+ true
+
+ ToItems
+ 9
+ 25
+ String
+ Variable
+ WholeCatalog
+ true
+ true
+ AsDescription
+
+
+
+ DontCheck
+ false
+ false
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ DontCheck
+ false
+ false
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ DontCheck
+ false
+ false
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ DontCheck
+ false
+ false
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ DontCheck
+ false
+ false
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ ShowError
+ false
+ true
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ DontCheck
+ false
+ true
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ ShowError
+ false
+ false
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ DontCheck
+ false
+ false
+ Auto
+
+
+ false
+
+
+ Auto
+ Auto
+
+ false
+ Use
+ false
+
+
+
+ Use
+
+
+
+
+
+
+
+ Auto
+ InDialog
+ true
+ BothWays
+
+ Catalog.__ТипСоответствияОбъектовИБ.StandardAttribute.Description
+ Catalog.__ТипСоответствияОбъектовИБ.StandardAttribute.Code
+
+ Begin
+ DontUse
+ Directly
+
+
+ Catalog.__ТипСоответствияОбъектовИБ.Form.ФормаСписка
+
+
+
+
+
+
+
+ false
+
+
+ Managed
+ Use
+
+
+
+
+
+ Use
+ Auto
+ DontUse
+ false
+ false
+
+
+
+
+ ИдентификаторНастройки
+
+
+ ru
+ Идентификатор настройки
+
+
+ en
+ Setting ID
+
+
+
+
+ xs:string
+
+ 100
+ Variable
+
+
+ false
+
+
+
+ false
+
+ false
+ false
+
+
+ false
+
+ DontCheck
+ Items
+
+
+ Auto
+ Auto
+
+
+ Auto
+
+ DontIndex
+ Use
+ Use
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/src/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/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"
new file mode 100644
index 00000000..e5111eae
--- /dev/null
+++ "b/src/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"
@@ -0,0 +1,74 @@
+// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
+// включая доработку типовых конфигураций.
+//
+// Copyright 2017-2024 First BIT company
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// URL: https://github.com/firstBitSportivnaya/PSSL/
+// e-mail: ivssmirnov@1bit.com
+// Версия: 1.0.0.1
+//
+// Требования: платформа 1С версии 8.3.17 и выше
+
+#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
+
+#Область ПрограммныйИнтерфейс
+
+Функция ЗначениеСоответствияПоИдентиифкатору(Идентификатор) Экспорт
+
+ Результат = Неопределено;
+
+ Запрос = Новый Запрос;
+ Запрос.Текст =
+ "ВЫБРАТЬ
+ | __ТипСоответствияОбъектовИБ.Ссылка КАК Ссылка
+ |ИЗ
+ | Справочник.__ТипСоответствияОбъектовИБ КАК __ТипСоответствияОбъектовИБ
+ |ГДЕ
+ | __ТипСоответствияОбъектовИБ.ИдентификаторНастройки = &ИдентификаторНастройки";
+
+ Запрос.УстановитьПараметр("ИдентификаторНастройки", Идентификатор);
+
+ РезультатЗапроса = Запрос.Выполнить();
+
+ ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
+
+ Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
+ Результат = ВыборкаДетальныеЗаписи.Ссылка;
+ КонецЦикла;
+
+ Возврат Результат;
+
+КонецФункции
+
+Процедура ЗаполнитьПредопределенныеСоответствия() Экспорт
+
+ ТЗПредопределенныхЗначений = __ТипСоответствияОбъектовИБПереопределяемый.ПредопределенныеЗначения();
+
+ ТЗПредопределенныхЗначенийКСозданию = __ПредопределенныеЗначения.ПредопределенныеЗначенияКСозданию(
+ ТЗПредопределенныхЗначений,
+ "Справочник.__ТипСоответствияОбъектовИБ");
+
+ Для Каждого СтрокаТаблицы Из ТЗПредопределенныхЗначенийКСозданию Цикл
+
+ __ПредопределенныеЗначения.СоздатьПредопределенноеЗначение(СтрокаТаблицы, Справочники.__ТипСоответствияОбъектовИБ);
+
+ КонецЦикла;
+
+КонецПроцедуры
+
+#КонецОбласти
+
+#КонецЕсли
\ No newline at end of file
diff --git "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml" "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml"
new file mode 100644
index 00000000..e4dea437
--- /dev/null
+++ "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260.xml"
@@ -0,0 +1,25 @@
+
+
+
+
\ No newline at end of file
diff --git "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
new file mode 100644
index 00000000..fe541aab
--- /dev/null
+++ "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
@@ -0,0 +1,149 @@
+
+
\ No newline at end of file
diff --git "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl"
new file mode 100644
index 00000000..9969556c
--- /dev/null
+++ "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl"
@@ -0,0 +1,47 @@
+// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
+// включая доработку типовых конфигураций.
+//
+// Copyright 2017-2024 First BIT company
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// URL: https://github.com/firstBitSportivnaya/PSSL/
+// e-mail: ivssmirnov@1bit.com
+// Версия: 1.0.0.1
+//
+// Требования: платформа 1С версии 8.3.17 и выше
+
+#Область ОбработчикиСобытийФормы
+
+#КонецОбласти
+
+#Область ОбработчикиКомандФормы
+
+&НаСервереБезКонтекста
+Процедура ЗаполнитьПредопределенныеНаСервере()
+
+ Справочники.__ТипСоответствияОбъектовИБ.ЗаполнитьПредопределенныеСоответствия();
+
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ЗаполнитьПредопределенные(Команда)
+
+ ЗаполнитьПредопределенныеНаСервере();
+
+ Элементы.Список.Обновить();
+
+КонецПроцедуры
+
+#КонецОбласти
diff --git "a/src/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/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 6751b3d4..d0f2dd51 100644
--- "a/src/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/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"
@@ -533,6 +533,54 @@
Use
+
+
+ ИдентификаторНастройки
+
+
+ ru
+ Идентификатор настройки
+
+
+ en
+ Setting ID
+
+
+
+
+ xs:string
+
+ 100
+ Variable
+
+
+ false
+
+
+
+ false
+
+ false
+ false
+
+
+ false
+
+ DontCheck
+ Items
+
+
+ Auto
+ Auto
+
+
+ Auto
+ DontIndex
+
+ Use
+ Use
+
+
diff --git "a/src/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/Ext/ManagerModule.bsl" "b/src/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/Ext/ManagerModule.bsl"
index a664721b..d352063b 100644
--- "a/src/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/Ext/ManagerModule.bsl"
+++ "b/src/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/Ext/ManagerModule.bsl"
@@ -1,4 +1,5 @@
-// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, включая доработку типовых конфигураций.
+// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
+// включая доработку типовых конфигураций.
//
// Copyright 2017-2024 First BIT company
//
@@ -25,170 +26,247 @@
#Область ПрограммныйИнтерфейс
-// Возвращает значение ПВХ по имени.
+// Возвращает значение ПВХ по идентификатору.
//
// Параметры:
-// Имя - Строка - Имя переменной ПВХ.
+// Идентификатор - Строка - Идентификатор переменной ПВХ.
//
// Возвращаемое значение:
// ПроизвольныйТип - Значение переменной ПВХ.
//
-Функция ПолучитьЗначение(Имя) Экспорт
+Функция ПолучитьЗначение(Идентификатор) Экспорт
- // ++ Обход ошибки отстутствия модуля БСП, не переносить
- ОбщегоНазначения = Неопределено;
- // -- Обход ошибки отстутствия модуля БСП, не переносить
-
- УстановитьПривилегированныйРежим(Истина);
-
- Значение = Неопределено;
-
- Если ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].СписокЗначений Тогда
- Значение = ОбщегоНазначения.ВыгрузитьКолонку(
- ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].ЗначенияЭлементов, "Значение", Истина);
- ИначеЕсли ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].Пароль Тогда
- Значение = ПолучитьПарольПоИмени(Имя);
- Иначе
- Значение = ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].Значение;
- КонецЕсли;
-
- УстановитьПривилегированныйРежим(Ложь);
+ Значение = ЗначенияПредопределенныхЭлементов(Идентификатор);
Возврат Значение;
КонецФункции
-// Возвращает соответствие предопределенных элементов ПВХ по имени.
+// Возвращает соответствие предопределенных элементов ПВХ по Идентификаторам.
//
// Параметры:
-// Имя - Строка - Имена переменных ПВХ, перечисленные через запятую.
+// Идентификаторы - Строка - Идентификаторы переменных ПВХ, перечисленные через запятую.
// ВРазрезеКлючей - Булево - Признак получения данных в виде соответствия, где Ключ - Имя переменной.
//
// Возвращаемое значение:
// - Соответствие - Соответствие имен и значений переменных ПВХ.
// - Массив - Массив значений переменных ПВХ.
//
-Функция ПолучитьЗначения(Имена, ВРазрезеКлючей = Ложь) Экспорт
+Функция ПолучитьЗначения(Идентификаторы, ВРазрезеКлючей = Ложь) Экспорт
// ++ Обход ошибки отстутствия модуля БСП, не переносить
- ОбщегоНазначения = Неопределено;
ОбщегоНазначенияКлиентСервер = Неопределено;
СтроковыеФункцииКлиентСервер = Неопределено;
// -- Обход ошибки отстутствия модуля БСП, не переносить
- УстановитьПривилегированныйРежим(Истина);
-
Если ВРазрезеКлючей Тогда
Значения = Новый Соответствие;
Иначе
Значения = Новый Массив;
КонецЕсли;
- МассивИмен = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Имена);
- МассивИмен = ОбщегоНазначенияКлиентСервер.СвернутьМассив(МассивИмен);
+ МассивИдентификаторов = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Идентификаторы);
+ МассивИдентификаторов = ОбщегоНазначенияКлиентСервер.СвернутьМассив(МассивИдентификаторов);
- Если Не МассивИмен.Количество() Тогда
+ Если Не ЗначениеЗаполнено(МассивИдентификаторов) Тогда
Возврат Значения;
КонецЕсли;
- Запрос = Новый Запрос;
- Запрос.Текст = "ВЫБРАТЬ
- | ПредопределенныеЗначения.Ссылка КАК ПредопределенноеЗначение,
- | ПредопределенныеЗначения.ИмяПредопределенныхДанных КАК Имя
- |ПОМЕСТИТЬ ПредопределенныеЗначения
+ Значения = ЗначенияПредопределенныхЭлементов(МассивИдентификаторов, , Истина, ВРазрезеКлючей);
+
+ Если Не ВРазрезеКлючей Тогда
+ Значения = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Значения);
+ КонецЕсли;
+
+ Возврат Значения;
+
+КонецФункции
+
+// Функция - Значения предопределенных элементов по идентификаторам, работает в режиме одиночного и множественного выбора
+//
+// Параметры:
+// СписокИдентификаторов - Строка - для одиночного выбора
+// - Массив - для множественного выбора
+// ПутьПоиска - Строка - таблица из которой получаем значения по идентификатору
+// МножественныйВыбор - Булево - Ложь - вернется одно значение произвольного типа,
+// Истина - вернется массив или соответствие в разрезе ключей со значениями
+// ВРазрезеКлючей - Булево - Ложь - вернется массив значений без учета идентификаторов,
+// Истина - вернется соответствие со значениями в разрезе ключей
+//
+// Возвращаемое значение:
+// Массив - содержит значения предопределенных элементов
+// Соответствие из КлючИЗначение - список идентификаторов и значений элементов:
+// * Ключ - Строка - ИдентификаторНастройки;
+// * Значение - Произвольный - значение элемента
+//
+Функция ЗначенияПредопределенныхЭлементов(СписокИдентификаторов, ПутьПоиска = "ПланВидовХарактеристик.__ПредопределенныеЗначения", МножественныйВыбор = Ложь, ВРазрезеКлючей = Ложь) Экспорт
+
+ Если МножественныйВыбор Тогда
+ Если ВРазрезеКлючей Тогда
+ Значения = Новый Соответствие;
+ Иначе
+ Значения = Новый Массив;
+ КонецЕсли;
+ Иначе
+ Значения = Неопределено;
+ КонецЕсли;
+
+ ДанныеПредЗнач = ПолучитьДанныеПредопределенныхЗначений(СписокИдентификаторов, ПутьПоиска, МножественныйВыбор);
+ ВыборкаСписок = ДанныеПредЗнач.ВыборкаСписок;
+ ВыборкаЗначения = ДанныеПредЗнач.ВыборкаЗначения;
+
+ // список значений
+ Пока ВыборкаСписок.Следующий() Цикл
+ ВыборкаДетальныеЗаписи = ВыборкаСписок.Выбрать();
+ Значение = Новый Массив;
+ Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
+ Значение.Добавить(ВыборкаДетальныеЗаписи.Значение);
+ КонецЦикла;
+ ДополнитьЗначенияПредопределенных(Значения, Значение, ВыборкаСписок.Идентификатор, МножественныйВыбор);
+ КонецЦикла;
+
+ // значение и пароль
+ Пока ВыборкаЗначения.Следующий() Цикл
+ Если ВыборкаЗначения.Пароль Тогда
+ УИД = ВыборкаЗначения.Ссылка.УникальныйИдентификатор();
+ Значение = ПолучитьПарольПоИдентификатору(УИД);
+ Иначе
+ Значение = ВыборкаЗначения.Значение;
+ КонецЕсли;
+ ДополнитьЗначенияПредопределенных(Значения, Значение, ВыборкаЗначения.Идентификатор, МножественныйВыбор);
+ КонецЦикла;
+
+ Возврат Значения;
+
+КонецФункции
+
+#КонецОбласти // ПрограммныйИнтерфейс
+
+#Область СлужебныеПроцедурыИФункции
+
+Функция ПолучитьДанныеПредопределенныхЗначений(Идентификаторы, ПутьПоиска, МножественныйВыбор = Ложь)
+
+ ДанныеПредЗнач = Новый Структура;
+
+ ТекстЗапроса =
+ "ВЫБРАТЬ
+ | __ПредопределенныеЗначения.Ссылка КАК Ссылка,
+ | __ПредопределенныеЗначения.СписокЗначений КАК СписокЗначений,
+ | __ПредопределенныеЗначения.Пароль КАК Пароль,
+ | __ПредопределенныеЗначения.Значение КАК Значение,
+ | __ПредопределенныеЗначения.ИдентификаторНастройки КАК Идентификатор
+ |ПОМЕСТИТЬ Предопределенные
|ИЗ
- | ПланВидовХарактеристик.__ПредопределенныеЗначения КАК ПредопределенныеЗначения
+ | %1 КАК __ПредопределенныеЗначения
|ГДЕ
- | ПредопределенныеЗначения.ИмяПредопределенныхДанных В(&МассивИмен)
+ | __ПредопределенныеЗначения.ИдентификаторНастройки В(&Идентификаторы)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
- | ПредопределенныеЗначения.Имя КАК Имя,
- | __ПредопределенныеЗначения.Значение КАК Значение,
- | ПУСТАЯТАБЛИЦА.( КАК Значение) КАК ЗначенияЭлементов,
- | __ПредопределенныеЗначения.Пароль КАК Пароль,
- | ЛОЖЬ КАК СписокЗначений
+ | ПредопределенныеЗначения.Ссылка КАК Ссылка,
+ | ПредопределенныеЗначения.СписокЗначений КАК СписокЗначений,
+ | ПредопределенныеЗначения.Пароль КАК Пароль,
+ | ВЫБОР
+ | КОГДА ПредопределенныеЗначения.СписокЗначений
+ | ТОГДА __ПредопределенныеЗначенияЗначенияЭлементов.Значение
+ | КОГДА НЕ ПредопределенныеЗначения.Пароль
+ | ТОГДА ПредопределенныеЗначения.Значение
+ | ИНАЧЕ """"
+ | КОНЕЦ КАК Значение,
+ | ПредопределенныеЗначения.Идентификатор КАК Идентификатор
+ |ПОМЕСТИТЬ ЗначенияПредопределенных
|ИЗ
- | ПредопределенныеЗначения КАК ПредопределенныеЗначения
- | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.__ПредопределенныеЗначения КАК __ПредопределенныеЗначения
- | ПО ПредопределенныеЗначения.ПредопределенноеЗначение = __ПредопределенныеЗначения.Ссылка
- | И (НЕ __ПредопределенныеЗначения.СписокЗначений)
+ | Предопределенные КАК ПредопределенныеЗначения
+ | ЛЕВОЕ СОЕДИНЕНИЕ %1.ЗначенияЭлементов КАК __ПредопределенныеЗначенияЗначенияЭлементов
+ | ПО ПредопределенныеЗначения.Ссылка = __ПредопределенныеЗначенияЗначенияЭлементов.Ссылка
+ |;
|
- |ОБЪЕДИНИТЬ ВСЕ
+ |////////////////////////////////////////////////////////////////////////////////
+ |ВЫБРАТЬ
+ | ЗначенияПредопределенных.Значение КАК Значение,
+ | ЗначенияПредопределенных.Идентификатор КАК Идентификатор
+ |ИЗ
+ | ЗначенияПредопределенных КАК ЗначенияПредопределенных
+ |ГДЕ
+ | ЗначенияПредопределенных.СписокЗначений
+ |ИТОГИ ПО
+ | Идентификатор
+ |;
|
+ |////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
- | ПредопределенныеЗначения.Имя,
- | НЕОПРЕДЕЛЕНО,
- | __ПредопределенныеЗначения.ЗначенияЭлементов.(
- | Значение
- | ),
- | ЛОЖЬ,
- | ИСТИНА
+ | ЗначенияПредопределенных.Ссылка КАК Ссылка,
+ | ЗначенияПредопределенных.Пароль КАК Пароль,
+ | ЗначенияПредопределенных.Значение КАК Значение,
+ | ЗначенияПредопределенных.Идентификатор КАК Идентификатор
|ИЗ
- | ПредопределенныеЗначения КАК ПредопределенныеЗначения
- | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.__ПредопределенныеЗначения КАК __ПредопределенныеЗначения
- | ПО ПредопределенныеЗначения.ПредопределенноеЗначение = __ПредопределенныеЗначения.Ссылка
- | И (__ПредопределенныеЗначения.СписокЗначений)";
-
- Запрос.УстановитьПараметр("МассивИмен", МассивИмен);
- РезультатЗапроса = Запрос.Выполнить();
-
- Выборка = РезультатЗапроса.Выбрать();
- Пока Выборка.Следующий() Цикл
-
- Значение = Неопределено;
-
- Если Выборка.Пароль Тогда
- Значение = ПолучитьПарольПоИмени(Выборка.Имя);
- ИначеЕсли Выборка.СписокЗначений Тогда
- Значение = ОбщегоНазначения.ВыгрузитьКолонку(Выборка.ЗначенияЭлементов.Выгрузить(), "Значение", Истина);
- Иначе
- Значение = Выборка.Значение;
- КонецЕсли;
-
- Если ВРазрезеКлючей Тогда
- Значения.Вставить(Выборка.Имя, Значение);
- Иначе
- Если ТипЗнч(Значение) = Тип("Массив") Тогда
- ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Значения, Значение);
- Иначе
- Значения.Добавить(Значение);
- КонецЕсли;
- КонецЕсли;
-
- КонецЦикла;
+ | ЗначенияПредопределенных КАК ЗначенияПредопределенных
+ |ГДЕ
+ | НЕ ЗначенияПредопределенных.СписокЗначений";
- Если Не ВРазрезеКлючей Тогда
- Значения = ОбщегоНазначенияКлиентСервер.СвернутьМассив(Значения);
+ ТекстЗапроса = СтрШаблон(ТекстЗапроса, ПутьПоиска);
+ Если Не МножественныйВыбор Тогда
+ Схема = Новый СхемаЗапроса;
+ Схема.УстановитьТекстЗапроса(ТекстЗапроса);
+ ОператорВыбрать = Схема.ПакетЗапросов[0].Операторы[0];
+ ВыражениеОтбора =
+ Новый ВыражениеСхемыЗапроса("__ПредопределенныеЗначения.ИдентификаторНастройки = &Идентификаторы");
+
+ ОператорВыбрать.КоличествоПолучаемыхЗаписей = 1;
+ ОператорВыбрать.Отбор.Установить(0, ВыражениеОтбора);
+ ТекстЗапроса = Схема.ПолучитьТекстЗапроса();
КонецЕсли;
+ Запрос = Новый Запрос;
+ Запрос.Текст = ТекстЗапроса;
+
+ Запрос.УстановитьПараметр("Идентификаторы", Идентификаторы);
+
+ УстановитьПривилегированныйРежим(Истина);
+ РезультатыЗапроса = Запрос.ВыполнитьПакет();
+ ДанныеПредЗнач.Вставить("ВыборкаСписок", РезультатыЗапроса[2].Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам));
+ ДанныеПредЗнач.Вставить("ВыборкаЗначения", РезультатыЗапроса[3].Выбрать());
УстановитьПривилегированныйРежим(Ложь);
- Возврат Значения;
+ Возврат ДанныеПредЗнач;
КонецФункции
-#КонецОбласти // ПрограммныйИнтерфейс
+Процедура ДополнитьЗначенияПредопределенных(Приемник, Значение, Идентификатор = "", МножественныйВыбор = Ложь)
-#Область СлужебныеПроцедурыИФункции
+ // ++ Обход ошибки отстутствия модуля БСП, не переносить
+ ОбщегоНазначенияКлиентСервер = __ВспомогательныйМодульНеПереноситьКлиентСервер;
+ // -- Обход ошибки отстутствия модуля БСП, не переносить
+
+ Если МножественныйВыбор Тогда
+ Если ТипЗнч(Приемник) = Тип("Соответствие") Тогда
+ Приемник.Вставить(Идентификатор, Значение);
+ Иначе
+ Если ТипЗнч(Значение) = Тип("Массив") Тогда
+ ОбщегоНазначенияКлиентСервер.ДополнитьМассив(Приемник, Значение);
+ Иначе
+ Приемник.Добавить(Значение);
+ КонецЕсли;
+ КонецЕсли;
+ Иначе
+ Приемник = Значение;
+ КонецЕсли;
+
+КонецПроцедуры
-Функция ПолучитьПарольПоИмени(Имя)
+Функция ПолучитьПарольПоИдентификатору(УИД)
// ++ Обход ошибки отстутствия модуля БСП, не переносить
- ОбщегоНазначения = Неопределено;
- ОбщегоНазначенияКлиентСервер = Неопределено;
+ ОбщегоНазначения = __ВспомогательныйМодульНеПереносить;
+ ОбщегоНазначенияКлиентСервер = __ВспомогательныйМодульНеПереноситьКлиентСервер;
// -- Обход ошибки отстутствия модуля БСП, не переносить
- Значение = Неопределено;
+ ДанныеХранилища = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(Строка(УИД));
- ДанныеХранилища = ОбщегоНазначения.ПрочитатьДанныеИзБезопасногоХранилища(
- Строка(ПланыВидовХарактеристик.__ПредопределенныеЗначения[Имя].УникальныйИдентификатор()));
-
+ Значение = "";
Если ТипЗнч(ДанныеХранилища) = Тип("Структура") Тогда
Значение = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДанныеХранилища, "bit_password", "");
- Иначе
- Значение = "";
КонецЕсли;
Возврат Значение;
diff --git "a/src/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/Ext/ObjectModule.bsl" "b/src/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/Ext/ObjectModule.bsl"
new file mode 100644
index 00000000..5f282702
--- /dev/null
+++ "b/src/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/Ext/ObjectModule.bsl"
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git "a/src/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/Ext/Predefined.xml" "b/src/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/Ext/Predefined.xml"
deleted file mode 100644
index 34ac9f96..00000000
--- "a/src/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/Ext/Predefined.xml"
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
- -
- НастройкиИнтеграции
-
000000001
- Настройки интеграции
-
- true
-
- -
- КолДнейХраненияИсторииИнтеграции
-
000000002
- Количество дней хранения истории интеграции
-
- xs:decimal
-
- 3
- 0
- Nonnegative
-
-
- false
-
- -
- КолДнейХраненияОшибокИсторииИнтеграции
-
000000003
- Количество дней хранения ошибок истории интеграции
-
- xs:decimal
-
- 3
- 0
- Nonnegative
-
-
- false
-
-
-
-
\ No newline at end of file
diff --git "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
index 97273910..092a0ab3 100644
--- "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
+++ "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
@@ -8,7 +8,15 @@
MoveItem
SetDeletionMark
-
+
+
+
+
+
@@ -104,6 +112,11 @@
+
+ Список.ИдентификаторНастройки
+
+
+
@@ -140,7 +153,8 @@
Значение КАК Значение
) КАК ЗначенияЭлементов,
ПредопределенныеЗначения.Предопределенный КАК Предопределенный,
- ПредопределенныеЗначения.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
+ ПредопределенныеЗначения.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных,
+ ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки
ИЗ
ПланВидовХарактеристик.__ПредопределенныеЗначения КАК ПредопределенныеЗначения
ChartOfCharacteristicTypes.__ПредопределенныеЗначения
@@ -163,4 +177,25 @@
+
+
+
+
+ ru
+ Заполнить предопределенные
+
+
+ en
+ Fill in the predefined
+
+
+
+
+ ru
+ Заполнить предопределенные
+
+
+ ЗаполнитьПредопределенные
+
+
\ No newline at end of file
diff --git "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl" "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl"
new file mode 100644
index 00000000..25418e7a
--- /dev/null
+++ "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form/Module.bsl"
@@ -0,0 +1,22 @@
+
+#Область ОбработчикиСобытийФормы
+
+#КонецОбласти
+
+#Область ОбработчикиКомандФормы
+
+&НаСервереБезКонтекста
+Процедура ЗаполнитьПредопределенныеНаСервере()
+ __ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения();
+КонецПроцедуры
+
+&НаКлиенте
+Процедура ЗаполнитьПредопределенные(Команда)
+
+ ЗаполнитьПредопределенныеНаСервере();
+
+ Элементы.Список.Обновить();
+
+КонецПроцедуры
+
+#КонецОбласти
diff --git "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml" "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml"
index 9e4ae2f0..ab8002f7 100644
--- "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml"
+++ "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form.xml"
@@ -230,6 +230,13 @@
+
+ Объект.ИдентификаторНастройки
+ true
+ true
+
+
+
diff --git "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl" "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
index 390d6e36..4ed76e8f 100644
--- "a/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
+++ "b/src/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/Forms/\320\244\320\276\321\200\320\274\320\260\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\260/Ext/Form/Module.bsl"
@@ -34,7 +34,7 @@
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
// ++ Обход ошибки отстутствия модуля БСП, не переносить
- ОбщегоНазначения = Неопределено;
+ ОбщегоНазначения = __ВспомогательныйМодульНеПереносить;
// -- Обход ошибки отстутствия модуля БСП, не переносить
ДанныеХранилища = Неопределено;
@@ -183,7 +183,7 @@
Процедура УправлениеФормой()
// ++ Обход ошибки отстутствия модуля БСП, не переносить
- ОбщегоНазначенияКлиентСервер = Неопределено;
+ ОбщегоНазначенияКлиентСервер = __ВспомогательныйМодульНеПереноситьКлиентСервер;
// -- Обход ошибки отстутствия модуля БСП, не переносить
ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
@@ -209,8 +209,8 @@
Процедура УстановитьНаличиеПароля(ДанныеХранилища = Неопределено);
// ++ Обход ошибки отстутствия модуля БСП, не переносить
- ОбщегоНазначения = Неопределено;
- ОбщегоНазначенияКлиентСервер = Неопределено;
+ ОбщегоНазначения = __ВспомогательныйМодульНеПереносить;
+ ОбщегоНазначенияКлиентСервер = __ВспомогательныйМодульНеПереноситьКлиентСервер;
// -- Обход ошибки отстутствия модуля БСП, не переносить
Если НЕ Объект.Пароль Тогда
@@ -253,7 +253,7 @@
Процедура ВводСтрокиЗавершение(Результат, ДополнительныеПараметры) Экспорт
// ++ Обход ошибки отстутствия модуля БСП, не переносить
- ОбщегоНазначенияКлиентСервер = Неопределено;
+ ОбщегоНазначенияКлиентСервер = __ВспомогательныйМодульНеПереноситьКлиентСервер;
// -- Обход ошибки отстутствия модуля БСП, не переносить
Если ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(ДополнительныеПараметры, "ТолькоПросмотр", Ложь) Тогда
diff --git "a/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214/Ext/Module.bsl" "b/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214/Ext/Module.bsl"
index 577acef0..2780107a 100644
--- "a/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214/Ext/Module.bsl"
+++ "b/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214/Ext/Module.bsl"
@@ -1,11 +1,4 @@
-Функция НайтиЗадания(ПараметрыЗадания) Экспорт
-
- МассивЗаданий = Новый Массив;
- МассивЗаданий.Добавить(Новый Структура("Использование, Расписание", Ложь, Новый РасписаниеРегламентногоЗадания()));
- Возврат МассивЗаданий;
-
-КонецФункции
-
+
Функция РазложитьСтрокуВМассивПодстрок(Знач Значение, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено,
СокращатьНепечатаемыеСимволы = Ложь) Экспорт
@@ -74,7 +67,23 @@
Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
КонецПроцедуры
-
+
+Функция СократитьСтрокуКонтрольнойСуммой(Строка, МаксимальнаяДлина) Экспорт
+
+ МинимальнаяДлина = 32;
+ Результат = Строка;
+ Если СтрДлина(Строка) > МаксимальнаяДлина Тогда
+ Результат = Лев(Строка, МаксимальнаяДлина - МинимальнаяДлина);
+ ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.MD5);
+ ХешированиеДанных.Добавить(Сред(Строка, МаксимальнаяДлина - МинимальнаяДлина + 1));
+ Результат = Результат + СтрЗаменить(ХешированиеДанных.ХешСумма, " ", "");
+ КонецЕсли;
+ Возврат Результат;
+
+КонецФункции
+
+#Область ХранилищеНастроек
+
Функция ХранилищеОбщихНастроекЗагрузить(КлючОбъекта, КлючНастроек, ЗначениеПоУмолчанию = Неопределено,
ОписаниеНастроек = Неопределено, ИмяПользователя = Неопределено) Экспорт
@@ -101,22 +110,6 @@
ОбновитьПовторноИспользуемыеЗначения);
КонецПроцедуры
-
-Функция СократитьСтрокуКонтрольнойСуммой(Строка, МаксимальнаяДлина) Экспорт
-
- МинимальнаяДлина = 32;
- Результат = Строка;
- Если СтрДлина(Строка) > МаксимальнаяДлина Тогда
- Результат = Лев(Строка, МаксимальнаяДлина - МинимальнаяДлина);
- ХешированиеДанных = Новый ХешированиеДанных(ХешФункция.MD5);
- ХешированиеДанных.Добавить(Сред(Строка, МаксимальнаяДлина - МинимальнаяДлина + 1));
- Результат = Результат + СтрЗаменить(ХешированиеДанных.ХешСумма, " ", "");
- КонецЕсли;
- Возврат Результат;
-
-КонецФункции
-
-#Область ХранилищеНастроек
Процедура ХранилищеСохранить(МенеджерХранилища, КлючОбъекта, КлючНастроек, Настройки,
ОписаниеНастроек, ИмяПользователя, ОбновитьПовторноИспользуемыеЗначения)
@@ -156,4 +149,114 @@
Возврат СократитьСтрокуКонтрольнойСуммой(Строка, 128);
КонецФункции
-#КонецОбласти
\ No newline at end of file
+#КонецОбласти
+
+Процедура ЗаписатьДанныеВБезопасноеХранилище(Владелец, Данные, Ключ = "Пароль") Экспорт
+ Возврат;
+КонецПроцедуры
+
+Функция ПрочитатьДанныеИзБезопасногоХранилища(Владелец, Ключи = "Пароль", ОбщиеДанные = Неопределено) Экспорт
+
+ // ++ Обход ошибки отстутствия модуля БСП, не переносить
+ ОбщегоНазначенияКлиентСервер = __ВспомогательныйМодульНеПереноситьКлиентСервер;
+ // -- Обход ошибки отстутствия модуля БСП, не переносить
+
+ Владельцы = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Владелец);
+ ДанныеВладельца = ПрочитатьДанныеВладельцевИзБезопасногоХранилища(Владельцы, Ключи, ОбщиеДанные);
+
+ Результат = ДанныеВладельца[Владелец];
+
+ Возврат Результат;
+
+КонецФункции
+
+Функция ПрочитатьДанныеВладельцевИзБезопасногоХранилища(Владельцы, Ключи = "Пароль", ОбщиеДанные = Неопределено) Экспорт
+
+ Результат = ДанныеИзБезопасногоХранилища(Владельцы, Ключи, ОбщиеДанные);
+
+ Возврат Результат;
+
+КонецФункции
+
+Функция ДанныеИзБезопасногоХранилища(Владельцы, Ключи, ОбщиеДанные)
+
+ Результат = Новый Соответствие();
+
+ Возврат Результат;
+КонецФункции
+
+Функция НайтиЗадания(Отбор) Экспорт
+
+ СписокЗаданий = РегламентныеЗадания.ПолучитьРегламентныеЗадания(Отбор);
+
+ Возврат СписокЗаданий;
+
+КонецФункции
+
+Процедура УдалитьЗадание(Знач Идентификатор) Экспорт
+
+ Возврат;
+
+КонецПроцедуры
+
+Функция ДобавитьЗадание(Параметры) Экспорт
+
+ Задание = ДобавитьРегламентноеЗадание(Параметры);
+
+ Возврат Задание;
+
+КонецФункции
+
+Функция ДобавитьРегламентноеЗадание(Параметры) Экспорт
+
+ МетаданныеЗадания = Параметры.Метаданные;
+ Задание = РегламентныеЗадания.СоздатьРегламентноеЗадание(МетаданныеЗадания);
+
+ Если Параметры.Свойство("Наименование") Тогда
+ Задание.Наименование = Параметры.Наименование;
+ Иначе
+ Задание.Наименование = МетаданныеЗадания.Наименование;
+ КонецЕсли;
+
+ Если Параметры.Свойство("Использование") Тогда
+ Задание.Использование = Параметры.Использование;
+ Иначе
+ Задание.Использование = МетаданныеЗадания.Использование;
+ КонецЕсли;
+
+ Если Параметры.Свойство("Ключ") Тогда
+ Задание.Ключ = Параметры.Ключ;
+ Иначе
+ Задание.Ключ = МетаданныеЗадания.Ключ;
+ КонецЕсли;
+
+ Если Параметры.Свойство("ИмяПользователя") Тогда
+ Задание.ИмяПользователя = Параметры.ИмяПользователя;
+ КонецЕсли;
+
+ Если Параметры.Свойство("ИнтервалПовтораПриАварийномЗавершении") Тогда
+ Задание.ИнтервалПовтораПриАварийномЗавершении = Параметры.ИнтервалПовтораПриАварийномЗавершении;
+ Иначе
+ Задание.ИнтервалПовтораПриАварийномЗавершении = МетаданныеЗадания.ИнтервалПовтораПриАварийномЗавершении;
+ КонецЕсли;
+
+ Если Параметры.Свойство("КоличествоПовторовПриАварийномЗавершении") Тогда
+ Задание.КоличествоПовторовПриАварийномЗавершении = Параметры.КоличествоПовторовПриАварийномЗавершении;
+ Иначе
+ Задание.КоличествоПовторовПриАварийномЗавершении = МетаданныеЗадания.КоличествоПовторовПриАварийномЗавершении;
+ КонецЕсли;
+
+ Если Параметры.Свойство("Параметры") Тогда
+ Задание.Параметры = Параметры.Параметры;
+ КонецЕсли;
+
+ Если Параметры.Свойство("Расписание") Тогда
+ Задание.Расписание = Параметры.Расписание;
+ КонецЕсли;
+
+ Задание.Записать();
+
+ Возврат Задание;
+
+КонецФункции
+
diff --git "a/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml" "b/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml"
new file mode 100644
index 00000000..692810e3
--- /dev/null
+++ "b/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200.xml"
@@ -0,0 +1,23 @@
+
+
+
+
+ __ВспомогательныйМодульНеПереноситьКлиентСервер
+
+
+ ru
+ Вспомогательный модуль (не переносить) клиент сервер
+
+
+ Клиентские и серверные процедуры общего назначения
+ false
+ true
+ true
+ true
+ true
+ false
+ false
+ DontUse
+
+
+
\ No newline at end of file
diff --git "a/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl"
new file mode 100644
index 00000000..219f7bab
--- /dev/null
+++ "b/src/CommonModules/__\320\222\321\201\320\277\320\276\320\274\320\276\320\263\320\260\321\202\320\265\320\273\321\214\320\275\321\213\320\271\320\234\320\276\320\264\321\203\320\273\321\214\320\235\320\265\320\237\320\265\321\200\320\265\320\275\320\276\321\201\320\270\321\202\321\214\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl"
@@ -0,0 +1,59 @@
+
+Функция СвойствоСтруктуры(Структура, Ключ, ЗначениеПоУмолчанию = Неопределено) Экспорт
+
+ Если Структура = Неопределено Тогда
+ Возврат ЗначениеПоУмолчанию;
+ КонецЕсли;
+
+ Результат = ЗначениеПоУмолчанию;
+ Если Структура.Свойство(Ключ, Результат) Тогда
+ Возврат Результат;
+ Иначе
+ Возврат ЗначениеПоУмолчанию;
+ КонецЕсли;
+
+КонецФункции
+
+Процедура УстановитьСвойствоЭлементаФормы(ЭлементыФормы, ИмяЭлемента, ИмяСвойства, Значение) Экспорт
+
+ ЭлементФормы = ЭлементыФормы.Найти(ИмяЭлемента);
+ Если ЭлементФормы <> Неопределено И ЭлементФормы[ИмяСвойства] <> Значение Тогда
+ ЭлементФормы[ИмяСвойства] = Значение;
+ КонецЕсли;
+
+КонецПроцедуры
+
+Функция ЗначениеВМассиве(Знач Значение) Экспорт
+
+ Результат = Новый Массив;
+ Результат.Добавить(Значение);
+ Возврат Результат;
+
+КонецФункции
+
+Процедура ДополнитьМассив(МассивПриемник, МассивИсточник, ТолькоУникальныеЗначения = Ложь) Экспорт
+
+ Если ТолькоУникальныеЗначения Тогда
+
+ УникальныеЗначения = Новый Соответствие;
+
+ Для Каждого Значение Из МассивПриемник Цикл
+ УникальныеЗначения.Вставить(Значение, Истина);
+ КонецЦикла;
+
+ Для Каждого Значение Из МассивИсточник Цикл
+ Если УникальныеЗначения[Значение] = Неопределено Тогда
+ МассивПриемник.Добавить(Значение);
+ УникальныеЗначения.Вставить(Значение, Истина);
+ КонецЕсли;
+ КонецЦикла;
+
+ Иначе
+
+ Для Каждого Значение Из МассивИсточник Цикл
+ МассивПриемник.Добавить(Значение);
+ КонецЦикла;
+
+ КонецЕсли;
+
+КонецПроцедуры
\ No newline at end of file
diff --git "a/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" "b/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl"
index 10027c18..c3076451 100644
--- "a/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl"
+++ "b/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl"
@@ -75,6 +75,28 @@
КонецФункции
+// Возвращает массив значений произвольного типа, объекта соответствия.
+//
+// Параметры:
+// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
+// ИмяКлюча - Строка - поле регистра сведений __СоответствияОбъектовИБ, по которому устанавливается отбор.
+// ЗначениеКлюча - ПроизвольныйТип - Значение ключа по которому установлен отбор.
+// ИмяОбъекта - Строка - получаемое поле регистра сведений __СоответствияОбъектовИБ.
+//
+// Возвращаемое значение:
+// - Массив - Значения объекта из регистра сведений __СоответствияОбъектовИБ,
+// если соответствие одно в массив будет один элемент
+//
+Функция ПолучитьЗначенияОбъектаСоответствияПоКлючу(ТипСоответствия, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта) Экспорт
+
+ Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьЗначенияОбъектаСоответствияПоКлючу(
+ ТипСоответствия,
+ ИмяКлюча,
+ ЗначениеКлюча,
+ ИмяОбъекта);
+
+КонецФункции
+
#Область ПодпискиНаСобытияДокументов
// Определяет соответствие типа источника подписки и имени метода.
diff --git "a/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl"
index 9ac72d82..41cfa777 100644
--- "a/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl"
+++ "b/src/CommonModules/__\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl"
@@ -98,17 +98,17 @@
КонецФункции
-// Возвращает таблицу соответствий по отбору.
+// Возвращает массив структур соответствий по отбору
//
// Параметры:
-// ТипСоответствия - Перечисление.__ТипСоответствияОбъектовИБ - Тип соответствия.
+// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
// Объект1 - ПроизвольныйТип - Объект1.
// Объект2 - ПроизвольныйТип - Объект2.
// Объект3 - ПроизвольныйТип - Объект3.
// ИспользоватьКэш - Булево - Признак получения данных из кэша.
//
// Возвращаемое значение:
-// - ТаблицаЗначений - Таблица соответствий по отбору.
+// - Массив - соответствие объектов ИБ в виде структур.
//
Функция ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено, ИспользоватьКэш = Ложь) Экспорт
@@ -120,6 +120,37 @@
КонецФункции
+// Возвращает массив значений произвольного типа, объекта соответствия.
+//
+// Параметры:
+// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
+// ИмяКлюча - Строка - поле регистра сведений __СоответствияОбъектовИБ, по которому устанавливается отбор.
+// ЗначениеКлюча - ПроизвольныйТип - Значение ключа по которому установлен отбор.
+// ИмяОбъекта - Строка - получаемое поле регистра сведений __СоответствияОбъектовИБ.
+// ИспользоватьКэш - Булево - Признак получения данных из кэша.
+//
+// Возвращаемое значение:
+// - Массив - Значения объекта из регистра сведений __СоответствияОбъектовИБ,
+// если соответствие одно в массив будет один элемент
+//
+Функция ПолучитьЗначенияОбъектаСоответствияПоКлючу(ТипСоответствия, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта, ИспользоватьКэш = Ложь) Экспорт
+
+ Если ИспользоватьКэш Тогда
+ Возврат __ОбщегоНазначенияПовтИсп.ПолучитьЗначенияОбъектаСоответствияПоКлючу(
+ ТипСоответствия,
+ ИмяКлюча,
+ ЗначениеКлюча,
+ ИмяОбъекта);
+ Иначе
+ Возврат РегистрыСведений.__СоответствияОбъектовИБ.ПолучитьЗначенияОбъектаСоответствияПоКлючу(
+ ТипСоответствия,
+ ИмяКлюча,
+ ЗначениеКлюча,
+ ИмяОбъекта);
+ КонецЕсли;
+
+КонецФункции
+
// Возвращает таблицу значений с датами за период
//
// Параметры:
@@ -253,7 +284,7 @@
Процедура УдалитьЭкземплярРегламентногоЗадания(КлючЗадания) Экспорт
// ++ Обход ошибки отстутствия модуля БСП, не переносить
- РегламентныеЗаданияСервер = Неопределено;
+ РегламентныеЗаданияСервер = __ВспомогательныйМодульНеПереносить;
// -- Обход ошибки отстутствия модуля БСП, не переносить
ОтборЗадания = Новый Структура;
diff --git "a/src/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.xml" "b/src/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.xml"
new file mode 100644
index 00000000..db1189d8
--- /dev/null
+++ "b/src/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.xml"
@@ -0,0 +1,27 @@
+
+
+
+
+ __ПредопределенныеЗначения
+
+
+ ru
+ Предопределенные значения
+
+
+ en
+ Predefined values
+
+
+
+ false
+ false
+ true
+ true
+ false
+ false
+ false
+ DontUse
+
+
+
\ No newline at end of file
diff --git "a/src/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/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"
new file mode 100644
index 00000000..e360ee60
--- /dev/null
+++ "b/src/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"
@@ -0,0 +1,104 @@
+// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
+// включая доработку типовых конфигураций.
+//
+// Copyright 2017-2024 First BIT company
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// URL: https://github.com/firstBitSportivnaya/PSSL/
+// e-mail: ivssmirnov@1bit.com
+// Версия: 1.0.0.1
+//
+// Требования: платформа 1С версии 8.3.17 и выше
+
+#Область ПрограммныйИнтерфейс
+
+Процедура ИнициализироватьПредопределенныеЗначения() Экспорт
+
+ ТЗПредопределенныхЗначений = __ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения();
+
+ ТЗПредопределенныхЗначенийКСозданию = ПредопределенныеЗначенияКСозданию(ТЗПредопределенныхЗначений);
+
+ Для Каждого СтрокаТаблицы Из ТЗПредопределенныхЗначенийКСозданию Цикл
+
+ СоздатьПредопределенноеЗначение(СтрокаТаблицы, ПланыВидовХарактеристик.__ПредопределенныеЗначения);
+
+ КонецЦикла;
+
+КонецПроцедуры
+
+#КонецОбласти
+
+#Область СлужебныеПроцедурыИФункции
+
+Функция ПредопределенныеЗначенияКСозданию(ТЗПредопределенныхЗначений, ПутьПоиска = "ПланВидовХарактеристик.__ПредопределенныеЗначения") Экспорт
+
+ ИдентификаторыНастроек = ТЗПредопределенныхЗначений.ВыгрузитьКолонку("ИдентификаторНастройки");
+
+ Запрос = Новый Запрос;
+ ТекстЗапроса =
+ "ВЫБРАТЬ
+ | __ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки
+ |ИЗ
+ | %1 КАК __ПредопределенныеЗначения
+ |ГДЕ
+ | __ПредопределенныеЗначения.ИдентификаторНастройки В (&СписокИдентификаторов)";
+
+ Запрос.Текст = СтрШаблон(ТекстЗапроса, ПутьПоиска);
+
+ Запрос.УстановитьПараметр("СписокИдентификаторов", ИдентификаторыНастроек);
+
+ РезультатЗапроса = Запрос.Выполнить();
+
+ ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
+
+ СтрокиДляУдаления = Новый Массив;
+ Для Каждого Строка Из ТЗПредопределенныхЗначений Цикл
+ ВыборкаДетальныеЗаписи.Сбросить();
+ Если ВыборкаДетальныеЗаписи.НайтиСледующий(Строка.ИдентификаторНастройки, "ИдентификаторНастройки") Тогда
+ СтрокиДляУдаления.Добавить(Строка);
+ КонецЕсли;
+ КонецЦикла;
+
+ Для Каждого Строка Из СтрокиДляУдаления Цикл
+ ТЗПредопределенныхЗначений.Удалить(Строка);
+ КонецЦикла;
+
+ Возврат ТЗПредопределенныхЗначений;
+
+КонецФункции
+
+Процедура СоздатьПредопределенноеЗначение(СтрокаТаблицы, МенеджерОбъекта) Экспорт
+
+ // ++ Обход ошибки отстутствия модуля БСП, не переносить
+ ОбщегоНазначения = Неопределено;
+ // -- Обход ошибки отстутствия модуля БСП, не переносить
+
+ ПроверяемыйТип = ТипЗнч(МенеджерОбъекта);
+ НовыйПредопределенныйЭлемент = МенеджерОбъекта.СоздатьЭлемент();
+ ЗаполнитьЗначенияСвойств(НовыйПредопределенныйЭлемент, СтрокаТаблицы);
+ // инициализация значения по умолчанию
+ Если ПроверяемыйТип = Тип("ПланВидовХарактеристикМенеджер.__ПредопределенныеЗначения") Тогда
+ НовыйПредопределенныйЭлемент.Значение = СтрокаТаблицы.ТипЗначения.ПривестиЗначение();
+ КонецЕсли;
+
+ Попытка
+ НовыйПредопределенныйЭлемент.Записать();
+ Исключение
+ ОбщегоНазначения.СообщитьПользователю(ОписаниеОшибки());
+ КонецПопытки;
+
+КонецПроцедуры
+
+#КонецОбласти
\ No newline at end of file
diff --git "a/src/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.xml" "b/src/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.xml"
new file mode 100644
index 00000000..a5d1e471
--- /dev/null
+++ "b/src/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.xml"
@@ -0,0 +1,27 @@
+
+
+
+
+ __ПредопределенныеЗначенияПереопределяемый
+
+
+ ru
+ Предопределенные значения переопределяемый
+
+
+ en
+ Predefined values are redefined
+
+
+
+ false
+ false
+ true
+ true
+ false
+ false
+ false
+ DontUse
+
+
+
\ No newline at end of file
diff --git "a/src/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/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"
new file mode 100644
index 00000000..59fa4d19
--- /dev/null
+++ "b/src/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"
@@ -0,0 +1,65 @@
+
+#Область ПрограммныйИнтерфейс
+
+Функция ПредопределенныеЗначения() Экспорт
+
+ Результат = ТаблицаПредопределенных();
+
+ ОписаниеЧисло = Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(10,0));
+
+ // Добавление
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Количество дней хранения истории интеграции";
+ НоваяНастройка.ИдентификаторНастройки = "КолДнейХраненияИсторииИнтеграции";
+ НоваяНастройка.Пароль = Ложь;
+ НоваяНастройка.СписокЗначений = Ложь;
+ НоваяНастройка.ТипЗначения = ОписаниеЧисло;
+
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Количество дней хранения ошибок истории интеграции";
+ НоваяНастройка.ИдентификаторНастройки = "КолДнейХраненияОшибокИсторииИнтеграции";
+ НоваяНастройка.Пароль = Ложь;
+ НоваяНастройка.СписокЗначений = Ложь;
+ НоваяНастройка.ТипЗначения = ОписаниеЧисло;
+
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Тест_бул";
+ НоваяНастройка.ИдентификаторНастройки = "Тест_бул";
+ НоваяНастройка.Пароль = Ложь;
+ НоваяНастройка.СписокЗначений = Ложь;
+ НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Булево");
+
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Тест_список";
+ НоваяНастройка.ИдентификаторНастройки = "Тест_список";
+ НоваяНастройка.Пароль = Ложь;
+ НоваяНастройка.СписокЗначений = Истина;
+ НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Строка");
+ // КонецДобавления
+
+ Возврат Результат;
+
+КонецФункции
+
+#КонецОбласти
+
+#Область СлужебныеПроцедурыИФункции
+
+Функция ТаблицаПредопределенных()
+
+ Результат = Новый ТаблицаЗначений;
+
+ ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
+ ОписаниеБулево = Новый ОписаниеТипов("Булево");
+
+ Результат.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока);
+ Результат.Колонки.Добавить("Наименование", ОписаниеСтрока);
+ Результат.Колонки.Добавить("Пароль", ОписаниеБулево);
+ Результат.Колонки.Добавить("СписокЗначений", ОписаниеБулево);
+ Результат.Колонки.Добавить("ТипЗначения", Новый ОписаниеТипов("ОписаниеТипов"));
+
+ Возврат Результат;
+
+КонецФункции
+
+#КонецОбласти
\ No newline at end of file
diff --git "a/src/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.xml" "b/src/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.xml"
new file mode 100644
index 00000000..36d9a04e
--- /dev/null
+++ "b/src/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.xml"
@@ -0,0 +1,27 @@
+
+
+
+
+ __ТипСоответствияОбъектовИБПереопределяемый
+
+
+ ru
+ Тип соответствия объектов ИБПереопределяемый
+
+
+ en
+ IB object compliance type Overridden
+
+
+
+ false
+ false
+ true
+ true
+ false
+ false
+ false
+ DontUse
+
+
+
\ No newline at end of file
diff --git "a/src/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/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"
new file mode 100644
index 00000000..d9e8a95b
--- /dev/null
+++ "b/src/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"
@@ -0,0 +1,62 @@
+// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8,
+// включая доработку типовых конфигураций.
+//
+// Copyright 2017-2024 First BIT company
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// URL: https://github.com/firstBitSportivnaya/PSSL/
+// e-mail: ivssmirnov@1bit.com
+// Версия: 1.0.0.1
+//
+// Требования: платформа 1С версии 8.3.17 и выше
+
+#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
+
+#Область ПрограммныйИнтерфейс
+
+Функция ПредопределенныеЗначения() Экспорт
+
+ Результат = ТаблицаПредопределенных();
+
+ // Добавление
+ НоваяНастройка = Результат.Добавить();
+ НоваяНастройка.Наименование = "Тест";
+ НоваяНастройка.ИдентификаторНастройки = "Тест";
+ // КонецДобавления
+
+ Возврат Результат;
+
+КонецФункции
+
+#КонецОбласти
+
+#Область СлужебныеПроцедурыИФункции
+
+Функция ТаблицаПредопределенных()
+
+ Результат = Новый ТаблицаЗначений;
+
+ ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150));
+
+ Результат.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока);
+ Результат.Колонки.Добавить("Наименование", ОписаниеСтрока);
+
+ Возврат Результат;
+
+КонецФункции
+
+#КонецОбласти
+
+#КонецЕсли
\ No newline at end of file
diff --git a/src/Configuration.xml b/src/Configuration.xml
index 23791945..6510147f 100644
--- a/src/Configuration.xml
+++ b/src/Configuration.xml
@@ -42,6 +42,10 @@
en
Project SubSystems Library
+
+ en
+ Frame configuration
+
@@ -253,8 +257,10 @@
__РедактированиеПланаВидовХарактеристикПредопределенныеЗначения
__РедактированиеПользовательскихФункций
__РедактированиеРегистраСведенийСоответствияОбъектовИБ
+ __РедактированиеТиповСоответствияОбъектовИБ
__ЧтениеПланаВидовХарактеристикПредопределенныеЗначения
__ЧтениеРегистраСведенийСоответствияОбъектовИБ
+ __ЧтениеТиповСоответствияОбъектовИБ
АдминистраторСистемы
ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок
ПолныеПрава
@@ -280,6 +286,8 @@
__ОбщегоНазначенияПовтИсп
__ОбщегоНазначенияПолныеПрава
__ОбщегоНазначенияСервер
+ __ПредопределенныеЗначения
+ __ПредопределенныеЗначенияПереопределяемый
__РаботаСДиалогамиКлиент
__РаботаСДиалогамиСервер
__РаботаСКоллекциямиКлиентСервер
@@ -289,6 +297,8 @@
__СправочникиПриЗаписи
__СправочникиПриКопировании
__СтроковыеФункцииКлиентСервер
+ __ТипСоответствияОбъектовИБПереопределяемый
+ __ВспомогательныйМодульНеПереноситьКлиентСервер
__ДокументыОбработкаЗаполнения
__ДокументыОбработкаПроведения
__ДокументыПередЗаписью
@@ -306,11 +316,11 @@
__МетодыИнтеграции
__НастройкиИнтеграции
__ПользовательскиеФункции
+ __ТипСоответствияОбъектовИБ
ДемоРаботаСФормами
__КонтекстыВыполненияПользовательскихФункций
__СозданОбновлен
__СтатусыИнтеграции
- __ТипСоответствияОбъектовИБ
__ФорматыЗапросовИнтеграции
__СоответствияОбъектовИБ
__ПредопределенныеЗначения
diff --git "a/src/Enums/__\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/Enums/__\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"
deleted file mode 100644
index e369968e..00000000
--- "a/src/Enums/__\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"
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
- a298e578-de2f-413e-90ac-502d77419b9b
- dc6e517a-0c93-4a34-ae06-72160e33f585
-
-
- 91275b9d-6f3e-4cc6-84bd-735d82b264d1
- 1d0331a4-837e-44e8-8dc6-4e4d71d02ff9
-
-
- 4b70ec88-4dcf-4c78-8c9f-87dd7788621a
- 542d83b7-4f1b-4e74-8c19-ed9a89fb8dad
-
-
-
- __ТипСоответствияОбъектовИБ
-
-
- ru
- Тип соответствия объектов ИБ
-
-
- en
- The type of compliance of IB objects
-
-
-
- false
-
-
-
- DontCheck
- false
- false
- Auto
-
-
- false
-
-
- Auto
- Auto
-
- false
- Use
- false
-
-
-
- Use
-
-
-
-
-
-
-
- DontCheck
- false
- false
- Auto
-
-
- false
-
-
- Auto
- Auto
-
- false
- Use
- false
-
-
-
- Use
-
-
-
-
-
-
-
- true
- BothWays
-
-
-
-
-
-
-
- Auto
-
-
-
-
\ No newline at end of file
diff --git "a/src/InformationRegisters/__\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/InformationRegisters/__\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 e4cf58c5..4324afad 100644
--- "a/src/InformationRegisters/__\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/InformationRegisters/__\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"
@@ -252,7 +252,7 @@
- cfg:EnumRef.__ТипСоответствияОбъектовИБ
+ cfg:CatalogRef.__ТипСоответствияОбъектовИБ
false
diff --git "a/src/InformationRegisters/__\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/InformationRegisters/__\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 e406e0cc..612312e3 100644
--- "a/src/InformationRegisters/__\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/InformationRegisters/__\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"
@@ -25,21 +25,19 @@
#Область ПрограммныйИнтерфейс
-// Возвращает таблицу соответствий по отбору.
+// Возвращает массив структур соответствий по отбору.
//
// Параметры:
-// ТипСоответствия - Перечисление.__ТипСоответствияОбъектовИБ - Тип соответствия.
+// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
// Объект1 - ПроизвольныйТип - Объект1.
// Объект2 - ПроизвольныйТип - Объект2.
// Объект3 - ПроизвольныйТип - Объект3.
//
// Возвращаемое значение:
-// - ТаблицаЗначений - Таблица соответствий по отбору.
+// - Массив - соответствие объектов ИБ в виде структур.
//
Функция ПолучитьСоответствиеОбъектовИБ(ТипСоответствия, Объект1 = Неопределено, Объект2 = Неопределено, Объект3 = Неопределено) Экспорт
- УстановитьПривилегированныйРежим(Истина);
-
Запрос = Новый Запрос;
ТекстЗапроса = "ВЫБРАТЬ
@@ -52,33 +50,112 @@
|ГДЕ
| СоответствияОбъектовИБ.ТипСоответствия = &ТипСоответствия";
+ Схема = Новый СхемаЗапроса();
+ Схема.УстановитьТекстЗапроса(ТекстЗапроса);
+ ОператорВыбрать = Схема.ПакетЗапросов[0].Операторы[0];
+
Если ЗначениеЗаполнено(Объект1) Тогда
- ТекстЗапроса = СтрШаблон("%1%2И СоответствияОбъектовИБ.Объект1 = &Объект1", ТекстЗапроса, Символы.ПС);
+ ОператорВыбрать.Отбор.Добавить("СоответствияОбъектовИБ.Объект1 = &Объект1");
Запрос.УстановитьПараметр("Объект1", Объект1);
КонецЕсли;
Если ЗначениеЗаполнено(Объект2) Тогда
- ТекстЗапроса = СтрШаблон("%1%2И СоответствияОбъектовИБ.Объект2 = &Объект1", ТекстЗапроса, Символы.ПС);
+ ОператорВыбрать.Отбор.Добавить("СоответствияОбъектовИБ.Объект2 = &Объект2");
Запрос.УстановитьПараметр("Объект2", Объект2);
КонецЕсли;
Если ЗначениеЗаполнено(Объект3) Тогда
- ТекстЗапроса = СтрШаблон("%1%2И СоответствияОбъектовИБ.Объект3 = &Объект1", ТекстЗапроса, Символы.ПС);
+ ОператорВыбрать.Отбор.Добавить("СоответствияОбъектовИБ.Объект3 = &Объект3");
Запрос.УстановитьПараметр("Объект3", Объект3);
КонецЕсли;
- Запрос.Текст = ТекстЗапроса;
+ Запрос.Текст = Схема.ПолучитьТекстЗапроса();
Запрос.УстановитьПараметр("ТипСоответствия", ТипСоответствия);
- Результат = Запрос.Выполнить();
+ УстановитьПривилегированныйРежим(Истина);
+ Выборка = Запрос.Выполнить().Выбрать();
+ УстановитьПривилегированныйРежим(Ложь);
+
+ Массив = Новый Массив();
+ СтруктураСтрокой = "ТипСоответствия, Объект1, Объект2, Объект3";
+
+ Пока Выборка.Следующий() Цикл
+ НоваяСтрока = Новый Структура(СтруктураСтрокой);
+ ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
+ Массив.Добавить(НоваяСтрока);
+ КонецЦикла;
+
+ Возврат Массив;
+
+КонецФункции
+
+// Возвращает массив значений произвольного типа, объекта соответствия.
+//
+// Параметры:
+// ТипСоответствия - СправочникСсылка.__ТипСоответствияОбъектовИБ - Тип соответствия.
+// ИмяКлюча - Строка - поле регистра сведений __СоответствияОбъектовИБ, по которому устанавливается отбор.
+// ЗначениеКлюча - ПроизвольныйТип - Значение ключа по которому установлен отбор.
+// ИмяОбъекта - Строка - получаемое поле регистра сведений __СоответствияОбъектовИБ.
+//
+// Возвращаемое значение:
+// - Массив - Значения объекта из регистра сведений __СоответствияОбъектовИБ,
+// если соответствие одно в массив будет один элемент
+//
+Функция ПолучитьЗначенияОбъектаСоответствияПоКлючу(ТипСоответствия, ИмяКлюча, ЗначениеКлюча, ИмяОбъекта) Экспорт
+
+ // ++ Обход ошибки отстутствия модуля БСП, не переносить
+ СтроковыеФункцииКлиентСервер = Неопределено;
+ // -- Обход ошибки отстутствия модуля БСП, не переносить
+
+ МетаданныеРегистра = Метаданные.РегистрыСведений.__СоответствияОбъектовИБ;
+
+ КлючСуществует = МетаданныеРегистра.Измерения.Найти(ИмяКлюча) <> Неопределено;
+ Если Не КлючСуществует Тогда
+ КлючСуществует = МетаданныеРегистра.Ресурсы.Найти(ИмяКлюча) <> Неопределено;
+ КонецЕсли;
+
+ ОбъектСуществует = МетаданныеРегистра.Измерения.Найти(ИмяОбъекта) <> Неопределено;
+ Если Не ОбъектСуществует Тогда
+ ОбъектСуществует = МетаданныеРегистра.Ресурсы.Найти(ИмяОбъекта) <> Неопределено;
+ КонецЕсли;
+
+ Если Не КлючСуществует Или Не ОбъектСуществует Тогда
+ Шаблон = НСтр("ru = 'В регистре сведений __СоответствияОбъектовИБ не существует " +
+ ?(КлючСуществует, "", "ключа %1") +
+ ?(ОбъектСуществует, "", ?(КлючСуществует, "", "; ") + "объект %2") + "'");
+ ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
+ Шаблон,
+ ИмяКлюча,
+ ИмяОбъекта);
+ КонецЕсли;
+
+ Запрос = Новый Запрос;
+
+ ТекстЗапроса =
+ "ВЫБРАТЬ
+ | __СоответствияОбъектовИБ.%1 КАК Объект
+ |ИЗ
+ | РегистрСведений.__СоответствияОбъектовИБ КАК __СоответствияОбъектовИБ
+ |ГДЕ
+ | __СоответствияОбъектовИБ.ТипСоответствия = &ТипСоответствия
+ | И __СоответствияОбъектовИБ.%2 = &Ключ";
+
+ Запрос.Текст = СтрШаблон(ТекстЗапроса, ИмяОбъекта, ИмяКлюча);
+
+ Запрос.УстановитьПараметр("Ключ", ЗначениеКлюча);
+ Запрос.УстановитьПараметр("ТипСоответствия", ТипСоответствия);
+
+ УстановитьПривилегированныйРежим(Истина);
+ ТаблицаОбъектов = Запрос.Выполнить().Выгрузить();
+ УстановитьПривилегированныйРежим(Ложь);
- Возврат Результат.Выгрузить();
+ Возврат ТаблицаОбъектов.ВыгрузитьКолонку("Объект");
КонецФункции
diff --git "a/src/InformationRegisters/__\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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml" "b/src/InformationRegisters/__\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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
index 4fa7c2ee..c3bfd3c2 100644
--- "a/src/InformationRegisters/__\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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
+++ "b/src/InformationRegisters/__\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/Forms/\320\244\320\276\321\200\320\274\320\260\320\241\320\277\320\270\321\201\320\272\320\260/Ext/Form.xml"
@@ -159,7 +159,7 @@
- cfg:EnumRef.__ТипСоответствияОбъектовИБ
+ cfg:CatalogRef.__ТипСоответствияОбъектовИБ
diff --git "a/src/Roles/__\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271/Ext/Rights.xml" "b/src/Roles/__\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271/Ext/Rights.xml"
index 9d7bc546..ca893e9b 100644
--- "a/src/Roles/__\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271/Ext/Rights.xml"
+++ "b/src/Roles/__\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\237\320\276\320\273\321\214\320\267\320\276\320\262\320\260\321\202\320\265\320\273\321\214\321\201\320\272\320\270\321\205\320\244\321\203\320\275\320\272\321\206\320\270\320\271/Ext/Rights.xml"
@@ -81,33 +81,6 @@
true
-