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 4ef93285..c775e5d6 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" @@ -1,32 +1,16 @@ # Подсистема "предопределенные значения" -#### Для обращения к ссылкам из кода используем предопределенные значения, добавляем их в план видов характеристик (ПВХ) "пбп_ПредопределенныеЗначения" +## Описание подсистемы -#### При коментировании или удалении из кода предопределенных элементов и последующем перезаполнении, элемент будет помечен на удаление, включая все его подчиненные элементы. +По стандартам разработки поиск ссылочных объектов в программном коде по наименованию, коду, гуиду и т.д. не рекомендуется. Для возможности получения ссылок из программного кода предлагается использовать элементы плана видов характеристик. Чтобы избежать необходимости реструктуризации при добавлении новых элементов в ПВХ, формирование иерархии и элементов делается программно и обновляется в пользовательском режиме. Получение элементов стандартизируется через общий модуль с возможностью кэширования. +При коментировании или удалении из кода предопределенных элементов и последующем перезаполнении, элемент будет помечен на удаление, включая все его подчиненные элементы. -Для удобной работы с ПВХ у нас есть следующие функции: - - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенноеЗначение(Имя, ИспользоватьКэш)** - если это единичное значение, возвращается сразу оно, если установлен флаг "Список значений" то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина. - - Параметры: - - Имя - Строка - - ИспользоватьКэш - Булево - - Возвращаемое значение: - - ПроизвольныйТип - Значение переменной ПВХ. - - Массив - Массив значений переменной ПВХ. - - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей, ИспользоватьКэш)** - если "ВРазрезеКлючей" то возвращает соответствие нескольких элементов ПВХ, если ВРазрезеКлючей = ложь, то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина. - - Параметры: - - Имена - Строка - Имена переменных ПВХ, перечисленные через запятую. - - ВРазрезеКлючей - Булево - - ИспользоватьКэш - Булево - - Возвращаемое значение: - - Соответствие - Соответствие имен и значений переменных ПВХ. - - Ключ - Строка - имя значения - - Значение - ПроизвольныйТип - - Массив - ПроизвольныйТип +## Добавление новых элементов В модуле **пбп_ПредопределенныеЗначенияПереопределяемый** значения добавляются через метод **Добавить()** коллекции **Результат**, которая представляет собой таблицу предопределённых значений. Каждая новая запись в этой таблице может быть настроена как группа путём установки свойства ЭтоГруппа в значение Истина. -**ИдентификаторНастройки**: Уникальный идентификатор группы, который используется для внутренних ссылок и связей между группами. -**Родитель**: Идентификатор настройки родительской группы, указывается для элементов и групп являющихся подгруппами. -**УровеньИерархии**: Целочисленное значение, определяющее уровень группы в иерархической структуре. Этот параметр используется для обеспечения правильного порядка создания групп, где сначала должны быть созданы группы верхнего уровня, а затем вложенные. +- **ИдентификаторНастройки**: Уникальный идентификатор группы, который используется для внутренних ссылок и связей между группами. +- **Родитель**: Идентификатор настройки родительской группы, указывается для элементов и групп являющихся подгруппами. +- **УровеньИерархии**: Целочисленное значение, определяющее уровень группы в иерархической структуре. Этот параметр используется для обеспечения правильного порядка создания групп, где сначала должны быть созданы группы верхнего уровня, а затем вложенные. Пример добавления нового элемента в модуле пбп_ПредопределенныеЗначенияПереопределяемый: @@ -77,6 +61,27 @@ КонецФункции ``` +## Получение значения элементов + +Для удобной работы с ПВХ у нас есть следующие функции: + - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенноеЗначение(Имя, ИспользоватьКэш)** - если это единичное значение, возвращается сразу оно, если установлен флаг "Список значений" то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина. + - Параметры: + - Имя - Строка + - ИспользоватьКэш - Булево + - Возвращаемое значение: + - ПроизвольныйТип - Значение переменной ПВХ. + - Массив - Массив значений переменной ПВХ. + - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей, ИспользоватьКэш)** - если "ВРазрезеКлючей" то возвращает соответствие нескольких элементов ПВХ, если ВРазрезеКлючей = ложь, то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина. + - Параметры: + - Имена - Строка - Имена переменных ПВХ, перечисленные через запятую. + - ВРазрезеКлючей - Булево + - ИспользоватьКэш - Булево + - Возвращаемое значение: + - Соответствие - Соответствие имен и значений переменных ПВХ. + - Ключ - Строка - имя значения + - Значение - ПроизвольныйТип + - Массив - ПроизвольныйТип + Пример получения множественного результата: ```1C (BSL) diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\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\277\320\261\320\277_\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 3f78d631..5f282702 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\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\277\320\261\320\277_\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" @@ -1,37 +1 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright 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/ -// - -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область ПрограммныйИнтерфейс - -Процедура ЗаполнитьПредопределенныеСоответствия() Экспорт - - ТЗПредопределенныхЗначений = пбп_ИнтеграцииПереопределяемый.ПредопределенныеЗначенияИнтегрируемыеСистемы(); - - пбп_ПредопределенныеЗначения.ОбработатьПредопределенныеЗначения( - ТЗПредопределенныхЗначений, - Справочники.пбп_ИнтегрируемыеСистемы); - -КонецПроцедуры - -#КонецОбласти - -#КонецЕсли \ No newline at end of file + \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\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/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/cf/Catalogs/\320\277\320\261\320\277_\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/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" index a650ae82..d6b22674 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\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/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/cf/Catalogs/\320\277\320\261\320\277_\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/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" @@ -26,9 +26,7 @@ &НаСервереБезКонтекста Процедура ЗаполнитьПредопределенныеНаСервере() - - Справочники.пбп_ИнтегрируемыеСистемы.ЗаполнитьПредопределенныеСоответствия(); - + пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_ИнтегрируемыеСистемы); КонецПроцедуры &НаКлиенте diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\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\277\320\261\320\277_\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 8220fac5..0e8c10a9 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\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\277\320\261\320\277_\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" @@ -22,16 +22,6 @@ #Область ПрограммныйИнтерфейс -Процедура ЗаполнитьПредопределенныеСоответствия() Экспорт - - ТЗПредопределенныхЗначений = пбп_ИнтеграцииПереопределяемый.ПредопределенныеЗначенияМетодыИнтеграции(); - - пбп_ПредопределенныеЗначения.ОбработатьПредопределенныеЗначения( - ТЗПредопределенныхЗначений, - Справочники.пбп_МетодыИнтеграции); - -КонецПроцедуры - // Получает структуру параметров метода интеграции со значениями по умолчанию // // Параметры: diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\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/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/cf/Catalogs/\320\277\320\261\320\277_\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/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" index 0a7c5cfd..89cf39c4 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\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/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/cf/Catalogs/\320\277\320\261\320\277_\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/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" @@ -26,9 +26,7 @@ &НаСервереБезКонтекста Процедура ЗаполнитьПредопределенныеНаСервере() - - Справочники.пбп_МетодыИнтеграции.ЗаполнитьПредопределенныеСоответствия(); - + пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_МетодыИнтеграции); КонецПроцедуры &НаКлиенте diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\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\277\320\261\320\277_\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 c1491ab2..5f282702 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\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\277\320\261\320\277_\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" @@ -1,37 +1 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, -// включая доработку типовых конфигураций. -// -// Copyright 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/ -// - -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область ПрограммныйИнтерфейс - -Процедура ЗаполнитьПредопределенныеСоответствия() Экспорт - - ТЗПредопределенныхЗначений = пбп_ИнтеграцииПереопределяемый.ПредопределенныеЗначенияНастройкиИнтеграции(); - - пбп_ПредопределенныеЗначения.ОбработатьПредопределенныеЗначения( - ТЗПредопределенныхЗначений, - Справочники.пбп_НастройкиИнтеграции); - -КонецПроцедуры - -#КонецОбласти - -#КонецЕсли \ No newline at end of file + \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\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/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/cf/Catalogs/\320\277\320\261\320\277_\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/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" index 0b2a7f40..4e33d702 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\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/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/cf/Catalogs/\320\277\320\261\320\277_\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/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" @@ -26,9 +26,7 @@ &НаСервереБезКонтекста Процедура ЗаполнитьПредопределенныеНаСервере() - - Справочники.пбп_НастройкиИнтеграции.ЗаполнитьПредопределенныеСоответствия(); - + пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_НастройкиИнтеграции); КонецПроцедуры &НаКлиенте diff --git "a/src/cf/ChartsOfCharacteristicTypes/\320\277\320\261\320\277_\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/cf/ChartsOfCharacteristicTypes/\320\277\320\261\320\277_\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" index 3ac5599f..548b3283 100644 --- "a/src/cf/ChartsOfCharacteristicTypes/\320\277\320\261\320\277_\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/cf/ChartsOfCharacteristicTypes/\320\277\320\261\320\277_\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" @@ -14,7 +14,7 @@ &НаСервереБезКонтекста Процедура ЗаполнитьПредопределенныеНаСервере() - пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(); + пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения); КонецПроцедуры &НаКлиенте diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\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/cf/CommonModules/\320\277\320\261\320\277_\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 ba28d11b..1a525d75 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\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/cf/CommonModules/\320\277\320\261\320\277_\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" @@ -27,31 +27,31 @@ // Возвращает значение предопределенного элемента ПВХ по имени. // // Параметры: -// Имя - Строка - Имя переменной ПВХ. +// Идентификатор - Строка - Идентификатор переменной ПВХ. // // Возвращаемое значение: // - ПроизвольныйТип - Значение переменной ПВХ. // - Массив - Массив значений переменной ПВХ. // -Функция ПолучитьПредопределенноеЗначение(Имя) Экспорт +Функция ПолучитьПредопределенноеЗначение(Идентификатор) Экспорт - Возврат ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения.ПолучитьЗначение(Имя); + Возврат ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения.ПолучитьЗначение(Идентификатор); КонецФункции -// Возвращает соответствие предопределенных элементов ПВХ по имени. +// Возвращает соответствие предопределенных элементов ПВХ по идентификаторам. // // Параметры: -// Имя - Строка - Имена переменных ПВХ, перечисленные через запятую. +// Идентификаторы - Строка - Идентификаторы переменных ПВХ, перечисленные через запятую. // ВРазрезеКлючей - Булево - Признак получения данных в виде соответствия, где Ключ - Имя переменной. // // Возвращаемое значение: -// - Соответствие - Соответствие имен и значений переменных ПВХ. +// - Соответствие - Соответствие идентификаторов и значений переменных ПВХ. // - Массив - Массив значений переменных ПВХ. // -Функция ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей = Ложь) Экспорт +Функция ПолучитьПредопределенныеЗначения(Идентификаторы, ВРазрезеКлючей = Ложь) Экспорт - Возврат ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения.ПолучитьЗначения(Имена, ВРазрезеКлючей); + Возврат ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения.ПолучитьЗначения(Идентификаторы, ВРазрезеКлючей); КонецФункции diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\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/cf/CommonModules/\320\277\320\261\320\277_\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 1a1531a8..ae9897bd 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\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/cf/CommonModules/\320\277\320\261\320\277_\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" @@ -54,22 +54,22 @@ Конецфункции -// Возвращает значение предопределенного элемента ПВХ по имени. +// Возвращает значение предопределенного элемента ПВХ по идентификатору. // // Параметры: -// Имя - Строка - Имя переменной ПВХ. +// Идентификатор - Строка - Идентификатор переменной ПВХ. // ИспользоватьКэш - Булево - Признак получения данных из кэша. // // Возвращаемое значение: // - ПроизвольныйТип - Значение переменной ПВХ. // - Массив - Массив значений переменной ПВХ. // -Функция ПолучитьПредопределенноеЗначение(Имя, ИспользоватьКэш = Ложь) Экспорт +Функция ПолучитьПредопределенноеЗначение(Идентификатор, ИспользоватьКэш = Ложь) Экспорт Если ИспользоватьКэш Тогда - Возврат пбп_ОбщегоНазначенияПовтИсп.ПолучитьПредопределенноеЗначение(Имя); + Возврат пбп_ОбщегоНазначенияПовтИсп.ПолучитьПредопределенноеЗначение(Идентификатор); Иначе - Возврат ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения.ПолучитьЗначение(Имя); + Возврат ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения.ПолучитьЗначение(Идентификатор); КонецЕсли; КонецФункции @@ -77,20 +77,20 @@ // Возвращает соответствие предопределенных элементов ПВХ по имени. // // Параметры: -// Имя - Строка - Имена переменных ПВХ, перечисленные через запятую. -// ВРазрезеКлючей - Булево - Признак получения данных в виде соответствия, где Ключ - Имя переменной. +// Идентификаторы - Строка - Идентификаторы переменных ПВХ, перечисленные через запятую. +// ВРазрезеКлючей - Булево - Признак получения данных в виде соответствия, где Ключ - Идентификатор переменной. // ИспользоватьКэш - Булево - Признак получения данных из кэша. // // Возвращаемое значение: -// - Соответствие - Соответствие имен и значений переменных ПВХ. +// - Соответствие - Соответствие идентификаторов и значений переменных ПВХ. // - Массив - Массив значений переменных ПВХ. // -Функция ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей = Ложь, ИспользоватьКэш = Ложь) Экспорт +Функция ПолучитьПредопределенныеЗначения(Идентификаторы, ВРазрезеКлючей = Ложь, ИспользоватьКэш = Ложь) Экспорт Если ИспользоватьКэш Тогда - Возврат пбп_ОбщегоНазначенияПовтИсп.ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей); + Возврат пбп_ОбщегоНазначенияПовтИсп.ПолучитьПредопределенныеЗначения(Идентификаторы, ВРазрезеКлючей); Иначе - Возврат ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения.ПолучитьЗначения(Имена, ВРазрезеКлючей); + Возврат ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения.ПолучитьЗначения(Идентификаторы, ВРазрезеКлючей); КонецЕсли; КонецФункции @@ -1815,6 +1815,124 @@ #КонецОбласти +// Аналог метода БСП. Возвращает менеджер объекта по полному имени объекта метаданных. +// Ограничение: не обрабатываются точки маршрутов бизнес-процессов. +// +// Параметры: +// ПолноеИмя - Строка - полное имя объекта метаданных. Пример: "Справочник.Организации". +// +// Возвращаемое значение: +// СправочникМенеджер, ДокументМенеджер, ОбработкаМенеджер, РегистрСведенийМенеджер - менеджер объекта. +// +// Пример: +// МенеджерСправочника = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени("Справочник.Организации"); +// ПустаяСсылка = МенеджерСправочника.ПустаяСсылка(); +// +Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт + + Перем КлассОМ, ИмяОМ, Менеджер; + + ЧастиИмени = СтрРазделить(ПолноеИмя, "."); + + Если ЧастиИмени.Количество() >= 2 Тогда + КлассОМ = ЧастиИмени[0]; + ИмяОМ = ЧастиИмени[1]; + Иначе + Менеджер = Неопределено; + КонецЕсли; + + Если ВРег(КлассОМ) = "ПЛАНОБМЕНА" Тогда + Менеджер = ПланыОбмена; + + ИначеЕсли ВРег(КлассОМ) = "СПРАВОЧНИК" Тогда + Менеджер = Справочники; + + ИначеЕсли ВРег(КлассОМ) = "ДОКУМЕНТ" Тогда + Менеджер = Документы; + + ИначеЕсли ВРег(КлассОМ) = "ЖУРНАЛДОКУМЕНТОВ" Тогда + Менеджер = ЖурналыДокументов; + + ИначеЕсли ВРег(КлассОМ) = "ПЕРЕЧИСЛЕНИЕ" Тогда + Менеджер = Перечисления; + + ИначеЕсли ВРег(КлассОМ) = "ОТЧЕТ" Тогда + Менеджер = Отчеты; + + ИначеЕсли ВРег(КлассОМ) = "ОБРАБОТКА" Тогда + Менеджер = Обработки; + + ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда + Менеджер = ПланыВидовХарактеристик; + + ИначеЕсли ВРег(КлассОМ) = "ПЛАНСЧЕТОВ" Тогда + Менеджер = ПланыСчетов; + + ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВРАСЧЕТА" Тогда + Менеджер = ПланыВидовРасчета; + + ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРСВЕДЕНИЙ" Тогда + Менеджер = РегистрыСведений; + + ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРНАКОПЛЕНИЯ" Тогда + Менеджер = РегистрыНакопления; + + ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРБУХГАЛТЕРИИ" Тогда + Менеджер = РегистрыБухгалтерии; + + ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРРАСЧЕТА" Тогда + + Если ЧастиИмени.Количество() = 2 Тогда + Менеджер = РегистрыРасчета; + + ИначеЕсли ЧастиИмени.Количество() = 4 Тогда + КлассПодчиненногоОМ = ЧастиИмени[2]; + ИмяПодчиненногоОМ = ЧастиИмени[3]; + + Если ВРег(КлассПодчиненногоОМ) = "ПЕРЕРАСЧЕТ" Тогда + Менеджер = РегистрыРасчета[ИмяОМ].Перерасчеты; + ИмяОм = ИмяПодчиненногоОМ; + + Иначе + Менеджер = Неопределено; + КонецЕсли; + + Иначе + Менеджер = Неопределено; + КонецЕсли; + + ИначеЕсли ВРег(КлассОМ) = "БИЗНЕСПРОЦЕСС" Тогда + Менеджер = БизнесПроцессы; + + ИначеЕсли ВРег(КлассОМ) = "ЗАДАЧА" Тогда + Менеджер = Задачи; + + ИначеЕсли ВРег(КлассОМ) = "КОНСТАНТА" Тогда + Менеджер = Константы; + + ИначеЕсли ВРег(КлассОМ) = "ПОСЛЕДОВАТЕЛЬНОСТЬ" Тогда + Менеджер = Последовательности; + + Иначе + Менеджер = Неопределено; + КонецЕсли; + + Если Менеджер = Неопределено Тогда + ПроверитьОбъектМетаданныхСуществует(ПолноеИмя); + ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Объект метаданных ""%1"" не имеет менеджера объекта.'; + |en = 'Metadata object %1 has no object manager.'"), ПолноеИмя); + КонецЕсли; + + Попытка + Возврат Менеджер[ИмяОМ]; + Исключение + ПроверитьОбъектМетаданныхСуществует(ПолноеИмя); + ВызватьИсключение; + КонецПопытки; + +КонецФункции + #КонецОбласти #Область ПользовательскиеФункции @@ -2383,6 +2501,22 @@ #КонецОбласти +#Область Метаданные + +// Аналог метода БСП. +// +Процедура ПроверитьОбъектМетаданныхСуществует(ПолноеИмя) + + Если ОбъектМетаданныхПоПолномуИмени(ПолноеИмя) = Неопределено Тогда + ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("ru = 'Неизвестный тип объекта метаданных ""%1"".'; + |en = 'Unknown metadata object type: ""%1"".'"), ПолноеИмя); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + #КонецОбласти #Область ПользовательскиеФункции diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\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\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\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\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" index 080dc6b4..38bccb98 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\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\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\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\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Ext/Module.bsl" @@ -148,6 +148,14 @@ #КонецОбласти +// См. пбп_ОбщегоНазначенияСервер.МенеджерОбъектаПоПолномуИмени. +Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт + + Модуль = ПолучитьМодуль(); + Возврат Модуль.МенеджерОбъектаПоПолномуИмени(ПолноеИмя); + +КонецФункции + #КонецОбласти #КонецОбласти diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\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\277\320\261\320\277_\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 fd79c891..3be0fa11 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\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\277\320\261\320\277_\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" @@ -20,11 +20,22 @@ #Область ПрограммныйИнтерфейс -Процедура ИнициализироватьПредопределенныеЗначения() Экспорт - - ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); +Процедура ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт + + ТипЗначения = ТипЗнч(МенеджерОбъекта); + Если ТипЗначения = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда + ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); + ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтегрируемыеСистемы") Тогда + ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияИнтегрируемыеСистемы(); + ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_МетодыИнтеграции") Тогда + ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияМетодыИнтеграции(); + ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_НастройкиИнтеграции") Тогда + ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияНастройкиИнтеграции(); + Иначе + Возврат; + КонецЕсли; - ОбработатьПредопределенныеЗначения(ТЗПредопределенныхЗначений, ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения); + ОбработатьПредопределенныеЗначения(ТЗПредопределенныхЗначений, МенеджерОбъекта); КонецПроцедуры @@ -153,16 +164,10 @@ Процедура ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт Параметры = ПараметрыМенеджераОбъекта(МенеджерОбъекта); - ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); - ТаблицаПредопределенных = ПредопределенныеЗначенияКСозданию( - ТаблицаПредопределенных, - Параметры.ПолноеИмя); - - СоздатьПредопределенныеЗначения( - ТаблицаПредопределенных, - Параметры.Менеджер, - Параметры.ПолноеИмя); + ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); + УдалитьСуществующиеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); + СоздатьПредопределенныеЗначения(ТаблицаПредопределенных, Параметры.Менеджер, Параметры.ПолноеИмя); КонецПроцедуры @@ -170,7 +175,11 @@ #Область СлужебныеПроцедурыИФункции -Функция ПредопределенныеЗначенияКСозданию(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт +Процедура УдалитьСуществующиеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт + + Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда + Возврат; + КонецЕсли; Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда ПолноеИмяОбъекта = ПолноеИмяОбъекта(); @@ -207,9 +216,7 @@ ТаблицаПредопределенных.Удалить(Строка); КонецЦикла; - Возврат ТаблицаПредопределенных; - -КонецФункции +КонецПроцедуры Процедура СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, Группы) diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\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\277\320\261\320\277_\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 44623259..9cd1c3f1 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\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\277\320\261\320\277_\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" @@ -40,7 +40,7 @@ НоваяНастройка.Пароль = Ложь; НоваяНастройка.СписокЗначений = Ложь; НоваяНастройка.ТипЗначения = ОписаниеЧисло; - НоваяНастройка.Родитель = "Интеграции_локал"; + НоваяНастройка.Родитель = "Интеграции"; НоваяНастройка = Результат.Добавить(); НоваяНастройка.Наименование = "Тест_бул"; @@ -62,6 +62,48 @@ КонецФункции +Функция ПредопределенныеЗначенияИнтегрируемыеСистемы() Экспорт + + Результат = ТаблицаПредопределенныхИнтегрируемыеСистемы(); + + // Добавление + НоваяСистема = Результат.Добавить(); + НоваяСистема.Наименование = "Система N"; + НоваяСистема.ИдентификаторНастройки = "СистемаN"; + // КонецДобавления + + Возврат Результат; + +КонецФункции + +Функция ПредопределенныеЗначенияМетодыИнтеграции() Экспорт + + Результат = ТаблицаПредопределенныхМетодыИнтеграции(); + + // Добавление + НовыйМетод = Результат.Добавить(); + НовыйМетод.Наименование = "Метод интеграции системы N"; + НовыйМетод.ИдентификаторНастройки = "МетодИнтеграцииСистемыN"; + // КонецДобавления + + Возврат Результат; + +КонецФункции + +Функция ПредопределенныеЗначенияНастройкиИнтеграции() Экспорт + + Результат = ТаблицаПредопределенныхНастройкиИнтеграции(); + + // Добавление + НоваяНастройка = Результат.Добавить(); + НоваяНастройка.Наименование = "Интеграция с системой N"; + НоваяНастройка.ИдентификаторНастройки = "ИнтеграцияССистемойN"; + // КонецДобавления + + Возврат Результат; + +КонецФункции + Процедура ОбщиеКолонкиТаблицыПредопределенныхЗначений(Таблица) Экспорт ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150)); @@ -94,4 +136,34 @@ КонецФункции +Функция ТаблицаПредопределенныхИнтегрируемыеСистемы() + + Результат = Новый ТаблицаЗначений; + + ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + + Возврат Результат; + +КонецФункции + +Функция ТаблицаПредопределенныхМетодыИнтеграции() + + Результат = Новый ТаблицаЗначений; + + ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + + Возврат Результат; + +КонецФункции + +Функция ТаблицаПредопределенныхНастройкиИнтеграции() + + Результат = Новый ТаблицаЗначений; + + ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + + Возврат Результат; + +КонецФункции + #КонецОбласти \ No newline at end of file