diff --git a/.bsl-language-server.json b/.bsl-language-server.json index befc2b5b..29807935 100644 --- a/.bsl-language-server.json +++ b/.bsl-language-server.json @@ -5,7 +5,10 @@ "skipSupport": "withSupport", "ordinaryAppSupport": false, "parameters": { - "OrdinaryAppSupport": false + "OrdinaryAppSupport": false, + "Typo": { + "userWordsToIgnore": "пбп" + } } } } 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 9133c895..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,30 +1,16 @@ # Подсистема "предопределенные значения" -Для обращения к ссылкам из кода используем предопределенные значения, добавляем их в план видов характеристик (ПВХ) "пбп_ПредопределенныеЗначения" +## Описание подсистемы -Для удобной работы с ПВХ у нас есть следующие функции: - - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенноеЗначение(Имя, ИспользоватьКэш)** - если это единичное значение, возвращается сразу оно, если установлен флаг "Список значений" то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина. - - Параметры: - - Имя - Строка - - ИспользоватьКэш - Булево - - Возвращаемое значение: - - ПроизвольныйТип - Значение переменной ПВХ. - - Массив - Массив значений переменной ПВХ. - - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей, ИспользоватьКэш)** - если "ВРазрезеКлючей" то возвращает соответствие нескольких элементов ПВХ, если ВРазрезеКлючей = ложь, то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина. - - Параметры: - - Имена - Строка - Имена переменных ПВХ, перечисленные через запятую. - - ВРазрезеКлючей - Булево - - ИспользоватьКэш - Булево - - Возвращаемое значение: - - Соответствие - Соответствие имен и значений переменных ПВХ. - - Ключ - Строка - имя значения - - Значение - ПроизвольныйТип - - Массив - ПроизвольныйТип +По стандартам разработки поиск ссылочных объектов в программном коде по наименованию, коду, гуиду и т.д. не рекомендуется. Для возможности получения ссылок из программного кода предлагается использовать элементы плана видов характеристик. Чтобы избежать необходимости реструктуризации при добавлении новых элементов в ПВХ, формирование иерархии и элементов делается программно и обновляется в пользовательском режиме. Получение элементов стандартизируется через общий модуль с возможностью кэширования. +При коментировании или удалении из кода предопределенных элементов и последующем перезаполнении, элемент будет помечен на удаление, включая все его подчиненные элементы. + +## Добавление новых элементов В модуле **пбп_ПредопределенныеЗначенияПереопределяемый** значения добавляются через метод **Добавить()** коллекции **Результат**, которая представляет собой таблицу предопределённых значений. Каждая новая запись в этой таблице может быть настроена как группа путём установки свойства ЭтоГруппа в значение Истина. -**ИдентификаторНастройки**: Уникальный идентификатор группы, который используется для внутренних ссылок и связей между группами. -**Родитель**: Идентификатор настройки родительской группы, указывается для элементов и групп являющихся подгруппами. -**УровеньИерархии**: Целочисленное значение, определяющее уровень группы в иерархической структуре. Этот параметр используется для обеспечения правильного порядка создания групп, где сначала должны быть созданы группы верхнего уровня, а затем вложенные. +- **ИдентификаторНастройки**: Уникальный идентификатор группы, который используется для внутренних ссылок и связей между группами. +- **Родитель**: Идентификатор настройки родительской группы, указывается для элементов и групп являющихся подгруппами. +- **УровеньИерархии**: Целочисленное значение, определяющее уровень группы в иерархической структуре. Этот параметр используется для обеспечения правильного порядка создания групп, где сначала должны быть созданы группы верхнего уровня, а затем вложенные. Пример добавления нового элемента в модуле пбп_ПредопределенныеЗначенияПереопределяемый: @@ -75,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 3573aec0..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,41 +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 50615d39..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,20 +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 39dbd96a..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,41 +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/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221/Ext/ManagerModule.bsl" "b/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221/Ext/ManagerModule.bsl" index 35049b52..3e720346 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221/Ext/ManagerModule.bsl" +++ "b/src/cf/Catalogs/\320\277\320\261\320\277_\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" @@ -49,20 +49,6 @@ КонецФункции -Процедура ЗаполнитьПредопределенныеСоответствия() Экспорт - - ТЗПредопределенныхЗначений = пбп_ТипСоответствияОбъектовИБПереопределяемый.ПредопределенныеЗначения(); - - ТЗПредопределенныхЗначенийКСозданию = пбп_ПредопределенныеЗначения.ПредопределенныеЗначенияКСозданию( - ТЗПредопределенныхЗначений, - "Справочник.пбп_ТипСоответствияОбъектовИБ"); - - пбп_ПредопределенныеЗначения.СоздатьПредопределенныеЗначения( - ТЗПредопределенныхЗначенийКСозданию, - Справочники.пбп_ТипСоответствияОбъектовИБ); - -КонецПроцедуры - #КонецОбласти #КонецЕсли \ No newline at end of file diff --git "a/src/cf/Catalogs/\320\277\320\261\320\277_\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/cf/Catalogs/\320\277\320\261\320\277_\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" index 319a3ce7..6fbacddd 100644 --- "a/src/cf/Catalogs/\320\277\320\261\320\277_\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/cf/Catalogs/\320\277\320\261\320\277_\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" @@ -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..85125840 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,8 @@ &НаСервереБезКонтекста Процедура ЗаполнитьПредопределенныеНаСервере() - пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(); + пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения( + ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения); КонецПроцедуры &НаКлиенте diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271.xml" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271.xml" deleted file mode 100644 index 5cccd90b..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271.xml" +++ /dev/null @@ -1,23 +0,0 @@ - - - - - пбп_ИнтеграцииПереопределяемый - - - ru - Интеграции переопределяемый - - - - false - false - true - true - false - false - false - DontUse - - - \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" deleted file mode 100644 index e7fe4ef0..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\270\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" +++ /dev/null @@ -1,103 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 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/ -// - -#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда - -#Область ПрограммныйИнтерфейс - -Функция ПредопределенныеЗначенияИнтегрируемыеСистемы() Экспорт - - Результат = ТаблицаПредопределенныхИнтегрируемыеСистемы(); - - // Добавление - НоваяСистема = Результат.Добавить(); - НоваяСистема.Наименование = "Система N"; - НоваяСистема.ИдентификаторНастройки = "СистемаN"; - // КонецДобавления - - Возврат Результат; - -КонецФункции - -Функция ПредопределенныеЗначенияМетодыИнтеграции() Экспорт - - Результат = ТаблицаПредопределенныхМетодыИнтеграции(); - - // Добавление - НовыйМетод = Результат.Добавить(); - НовыйМетод.Наименование = "Метод интеграции системы N"; - НовыйМетод.ИдентификаторНастройки = "МетодИнтеграцииСистемыN"; - // КонецДобавления - - Возврат Результат; - -КонецФункции - -Функция ПредопределенныеЗначенияНастройкиИнтеграции() Экспорт - - Результат = ТаблицаПредопределенныхНастройкиИнтеграции(); - - // Добавление - НоваяНастройка = Результат.Добавить(); - НоваяНастройка.Наименование = "Интеграция с системой N"; - НоваяНастройка.ИдентификаторНастройки = "ИнтеграцияССистемойN"; - // КонецДобавления - - Возврат Результат; - -КонецФункции - -#КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -Функция ТаблицаПредопределенныхИнтегрируемыеСистемы() - - Результат = Новый ТаблицаЗначений; - - пбп_ПредопределенныеЗначенияПереопределяемый.ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); - - Возврат Результат; - -КонецФункции - -Функция ТаблицаПредопределенныхМетодыИнтеграции() - - Результат = Новый ТаблицаЗначений; - - пбп_ПредопределенныеЗначенияПереопределяемый.ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); - - Возврат Результат; - -КонецФункции - -Функция ТаблицаПредопределенныхНастройкиИнтеграции() - - Результат = Новый ТаблицаЗначений; - - пбп_ПредопределенныеЗначенияПереопределяемый.ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); - - Возврат Результат; - -КонецФункции - -#КонецОбласти - -#КонецЕсли \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\237\320\221\320\237/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\237\320\221\320\237/Ext/Module.bsl" index 0aa14522..28cad647 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\237\320\221\320\237/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\320\275\320\276\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\204\320\276\321\200\320\274\320\260\321\206\320\270\320\276\320\275\320\275\320\276\320\271\320\221\320\260\320\267\321\213\320\237\320\221\320\237/Ext/Module.bsl" @@ -74,7 +74,7 @@ Процедура ПриДобавленииПодсистемы(Описание) Экспорт Описание.Имя = "ПроектнаяБиблиотекаПодсистем"; - Описание.Версия = "1.0.1.2"; + Описание.Версия = "1.0.1.3"; // Требуется библиотека стандартных подсистем. Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы"); 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..2a9e4f18 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,25 @@ #КонецОбласти +#Область Метаданные + +// Аналог метода БСП. +// +// Параметры: +// ПолноеИмя - Строка - Полное имя объекта метаданных. +// +Процедура ПроверитьОбъектМетаданныхСуществует(ПолноеИмя) + + Если ОбъектМетаданныхПоПолномуИмени(ПолноеИмя) = Неопределено Тогда + ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( + НСтр("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 3678234e..8d618810 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,38 +20,60 @@ #Область ПрограммныйИнтерфейс -Процедура ИнициализироватьПредопределенныеЗначения() Экспорт - - ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); +// Инициализирует предопределенные значения из таблицы. +// +// Параметры: +// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// +Процедура ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт - ТЗПредопределенныхЗначенийКСозданию = ПредопределенныеЗначенияКСозданию(ТЗПредопределенныхЗначений); + ТипЗначения = ТипЗнч(МенеджерОбъекта); + Если ТипЗначения = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда + ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); + ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтегрируемыеСистемы") Тогда + ТЗПредопределенныхЗначений = + пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияИнтегрируемыеСистемы(); + ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_МетодыИнтеграции") Тогда + ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияМетодыИнтеграции(); + ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_НастройкиИнтеграции") Тогда + ТЗПредопределенныхЗначений = + пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияНастройкиИнтеграции(); + ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ТипСоответствияОбъектовИБ") Тогда + ТЗПредопределенныхЗначений = + пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияТипСоответствияОбъектовИБ(); + Иначе + Возврат; + КонецЕсли; - СоздатьПредопределенныеЗначения( - ТЗПредопределенныхЗначенийКСозданию, - ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения); + ОбработатьПредопределенныеЗначения(ТЗПредопределенныхЗначений, МенеджерОбъекта); КонецПроцедуры // Создание предопределенных значений на основании заполненной таблицы // // Параметры: -// Таблица - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, // пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных -// МенеджерОбъекта - СправочникМенеджер, ДокументМенеджер, ОбработкаМенеджер, РегистрСведенийМенеджер - менеджер объекта. +// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. // -Процедура СоздатьПредопределенныеЗначения(Таблица, МенеджерОбъекта) Экспорт +Процедура СоздатьОбновитьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта, ПолноеИмяОбъекта = "") Экспорт - Если Не ЗначениеЗаполнено(Таблица) Тогда + Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда Возврат; КонецЕсли; + Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда + ПолноеИмяОбъекта = ПолноеИмяОбъектаПоУмолчанию(); + КонецЕсли; + Группы = Новый Соответствие; - КолонкаСуществует = Таблица.Колонки.Найти("ЭтоГруппа") <> Неопределено; + КолонкаСуществует = ТаблицаПредопределенных.Колонки.Найти("ЭтоГруппа") <> Неопределено; Если КолонкаСуществует Тогда // Сначала создаются группы, затем элементы - Таблица.Сортировать("ЭтоГруппа УБЫВ, УровеньИерархии"); + ТаблицаПредопределенных.Сортировать("ЭтоГруппа УБЫВ, УровеньИерархии"); ТекстЗапроса = "ВЫБРАТЬ @@ -62,10 +84,8 @@ |ГДЕ | пбп_ПредопределенныеЗначения.ЭтоГруппа"; - ПолноеИмяОМ = Метаданные.НайтиПоТипу(ТипЗнч(МенеджерОбъекта)).ПолноеИмя(); - Запрос = Новый Запрос; - Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОМ); + Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта); ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать(); @@ -74,56 +94,150 @@ КонецЦикла; КонецЕсли; - Для Каждого СтрокаТаблицы Из Таблица Цикл - Если КолонкаСуществует И СтрокаТаблицы.ЭтоГруппа Тогда - СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, Группы); + Для Каждого СтрокаТаблицы Из ТаблицаПредопределенных Цикл + Если СтрокаТаблицы.Служеб_ОбновитьРасположениеЭлемента Тогда + ОбновитьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Группы); Иначе - СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Группы, КолонкаСуществует); + Если КолонкаСуществует И СтрокаТаблицы.ЭтоГруппа Тогда + СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, Группы); + Иначе + СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Группы, КолонкаСуществует); + КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры +// Получает все предопределенные элементы объекта, помечает на удаление те, которые удалены из кода. +// При установке пометки удаления для групп, также устанавливается для всех подчиенных элементов. +// +// Параметры: +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, +// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных. +// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. +// +Процедура ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт + + Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда + ПолноеИмяОбъекта = ПолноеИмяОбъектаПоУмолчанию(); + КонецЕсли; + + ТаблицаПредопределенных.Индексы.Добавить("ИдентификаторНастройки"); + + Запрос = Новый Запрос; + ТекстЗапроса = + "ВЫБРАТЬ + | пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка, + | пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки + |ИЗ + | %1 КАК пбп_ПредопределенныеЗначения + |ГДЕ + | НЕ пбп_ПредопределенныеЗначения.ПометкаУдаления + | + |УПОРЯДОЧИТЬ ПО + | Ссылка + |ИТОГИ ПО + | Ссылка ИЕРАРХИЯ"; + + Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта); + + Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); + + ПометитьНаУдалениеВсеВложения(Выборка, ТаблицаПредопределенных); + +КонецПроцедуры + +// Подготавливает параметры необходимые для обработки предопределенных элементов +// +// Параметры: +// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// +// Возвращаемое значение: +// Структура - Данные Менеджера объекта +// * Менеджер - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// * ПолноеИмя - Строка - Полное имя объекта метаданных. +// +Функция ПараметрыМенеджераОбъекта(МенеджерОбъекта) Экспорт + + Параметры = Новый Структура; + Параметры.Вставить("Менеджер", МенеджерОбъекта); + Параметры.Вставить("ПолноеИмя", Метаданные.НайтиПоТипу(ТипЗнч(МенеджерОбъекта)).ПолноеИмя()); + + Возврат Параметры; + +КонецФункции + +// Обрабатывает таблицу предопределенных элементов. Операции включают в себя: установка пометок удаления +// на неиспользуемые элементы, отбор предопределенных значений, создание предопределенных элементов. +// +// Параметры: +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, +// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных. +// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// +Процедура ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт + + Параметры = ПараметрыМенеджераОбъекта(МенеджерОбъекта); + + ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); + УдалитьИзТаблицыСуществующиеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); + СоздатьОбновитьПредопределенныеЗначения(ТаблицаПредопределенных, Параметры.Менеджер, Параметры.ПолноеИмя); + +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции -Функция ПредопределенныеЗначенияКСозданию(ТЗПредопределенныхЗначений, ПутьПоиска = "ПланВидовХарактеристик.пбп_ПредопределенныеЗначения") Экспорт - - ИдентификаторыНастроек = ТЗПредопределенныхЗначений.ВыгрузитьКолонку("ИдентификаторНастройки"); +Процедура УдалитьИзТаблицыСуществующиеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт + + Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда + Возврат; + КонецЕсли; + + Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда + ПолноеИмяОбъекта = ПолноеИмяОбъектаПоУмолчанию(); + КонецЕсли; + + ИдентификаторыНастроек = ТаблицаПредопределенных.ВыгрузитьКолонку("ИдентификаторНастройки"); Запрос = Новый Запрос; ТекстЗапроса = "ВЫБРАТЬ - | пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки + | пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка, + | пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки, + | ЕСТЬNULL(Родители.ИдентификаторНастройки, """") КАК ИдентификаторНастройкиРодитель |ИЗ | %1 КАК пбп_ПредопределенныеЗначения + | ЛЕВОЕ СОЕДИНЕНИЕ %1 КАК Родители + | ПО пбп_ПредопределенныеЗначения.Родитель = Родители.Ссылка |ГДЕ - | пбп_ПредопределенныеЗначения.ИдентификаторНастройки В (&СписокИдентификаторов)"; + | пбп_ПредопределенныеЗначения.ИдентификаторНастройки В(&СписокИдентификаторов)"; - Запрос.Текст = СтрШаблон(ТекстЗапроса, ПутьПоиска); + Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта); Запрос.УстановитьПараметр("СписокИдентификаторов", ИдентификаторыНастроек); - РезультатЗапроса = Запрос.Выполнить(); - - ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); + ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать(); СтрокиДляУдаления = Новый Массив; - Для Каждого Строка Из ТЗПредопределенныхЗначений Цикл + Для Каждого Строка Из ТаблицаПредопределенных Цикл ВыборкаДетальныеЗаписи.Сбросить(); Если ВыборкаДетальныеЗаписи.НайтиСледующий(Строка.ИдентификаторНастройки, "ИдентификаторНастройки") Тогда - СтрокиДляУдаления.Добавить(Строка); + Если ВыборкаДетальныеЗаписи.ИдентификаторНастройкиРодитель = Строка.Родитель Тогда + СтрокиДляУдаления.Добавить(Строка); + Иначе + Строка.Служеб_СсылкаНаПредопределенныйЭлемент = ВыборкаДетальныеЗаписи.Ссылка; + Строка.Служеб_ОбновитьРасположениеЭлемента = Истина; + КонецЕсли; КонецЕсли; КонецЦикла; Для Каждого Строка Из СтрокиДляУдаления Цикл - ТЗПредопределенныхЗначений.Удалить(Строка); + ТаблицаПредопределенных.Удалить(Строка); КонецЦикла; - Возврат ТЗПредопределенныхЗначений; - -КонецФункции +КонецПроцедуры Процедура СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, Группы) @@ -146,8 +260,6 @@ Процедура СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Родители, ЗаполнитьРодителя = Ложь) - ПроверяемыйТип = ТипЗнч(МенеджерОбъекта); - НовыйЭлемент = МенеджерОбъекта.СоздатьЭлемент(); ЗаполнитьЗначенияСвойств(НовыйЭлемент, СтрокаТаблицы); Если ЗаполнитьРодителя И ЗначениеЗаполнено(СтрокаТаблицы.Родитель) Тогда @@ -156,6 +268,7 @@ КонецЕсли; // инициализация значения по умолчанию + ПроверяемыйТип = ТипЗнч(МенеджерОбъекта); Если ПроверяемыйТип = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда НовыйЭлемент.Значение = СтрокаТаблицы.ТипЗначения.ПривестиЗначение(); КонецЕсли; @@ -168,4 +281,80 @@ КонецПроцедуры +Процедура ОбновитьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Родители) + + Если Не ЗначениеЗаполнено(СтрокаТаблицы.Служеб_СсылкаНаПредопределенныйЭлемент) Тогда + Возврат; + КонецЕсли; + + Элемент = СтрокаТаблицы.Служеб_СсылкаНаПредопределенныйЭлемент.ПолучитьОбъект(); + Элемент.Родитель = Родители[СтрокаТаблицы.Родитель]; + + Попытка + Элемент.Записать(); + СообщитьОбИзмененииРасположенияЭлемента(Элемент); + Исключение + пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ОписаниеОшибки()); + КонецПопытки; + +КонецПроцедуры + +Процедура ПометитьНаУдалениеВсеВложения(ИерархическаяВыборка, ТаблицаАктуальныхЭлементов) + + Пока ИерархическаяВыборка.Следующий() Цикл + + Строка = ТаблицаАктуальныхЭлементов.Найти(ИерархическаяВыборка.ИдентификаторНастройки, "ИдентификаторНастройки"); + Если Строка = Неопределено Тогда + Элемент = ИерархическаяВыборка.Ссылка.ПолучитьОбъект(); + Элемент.УстановитьПометкуУдаления(Истина, Истина); + СообщитьОПомеченномНаУдалениеЭлементе(Элемент); + Продолжить; + КонецЕсли; + + СпособВыборки = ОбходРезультатаЗапроса.ПоГруппировкамСИерархией; + + Если ИерархическаяВыборка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда + ДочерняяВыборка = ИерархическаяВыборка.Выбрать(СпособВыборки, ИерархическаяВыборка.Группировка()); + Иначе + ДочерняяВыборка = ИерархическаяВыборка.Выбрать(СпособВыборки); + КонецЕсли; + + ПометитьНаУдалениеВсеВложения(ДочерняяВыборка, ТаблицаАктуальныхЭлементов); + + КонецЦикла; + +КонецПроцедуры + +Функция ПолноеИмяОбъектаПоУмолчанию() + Возврат "ПланВидовХарактеристик.пбп_ПредопределенныеЗначения"; +КонецФункции + +Процедура СообщитьОПомеченномНаУдалениеЭлементе(Элемент) + + ТекстСообщения = НСтр("ru = 'Элемент ''%1'' помечен на удаление'; + |en = 'The item ''%1'' is marked for deletion'"); + Если ЗначениеЗаполнено(Элемент.Родитель) Тогда + ТекстСообщения = ТекстСообщения + НСтр("ru = ', включая все его подчиненные элементы.'; + |en = ', including all its subordinate items.'"); + КонецЕсли; + ТекстСообщения = пбп_СтроковыеФункцииСлужебныйКлиентСервер.ПодставитьПараметрыВСтроку( + ТекстСообщения, + Элемент.Ссылка); + пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ТекстСообщения, Элемент); + +КонецПроцедуры + +Процедура СообщитьОбИзмененииРасположенияЭлемента(Элемент) + + ТекстСообщения = НСтр("ru = 'Расположение элемента ''%1'' изменено. Текущее положение: ''%2'''; + |en = 'The location of element ''%1'' has changed. Current position: ''%2'''"); + Родитель = ?(ЗначениеЗаполнено(Элемент.Родитель), Элемент.Родитель, НСтр("ru = '''<корень>'''; en = ''''''")); + ТекстСообщения = пбп_СтроковыеФункцииСлужебныйКлиентСервер.ПодставитьПараметрыВСтроку( + ТекстСообщения, + Элемент.Ссылка, + Родитель); + пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ТекстСообщения, Элемент); + +КонецПроцедуры + #КонецОбласти \ No newline at end of file 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 72e99da0..6428222e 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" @@ -1,6 +1,12 @@  #Область ПрограммныйИнтерфейс +// Возвращает таблицу предопределенных элементов справочника +// ПланыВидовХарактеристикСсылка.пбп_ПредопределенныеЗначения. +// +// Возвращаемое значение: +// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// Функция ПредопределенныеЗначения() Экспорт Результат = ТаблицаПредопределенных(); @@ -62,15 +68,100 @@ КонецФункции +// Возвращает таблицу предопределенных элементов справочника СправочникСсылка.пбп_ИнтегрируемыеСистемы. +// +// Возвращаемое значение: +// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// +Функция ПредопределенныеЗначенияИнтегрируемыеСистемы() Экспорт + + Результат = ТаблицаПредопределенныхИнтегрируемыеСистемы(); + + // Добавление + НоваяСистема = Результат.Добавить(); + НоваяСистема.Наименование = "Система N"; + НоваяСистема.ИдентификаторНастройки = "СистемаN"; + // КонецДобавления + + Возврат Результат; + +КонецФункции + +// Возвращает таблицу предопределенных элементов справочника СправочникСсылка.пбп_МетодыИнтеграции. +// +// Возвращаемое значение: +// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// +Функция ПредопределенныеЗначенияМетодыИнтеграции() Экспорт + + Результат = ТаблицаПредопределенныхМетодыИнтеграции(); + + // Добавление + НовыйМетод = Результат.Добавить(); + НовыйМетод.Наименование = "Метод интеграции системы N"; + НовыйМетод.ИдентификаторНастройки = "МетодИнтеграцииСистемыN"; + // КонецДобавления + + Возврат Результат; + +КонецФункции + +// Возвращает таблицу предопределенных элементов справочника СправочникСсылка.пбп_НастройкиИнтеграции. +// +// Возвращаемое значение: +// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// +Функция ПредопределенныеЗначенияНастройкиИнтеграции() Экспорт + + Результат = ТаблицаПредопределенныхНастройкиИнтеграции(); + + // Добавление + НоваяНастройка = Результат.Добавить(); + НоваяНастройка.Наименование = "Интеграция с системой N"; + НоваяНастройка.ИдентификаторНастройки = "ИнтеграцияССистемойN"; + // КонецДобавления + + Возврат Результат; + +КонецФункции + +// Возвращает таблицу предопределенных элементов справочника СправочникСсылка.пбп_ТипСоответствияОбъектовИБ. +// +// Возвращаемое значение: +// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// +Функция ПредопределенныеЗначенияТипСоответствияОбъектовИБ() Экспорт + + Результат = ТаблицаПредопределенныхТипСоответствияОбъектовИБ(); + + // Добавление + НоваяНастройка = Результат.Добавить(); + НоваяНастройка.Наименование = "Тест"; + НоваяНастройка.ИдентификаторНастройки = "Тест"; + // КонецДобавления + + Возврат Результат; + +КонецФункции + +// Добавляет общие колонки таблицы предопределенных значений. +// +// Параметры: +// Таблица - ТаблицаЗначений - Таблица для заполнения предопределенными. +// Процедура ОбщиеКолонкиТаблицыПредопределенныхЗначений(Таблица) Экспорт ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150)); + ОписаниеБулево = Новый ОписаниеТипов("Булево"); Таблица.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока); Таблица.Колонки.Добавить("Наименование", ОписаниеСтрока); - Таблица.Колонки.Добавить("ЭтоГруппа", Новый ОписаниеТипов("Булево")); + Таблица.Колонки.Добавить("ЭтоГруппа", ОписаниеБулево); Таблица.Колонки.Добавить("Родитель", ОписаниеСтрока); Таблица.Колонки.Добавить("УровеньИерархии", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(2,0))); + // Служебные колонки + Таблица.Колонки.Добавить("Служеб_ОбновитьРасположениеЭлемента", ОписаниеБулево); + Таблица.Колонки.Добавить("Служеб_СсылкаНаПредопределенныйЭлемент", Неопределено); КонецПроцедуры @@ -80,10 +171,10 @@ Функция ТаблицаПредопределенных() - Результат = Новый ТаблицаЗначений; - ОписаниеБулево = Новый ОписаниеТипов("Булево"); + Результат = Новый ТаблицаЗначений; + ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); Результат.Колонки.Добавить("Пароль", ОписаниеБулево); @@ -94,4 +185,44 @@ КонецФункции +Функция ТаблицаПредопределенныхИнтегрируемыеСистемы() + + Результат = Новый ТаблицаЗначений; + + ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + + Возврат Результат; + +КонецФункции + +Функция ТаблицаПредопределенныхМетодыИнтеграции() + + Результат = Новый ТаблицаЗначений; + + ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + + Возврат Результат; + +КонецФункции + +Функция ТаблицаПредопределенныхНастройкиИнтеграции() + + Результат = Новый ТаблицаЗначений; + + ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + + Возврат Результат; + +КонецФункции + +Функция ТаблицаПредопределенныхТипСоответствияОбъектовИБ() + + Результат = Новый ТаблицаЗначений; + + ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + + Возврат Результат; + +КонецФункции + #КонецОбласти \ No newline at end of file diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\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/cf/CommonModules/\320\277\320\261\320\277_\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" deleted file mode 100644 index b8ec3414..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\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" +++ /dev/null @@ -1,27 +0,0 @@ - - - - - пбп_ТипСоответствияОбъектовИБПереопределяемый - - - 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/cf/CommonModules/\320\277\320\261\320\277_\320\242\320\270\320\277\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\321\217\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\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" deleted file mode 100644 index 8c7dab16..00000000 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\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" +++ /dev/null @@ -1,55 +0,0 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 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 diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index 0524e335..8b0d4664 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -57,7 +57,7 @@ Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок Первый БИТ - 1.0.1.2 + 1.0.1.3 false false @@ -271,7 +271,6 @@ пбп_ЖурналРегистрацииСлужебный пбп_ЗагрузкаФайлаЧерезТабличныйДокументВызовСервера пбп_ЗагрузкаФайлаЧерезТабличныйДокументКлиент - пбп_ИнтеграцииПереопределяемый пбп_ИнтеграцииСервер пбп_КоннекторHTTP пбп_МетодыРегламентныхЗаданийСервер @@ -313,7 +312,6 @@ пбп_СтроковыеФункцииКлиентСервер пбп_СтроковыеФункцииСлужебныйКлиентСервер пбп_СхемыЗапросов - пбп_ТипСоответствияОбъектовИБПереопределяемый пбп_ДокументыОбработкаЗаполнения пбп_ДокументыОбработкаПроведения пбп_ДокументыОбработкаПроверкиЗаполнения diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml" index b0349d0b..ae2c0c8c 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\241\320\276\320\276\321\202\320\262\320\265\321\202\321\201\321\202\320\262\320\270\320\265\320\236\320\261\321\212\320\265\320\272\321\202\320\276\320\262\320\230\320\221.xml" @@ -26,7 +26,6 @@ Role.пбп_РедактированиеРегистраСведенийСоответствияОбъектовИБ Role.пбп_ЧтениеРегистраСведенийСоответствияОбъектовИБ DefinedType.пбп_ТипыОбъектовСоответствийИБ - CommonModule.пбп_ТипСоответствияОбъектовИБПереопределяемый Catalog.пбп_ТипСоответствияОбъектовИБ CommonModule.пбп_ПредопределенныеЗначения Role.пбп_ЧтениеТиповСоответствияОбъектовИБ diff --git "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.xml" "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.xml" index 305c97dd..ba4e621c 100644 --- "a/src/cf/Subsystems/\320\277\320\261\320\277_\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.xml" +++ "b/src/cf/Subsystems/\320\277\320\261\320\277_\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\321\217\320\274\320\270.xml" @@ -38,7 +38,6 @@ CommonTemplate.пбп_XMLEditor CommonModule.пбп_КоннекторHTTP Enum.пбп_ТипыJSON - CommonModule.пбп_ИнтеграцииПереопределяемый