From b3999e860c801d07c7dd727d978f4db5cd80c1a1 Mon Sep 17 00:00:00 2001 From: perlusha Date: Mon, 1 Jun 2026 14:41:25 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B9?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80=D0=B5=D0=B4=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B7?= =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Сделал обратную совместимость для получения предопределенных значений, добавил возможность использовать кэш в функции получения множественных значений --- .../Ext/Module.bsl" | 45 +++++++++++++++++++ .../Ext/Module.bsl" | 20 ++++++++- .../Ext/Module.bsl" | 19 ++++++++ 3 files changed, 82 insertions(+), 2 deletions(-) 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 5c58a6e8..1bb7151f 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" @@ -441,6 +441,51 @@ КонецФункции +// Возвращает значение предопределенного элемента ПВХ по идентификатору. +// +// Параметры: +// Идентификатор - Строка - Идентификатор переменной ПВХ. +// ИспользоватьКэш - Булево - Признак получения данных из кэша. +// +// Возвращаемое значение: +// - ПроизвольныйТип - Значение переменной ПВХ. +// - Массив - Массив значений переменной ПВХ. +// +Функция ПолучитьПредопределенноеЗначение(Идентификатор, ИспользоватьКэш = Ложь) Экспорт + + Источник = ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения; + + Элемент = пбп_ПредопределенныеЗначения.ПредопределенныйЭлемент(Источник, Идентификатор,,, ИспользоватьКэш); + + Значение = пбп_ПредопределенныеЗначения.ЗначениеПредопределенногоЭлемента(Источник, Элемент,,, ИспользоватьКэш); + + Возврат Значение; + +КонецФункции + +// Возвращает соответствие предопределенных элементов ПВХ по имени. +// +// Параметры: +// Идентификаторы - Строка - Идентификаторы переменных ПВХ, перечисленные через запятую. +// ВРазрезеКлючей - Булево - Признак получения данных в виде соответствия, где Ключ - Идентификатор переменной. +// ИспользоватьКэш - Булево - Признак получения данных из кэша. +// +// Возвращаемое значение: +// - Соответствие - Соответствие идентификаторов и значений переменных ПВХ. +// - Массив - Массив значений переменных ПВХ. +// +Функция ПолучитьПредопределенныеЗначения(Идентификаторы, ВРазрезеКлючей = Ложь, ИспользоватьКэш = Ложь) Экспорт + + Источник = ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения; + + Элементы = пбп_ПредопределенныеЗначения.ПредопределенныеЭлементы(Источник, Идентификаторы,, ВРазрезеКлючей, ИспользоватьКэш); + + Значения = пбп_ПредопределенныеЗначения.ЗначенияПредопределенныхЭлементов(Источник, Элементы,,ВРазрезеКлючей, ИспользоватьКэш); + + Возврат Значения; + +КонецФункции + // Выполняет запись элемента справочника. // // Параметры: 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 aab6b20c..78401865 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" @@ -347,7 +347,8 @@ Функция ПредопределенныеЭлементы(ИсточникМетаданных, Знач Идентификаторы, ВыбрасыватьИсключение = Ложь, - ВРазрезеКлючей = Ложь) Экспорт + ВРазрезеКлючей = Ложь, + ИспользоватьКэш = Ложь) Экспорт Если ВРазрезеКлючей Тогда Значения = Новый Соответствие; @@ -360,6 +361,13 @@ Возврат Значения; КонецЕсли; + Если ИспользоватьКэш Тогда + Возврат пбп_ПредопределенныеЗначенияПовтИсп.ПредопределенныеЭлементы( + ИмяОбъектаМетаданных, + Идентификаторы, + ВыбрасыватьИсключение); + КонецЕсли; + Возврат ПолучитьПредопределенныеПоИдентификаторам( ИмяОбъектаМетаданных, Идентификаторы, Значения, @@ -431,7 +439,8 @@ Функция ЗначенияПредопределенныхЭлементов(ИсточникМетаданных, Ссылки, ВыбрасыватьИсключение = Ложь, - ВРазрезеКлючей = Ложь) Экспорт + ВРазрезеКлючей = Ложь, + ИспользоватьКэш = Ложь) Экспорт ИмяОбъектаМетаданных = ИмяОбъектаМетаданныхПоИсточнику(ИсточникМетаданных, ВыбрасыватьИсключение); Если ИмяОбъектаМетаданных = Неопределено Тогда @@ -442,6 +451,13 @@ КонецЕсли; КонецЕсли; + Если ИспользоватьКэш Тогда + Возврат пбп_ПредопределенныеЗначенияПовтИсп.ЗначенияПредопределенныхЭлементов( + ИмяОбъектаМетаданных, + Ссылки, + ВыбрасыватьИсключение); + КонецЕсли; + Менеджер = пбп_Переадресация.МенеджерОбъектаПоПолномуИмени(ИмяОбъектаМетаданных); Возврат Менеджер.ПолучитьЗначения(Ссылки, ВыбрасыватьИсключение, ВРазрезеКлючей); 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\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\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\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" index dfbff658..62eec3c1 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\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\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\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" @@ -129,6 +129,25 @@ КонецФункции +// Описание см. в пбп_ПредопределенныеЗначения.ПредопределенныйЭлемент. +// +Функция ПредопределенныеЭлементы(Знач ИмяОбъектаМетаданных, Знач Идентификатор, ВыбрасыватьИсключение = Ложь, ЗначениеПоУмолчанию = Неопределено) Экспорт + + Возврат пбп_ПредопределенныеЗначения.ПолучитьПредопределенныеПоИдентификаторам( + ИмяОбъектаМетаданных, Идентификатор, ЗначениеПоУмолчанию, Истина, ВыбрасыватьИсключение); + +КонецФункции + +// Описание см. в пбп_ПредопределенныеЗначения.ЗначениеПредопределенногоЭлемента. +// +Функция ЗначенияПредопределенныхЭлементов(Знач ИмяОбъектаМетаданных, Ссылки, ВыбрасыватьИсключение = Ложь, ЗначениеПоУмолчанию = Неопределено) Экспорт + + Менеджер = пбп_Переадресация.МенеджерОбъектаПоПолномуИмени(ИмяОбъектаМетаданных); + + Возврат Менеджер.ПолучитьЗначения(Ссылки, ВыбрасыватьИсключение, ЗначениеПоУмолчанию); + +КонецФункции + #КонецОбласти #КонецОбласти From fe1faae42f95be75e972fb6016b872630ae934de Mon Sep 17 00:00:00 2001 From: perlusha Date: Mon, 1 Jun 2026 15:40:01 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82=D0=B0?= =?UTF-8?q?=D1=82=D0=B0=D0=BC=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/Module.bsl" | 2 +- .../Ext/Module.bsl" | 7 +------ .../Ext/Module.bsl" | 8 +++++--- 3 files changed, 7 insertions(+), 10 deletions(-) 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 1bb7151f..8785b0f1 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" @@ -478,7 +478,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/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 78401865..f9953e07 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" @@ -347,14 +347,9 @@ Функция ПредопределенныеЭлементы(ИсточникМетаданных, Знач Идентификаторы, ВыбрасыватьИсключение = Ложь, - ВРазрезеКлючей = Ложь, ИспользоватьКэш = Ложь) Экспорт - Если ВРазрезеКлючей Тогда - Значения = Новый Соответствие; - Иначе - Значения = Новый Массив; - КонецЕсли; + Значения = Новый Массив; ИмяОбъектаМетаданных = ИмяОбъектаМетаданныхПоИсточнику(ИсточникМетаданных, ВыбрасыватьИсключение); Если ИмяОбъектаМетаданных = Неопределено Тогда 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\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\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\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" index 62eec3c1..13c9faeb 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\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\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\276\320\262\321\202\320\230\321\201\320\277/Ext/Module.bsl" @@ -131,7 +131,9 @@ // Описание см. в пбп_ПредопределенныеЗначения.ПредопределенныйЭлемент. // -Функция ПредопределенныеЭлементы(Знач ИмяОбъектаМетаданных, Знач Идентификатор, ВыбрасыватьИсключение = Ложь, ЗначениеПоУмолчанию = Неопределено) Экспорт +Функция ПредопределенныеЭлементы(Знач ИмяОбъектаМетаданных, Знач Идентификатор, ВыбрасыватьИсключение = Ложь) Экспорт + + ЗначениеПоУмолчанию = Новый Массив; Возврат пбп_ПредопределенныеЗначения.ПолучитьПредопределенныеПоИдентификаторам( ИмяОбъектаМетаданных, Идентификатор, ЗначениеПоУмолчанию, Истина, ВыбрасыватьИсключение); @@ -140,11 +142,11 @@ // Описание см. в пбп_ПредопределенныеЗначения.ЗначениеПредопределенногоЭлемента. // -Функция ЗначенияПредопределенныхЭлементов(Знач ИмяОбъектаМетаданных, Ссылки, ВыбрасыватьИсключение = Ложь, ЗначениеПоУмолчанию = Неопределено) Экспорт +Функция ЗначенияПредопределенныхЭлементов(Знач ИмяОбъектаМетаданных, Ссылки, ВыбрасыватьИсключение = Ложь, ВРазрезеКлючей = Ложь) Экспорт Менеджер = пбп_Переадресация.МенеджерОбъектаПоПолномуИмени(ИмяОбъектаМетаданных); - Возврат Менеджер.ПолучитьЗначения(Ссылки, ВыбрасыватьИсключение, ЗначениеПоУмолчанию); + Возврат Менеджер.ПолучитьЗначения(Ссылки, ВыбрасыватьИсключение, ВРазрезеКлючей); КонецФункции