From be1d513c9797e1fed4963a13defab25b17ff2d2e Mon Sep 17 00:00:00 2001 From: Ilya Bushin Date: Thu, 10 Oct 2024 16:07:47 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=9D=D0=B5=20=D1=83=D0=B4=D0=B0=D0=BB?= =?UTF-8?q?=D1=8F=D1=8E=D1=82=D1=81=D1=8F=20=D1=82=D0=B5=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D0=B5=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 73 +++++++++++++++++++ .../Module.bsl" | 10 ++- 2 files changed, 82 insertions(+), 1 deletion(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" index bff8c884b..6b3263d01 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -24,4 +24,77 @@ КонецФункции +Функция СсылочныеТипыДобавляемыеРасширениями() Экспорт + + СсылочныеТипы = Новый Массив; + ТипыОбъектовМетаданныхСсылочногоТипа = ТипыОбъектовМетаданныхСсылочногоТипа(); + + ЭтоРазделенныйСеанс = ПараметрыСеанса.ОбластьДанныхИспользование; + + УстановитьПривилегированныйРежим(Истина); + РасширенияСеанса = РасширенияКонфигурации.Получить(, + ИсточникРасширенийКонфигурации.СеансАктивные); + + ОбластьДействияРазделение = ОбластьДействияРасширенияКонфигурации.РазделениеДанных; + Для Каждого Расширение Из РасширенияСеанса Цикл + + Если ЭтоРазделенныйСеанс И + Расширение.ОбластьДействия <> ОбластьДействияРазделение Тогда + Продолжить; + КонецЕсли; + + Если НЕ Расширение.ИзменяетСтруктуруДанных() Тогда + Продолжить; + КонецЕсли; + + ОМДРасширения = Новый ОбъектМетаданныхКонфигурация(Расширение.ПолучитьДанные()); + + Для Каждого ТипОМД Из ТипыОбъектовМетаданныхСсылочногоТипа Цикл + ДополнитьТипы(СсылочныеТипы, ТипОМД, ОМДРасширения); + КонецЦикла; + + КонецЦикла; + + Возврат СсылочныеТипы; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура ДополнитьТипы(СсылочныеТипы, ТипОМД, ОМДРасширения) + + ПринадлежностьОбъекта = Метаданные.СвойстваОбъектов.ПринадлежностьОбъекта.Собственный; + + Для Каждого ОМД Из ОМДРасширения[ТипОМД] Цикл + + Если ОМД.ПринадлежностьОбъекта <> ПринадлежностьОбъекта Тогда + Продолжить; + КонецЕсли; + + СсылкаДляОпределенияТипа = ПредопределенноеЗначение(ОМД.ПолноеИмя() + + ".ПустаяСсылка"); + СсылочныеТипы.Добавить(ТипЗнч(СсылкаДляОпределенияТипа)); + + КонецЦикла; + +КонецПроцедуры + +Функция ТипыОбъектовМетаданныхСсылочногоТипа() + + ТипыОбъектовМетаданныхСсылочногоТипа = Новый Массив; + ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("Справочники"); + ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("Документы"); + ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("БизнесПроцессы"); + ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("Задачи"); + ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("ПланыСчетов"); + ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("ПланыОбмена"); + ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("ПланыВидовХарактеристик"); + ТипыОбъектовМетаданныхСсылочногоТипа.Добавить("ПланыВидовРасчета"); + + Возврат ТипыОбъектовМетаданныхСсылочногоТипа; + +КонецФункции + #КонецОбласти diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" index a27fca666..df0c7575e 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\242\320\270\320\277\321\213\320\224\320\260\320\275\320\275\321\213\321\205\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271/Module.bsl" @@ -155,7 +155,15 @@ " | cc:AnyRef |"); - Возврат СериализаторXDTO.ПрочитатьXML(ЧтениеXML); + ОписаниеТипаЛюбаяСсылка = СериализаторXDTO.ПрочитатьXML(ЧтениеXML); + + СсылочныеТипыРасширений = ЮТМетодыСлужебныйВызовСервера.СсылочныеТипыДобавляемыеРасширениями(); + + Если СсылочныеТипыРасширений.Количество() <> 0 Тогда + ОписаниеТипаЛюбаяСсылка = Новый ОписаниеТипов(ОписаниеТипаЛюбаяСсылка, СсылочныеТипыРасширений); + КонецЕсли; + + Возврат ОписаниеТипаЛюбаяСсылка; #КонецЕсли КонецЕсли; From 89f0f2d7a6852d992256ede5e497e29a817966dd Mon Sep 17 00:00:00 2001 From: Ilya Bushin Date: Thu, 10 Oct 2024 16:40:14 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D1=83?= =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=B8=D0=BD=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" index 6b3263d01..1d5706607 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -29,20 +29,12 @@ СсылочныеТипы = Новый Массив; ТипыОбъектовМетаданныхСсылочногоТипа = ТипыОбъектовМетаданныхСсылочногоТипа(); - ЭтоРазделенныйСеанс = ПараметрыСеанса.ОбластьДанныхИспользование; - УстановитьПривилегированныйРежим(Истина); - РасширенияСеанса = РасширенияКонфигурации.Получить(, - ИсточникРасширенийКонфигурации.СеансАктивные); + РасширенияСеанса = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансАктивные); ОбластьДействияРазделение = ОбластьДействияРасширенияКонфигурации.РазделениеДанных; Для Каждого Расширение Из РасширенияСеанса Цикл - Если ЭтоРазделенныйСеанс И - Расширение.ОбластьДействия <> ОбластьДействияРазделение Тогда - Продолжить; - КонецЕсли; - Если НЕ Расширение.ИзменяетСтруктуруДанных() Тогда Продолжить; КонецЕсли; @@ -73,8 +65,8 @@ Продолжить; КонецЕсли; - СсылкаДляОпределенияТипа = ПредопределенноеЗначение(ОМД.ПолноеИмя() - + ".ПустаяСсылка"); + ИмяПустойСсылкиТипа = ОМД.ПолноеИмя() + ".ПустаяСсылка"; + СсылкаДляОпределенияТипа = ПредопределенноеЗначение(ИмяПустойСсылкиТипа); СсылочныеТипы.Добавить(ТипЗнч(СсылкаДляОпределенияТипа)); КонецЦикла; From 869ff61da693f9aaf7a307e0b10ff426cb2f7df0 Mon Sep 17 00:00:00 2001 From: Ilya Bushin Date: Thu, 10 Oct 2024 16:48:03 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=9D=D0=B5=20=D0=B2=D1=81=D1=91=20=D1=83?= =?UTF-8?q?=D0=B1=D1=80=D0=B0=D0=BB=20=D1=81=D0=B2=D1=8F=D0=B7=D0=B0=D0=BD?= =?UTF-8?q?=D0=BD=D0=BE=D0=B5=20=D1=81=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20=D0=B4=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Module.bsl" | 1 - 1 file changed, 1 deletion(-) diff --git "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" index 1d5706607..b687f5627 100644 --- "a/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" +++ "b/exts/yaxunit/src/CommonModules/\320\256\320\242\320\234\320\265\321\202\320\276\320\264\321\213\320\241\320\273\321\203\320\266\320\265\320\261\320\275\321\213\320\271\320\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Module.bsl" @@ -32,7 +32,6 @@ УстановитьПривилегированныйРежим(Истина); РасширенияСеанса = РасширенияКонфигурации.Получить(, ИсточникРасширенийКонфигурации.СеансАктивные); - ОбластьДействияРазделение = ОбластьДействияРасширенияКонфигурации.РазделениеДанных; Для Каждого Расширение Из РасширенияСеанса Цикл Если НЕ Расширение.ИзменяетСтруктуруДанных() Тогда