From d33632fa64d0d69c199c65ff885af1d45fc4c135 Mon Sep 17 00:00:00 2001 From: Denis Ushakov Date: Thu, 10 Oct 2024 16:03:39 +0300 Subject: [PATCH 01/12] =?UTF-8?q?redesigned=20predefined=20values=20?= =?UTF-8?q?=E2=80=8B=E2=80=8Bsubsystem?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ext/ObjectModule.bsl" | 17 + .../Ext/Form/Module.bsl" | 7 +- .../Ext/ObjectModule.bsl" | 18 + .../Ext/Form/Module.bsl" | 7 +- .../Ext/ObjectModule.bsl" | 18 + .../Ext/Form/Module.bsl" | 7 +- .../Ext/ObjectModule.bsl" | 18 + .../Ext/Form/Module.bsl" | 7 +- .../Ext/ObjectModule.bsl" | 21 +- .../Ext/Form/Module.bsl" | 10 +- ...0\265\320\275\321\202\320\276\320\262.xml" | 24 + .../Ext/Form.xml" | 227 +++++++++ .../Ext/Form/Module.bsl" | 191 ++++++++ .../Ext/Module.bsl" | 35 ++ .../Ext/Module.bsl" | 12 + .../Ext/Module.bsl" | 452 +++++++++++++----- ...1\200\320\262\320\265\321\200\320\260.xml" | 23 + .../Ext/Module.bsl" | 43 ++ ...0\273\320\270\320\265\320\275\321\202.xml" | 27 ++ .../Ext/Module.bsl" | 48 ++ .../Ext/Module.bsl" | 177 +++++-- .../Ext/Module.bsl" | 36 ++ src/cf/Configuration.xml | 5 + ...1\217\320\265\320\274\321\213\320\271.xml" | 28 ++ ...0\265\320\275\321\202\320\276\320\262.xml" | 198 ++++++++ .../Ext/ManagerModule.bsl" | 79 +++ ...1\207\320\265\320\275\320\270\321\217.xml" | 2 + 27 files changed, 1556 insertions(+), 181 deletions(-) create mode 100644 "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/ObjectModule.bsl" create mode 100644 "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/ObjectModule.bsl" create mode 100644 "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/ObjectModule.bsl" create mode 100644 "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/ObjectModule.bsl" create mode 100644 "src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" create mode 100644 "src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" create mode 100644 "src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" create mode 100644 "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\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" create mode 100644 "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\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" create mode 100644 "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\232\320\273\320\270\320\265\320\275\321\202.xml" create mode 100644 "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\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" create mode 100644 "src/cf/DefinedTypes/\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\222\321\201\320\265\320\241\321\201\321\213\320\273\320\272\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" create mode 100644 "src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" create mode 100644 "src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.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/ObjectModule.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/ObjectModule.bsl" new file mode 100644 index 00000000..992e4d1a --- /dev/null +++ "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/ObjectModule.bsl" @@ -0,0 +1,17 @@ +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ) + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); +КонецПроцедуры + +Процедура ПриЗаписи(Отказ) + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ 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 d6b22674..81225a6c 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" @@ -24,15 +24,10 @@ #Область ОбработчикиКомандФормы -&НаСервереБезКонтекста -Процедура ЗаполнитьПредопределенныеНаСервере() - пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_ИнтегрируемыеСистемы); -КонецПроцедуры - &НаКлиенте Процедура ЗаполнитьПредопределенные(Команда) - ЗаполнитьПредопределенныеНаСервере(); + пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); Элементы.Список.Обновить(); 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/ObjectModule.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/ObjectModule.bsl" new file mode 100644 index 00000000..8665c817 --- /dev/null +++ "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/ObjectModule.bsl" @@ -0,0 +1,18 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ) + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); +КонецПроцедуры + +Процедура ПриЗаписи(Отказ) + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ No newline at end of file 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 89cf39c4..81225a6c 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" @@ -24,15 +24,10 @@ #Область ОбработчикиКомандФормы -&НаСервереБезКонтекста -Процедура ЗаполнитьПредопределенныеНаСервере() - пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_МетодыИнтеграции); -КонецПроцедуры - &НаКлиенте Процедура ЗаполнитьПредопределенные(Команда) - ЗаполнитьПредопределенныеНаСервере(); + пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); Элементы.Список.Обновить(); 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/ObjectModule.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/ObjectModule.bsl" new file mode 100644 index 00000000..8665c817 --- /dev/null +++ "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/ObjectModule.bsl" @@ -0,0 +1,18 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ) + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); +КонецПроцедуры + +Процедура ПриЗаписи(Отказ) + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ 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 4e33d702..81225a6c 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" @@ -24,15 +24,10 @@ #Область ОбработчикиКомандФормы -&НаСервереБезКонтекста -Процедура ЗаполнитьПредопределенныеНаСервере() - пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_НастройкиИнтеграции); -КонецПроцедуры - &НаКлиенте Процедура ЗаполнитьПредопределенные(Команда) - ЗаполнитьПредопределенныеНаСервере(); + пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); Элементы.Список.Обновить(); 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/ObjectModule.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/ObjectModule.bsl" new file mode 100644 index 00000000..8665c817 --- /dev/null +++ "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/ObjectModule.bsl" @@ -0,0 +1,18 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ) + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); +КонецПроцедуры + +Процедура ПриЗаписи(Отказ) + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли \ 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 6fbacddd..81225a6c 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" @@ -24,15 +24,10 @@ #Область ОбработчикиКомандФормы -&НаСервереБезКонтекста -Процедура ЗаполнитьПредопределенныеНаСервере() - пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_ТипСоответствияОбъектовИБ); -КонецПроцедуры - &НаКлиенте Процедура ЗаполнитьПредопределенные(Команда) - ЗаполнитьПредопределенныеНаСервере(); + пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); Элементы.Список.Обновить(); 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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" index 5f282702..5de7d8c0 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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" @@ -1 +1,20 @@ - \ No newline at end of file + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ОбработчикиСобытий + +Процедура ПередЗаписью(Отказ) + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); +КонецПроцедуры + +Процедура ПриЗаписи(Отказ) + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); + КонецЕсли; +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли + + 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 85125840..faac79bf 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" @@ -12,20 +12,14 @@ #Область ОбработчикиКомандФормы -&НаСервереБезКонтекста -Процедура ЗаполнитьПредопределенныеНаСервере() - пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения( - ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения); -КонецПроцедуры - &НаКлиенте Процедура ЗаполнитьПредопределенные(Команда) - ЗаполнитьПредопределенныеНаСервере(); + пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); Элементы.Список.Обновить(); -КонецПроцедуры +КонецПроцедуры #КонецОбласти diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" new file mode 100644 index 00000000..f3288a04 --- /dev/null +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" @@ -0,0 +1,24 @@ + + + + + пбп_ФормаРазрешенияКонфликтовПредопределенныхЭлементов + + + ru + Форма разрешения конфликтов предопределенных элементов + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + false + + + + + \ No newline at end of file diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" new file mode 100644 index 00000000..f085e22f --- /dev/null +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" @@ -0,0 +1,227 @@ + +
+ LockOwnerWindow + + + + + + + ПриСозданииНаСервере + ПриЗакрытии + + + + List + false + false + true + true + true + ТаблицаКонфликтов + + + + false + + + + + ТаблицаКонфликтов + SearchStringRepresentation + + + + + + + ТаблицаКонфликтов + ViewStatusRepresentation + + + + + + + ТаблицаКонфликтов + SearchControl + + + + + + + ТаблицаКонфликтов.ЗаменитьЭлементомИзКода + None + + + ru + Обновить элемент данными из кода + + + EnterOnInput + + StdPicture.Change + true + + Auto + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Элемент в базе</v8:content> + </v8:item> + + + + ru + Группа элемент в базе + + + Horizontal + true + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Элемент в коде</v8:content> + </v8:item> + + + + ru + Группа элемент в коде + + + Horizontal + true + + + +
+
+ + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Таблица конфликтов</v8:content> + </v8:item> + + + v8:ValueTable + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Заменить элементом из кода</v8:content> + </v8:item> + + + xs:boolean + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Обработать элементы</v8:content> + </v8:item> + + + xs:boolean + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Адрес таблицы</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Имя формы владельца</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Префикс база</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Префикс код</v8:content> + </v8:item> + + + xs:string + + 0 + Variable + + + + + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Обработать элементы</v8:content> + </v8:item> + + + + ru + Обработать элементы + + + ОбработатьЭлементы + + +
\ No newline at end of file diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" new file mode 100644 index 00000000..85853e68 --- /dev/null +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" @@ -0,0 +1,191 @@ + +#Область ОписаниеПеременных + +#КонецОбласти + +#Область ОбработчикиСобытийФормы + +&НаСервере +Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) + + ПрефиксБаза = "база_"; + ПрефиксКод = "код_"; + + Параметры.Свойство("ИмяФормыВладельца", ИмяФормыВладельца); + + Если Параметры.Свойство("АдресТаблицы", АдресТаблицы) + И ЗначениеЗаполнено(АдресТаблицы) Тогда + ОбработатьКонфликтныеЭлементы(АдресТаблицы); + КонецЕсли; + +КонецПроцедуры + +&НаКлиенте +Процедура ПриЗакрытии(ЗавершениеРаботы) + + Если ЗавершениеРаботы Тогда + Возврат; + КонецЕсли; + + Если ОбработатьЭлементы Тогда + ОбработатьПредопределенныеЭлементы(); + КонецЕсли; + +КонецПроцедуры + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +&НаКлиенте +Процедура ОбработатьЭлементы(Команда) + + ОбработатьЭлементы = Истина; + Закрыть(); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +&НаСервере +Процедура ОбработатьКонфликтныеЭлементы(АдресТаблицы) + + ИсходнаяТаблица = ПолучитьИзВременногоХранилища(АдресТаблицы); + + Поля = СоздатьПоляТаблицыКонфликтов(ИсходнаяТаблица); + ЗаполнитьТаблицуКонфликтов(ИсходнаяТаблица, Поля); + +КонецПроцедуры + +&НаСервере +Функция СоздатьПоляТаблицыКонфликтов(Таблица) + + Поля = Новый СписокЗначений; + + ИсключаемыеПоля = пбп_ПредопределенныеЗначенияПереопределяемый.ИсключаемыеПоляДляРасчетаХешаЭлемент(); + + ДобавляемыеРеквизиты = Новый Структура; + Для Каждого Колонка Из Таблица.Колонки Цикл + Если ИсключаемыеПоля.Свойство(Колонка.Имя) + Или СтрНачинаетсяС(Колонка.Имя, "Служеб_") Тогда + Продолжить; + КонецЕсли; + ДобавляемыеРеквизиты.Вставить(ПрефиксКод + Колонка.Имя, Колонка.ТипЗначения); + ДобавляемыеРеквизиты.Вставить(ПрефиксБаза + Колонка.Имя, Колонка.ТипЗначения); + Поля.Добавить(Колонка.Имя, Колонка.Имя); + КонецЦикла; + пбп_РаботаСФормами.СоздатьРеквизитыТаблицы(ЭтотОбъект, "ТаблицаКонфликтов", ДобавляемыеРеквизиты); + + Синонимы = Новый Структура; + Для Каждого Реквизит Из ДобавляемыеРеквизиты Цикл + Родитель = Элементы.ГруппаЭлементВКоде; + Имя = СтрЗаменить(Реквизит.Ключ, ПрефиксКод, ""); + Если СтрНачинаетсяС(Реквизит.Ключ, ПрефиксБаза) Тогда + Родитель = Элементы.ГруппаЭлементВБазе; + Имя = СтрЗаменить(Имя, ПрефиксБаза, ""); + КонецЕсли; + + Заголовок = ""; + Если Не Синонимы.Свойство(Имя, Заголовок) Тогда + Заголовок = пбп_СтроковыеФункцииКлиентСервер.СинонимСтроки(Имя); + Синонимы.Вставить(Имя, Заголовок); + КонецЕсли; + + Свойства = Новый Структура; + Свойства.Вставить("Ширина", 5); + Свойства.Вставить("ТолькоПросмотр", Истина); + пбп_РаботаСФормами.СоздатьПоле(ЭтотОбъект, Реквизит.Ключ, Родитель, Заголовок, 1, + "ТаблицаКонфликтов." + Реквизит.Ключ, Свойства); + КонецЦикла; + + Возврат Поля; + +КонецФункции + +&НаСервере +Процедура ЗаполнитьТаблицуКонфликтов(Таблица, Поля) + + Если ПустаяСтрока(ИмяФормыВладельца) Тогда + Возврат; + КонецЕсли; + + МенеджерОбъекта = пбп_ОбщегоНазначенияСлужебный.МенеджерОбъектаПоПолномуИмени(ИмяФормыВладельца); + + СписокПредопределенных = Таблица.ВыгрузитьКолонку("Служеб_ПредопределенныйЭлемент"); + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка + |ИЗ + | %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\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 2a9e4f18..ec0a1e5f 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" @@ -1933,6 +1933,41 @@ КонецФункции +#Область Данные + +// Аналог метода БСП. Вычисляет контрольную сумму для произвольных данных по указанному алгоритму. +// +// Параметры: +// Данные - Произвольный - любое сериализуемое значение. +// Алгоритм - ХешФункция - алгоритм расчета контрольной суммы. По умолчанию, MD5. +// +// Возвращаемое значение: +// Строка - контрольная сумма строкой без пробелов (например 32 символа). +// +Функция КонтрольнаяСуммаСтрокой(Знач Данные, Знач Алгоритм = Неопределено) Экспорт + + Если Алгоритм = Неопределено Тогда + Алгоритм = ХешФункция.MD5; + КонецЕсли; + + ХешированиеДанных = Новый ХешированиеДанных(Алгоритм); + Если ТипЗнч(Данные) <> Тип("Строка") И ТипЗнч(Данные) <> Тип("ДвоичныеДанные") Тогда + Данные = ЗначениеВСтрокуXML(Данные); + КонецЕсли; + ХешированиеДанных.Добавить(Данные); + + Если ТипЗнч(ХешированиеДанных.ХешСумма) = Тип("ДвоичныеДанные") Тогда + Результат = СтрЗаменить(ХешированиеДанных.ХешСумма, " ", ""); + ИначеЕсли ТипЗнч(ХешированиеДанных.ХешСумма) = Тип("Число") Тогда + Результат = Формат(ХешированиеДанных.ХешСумма, "ЧГ="); + КонецЕсли; + + Возврат Результат; + +КонецФункции + +#КонецОбласти + #КонецОбласти #Область ПользовательскиеФункции 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 38bccb98..f27f612d 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" @@ -156,6 +156,18 @@ КонецФункции +#Область Данные + +// См. пбп_ОбщегоНазначенияСервер.КонтрольнаяСуммаСтрокой. +Функция КонтрольнаяСуммаСтрокой(Знач Данные, Знач Алгоритм = Неопределено) Экспорт + + Модуль = ПолучитьМодуль(); + Возврат Модуль.КонтрольнаяСуммаСтрокой(Данные, Алгоритм); + +КонецФункции + +#КонецОбласти + #КонецОбласти #КонецОбласти 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 8d618810..b8648210 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" @@ -25,7 +25,7 @@ // Параметры: // МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. // -Процедура ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт +Функция ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт ТипЗначения = ТипЗнч(МенеджерОбъекта); Если ТипЗначения = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда @@ -42,78 +42,43 @@ ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияТипСоответствияОбъектовИБ(); Иначе - Возврат; + Возврат Новый ТаблицаЗначений; КонецЕсли; - ОбработатьПредопределенныеЗначения(ТЗПредопределенныхЗначений, МенеджерОбъекта); + ТаблицаКонфликтныхЭлементов = ОбработатьПредопределенныеЗначения(ТЗПредопределенныхЗначений, МенеджерОбъекта); -КонецПроцедуры + Возврат ТаблицаКонфликтныхЭлементов; + +КонецФункции -// Создание предопределенных значений на основании заполненной таблицы +// Обрабатывает таблицу предопределенных элементов. Операции включают в себя: установка пометок удаления +// на неиспользуемые элементы, отбор предопределенных значений, создание предопределенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, -// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. // МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. -// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. // -Процедура СоздатьОбновитьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта, ПолноеИмяОбъекта = "") Экспорт +Функция ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт - Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда - Возврат; - КонецЕсли; + Параметры = ДопПараметрыОбработкиПредопределенныхЭлементов(ТаблицаПредопределенных, МенеджерОбъекта); - Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда - ПолноеИмяОбъекта = ПолноеИмяОбъектаПоУмолчанию(); - КонецЕсли; + ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); - Группы = Новый Соответствие; - КолонкаСуществует = ТаблицаПредопределенных.Колонки.Найти("ЭтоГруппа") <> Неопределено; + ЗаполнитьРодителейЭлементов(ТаблицаПредопределенных, Параметры.ПолноеИмя); + ЗаполнитьКонтрольныеСуммыТаблицы(ТаблицаПредопределенных, Параметры); - Если КолонкаСуществует Тогда - - // Сначала создаются группы, затем элементы - ТаблицаПредопределенных.Сортировать("ЭтоГруппа УБЫВ, УровеньИерархии"); - - ТекстЗапроса = - "ВЫБРАТЬ - | пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка, - | пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки - |ИЗ - | %1 КАК пбп_ПредопределенныеЗначения - |ГДЕ - | пбп_ПредопределенныеЗначения.ЭтоГруппа"; - - Запрос = Новый Запрос; - Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта); - - ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать(); - - Пока ВыборкаДетальныеЗаписи.Следующий() Цикл - Группы.Вставить(ВыборкаДетальныеЗаписи.ИдентификаторНастройки, ВыборкаДетальныеЗаписи.Ссылка); - КонецЦикла; - КонецЕсли; + ТаблицаКонфликтныхЭлементов = УдалитьИзТаблицыСуществующиеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); + СоздатьОбновитьПредопределенныеЗначения(ТаблицаПредопределенных, Параметры); - Для Каждого СтрокаТаблицы Из ТаблицаПредопределенных Цикл - Если СтрокаТаблицы.Служеб_ОбновитьРасположениеЭлемента Тогда - ОбновитьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Группы); - Иначе - Если КолонкаСуществует И СтрокаТаблицы.ЭтоГруппа Тогда - СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, Группы); - Иначе - СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Группы, КолонкаСуществует); - КонецЕсли; - КонецЕсли; - КонецЦикла; + Возврат ТаблицаКонфликтныхЭлементов; -КонецПроцедуры +КонецФункции // Получает все предопределенные элементы объекта, помечает на удаление те, которые удалены из кода. // При установке пометки удаления для групп, также устанавливается для всех подчиенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, -// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных. +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. // ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. // Процедура ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт @@ -147,52 +112,19 @@ КонецПроцедуры -// Подготавливает параметры необходимые для обработки предопределенных элементов +// После удаления уже существующих элементов, остаются только актуальные значения +// для создания предопределенных элементов. // // Параметры: -// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. -// -// Возвращаемое значение: -// Структура - Данные Менеджера объекта -// * Менеджер - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. -// * ПолноеИмя - Строка - Полное имя объекта метаданных. -// -Функция ПараметрыМенеджераОбъекта(МенеджерОбъекта) Экспорт - - Параметры = Новый Структура; - Параметры.Вставить("Менеджер", МенеджерОбъекта); - Параметры.Вставить("ПолноеИмя", Метаданные.НайтиПоТипу(ТипЗнч(МенеджерОбъекта)).ПолноеИмя()); - - Возврат Параметры; - -КонецФункции - -// Обрабатывает таблицу предопределенных элементов. Операции включают в себя: установка пометок удаления -// на неиспользуемые элементы, отбор предопределенных значений, создание предопределенных элементов. -// -// Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, -// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных. -// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. +// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. // -Процедура ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт +Функция УдалитьИзТаблицыСуществующиеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт - Параметры = ПараметрыМенеджераОбъекта(МенеджерОбъекта); - - ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); - УдалитьИзТаблицыСуществующиеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); - СоздатьОбновитьПредопределенныеЗначения(ТаблицаПредопределенных, Параметры.Менеджер, Параметры.ПолноеИмя); - -КонецПроцедуры - -#КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -Процедура УдалитьИзТаблицыСуществующиеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт + ТаблицаКонфликтныхЭлементов = ТаблицаПредопределенных.СкопироватьКолонки(); Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда - Возврат; + Возврат ТаблицаКонфликтныхЭлементов; КонецЕсли; Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда @@ -206,11 +138,13 @@ "ВЫБРАТЬ | пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка, | пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки, - | ЕСТЬNULL(Родители.ИдентификаторНастройки, """") КАК ИдентификаторНастройкиРодитель + | пбп_СостоянияПредопределенныхЭлементов.ХешСумма КАК ХешСумма, + | ЕСТЬNULL(пбп_СостоянияПредопределенныхЭлементов.РучноеИзменение, ЛОЖЬ) КАК РучноеИзменение, + | пбп_ПредопределенныеЗначения.ПометкаУдаления КАК ПометкаУдаления |ИЗ | %1 КАК пбп_ПредопределенныеЗначения - | ЛЕВОЕ СОЕДИНЕНИЕ %1 КАК Родители - | ПО пбп_ПредопределенныеЗначения.Родитель = Родители.Ссылка + | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.пбп_СостоянияПредопределенныхЭлементов КАК пбп_СостоянияПредопределенныхЭлементов + | ПО пбп_ПредопределенныеЗначения.Ссылка = пбп_СостоянияПредопределенныхЭлементов.Объект |ГДЕ | пбп_ПредопределенныеЗначения.ИдентификаторНастройки В(&СписокИдентификаторов)"; @@ -224,11 +158,18 @@ Для Каждого Строка Из ТаблицаПредопределенных Цикл ВыборкаДетальныеЗаписи.Сбросить(); Если ВыборкаДетальныеЗаписи.НайтиСледующий(Строка.ИдентификаторНастройки, "ИдентификаторНастройки") Тогда - Если ВыборкаДетальныеЗаписи.ИдентификаторНастройкиРодитель = Строка.Родитель Тогда + Если ВыборкаДетальныеЗаписи.РучноеИзменение + Или (ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.ХешСумма) + И ВыборкаДетальныеЗаписи.ХешСумма = Строка.ХешСумма) Тогда СтрокиДляУдаления.Добавить(Строка); + ИначеЕсли ВыборкаДетальныеЗаписи.ПометкаУдаления Тогда + Строка.Служеб_ПредопределенныйЭлемент = ВыборкаДетальныеЗаписи.Ссылка; + Строка.Служеб_ОбновитьЭлемент = Истина; Иначе - Строка.Служеб_СсылкаНаПредопределенныйЭлемент = ВыборкаДетальныеЗаписи.Ссылка; - Строка.Служеб_ОбновитьРасположениеЭлемента = Истина; + СтрокиДляУдаления.Добавить(Строка); + нСтрока = ТаблицаКонфликтныхЭлементов.Добавить(); + ЗаполнитьЗначенияСвойств(нСтрока, Строка); + нСтрока.Служеб_ПредопределенныйЭлемент = ВыборкаДетальныеЗаписи.Ссылка; КонецЕсли; КонецЕсли; КонецЦикла; @@ -237,19 +178,173 @@ ТаблицаПредопределенных.Удалить(Строка); КонецЦикла; + Возврат ТаблицаКонфликтныхЭлементов; + +КонецФункции + +// Создание предопределенных значений на основании заполненной таблицы +// +// Параметры: +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. +// ДополнительныеПараметры - Структура - см. пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов. +// +Процедура СоздатьОбновитьПредопределенныеЗначения(ТаблицаПредопределенных, ДополнительныеПараметры) Экспорт + + Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда + Возврат; + КонецЕсли; + + ПолноеИмяОбъекта = ДополнительныеПараметры.ПолноеИмя; + МенеджерОбъекта = ДополнительныеПараметры.Менеджер; + + Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда + ПолноеИмяОбъекта = ПолноеИмяОбъектаПоУмолчанию(); + КонецЕсли; + + Группы = Новый Соответствие; + КолонкаСуществует = ТаблицаПредопределенных.Колонки.Найти("ЭтоГруппа") <> Неопределено; + + Если КолонкаСуществует Тогда + + // Сначала создаются группы, затем элементы + ТаблицаПредопределенных.Сортировать("ЭтоГруппа УБЫВ, УровеньИерархии"); + + ТекстЗапроса = + "ВЫБРАТЬ + | пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка, + | пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки + |ИЗ + | %1 КАК пбп_ПредопределенныеЗначения + |ГДЕ + | пбп_ПредопределенныеЗначения.ЭтоГруппа"; + + Запрос = Новый Запрос; + Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта); + + ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать(); + + Пока ВыборкаДетальныеЗаписи.Следующий() Цикл + Группы.Вставить(ВыборкаДетальныеЗаписи.ИдентификаторНастройки, ВыборкаДетальныеЗаписи.Ссылка); + КонецЦикла; + КонецЕсли; + + Для Каждого СтрокаТаблицы Из ТаблицаПредопределенных Цикл + ЭтоГруппа = КолонкаСуществует И СтрокаТаблицы.ЭтоГруппа; + КлючиХеша = ?(ЭтоГруппа, ДополнительныеПараметры.КлючиХешаГруппа, ДополнительныеПараметры.КлючиХешаЭлемент); + + Если СтрокаТаблицы.Служеб_ОбновитьЭлемент Тогда + ОбновитьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы, ЭтоГруппа, КолонкаСуществует) + ИначеЕсли СтрокаТаблицы.Служеб_УстановитьФлагРучноеИзменение Тогда + УстановитьФлагРучноеИзменение(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент); + Иначе + СоздатьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы, ЭтоГруппа, КолонкаСуществует); + КонецЕсли; + КонецЦикла; + КонецПроцедуры -Процедура СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, Группы) +// Подготавливает параметры необходимые для обработки предопределенных элементов +// +// Параметры: +// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// +// Возвращаемое значение: +// Структура - Данные Менеджера объекта +// * Менеджер - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// * ПолноеИмя - Строка - Полное имя объекта метаданных. +// +Функция ДопПараметрыОбработкиПредопределенныхЭлементов(Таблица, МенеджерОбъекта) Экспорт + + Параметры = Новый Структура; + Параметры.Вставить("Менеджер", МенеджерОбъекта); + Параметры.Вставить("ПолноеИмя", Метаданные.НайтиПоТипу(ТипЗнч(МенеджерОбъекта)).ПолноеИмя()); + + мКолонки = Новый Массив; + Для Каждого Колонка Из Таблица.Колонки Цикл + мКолонки.Добавить(Колонка.Имя); + КонецЦикла; + + Параметры.Вставить("КлючиХешаЭлемент", КлючиХешаПредопределенногоЭлемента(мКолонки, Ложь)); + Параметры.Вставить("КлючиХешаГруппа", КлючиХешаПредопределенногоЭлемента(мКолонки, Истина)); + + Возврат Параметры; + +КонецФункции + +// Заполняет хеш предопределенных элементов +// +// Параметры: +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. +// ДополнительныеПараметры - Структура - см. пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов. +// +Процедура ЗаполнитьКонтрольныеСуммыТаблицы(ТаблицаПредопределенных, ДополнительныеПараметры) Экспорт + + Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда + Возврат; + КонецЕсли; + + Для Каждого Строка Из ТаблицаПредопределенных Цикл + КлючиХеша = ?(Строка.ЭтоГруппа, ДополнительныеПараметры.КлючиХешаГруппа, ДополнительныеПараметры.КлючиХешаЭлемент); + ЗаполнитьЗначенияСвойств(КлючиХеша, Строка); + Строка.ХешСумма = пбп_ОбщегоНазначенияСлужебный.КонтрольнаяСуммаСтрокой(КлючиХеша, ХешФункция.MD5); + КонецЦикла; + +КонецПроцедуры + +// Возвращает ключи хеша на основании массива полей элемента +// +// Параметры: +// Поля - Массив - Поля для формирования ключей хеша +// ЭтоГруппа - Булево - От этого признака зависят исключаемые поля +// +// Возвращаемое значение: +// Структура - Ключи хеша +// +Функция КлючиХешаПредопределенногоЭлемента(Поля, ЭтоГруппа = Ложь) Экспорт + + мКлючи = Новый Массив; + + Если ЭтоГруппа Тогда + ИсключаемыеПоля = пбп_ПредопределенныеЗначенияПереопределяемый.ИсключаемыеПоляДляРасчетаХешаГруппа(); + Иначе + ИсключаемыеПоля = пбп_ПредопределенныеЗначенияПереопределяемый.ИсключаемыеПоляДляРасчетаХешаЭлемент(); + КонецЕсли; + + Для Каждого Поле Из Поля Цикл + Если ИсключаемыеПоля.Свойство(Поле) + Или СтрНачинаетсяС(Поле, "Служеб_") Тогда + Продолжить; + КонецЕсли; + мКлючи.Добавить(Поле); + КонецЦикла; + + Возврат Новый Структура(СтрСоединить(мКлючи, ",")); + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура СоздатьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЭтоГруппа = Ложь, ЗаполнитьРодителя = Ложь) + Если ЭтоГруппа Тогда + СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители); + Иначе + СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя); + КонецЕсли; +КонецПроцедуры + +Процедура СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы) НоваяГруппа = МенеджерОбъекта.СоздатьГруппу(); ЗаполнитьЗначенияСвойств(НоваяГруппа, СтрокаТаблицы, "Наименование,ИдентификаторНастройки"); - Если ЗначениеЗаполнено(СтрокаТаблицы.Родитель) Тогда - Родитель = Группы.Получить(СтрокаТаблицы.Родитель); + Если ЗначениеЗаполнено(СтрокаТаблицы.ИдентификаторРодитель) Тогда + Родитель = Группы.Получить(СтрокаТаблицы.ИдентификаторРодитель); НоваяГруппа.Родитель = Родитель; КонецЕсли; Попытка - НоваяГруппа.Записать(); + ЗаписатьЭлементИСвязанныеДанные(НоваяГруппа, КлючиХеша); Исключение пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ОписаниеОшибки()); КонецПопытки; @@ -258,47 +353,111 @@ КонецПроцедуры -Процедура СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Родители, ЗаполнитьРодителя = Ложь) +Процедура СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя = Ложь) НовыйЭлемент = МенеджерОбъекта.СоздатьЭлемент(); ЗаполнитьЗначенияСвойств(НовыйЭлемент, СтрокаТаблицы); - Если ЗаполнитьРодителя И ЗначениеЗаполнено(СтрокаТаблицы.Родитель) Тогда - Родитель = Родители.Получить(СтрокаТаблицы.Родитель); + Если ЗаполнитьРодителя И ЗначениеЗаполнено(СтрокаТаблицы.ИдентификаторРодитель) Тогда + Родитель = Родители.Получить(СтрокаТаблицы.ИдентификаторРодитель); НовыйЭлемент.Родитель = Родитель; КонецЕсли; - // инициализация значения по умолчанию ПроверяемыйТип = ТипЗнч(МенеджерОбъекта); Если ПроверяемыйТип = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда НовыйЭлемент.Значение = СтрокаТаблицы.ТипЗначения.ПривестиЗначение(); КонецЕсли; Попытка - НовыйЭлемент.Записать(); + ЗаписатьЭлементИСвязанныеДанные(НовыйЭлемент, КлючиХеша); Исключение пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры -Процедура ОбновитьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, Родители) +Процедура ОбновитьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЭтоГруппа = Ложь, ЗаполнитьРодителя = Ложь) + Если ЭтоГруппа Тогда + ОбновитьПредопределенныйГруппу(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители); + Иначе + ОбновитьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя); + КонецЕсли; +КонецПроцедуры + +Процедура ОбновитьПредопределенныйГруппу(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители) - Если Не ЗначениеЗаполнено(СтрокаТаблицы.Служеб_СсылкаНаПредопределенныйЭлемент) Тогда + Если Не ЗначениеЗаполнено(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент) Тогда Возврат; КонецЕсли; - Элемент = СтрокаТаблицы.Служеб_СсылкаНаПредопределенныйЭлемент.ПолучитьОбъект(); - Элемент.Родитель = Родители[СтрокаТаблицы.Родитель]; + Элемент = СтрокаТаблицы.Служеб_ПредопределенныйЭлемент.ПолучитьОбъект(); + Если Элемент.ПометкаУдаления Тогда + Элемент.УстановитьПометкуУдаления(Ложь, Ложь); + КонецЕсли; + + ЗаполнитьЗначенияСвойств(Элемент, СтрокаТаблицы, "Наименование,ИдентификаторНастройки"); + + НовыйРодитель = Родители[СтрокаТаблицы.ИдентификаторРодитель]; + РодительОтличается = Элемент.Родитель <> НовыйРодитель; + Если РодительОтличается Тогда + Элемент.Родитель = НовыйРодитель; + КонецЕсли; Попытка - Элемент.Записать(); - СообщитьОбИзмененииРасположенияЭлемента(Элемент); + ЗаписатьЭлементИСвязанныеДанные(Элемент, КлючиХеша); + СообщитьОбИзмененииЭлемента(Элемент); + Если РодительОтличается Тогда + СообщитьОбИзмененииРасположенияЭлемента(Элемент); + КонецЕсли; Исключение пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры +Процедура ОбновитьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя = Ложь) + + Если Не ЗначениеЗаполнено(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент) Тогда + Возврат; + КонецЕсли; + + Элемент = СтрокаТаблицы.Служеб_ПредопределенныйЭлемент.ПолучитьОбъект(); + Если Элемент.ПометкаУдаления Тогда + Элемент.УстановитьПометкуУдаления(Ложь, Ложь); + КонецЕсли; + + ЗаполнитьЗначенияСвойств(Элемент, СтрокаТаблицы,, "Родитель"); + + РодительОтличается = Ложь; + Если ЗаполнитьРодителя Тогда + НовыйРодитель = Родители[СтрокаТаблицы.ИдентификаторРодитель]; + РодительОтличается = Элемент.Родитель <> НовыйРодитель; + Если РодительОтличается Тогда + Элемент.Родитель = НовыйРодитель; + КонецЕсли; + КонецЕсли; + + ПроверяемыйТип = ТипЗнч(МенеджерОбъекта); + Если ПроверяемыйТип = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") + И Не Элемент.ЭтоГруппа Тогда + Элемент.Значение = СтрокаТаблицы.ТипЗначения.ПривестиЗначение(); + КонецЕсли; + + Попытка + ЗаписатьЭлементИСвязанныеДанные(Элемент, КлючиХеша); + СообщитьОбИзмененииЭлемента(Элемент); + Если РодительОтличается Тогда + СообщитьОбИзмененииРасположенияЭлемента(Элемент); + КонецЕсли; + Исключение + пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ОписаниеОшибки()); + КонецПопытки; + +КонецПроцедуры + +Процедура УстановитьФлагРучноеИзменение(Элемент) + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьФлагРучногоИзменения(Элемент, Истина); +КонецПроцедуры + Процедура ПометитьНаУдалениеВсеВложения(ИерархическаяВыборка, ТаблицаАктуальныхЭлементов) Пока ИерархическаяВыборка.Следующий() Цикл @@ -329,6 +488,8 @@ Возврат "ПланВидовХарактеристик.пбп_ПредопределенныеЗначения"; КонецФункции +#Область СообщенияОСобытии + Процедура СообщитьОПомеченномНаУдалениеЭлементе(Элемент) ТекстСообщения = НСтр("ru = 'Элемент ''%1'' помечен на удаление'; @@ -357,4 +518,65 @@ КонецПроцедуры +Процедура СообщитьОбИзмененииЭлемента(Элемент) + + ТекстСообщения = НСтр("ru = 'Элемент ''%1'' успешно обновлен!'; + |en = 'Item ''%1'' was successfully updated!'"); + ТекстСообщения = пбп_СтроковыеФункцииСлужебныйКлиентСервер.ПодставитьПараметрыВСтроку( + ТекстСообщения, + Элемент.Ссылка); + пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ТекстСообщения, Элемент); + +КонецПроцедуры + +#КонецОбласти + +Процедура ЗаполнитьРодителейЭлементов(Таблица, ПолноеИмяОбъекта) + + Идентификаторы = Таблица.ВыгрузитьКолонку("ИдентификаторРодитель"); + + Запрос = Новый Запрос; + Запрос.Текст = + "ВЫБРАТЬ + | пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка, + | пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки + |ИЗ + | %1 КАК пбп_ПредопределенныеЗначения + |ГДЕ + | пбп_ПредопределенныеЗначения.ИдентификаторНастройки В(&ИдентификаторыРодитель)"; + + Запрос.Текст = СтрШаблон(Запрос.Текст, ПолноеИмяОбъекта); + + Запрос.УстановитьПараметр("ИдентификаторыРодитель", Идентификаторы); + + РезультатЗапроса = Запрос.Выполнить(); + + ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); + + Для Каждого Строка Из Таблица Цикл + ВыборкаДетальныеЗаписи.Сбросить(); + Если ВыборкаДетальныеЗаписи.НайтиСледующий(Строка.ИдентификаторРодитель, "ИдентификаторНастройки") Тогда + Строка.Родитель = ВыборкаДетальныеЗаписи.Ссылка; + КонецЕсли; + КонецЦикла; + +КонецПроцедуры + +Процедура ЗаписатьЭлементИСвязанныеДанные(Элемент, КлючиХеша) + + Элемент.Записать(); + + ЗаполнитьЗначенияСвойств(КлючиХеша, Элемент); + + Набор = РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.СоздатьНаборЗаписей(); + Набор.Отбор.Объект.Установить(Элемент.Ссылка); + + Запись = Набор.Добавить(); + Запись.Объект = Элемент.Ссылка; + Запись.ХешСумма = пбп_ОбщегоНазначенияСлужебный.КонтрольнаяСуммаСтрокой(КлючиХеша, ХешФункция.MD5); + + Набор.Записать(); + +КонецПроцедуры + #КонецОбласти \ 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\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" "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\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" new file mode 100644 index 00000000..65cc3746 --- /dev/null +++ "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\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260.xml" @@ -0,0 +1,23 @@ + + + + + пбп_ПредопределенныеЗначенияВызовСервера + + + ru + Предопределенные значения вызов сервера + + + + false + false + true + false + false + true + false + DontUse + + + \ 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\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/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\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" new file mode 100644 index 00000000..b2b9cf27 --- /dev/null +++ "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\222\321\213\320\267\320\276\320\262\320\241\320\265\321\200\320\262\320\265\321\200\320\260/Ext/Module.bsl" @@ -0,0 +1,43 @@ +// Библиотека проектных подсистем для упрощения разработки архитектуры на 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/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\232\320\273\320\270\320\265\320\275\321\202.xml" "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\232\320\273\320\270\320\265\320\275\321\202.xml" new file mode 100644 index 00000000..37efbbbe --- /dev/null +++ "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\232\320\273\320\270\320\265\320\275\321\202.xml" @@ -0,0 +1,27 @@ + + + + + пбп_ПредопределенныеЗначенияКлиент + + + ru + Предопределенные значения клиент + + + en + Working with dialogues server + + + + false + true + false + false + false + false + false + DontUse + + + \ 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\232\320\273\320\270\320\265\320\275\321\202/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\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" new file mode 100644 index 00000000..609e6ea1 --- /dev/null +++ "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\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -0,0 +1,48 @@ +// Библиотека проектных подсистем для упрощения разработки архитектуры на 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/ +// + +//////////////////////////////////////////////////////////////////////////////// +// Работа с диалогами (сервер): для серверных методов работы с диалогами. + +#Область ПрограммныйИнтерфейс + +Процедура СоздатьОбновитьПредопределенныеЗначения(Форма) Экспорт + + // Возвращаем адрес временного хранилища на таблицу и есть ли конфликты + РезультатОбработки = + пбп_ПредопределенныеЗначенияВызовСервера.ИнициализироватьПредопределенныеЗначения(Форма.ИмяФормы); + + Если РезультатОбработки.ЕстьСтроки = Ложь Тогда + Возврат; + КонецЕсли; + + Параметры = Новый Структура; + Параметры.Вставить("АдресТаблицы", РезультатОбработки.АдресТаблицы); + Параметры.Вставить("ИмяФормыВладельца", Форма.ИмяФормы); + + ОткрытьФорму("ОбщаяФорма.пбп_ФормаРазрешенияКонфликтовПредопределенныхЭлементов", Параметры, Форма); + +КонецПроцедуры + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции +// Код процедур и функций +#КонецОбласти 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 6428222e..402b0ddf 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" @@ -9,7 +9,7 @@ // Функция ПредопределенныеЗначения() Экспорт - Результат = ТаблицаПредопределенных(); + Результат = ТаблицаПредопределенныхПредопределенныеЗначения(); ОписаниеЧисло = Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(10,0)); @@ -24,7 +24,7 @@ НоваяНастройка.Наименование = "Интеграции локал"; НоваяНастройка.ИдентификаторНастройки = "Интеграции_локал"; НоваяНастройка.ЭтоГруппа = Истина; - НоваяНастройка.Родитель = "Интеграции"; + НоваяНастройка.ИдентификаторРодитель = "Интеграции"; НоваяНастройка.УровеньИерархии = 1; НоваяНастройка = Результат.Добавить(); @@ -38,7 +38,7 @@ НоваяНастройка.Пароль = Ложь; НоваяНастройка.СписокЗначений = Ложь; НоваяНастройка.ТипЗначения = ОписаниеЧисло; - НоваяНастройка.Родитель = "Интеграции"; + НоваяНастройка.ИдентификаторРодитель = "Интеграции"; НоваяНастройка = Результат.Добавить(); НоваяНастройка.Наименование = "Количество дней хранения ошибок истории интеграции"; @@ -46,7 +46,7 @@ НоваяНастройка.Пароль = Ложь; НоваяНастройка.СписокЗначений = Ложь; НоваяНастройка.ТипЗначения = ОписаниеЧисло; - НоваяНастройка.Родитель = "Интеграции"; + НоваяНастройка.ИдентификаторРодитель = "Интеграции"; НоваяНастройка = Результат.Добавить(); НоваяНастройка.Наименование = "Тест_бул"; @@ -54,7 +54,7 @@ НоваяНастройка.Пароль = Ложь; НоваяНастройка.СписокЗначений = Ложь; НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Булево"); - НоваяНастройка.Родитель = "Тестовая"; + НоваяНастройка.ИдентификаторРодитель = "Тестовая"; НоваяНастройка = Результат.Добавить(); НоваяНастройка.Наименование = "Тест_список"; @@ -144,42 +144,109 @@ КонецФункции -// Добавляет общие колонки таблицы предопределенных значений. -// -// Параметры: -// Таблица - ТаблицаЗначений - Таблица для заполнения предопределенными. -// -Процедура ОбщиеКолонкиТаблицыПредопределенныхЗначений(Таблица) Экспорт +#Область СтруктурыКолонокТаблиц + +Функция КолонкиПредопределенныеЗначения() Экспорт + + Колонки = ОбщиеКолонки(); - ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150)); ОписаниеБулево = Новый ОписаниеТипов("Булево"); - Таблица.Колонки.Добавить("ИдентификаторНастройки", ОписаниеСтрока); - Таблица.Колонки.Добавить("Наименование", ОписаниеСтрока); - Таблица.Колонки.Добавить("ЭтоГруппа", ОписаниеБулево); - Таблица.Колонки.Добавить("Родитель", ОписаниеСтрока); - Таблица.Колонки.Добавить("УровеньИерархии", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(2,0))); - // Служебные колонки - Таблица.Колонки.Добавить("Служеб_ОбновитьРасположениеЭлемента", ОписаниеБулево); - Таблица.Колонки.Добавить("Служеб_СсылкаНаПредопределенныйЭлемент", Неопределено); + // Добавление + Колонки.Вставить("Пароль", ОписаниеБулево); + Колонки.Вставить("СписокЗначений", ОписаниеБулево); + Колонки.Вставить("ТипЗначения", Новый ОписаниеТипов("ОписаниеТипов")); + // КонецДобавления -КонецПроцедуры + Возврат Колонки; + +КонецФункции + +Функция КолонкиИнтегрируемыеСистемы() Экспорт + + Колонки = ОбщиеКолонки(); + + // Добавление + + // КонецДобавления + + Возврат Колонки; + +КонецФункции + +Функция КолонкиМетодыИнтеграции() Экспорт + + Колонки = ОбщиеКолонки(); + + // Добавление + + // КонецДобавления + + Возврат Колонки; + +КонецФункции + +Функция КолонкиНастройкиИнтеграции() Экспорт + + Колонки = ОбщиеКолонки(); + + // Добавление + + // КонецДобавления + + Возврат Колонки; + +КонецФункции + +Функция КолонкиТипСоответствияОбъектовИБ() Экспорт + + Колонки = ОбщиеКолонки(); + + // Добавление + + // КонецДобавления + + Возврат Колонки; + +КонецФункции #КонецОбласти -#Область СлужебныеПроцедурыИФункции +Функция ИсключаемыеПоляДляРасчетаХешаЭлемент() Экспорт + + Поля = Новый Структура; + Поля.Вставить("ХешСумма"); + Поля.Вставить("УровеньИерархии"); + Поля.Вставить("ИдентификаторРодитель"); + + Возврат Поля; + +КонецФункции -Функция ТаблицаПредопределенных() +Функция ИсключаемыеПоляДляРасчетаХешаГруппа() Экспорт - ОписаниеБулево = Новый ОписаниеТипов("Булево"); + Поля = Новый Структура; + Поля.Вставить("ХешСумма"); + Поля.Вставить("УровеньИерархии"); + Поля.Вставить("ИдентификаторРодитель"); + Поля.Вставить("Пароль"); + Поля.Вставить("СписокЗначений"); + + Возврат Поля; + +КонецФункции + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Функция ТаблицаПредопределенныхПредопределенныеЗначения() Результат = Новый ТаблицаЗначений; - ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + Колонки = КолонкиПредопределенныеЗначения(); - Результат.Колонки.Добавить("Пароль", ОписаниеБулево); - Результат.Колонки.Добавить("СписокЗначений", ОписаниеБулево); - Результат.Колонки.Добавить("ТипЗначения", Новый ОписаниеТипов("ОписаниеТипов")); + СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); Возврат Результат; @@ -189,7 +256,9 @@ Результат = Новый ТаблицаЗначений; - ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + Колонки = КолонкиИнтегрируемыеСистемы(); + + СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); Возврат Результат; @@ -199,7 +268,9 @@ Результат = Новый ТаблицаЗначений; - ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + Колонки = КолонкиМетодыИнтеграции(); + + СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); Возврат Результат; @@ -209,7 +280,9 @@ Результат = Новый ТаблицаЗначений; - ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + Колонки = КолонкиНастройкиИнтеграции(); + + СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); Возврат Результат; @@ -219,10 +292,48 @@ Результат = Новый ТаблицаЗначений; - ОбщиеКолонкиТаблицыПредопределенныхЗначений(Результат); + Колонки = КолонкиТипСоответствияОбъектовИБ(); + + СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); Возврат Результат; КонецФункции -#КонецОбласти \ No newline at end of file +Функция ОбщиеКолонки() + + Колонки = Новый Структура; + + ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150)); + ОписаниеБулево = Новый ОписаниеТипов("Булево"); + + Колонки.Вставить("ИдентификаторНастройки", ОписаниеСтрока); + Колонки.Вставить("Наименование", ОписаниеСтрока); + Колонки.Вставить("ЭтоГруппа", ОписаниеБулево); + Колонки.Вставить("Родитель", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.пбп_ПредопределенныеЗначения")); + + Колонки.Вставить("Служеб_ОбновитьЭлемент", ОписаниеБулево); + Колонки.Вставить("Служеб_УстановитьФлагРучноеИзменение", ОписаниеБулево); + Колонки.Вставить("Служеб_ПредопределенныйЭлемент", Неопределено); + + Колонки.Вставить("УровеньИерархии", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(2,0))); + Колонки.Вставить("ИдентификаторРодитель", ОписаниеСтрока); + Колонки.Вставить("ХешСумма", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(32))); + + Возврат Колонки; + +КонецФункции + +Процедура СоздатьКолонкиТаблицыПредопределенныхЭлементов(СтруктураСКолонками, Таблица) + + Для Каждого КлючЗначение Из СтруктураСКолонками Цикл + Если Не Таблица.Колонки.Найти(КлючЗначение.Ключ) = Неопределено Тогда + Продолжить; + КонецЕсли; + + Таблица.Колонки.Добавить(КлючЗначение.Ключ, КлючЗначение.Значение); + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" index 7e307a58..144ddea8 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -263,6 +263,42 @@ #КонецОбласти +// Превращает строку camelCase в синоним +// +// Параметры: +// ИсходнаяСтрока - Строка - Строка типа ИдентификаторНастройки +// +// Возвращаемое значение: +// Строка - Синоним +// +Функция СинонимСтроки(ИсходнаяСтрока) Экспорт + + Результат = пбп_СтроковыеФункцииСлужебныйКлиентСервер.РазложитьСтрокуВМассивПодстрок(ИсходнаяСтрока); + Если Результат.Количество() > 1 Тогда + Возврат ""; + КонецЕсли; + + ДлинаСтроки = СтрДлина(ИсходнаяСтрока) + 1; + Старт = 1; + Конец = 0; + Части = Новый Массив; + Для Конец = 2 По ДлинаСтроки Цикл + Символ = Сред(ИсходнаяСтрока, Конец, 1); + Если (КодСимвола(Символ) >= 1040 И КодСимвола(Символ) <= 1070) + Или (КодСимвола(Символ) >= 65 И КодСимвола(Символ) <= 90) + Или Конец = ДлинаСтроки Тогда + КолСимволов = Конец - Старт; + Части.Добавить(Сред(ИсходнаяСтрока, Старт, ?(КолСимволов = 0, ДлинаСтроки - Старт, КолСимволов))); + Старт = Конец; + КонецЕсли; + КонецЦикла; + Синоним = НРег(СтрСоединить(Части, " ")); + Синоним = ВРег(Лев(Синоним, 1)) + Сред(Синоним,2); + + Возврат Синоним; + +КонецФункции + #КонецОбласти // ПрограммныйИнтерфейс #Область СлужебныеПроцедурыИФункции diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index 884ee4a8..f77fa2b9 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -300,6 +300,8 @@ пбп_ПользователиКлиентСервер пбп_ПользователиСлужебный пбп_ПредопределенныеЗначения + пбп_ПредопределенныеЗначенияВызовСервера + пбп_ПредопределенныеЗначенияКлиент пбп_ПредопределенныеЗначенияПереопределяемый пбп_РаботаСДиалогамиКлиент пбп_РаботаСДиалогамиСервер @@ -328,7 +330,9 @@ пбп_СправочникиПриКопировании пбп_ОчисткаИсторииИнтеграции пбп_ТипыОбъектовСоответствийИБ + пбп_ПредопределенныеВсеСсылкиПереопределяемый пбп_ФормаВыбораПоля + пбп_ФормаРазрешенияКонфликтовПредопределенныхЭлементов пбп_ИнтегрируемыеСистемы пбп_ИсторияИнтеграции пбп_МетодыИнтеграции @@ -343,6 +347,7 @@ пбп_ТипыJSON пбп_ФорматыЗапросовИнтеграции пбп_СоответствияОбъектовИБ + пбп_СостоянияПредопределенныхЭлементов пбп_ПредопределенныеЗначения diff --git "a/src/cf/DefinedTypes/\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\222\321\201\320\265\320\241\321\201\321\213\320\273\320\272\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/DefinedTypes/\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\222\321\201\320\265\320\241\321\201\321\213\320\273\320\272\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" new file mode 100644 index 00000000..ced0ad43 --- /dev/null +++ "b/src/cf/DefinedTypes/\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\222\321\201\320\265\320\241\321\201\321\213\320\273\320\272\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" @@ -0,0 +1,28 @@ + + + + + + d2f123f9-0596-4050-bfda-f4a2168d11cb + 6c3a68be-33c5-43c4-b2d7-af577a6cc81d + + + + пбп_ПредопределенныеВсеСсылкиПереопределяемый + + + ru + Ссылки на все объекты с предопределенными элементами + + + + + cfg:CatalogRef.пбп_НастройкиИнтеграции + cfg:CatalogRef.пбп_ТипСоответствияОбъектовИБ + cfg:CatalogRef.пбп_ИнтегрируемыеСистемы + cfg:ChartOfCharacteristicTypesRef.пбп_ПредопределенныеЗначения + cfg:CatalogRef.пбп_МетодыИнтеграции + + + + \ No newline at end of file diff --git "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" new file mode 100644 index 00000000..af59207f --- /dev/null +++ "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" @@ -0,0 +1,198 @@ + + + + + + 87e4b2aa-c7c3-423d-8526-7a930c8e6236 + 2b2ddb36-6d49-4502-8462-d4df0bf54617 + + + 9976aae0-db4e-4d30-ac29-ee3442971415 + 49fcecb9-b3b5-4825-b372-9ed7d303ad34 + + + b5e0545f-6bbf-4c4d-8950-84cad50f3a94 + a90d8d30-a853-4000-b3c1-26a79fd2cf03 + + + 2b66ac27-c6b3-40fa-bb05-86b0ee788e33 + fd092390-5e4e-4a32-87a6-519d261a7f9b + + + 198d833e-02cc-41c9-93f1-99ad4627c9cf + 44a41502-ba04-4276-826e-5d2759d88c62 + + + 8e26a08c-2f5b-4eb1-ac9e-324cdae4d186 + ca4050ea-1fe5-48e8-9356-6180e6033dc8 + + + 83b857ea-c5f2-4d10-893c-5b7b6631c9cd + c025c68e-c8da-4803-8f8a-86ad8e18030c + + + + пбп_СостоянияПредопределенныхЭлементов + + + ru + Состояния предопределенных элементов + + + + true + InDialog + + + + + Nonperiodical + Independent + false + false + Managed + DontUse + false + false + + + ru + Состояние преопределенного элемента + + + + + + + DontUse + false + false + + + + + ХешСумма + + + ru + Хеш сумма + + + + + xs:string + + 32 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + РучноеИзменение + + + ru + Ручное изменение + + + + + xs:boolean + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + DontIndex + Use + Use + + + + + Объект + + + ru + Объект + + + + + cfg:DefinedType.пбп_ПредопределенныеВсеСсылкиПереопределяемый + + false + + + + false + + false + false + + + true + + DontCheck + FoldersAndItems + + + Auto + Auto + + + Auto + true + true + true + DontIndex + Use + Use + + + + + \ No newline at end of file diff --git "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" new file mode 100644 index 00000000..11df00cc --- /dev/null +++ "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" @@ -0,0 +1,79 @@ + +#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда + +#Область ПрограммныйИнтерфейс + +// Обновляет хеш элемента в регистре, устанавливая при этом ручное изменение. +// Если хеш не был изменен по ключевым реквизитам, обновления не произойдет. +// +// Параметры: +// Элемент - СправочникСсылка, ПланВидовХарактеристикСсылка - ссылка на предопределенный элемент. +// ЭтоГруппа - Булево - Признак того что элемент является группой +// +Процедура ОбновитьХешЭлемента(Элемент, ЭтоГруппа = Ложь) Экспорт + + ТипЗначения = ТипЗнч(Элемент); + Если ТипЗначения = Тип("ПланВидовХарактеристикСсылка.пбп_ПредопределенныеЗначения") Тогда + СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиПредопределенныеЗначения(); + ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_ИнтегрируемыеСистемы") Тогда + СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиИнтегрируемыеСистемы(); + ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_МетодыИнтеграции") Тогда + СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиМетодыИнтеграции(); + ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_НастройкиИнтеграции") Тогда + СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиНастройкиИнтеграции(); + ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_ТипСоответствияОбъектовИБ") Тогда + СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиТипСоответствияОбъектовИБ(); + Иначе + Возврат; + КонецЕсли; + + мКолонки = Новый Массив; + Для Каждого КлючЗначение Из СтруктураСКолонками Цикл + мКолонки.Добавить(КлючЗначение.Ключ); + КонецЦикла; + + КлючиХеша = пбп_ПредопределенныеЗначения.КлючиХешаПредопределенногоЭлемента(мКолонки, ЭтоГруппа); + + ЗаполнитьЗначенияСвойств(КлючиХеша, Элемент); + НовыйХешЭлемента = пбп_ОбщегоНазначенияСервер.КонтрольнаяСуммаСтрокой(КлючиХеша, ХешФункция.MD5); + + Отбор = Новый Структура("Объект", Элемент); + Выборка = Выбрать(Отбор); + Выборка.Следующий(); + + Если НовыйХешЭлемента = Выборка.ХешСумма Тогда + Возврат; + КонецЕсли; + + Набор = СоздатьНаборЗаписей(); + Набор.Отбор.Объект.Установить(Элемент); + + Запись = Набор.Добавить(); + Запись.Объект = Элемент; + Запись.ХешСумма = НовыйХешЭлемента; + Запись.РучноеИзменение = Истина; + + Набор.Записать(); + +КонецПроцедуры + +// Обновляет флаг ручного изменения элемента +// +// Параметры: +// Элемент - СправочникСсылка, ПланВидовХарактеристикСсылка - ссылка на предопределенный элемент. +// Флаг - Булево - Устанавливается если были изменены ключевые поля пользователем. +// +Процедура ОбновитьФлагРучногоИзменения(Элемент, Флаг) Экспорт + Набор = СоздатьНаборЗаписей(); + Набор.Отбор.Объект.Установить(Элемент); + Набор.Прочитать(); + Если ЗначениеЗаполнено(Набор) Тогда + Набор[0].РучноеИзменение = Флаг; + КонецЕсли; + Набор.Записать(); +КонецПроцедуры + +#КонецОбласти + +#КонецЕсли + diff --git "a/src/cf/Subsystems/\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.xml" "b/src/cf/Subsystems/\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.xml" index feaaa3df..f5dcfd10 100644 --- "a/src/cf/Subsystems/\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.xml" +++ "b/src/cf/Subsystems/\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.xml" @@ -27,6 +27,8 @@ CommonModule.пбп_ПредопределенныеЗначенияПереопределяемый CommonModule.пбп_ОбщегоНазначенияПовтИсп CommonModule.пбп_ОбщегоНазначенияСервер + CommonForm.пбп_ФормаРазрешенияКонфликтовПредопределенныхЭлементов + InformationRegister.пбп_СостоянияПредопределенныхЭлементов From 5b45f7deb603651f76470b2044bf9496d24a19b7 Mon Sep 17 00:00:00 2001 From: Denis Ushakov Date: Thu, 10 Oct 2024 16:09:02 +0300 Subject: [PATCH 02/12] changed version --- .../Ext/Module.bsl" | 2 +- src/cf/Configuration.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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 28cad647..5eeb695b 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.3"; + Описание.Версия = "1.0.2.0"; // Требуется библиотека стандартных подсистем. Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы"); diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index f77fa2b9..1b743def 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -57,7 +57,7 @@ Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок Первый БИТ - 1.0.1.3 + 1.0.2.0 false false From 00a86f69127da3ff802f3447885d3ea27f22608e Mon Sep 17 00:00:00 2001 From: Denis Ushakov Date: Thu, 10 Oct 2024 17:22:13 +0300 Subject: [PATCH 03/12] Fixed bugs --- .../Ext/ObjectModule.bsl" | 16 +++++++++++++++- .../Ext/Form.xml" | 3 +++ .../Ext/Form/Module.bsl" | 16 +++++++++------- .../Ext/ObjectModule.bsl" | 12 ++++++++++++ .../Ext/Form.xml" | 3 +++ .../Ext/Form/Module.bsl" | 11 +++++++++-- .../Ext/ObjectModule.bsl" | 8 +++++++- .../Ext/Form.xml" | 3 +++ .../Ext/Form/Module.bsl" | 11 +++++++++-- .../Ext/ObjectModule.bsl" | 12 ++++++++++++ .../Ext/Form.xml" | 3 +++ .../Ext/Form/Module.bsl" | 11 +++++++++-- .../Ext/ObjectModule.bsl" | 12 ++++++++++++ .../Ext/Form.xml" | 1 + .../Ext/Form/Module.bsl" | 11 +++++++++-- .../Ext/Form/Module.bsl" | 1 + .../Ext/Module.bsl" | 2 +- .../Ext/Module.bsl" | 4 ++-- src/cf/Configuration.xml | 1 - ...\321\217\320\265\320\274\321\213\320\271.xml" | 2 +- .../Ext/ManagerModule.bsl" | 4 ++-- 21 files changed, 123 insertions(+), 24 deletions(-) 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\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" index 27b05bcb..977c9252 100644 --- "a/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" @@ -1,4 +1,4 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, +// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, // включая доработку типовых конфигураций. // // Copyright First BIT company @@ -62,6 +62,20 @@ КонецЕсли; КонецЕсли; + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); + +КонецПроцедуры + +Процедура ПриЗаписи(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); + КонецЕсли; + КонецПроцедуры #КонецОбласти // ОбработчикиСобытий 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\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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.xml" "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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.xml" index abfd09cc..7685265b 100644 --- "a/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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.xml" +++ "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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.xml" @@ -12,6 +12,9 @@ + + ОбработкаОповещения + 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\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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 21e98d50..d8cccbfb 100644 --- "a/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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" @@ -20,22 +20,24 @@ #Область ОбработчикиСобытийФормы +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ОбновитьСписокПредопределенных" Тогда + Элементы.Список.Обновить(); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы -&НаСервереБезКонтекста -Процедура ЗаполнитьПредопределенныеНаСервере() - пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Справочники.пбп_ИнтеграционныеПотоки); -КонецПроцедуры - &НаКлиенте Процедура ЗаполнитьПредопределенные(Команда) пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); - Элементы.Список.Обновить(); - КонецПроцедуры #КонецОбласти 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/ObjectModule.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/ObjectModule.bsl" index 992e4d1a..7acfd7ca 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/ObjectModule.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/ObjectModule.bsl" @@ -3,13 +3,25 @@ #Область ОбработчикиСобытий Процедура ПередЗаписью(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); + КонецПроцедуры Процедура ПриЗаписи(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); КонецЕсли; + КонецПроцедуры #КонецОбласти 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.xml" "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.xml" index d5922042..8f3004a9 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.xml" +++ "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.xml" @@ -12,6 +12,9 @@ </Button> </ChildItems> </AutoCommandBar> + <Events> + <Event name="NotificationProcessing">ОбработкаОповещения</Event> + </Events> <ChildItems> <UsualGroup name="СписокКомпоновщикНастроекПользовательскиеНастройки" id="1"> <Title> 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 81225a6c..d8cccbfb 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" @@ -20,6 +20,15 @@ #Область ОбработчикиСобытийФормы +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ОбновитьСписокПредопределенных" Тогда + Элементы.Список.Обновить(); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -29,8 +38,6 @@ пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); - Элементы.Список.Обновить(); - КонецПроцедуры #КонецОбласти 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/ObjectModule.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/ObjectModule.bsl" index 907948b3..48cb76a1 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/ObjectModule.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/ObjectModule.bsl" @@ -1,4 +1,4 @@ -// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, +// Библиотека проектных подсистем для упрощения разработки архитектуры на 1С: Предприятие 8, // включая доработку типовых конфигураций. // // Copyright First BIT company @@ -119,9 +119,15 @@ КонецПроцедуры Процедура ПриЗаписи(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); КонецЕсли; + КонецПроцедуры #КонецОбласти // ОбработчикиСобытий 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.xml" "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.xml" index 286a0c75..b7cc2642 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.xml" +++ "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.xml" @@ -12,6 +12,9 @@ </Button> </ChildItems> </AutoCommandBar> + <Events> + <Event name="NotificationProcessing">ОбработкаОповещения</Event> + </Events> <ChildItems> <UsualGroup name="СписокКомпоновщикНастроекПользовательскиеНастройки" id="1"> <Title> 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 522b5fd0..d8cccbfb 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" @@ -20,6 +20,15 @@ #Область ОбработчикиСобытийФормы +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ОбновитьСписокПредопределенных" Тогда + Элементы.Список.Обновить(); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -28,8 +37,6 @@ Процедура ЗаполнитьПредопределенные(Команда) пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); - - Элементы.Список.Обновить(); КонецПроцедуры 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/ObjectModule.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/ObjectModule.bsl" index 8665c817..1180930d 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/ObjectModule.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/ObjectModule.bsl" @@ -4,13 +4,25 @@ #Область ОбработчикиСобытий Процедура ПередЗаписью(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); + КонецПроцедуры Процедура ПриЗаписи(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); КонецЕсли; + КонецПроцедуры #КонецОбласти 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.xml" "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.xml" index b9b6efd1..16f5bfc7 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.xml" +++ "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.xml" @@ -9,6 +9,9 @@ </Button> </ChildItems> </AutoCommandBar> + <Events> + <Event name="NotificationProcessing">ОбработкаОповещения</Event> + </Events> <ChildItems> <UsualGroup name="СписокКомпоновщикНастроекПользовательскиеНастройки" id="1"> <Title> 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 81225a6c..d8cccbfb 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" @@ -20,6 +20,15 @@ #Область ОбработчикиСобытийФормы +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ОбновитьСписокПредопределенных" Тогда + Элементы.Список.Обновить(); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -29,8 +38,6 @@ пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); - Элементы.Список.Обновить(); - КонецПроцедуры #КонецОбласти 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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" index 5de7d8c0..76e97a99 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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" @@ -4,13 +4,25 @@ #Область ОбработчикиСобытий Процедура ПередЗаписью(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); + КонецПроцедуры Процедура ПриЗаписи(Отказ) + + Если ОбменДанными.Загрузка Тогда + Возврат; + КонецЕсли; + Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); КонецЕсли; + КонецПроцедуры #КонецОбласти 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.xml" "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.xml" index cd189ca9..51d4e0e7 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.xml" +++ "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.xml" @@ -18,6 +18,7 @@ </ChildItems> </AutoCommandBar> <Events> + <Event name="NotificationProcessing">ОбработкаОповещения</Event> <Event name="OnCreateAtServer">ПриСозданииНаСервере</Event> </Events> <ChildItems> 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 faac79bf..fb647041 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" @@ -8,6 +8,15 @@ КонецПроцедуры +&НаКлиенте +Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) + + Если ИмяСобытия = "ОбновитьСписокПредопределенных" Тогда + Элементы.Список.Обновить(); + КонецЕсли; + +КонецПроцедуры + #КонецОбласти #Область ОбработчикиКомандФормы @@ -17,8 +26,6 @@ пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); - Элементы.Список.Обновить(); - КонецПроцедуры #КонецОбласти diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" index 85853e68..af28c3f6 100644 --- "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" @@ -29,6 +29,7 @@ Если ОбработатьЭлементы Тогда ОбработатьПредопределенныеЭлементы(); + Оповестить("ОбновитьСписокПредопределенных"); КонецЕсли; КонецПроцедуры diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\232\320\273\320\270\320\265\320\275\321\202/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\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" index 609e6ea1..22e521fd 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\232\320\273\320\270\320\265\320\275\321\202/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\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -44,5 +44,5 @@ #КонецОбласти #Область СлужебныеПроцедурыИФункции -// Код процедур и функций + #КонецОбласти 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 f9e9fe7c..9f7d0bd1 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" @@ -214,7 +214,7 @@ КонецФункции -Функция КолонкиМетодыИнтеграции() Экспорт +Функция КолонкиИнтеграционныеПотоки() Экспорт Колонки = ОбщиеКолонки(); @@ -308,7 +308,7 @@ Результат = Новый ТаблицаЗначений; - Колонки = КолонкиМетодыИнтеграции(); + Колонки = КолонкиИнтеграционныеПотоки(); СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index ab194281..24224b61 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -343,7 +343,6 @@ <Constant>пбп_ИспользоватьПользовательскиеФункции</Constant> <CommonForm>пбп_ФормаВыбораПоля</CommonForm> <CommonForm>пбп_ФормаРазрешенияКонфликтовПредопределенныхЭлементов</CommonForm> - <CommonForm>пбп_ФормаВыбораПоля</CommonForm> <Catalog>пбп_ИнтеграционныеПотоки</Catalog> <Catalog>пбп_ИнтегрируемыеСистемы</Catalog> <Catalog>пбп_ИсторияИнтеграции</Catalog> diff --git "a/src/cf/DefinedTypes/\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\222\321\201\320\265\320\241\321\201\321\213\320\273\320\272\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/DefinedTypes/\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\222\321\201\320\265\320\241\321\201\321\213\320\273\320\272\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" index ced0ad43..fdeb5d55 100644 --- "a/src/cf/DefinedTypes/\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\222\321\201\320\265\320\241\321\201\321\213\320\273\320\272\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/DefinedTypes/\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\222\321\201\320\265\320\241\321\201\321\213\320\273\320\272\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" @@ -21,7 +21,7 @@ <v8:Type>cfg:CatalogRef.пбп_ТипСоответствияОбъектовИБ</v8:Type> <v8:Type>cfg:CatalogRef.пбп_ИнтегрируемыеСистемы</v8:Type> <v8:Type>cfg:ChartOfCharacteristicTypesRef.пбп_ПредопределенныеЗначения</v8:Type> - <v8:Type>cfg:CatalogRef.пбп_МетодыИнтеграции</v8:Type> + <v8:Type>cfg:CatalogRef.пбп_ИнтеграционныеПотоки</v8:Type> </Type> </Properties> </DefinedType> diff --git "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" index 11df00cc..8398c6bf 100644 --- "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" +++ "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" @@ -17,8 +17,8 @@ СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиПредопределенныеЗначения(); ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_ИнтегрируемыеСистемы") Тогда СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиИнтегрируемыеСистемы(); - ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_МетодыИнтеграции") Тогда - СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиМетодыИнтеграции(); + ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_ИнтеграционныеПотоки") Тогда + СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиИнтеграционныеПотоки(); ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_НастройкиИнтеграции") Тогда СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиНастройкиИнтеграции(); ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_ТипСоответствияОбъектовИБ") Тогда From 86f96626e2bb65e8676e285a7e65e2060ace8524 Mon Sep 17 00:00:00 2001 From: Denis Ushakov <denisushakov56@gmail.com> Date: Thu, 10 Oct 2024 17:51:39 +0300 Subject: [PATCH 04/12] Fixed smells --- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 6 ++---- .../Ext/Form/Module.bsl" | 4 ---- .../Ext/Form/Module.bsl" | 17 ++++------------- .../Ext/Module.bsl" | 13 +++++++------ .../Ext/Module.bsl" | 5 +++++ .../Ext/Module.bsl" | 2 +- .../Ext/ManagerModule.bsl" | 3 +-- 11 files changed, 24 insertions(+), 34 deletions(-) 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\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" index 977c9252..01e24f50 100644 --- "a/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" @@ -73,7 +73,7 @@ КонецЕсли; Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда - РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(Ссылка, ЭтоГруппа); КонецЕсли; КонецПроцедуры 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/ObjectModule.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/ObjectModule.bsl" index 7acfd7ca..704868ce 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/ObjectModule.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/ObjectModule.bsl" @@ -19,7 +19,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/ObjectModule.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/ObjectModule.bsl" index 48cb76a1..56f87005 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/ObjectModule.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/ObjectModule.bsl" @@ -125,7 +125,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/ObjectModule.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/ObjectModule.bsl" index 1180930d..a5669564 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/ObjectModule.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/ObjectModule.bsl" @@ -20,7 +20,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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" index 76e97a99..a5669564 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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" @@ -20,13 +20,11 @@ КонецЕсли; Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда - РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(ЭтотОбъект.Ссылка, ЭтотОбъект.ЭтоГруппа); + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(Ссылка, ЭтоГруппа); КонецЕсли; КонецПроцедуры #КонецОбласти -#КонецЕсли - - +#КонецЕсли \ No newline at end of file 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 fb647041..bc9f4d4a 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" @@ -29,7 +29,3 @@ КонецПроцедуры #КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" index af28c3f6..2bb3e758 100644 --- "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" @@ -1,8 +1,4 @@  -#Область ОписаниеПеременных - -#КонецОбласти - #Область ОбработчикиСобытийФормы &НаСервере @@ -33,7 +29,7 @@ КонецЕсли; КонецПроцедуры - + #КонецОбласти #Область ОбработчикиКомандФормы @@ -159,6 +155,7 @@ Возврат; КонецЕсли; + ИдентификаторНастройки = "ИдентификаторНастройки"; Таблица = ПолучитьИзВременногоХранилища(АдресТаблицы); Если Не ЗначениеЗаполнено(Таблица) Тогда @@ -166,9 +163,9 @@ КонецЕсли; УдалитьИзВременногоХранилища(АдресТаблицы); - Таблица.Индексы.Добавить("ИдентификаторНастройки"); + Таблица.Индексы.Добавить(ИдентификаторНастройки); Для Каждого Строка Из ТаблицаКонфликтов Цикл - Стр = Таблица.Найти(Строка[ПрефиксКод + "ИдентификаторНастройки"], "ИдентификаторНастройки"); + Стр = Таблица.Найти(Строка[ПрефиксКод + ИдентификаторНастройки], ИдентификаторНастройки); Если Строка.ЗаменитьЭлементомИзКода Тогда Стр.Служеб_ОбновитьЭлемент = Истина; Иначе @@ -184,9 +181,3 @@ КонецПроцедуры #КонецОбласти - -#Область Инициализация - -#КонецОбласти - - 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 68151ebe..04fef36e 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" @@ -56,7 +56,7 @@ // на неиспользуемые элементы, отбор предопределенных значений, создание предопределенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных // МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. // Функция ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт @@ -79,7 +79,7 @@ // При установке пометки удаления для групп, также устанавливается для всех подчиенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных // ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. // Процедура ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт @@ -125,7 +125,7 @@ // для создания предопределенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. +// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных // ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. // Функция УдалитьИзТаблицыСуществующиеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт @@ -242,7 +242,7 @@ КлючиХеша = ?(ЭтоГруппа, ДополнительныеПараметры.КлючиХешаГруппа, ДополнительныеПараметры.КлючиХешаЭлемент); Если СтрокаТаблицы.Служеб_ОбновитьЭлемент Тогда - ОбновитьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы, ЭтоГруппа, КолонкаСуществует) + ОбновитьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы, ЭтоГруппа, КолонкаСуществует); ИначеЕсли СтрокаТаблицы.Служеб_УстановитьФлагРучноеИзменение Тогда УстановитьФлагРучноеИзменение(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент); Иначе @@ -255,10 +255,11 @@ // Подготавливает параметры необходимые для обработки предопределенных элементов // // Параметры: -// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// Таблица - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. +// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. // // Возвращаемое значение: -// Структура - Данные Менеджера объекта +// Структура - Данные Менеджера объекта // * Менеджер - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. // * ПолноеИмя - Строка - Полное имя объекта метаданных. // 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\232\320\273\320\270\320\265\320\275\321\202/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\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" index 22e521fd..ea69abcb 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\232\320\273\320\270\320\265\320\275\321\202/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\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -23,6 +23,11 @@ #Область ПрограммныйИнтерфейс +// Создание предопределенных значений на основании заполненной таблицы +// +// Параметры: +// Форма - ФормаКлиентскогоПриложения - Форма из которой запущена обработка обновление предопределенных элементов +// Процедура СоздатьОбновитьПредопределенныеЗначения(Форма) Экспорт // Возвращаем адрес временного хранилища на таблицу и есть ли конфликты 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 9f7d0bd1..375dbf96 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" @@ -373,7 +373,7 @@ Процедура СоздатьКолонкиТаблицыПредопределенныхЭлементов(СтруктураСКолонками, Таблица) Для Каждого КлючЗначение Из СтруктураСКолонками Цикл - Если Не Таблица.Колонки.Найти(КлючЗначение.Ключ) = Неопределено Тогда + Если Таблица.Колонки.Найти(КлючЗначение.Ключ) <> Неопределено Тогда Продолжить; КонецЕсли; diff --git "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" index 8398c6bf..afb9c286 100644 --- "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" +++ "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" @@ -75,5 +75,4 @@ #КонецОбласти -#КонецЕсли - +#КонецЕсли \ No newline at end of file From 9f9300d691577bf87b07eb7537e44bf8d4556d99 Mon Sep 17 00:00:00 2001 From: Denis Ushakov <denisushakov56@gmail.com> Date: Thu, 10 Oct 2024 19:50:51 +0300 Subject: [PATCH 05/12] fixed bugs --- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Module.bsl" | 2 +- .../Ext/Module.bsl" | 10 ++++++++ src/cf/Configuration.xml | 4 ++- ...0\265\320\275\321\202\320\276\320\262.xml" | 15 +++++++++++ .../Ext/Rights.xml" | 25 +++++++++++++++++++ ...0\265\320\275\321\202\320\276\320\262.xml" | 15 +++++++++++ .../Ext/Rights.xml" | 17 +++++++++++++ 12 files changed, 91 insertions(+), 7 deletions(-) create mode 100644 "src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" create mode 100644 "src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Rights.xml" create mode 100644 "src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" create mode 100644 "src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Rights.xml" 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\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" index 01e24f50..a3e6da0a 100644 --- "a/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" @@ -73,7 +73,7 @@ КонецЕсли; Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда - РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(Ссылка, ЭтоГруппа); + пбп_ОбщегоНазначенияСервер.ОбновитьХешЭлемента(Ссылка, ЭтоГруппа); КонецЕсли; КонецПроцедуры 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/ObjectModule.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/ObjectModule.bsl" index 704868ce..a464d99b 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/ObjectModule.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/ObjectModule.bsl" @@ -19,7 +19,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/ObjectModule.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/ObjectModule.bsl" index 56f87005..0aabb0d8 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/ObjectModule.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/ObjectModule.bsl" @@ -125,7 +125,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/ObjectModule.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/ObjectModule.bsl" index a5669564..4f27021e 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/ObjectModule.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/ObjectModule.bsl" @@ -20,7 +20,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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" index a5669564..4f27021e 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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" @@ -20,7 +20,7 @@ КонецЕсли; Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда - РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(Ссылка, ЭтоГруппа); + пбп_ОбщегоНазначенияСервер.ОбновитьХешЭлемента(Ссылка, ЭтоГруппа); КонецЕсли; КонецПроцедуры 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 bb27d47c..1cfbb9ef 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.3.0"; + Описание.Версия = "1.0.3.7"; // Требуется библиотека стандартных подсистем. Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы"); diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\236\320\261\321\211\320\265\320\263\320\276\320\235\320\260\320\267\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\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 d6edd370..32fd811c 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" @@ -2170,6 +2170,16 @@ #КонецОбласти +// Обновляет хеш элемента в регистре, устанавливая при этом ручное изменение. +// +// Параметры: +// Элемент - СправочникСсылка, ПланВидовХарактеристикСсылка - ссылка на предопределенный элемент. +// ЭтоГруппа - Булево - Признак того что элемент является группой +// +Процедура ОбновитьХешЭлемента(Элемент, ЭтоГруппа = Ложь) Экспорт + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(Элемент, ЭтоГруппа); +КонецПроцедуры + #КонецОбласти // ПрограммныйИнтерфейс #Область СлужебныеПроцедурыИФункции diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index 24224b61..08dd7b6f 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -57,7 +57,7 @@ <xr:Item xsi:type="xr:MDObjectRef">Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</xr:Item> </DefaultRoles> <Vendor>Первый БИТ</Vendor> - <Version>1.0.3.0</Version> + <Version>1.0.3.7</Version> <UpdateCatalogAddress/> <IncludeHelpInContents>false</IncludeHelpInContents> <UseManagedFormInOrdinaryApplication>false</UseManagedFormInOrdinaryApplication> @@ -260,11 +260,13 @@ <Role>пбп_РедактированиеПланаВидовХарактеристикПредопределенныеЗначения</Role> <Role>пбп_РедактированиеПользовательскихФункций</Role> <Role>пбп_РедактированиеРегистраСведенийСоответствияОбъектовИБ</Role> + <Role>пбп_РедактированиеСостоянийПредопределенныхЭлементов</Role> <Role>пбп_РедактированиеТиповСоответствияОбъектовИБ</Role> <Role>пбп_ЧтениеКонстантыИспользоватьПользовательскиеФункции</Role> <Role>пбп_ЧтениеНастроекОтборовОбъектов</Role> <Role>пбп_ЧтениеПланаВидовХарактеристикПредопределенныеЗначения</Role> <Role>пбп_ЧтениеРегистраСведенийСоответствияОбъектовИБ</Role> + <Role>пбп_ЧтениеСостоянийПредопределенныхЭлементов</Role> <Role>пбп_ЧтениеТиповСоответствияОбъектовИБ</Role> <Role>ПолныеПрава</Role> <CommonTemplate>пбп_BSLEditor</CommonTemplate> diff --git "a/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" "b/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" new file mode 100644 index 00000000..cdc9d120 --- /dev/null +++ "b/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16"> + <Role uuid="b9628b68-f165-4c1c-8d64-9e4b64e3609c"> + <Properties> + <Name>пбп_РедактированиеСостоянийПредопределенныхЭлементов</Name> + <Synonym> + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Редактирование состояний предопределенных элементов</v8:content> + </v8:item> + </Synonym> + <Comment/> + </Properties> + </Role> +</MetaDataObject> \ No newline at end of file diff --git "a/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Rights.xml" "b/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Rights.xml" new file mode 100644 index 00000000..8d71a7d3 --- /dev/null +++ "b/src/cf/Roles/\320\277\320\261\320\277_\320\240\320\265\320\264\320\260\320\272\321\202\320\270\321\200\320\276\320\262\320\260\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Rights.xml" @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Rights xmlns="http://v8.1c.ru/8.2/roles" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Rights" version="2.16"> + <setForNewObjects>false</setForNewObjects> + <setForAttributesByDefault>true</setForAttributesByDefault> + <independentRightsOfChildObjects>false</independentRightsOfChildObjects> + <object> + <name>InformationRegister.пбп_СостоянияПредопределенныхЭлементов</name> + <right> + <name>Read</name> + <value>true</value> + </right> + <right> + <name>Update</name> + <value>true</value> + </right> + <right> + <name>View</name> + <value>true</value> + </right> + <right> + <name>Edit</name> + <value>true</value> + </right> + </object> +</Rights> \ No newline at end of file diff --git "a/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" "b/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" new file mode 100644 index 00000000..34ea4859 --- /dev/null +++ "b/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<MetaDataObject xmlns="http://v8.1c.ru/8.3/MDClasses" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:cmi="http://v8.1c.ru/8.2/managed-application/cmi" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xen="http://v8.1c.ru/8.3/xcf/enums" xmlns:xpr="http://v8.1c.ru/8.3/xcf/predef" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16"> + <Role uuid="0cc5fef1-a0c7-4876-a781-f32b11e7fbff"> + <Properties> + <Name>пбп_ЧтениеСостоянийПредопределенныхЭлементов</Name> + <Synonym> + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Чтение состояний предопределенных элементов</v8:content> + </v8:item> + </Synonym> + <Comment/> + </Properties> + </Role> +</MetaDataObject> \ No newline at end of file diff --git "a/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Rights.xml" "b/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Rights.xml" new file mode 100644 index 00000000..3df908b9 --- /dev/null +++ "b/src/cf/Roles/\320\277\320\261\320\277_\320\247\321\202\320\265\320\275\320\270\320\265\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\320\271\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Rights.xml" @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Rights xmlns="http://v8.1c.ru/8.2/roles" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Rights" version="2.16"> + <setForNewObjects>false</setForNewObjects> + <setForAttributesByDefault>true</setForAttributesByDefault> + <independentRightsOfChildObjects>false</independentRightsOfChildObjects> + <object> + <name>InformationRegister.пбп_СостоянияПредопределенныхЭлементов</name> + <right> + <name>Read</name> + <value>true</value> + </right> + <right> + <name>View</name> + <value>true</value> + </right> + </object> +</Rights> \ No newline at end of file From 2bb7d3265717100fb630754d1f405c5666fd1b4d Mon Sep 17 00:00:00 2001 From: Denis Ushakov <denisushakov56@gmail.com> Date: Wed, 16 Oct 2024 23:36:18 +0300 Subject: [PATCH 06/12] refact code and added new funcs --- ...21\207\320\265\320\275\320\270\321\217.md" | 16 +- .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 + .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 + .../Ext/ObjectModule.bsl" | 4 +- .../Ext/Form/Module.bsl" | 2 + .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 + .../Ext/ObjectModule.bsl" | 2 +- .../Ext/Form/Module.bsl" | 2 + ...0\265\320\275\321\202\320\276\320\262.xml" | 4 +- .../Ext/Form.xml" | 75 ++++++ .../Ext/Form/Module.bsl" | 28 ++- .../Ext/Module.bsl" | 24 +- .../Ext/Module.bsl" | 107 +++++++- .../Ext/Module.bsl" | 18 ++ .../Ext/Module.bsl" | 189 +++++++------- .../Ext/Module.bsl" | 238 +++++++++--------- ...0\262\321\202\320\230\321\201\320\277.xml" | 23 ++ .../Ext/Module.bsl" | 93 +++++++ src/cf/Configuration.xml | 1 + ...0\265\320\275\321\202\320\276\320\262.xml" | 2 +- .../Ext/ManagerModule.bsl" | 130 +++++++--- 24 files changed, 687 insertions(+), 283 deletions(-) create mode 100644 "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.xml" create mode 100644 "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" 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 c775e5d6..2226200e 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" @@ -3,7 +3,21 @@ ## Описание подсистемы По стандартам разработки поиск ссылочных объектов в программном коде по наименованию, коду, гуиду и т.д. не рекомендуется. Для возможности получения ссылок из программного кода предлагается использовать элементы плана видов характеристик. Чтобы избежать необходимости реструктуризации при добавлении новых элементов в ПВХ, формирование иерархии и элементов делается программно и обновляется в пользовательском режиме. Получение элементов стандартизируется через общий модуль с возможностью кэширования. -При коментировании или удалении из кода предопределенных элементов и последующем перезаполнении, элемент будет помечен на удаление, включая все его подчиненные элементы. +При коментировании или удалении из кода предопределенных элементов и последующем перезаполнении, элемент будет помечен на удаление, включая все его подчиненные элементы. + +## Первоначальное заполнение + +Для того чтобы автоматизировать процесс первоначального заполнения предопределенных элементов, необходимо добавить в расширение общий модуль **ПодсистемыКонфигурацииПереопределяемый**. +В процедуре ``ПриДобавленииПодсистем`` прописать вызов процедуры библиотеки ``пбп_ОбновлениеИнформационнойБазыПБП.ПриДобавленииПодсистем``. Затем выполнить первый запуск - будет выполнен обработчик первоначального заполнения предопределенных элементов. + +```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\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" index a3e6da0a..1a5b8984 100644 --- "a/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" +++ "b/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\320\270/Ext/ObjectModule.bsl" @@ -73,7 +73,7 @@ КонецЕсли; Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда - пбп_ОбщегоНазначенияСервер.ОбновитьХешЭлемента(Ссылка, ЭтоГруппа); + пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект); КонецЕсли; КонецПроцедуры 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\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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 d8cccbfb..0eb003ab 100644 --- "a/src/cf/Catalogs/\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\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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\230\320\275\321\202\320\265\320\263\321\200\320\260\321\206\320\270\320\276\320\275\320\275\321\213\320\265\320\237\320\276\321\202\320\276\320\272\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" @@ -38,6 +38,8 @@ пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); + Элементы.Список.Обновить(); + КонецПроцедуры #КонецОбласти 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/ObjectModule.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/ObjectModule.bsl" index a464d99b..2b0ce9f0 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/ObjectModule.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/ObjectModule.bsl" @@ -19,7 +19,7 @@ КонецЕсли; Если Не пбп_ОбщегоНазначенияСлужебныйКлиентСервер.СвойствоСтруктуры(ДополнительныеСвойства, "ЭтоНовый", Ложь) Тогда - пбп_ОбщегоНазначенияСервер.ОбновитьХешЭлемента(Ссылка, ЭтоГруппа); + пбп_ОбщегоНазначенияСервер.ОбработатьСуществующийПредопределенныйЭлемент(ЭтотОбъект); КонецЕсли; КонецПроцедуры 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 d8cccbfb..0eb003ab 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" @@ -38,6 +38,8 @@ пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); + Элементы.Список.Обновить(); + КонецПроцедуры #КонецОбласти 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/ObjectModule.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/ObjectModule.bsl" index 0aabb0d8..3fc960d5 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/ObjectModule.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/ObjectModule.bsl" @@ -113,7 +113,7 @@ УчетнаяЗапись = Неопределено; ИмяОбъекта = Неопределено; КонецЕсли; - + ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый()); КонецПроцедуры @@ -125,7 +125,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/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 d8cccbfb..0eb003ab 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" @@ -38,6 +38,8 @@ пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); + Элементы.Список.Обновить(); + КонецПроцедуры #КонецОбласти 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/ObjectModule.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/ObjectModule.bsl" index 4f27021e..009558eb 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/ObjectModule.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/ObjectModule.bsl" @@ -20,7 +20,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/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 d8cccbfb..0eb003ab 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" @@ -38,6 +38,8 @@ пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); + Элементы.Список.Обновить(); + КонецПроцедуры #КонецОбласти 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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" index 4f27021e..009558eb 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/Ext/ObjectModule.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/Ext/ObjectModule.bsl" @@ -20,7 +20,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 bc9f4d4a..32beb2da 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" @@ -26,6 +26,8 @@ пбп_ПредопределенныеЗначенияКлиент.СоздатьОбновитьПредопределенныеЗначения(ЭтотОбъект); + Элементы.Список.Обновить(); + КонецПроцедуры #КонецОбласти diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" index f3288a04..ab9a7287 100644 --- "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" @@ -6,12 +6,12 @@ <Synonym> <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Форма разрешения конфликтов предопределенных элементов</v8:content> + <v8:content>Разрешение конфликтов предопределенных элементов</v8:content> </v8:item> </Synonym> <Comment/> <FormType>Managed</FormType> - <IncludeHelpInContents>false</IncludeHelpInContents> + <IncludeHelpInContents>true</IncludeHelpInContents> <UsePurposes> <v8:Value xsi:type="app:ApplicationUsePurpose">PlatformApplication</v8:Value> <v8:Value xsi:type="app:ApplicationUsePurpose">MobilePlatformApplication</v8:Value> diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" index f085e22f..24585827 100644 --- "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" @@ -1,12 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <Form xmlns="http://v8.1c.ru/8.3/xcf/logform" xmlns:app="http://v8.1c.ru/8.2/managed-application/core" xmlns:cfg="http://v8.1c.ru/8.1/data/enterprise/current-config" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:ent="http://v8.1c.ru/8.1/data/enterprise" xmlns:lf="http://v8.1c.ru/8.2/managed-application/logform" xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows" xmlns:xr="http://v8.1c.ru/8.3/xcf/readable" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.16"> <WindowOpeningMode>LockOwnerWindow</WindowOpeningMode> + <VerticalScroll>useIfNecessary</VerticalScroll> <AutoCommandBar name="ФормаКоманднаяПанель" id="-1"> <ChildItems> <Button name="ФормаОбработатьЭлементы" id="24"> <Type>CommandBarButton</Type> <DefaultButton>true</DefaultButton> <CommandName>Form.Command.ОбработатьЭлементы</CommandName> + <ToolTipRepresentation>Button</ToolTipRepresentation> <ExtendedTooltip name="ФормаОбработатьЭлементыРасширеннаяПодсказка" id="25"/> </Button> </ChildItems> @@ -16,6 +18,27 @@ <Event name="OnClose">ПриЗакрытии</Event> </Events> <ChildItems> + <LabelDecoration name="Информация" id="33"> + <TextColor>style:TableFooterTextColor</TextColor> + <Title formatted="false"> + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Изменение элементов</v8:content> + </v8:item> + + + + ru + Для элемента установлен флаг обновления: Элемент будет обновлен данными из программного кода, а также обновится хеш элемента в регистре. + +Для элемента установлен флаг обновления: Элемент не будет обновлен. В записи регистра будет установлен флаг "Ручное изменение", указывающий на то, что элемент был изменен вручную и не подлежит автоматическому обновлению. + + + + Button + + + Listfalse @@ -28,6 +51,26 @@ false + + + + @@ -223,5 +266,37 @@ ОбработатьЭлементы + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Отметить все</v8:content> + </v8:item> + + + + ru + Отметить все + + + ОтметитьВсе + DontUse + + + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Снять отметку</v8:content> + </v8:item> + + + + ru + Снять отметку + + + СнятьОтметку + DontUse + \ No newline at end of file diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" index 2bb3e758..983ec828 100644 --- "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" @@ -42,6 +42,16 @@ КонецПроцедуры +&НаКлиенте +Процедура ОтметитьВсе(Команда) + ЗаполнитьОтметки(Истина); +КонецПроцедуры + +&НаКлиенте +Процедура СнятьОтметку(Команда) + ЗаполнитьОтметки(Ложь); +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции @@ -84,16 +94,16 @@ Имя = СтрЗаменить(Имя, ПрефиксБаза, ""); КонецЕсли; - Заголовок = ""; - Если Не Синонимы.Свойство(Имя, Заголовок) Тогда - Заголовок = пбп_СтроковыеФункцииКлиентСервер.СинонимСтроки(Имя); - Синонимы.Вставить(Имя, Заголовок); + Синоним = ""; + Если Не Синонимы.Свойство(Имя, Синоним) Тогда + Синоним = пбп_СтроковыеФункцииКлиентСервер.СинонимСтроки(Имя); + Синонимы.Вставить(Имя, Синоним); КонецЕсли; Свойства = Новый Структура; Свойства.Вставить("Ширина", 5); Свойства.Вставить("ТолькоПросмотр", Истина); - пбп_РаботаСФормами.СоздатьПоле(ЭтотОбъект, Реквизит.Ключ, Родитель, Заголовок, 1, + пбп_РаботаСФормами.СоздатьПоле(ЭтотОбъект, Реквизит.Ключ, Родитель, Синоним, 1, "ТаблицаКонфликтов." + Реквизит.Ключ, Свойства); КонецЦикла; @@ -180,4 +190,12 @@ КонецПроцедуры +&НаКлиенте +Процедура ЗаполнитьОтметки(ЗначениеОтметки) + Модифицированность = Истина; + Для Каждого Строка Из ТаблицаКонфликтов Цикл + Строка.ЗаменитьЭлементомИзКода = ЗначениеОтметки; + КонецЦикла; +КонецПроцедуры + #КонецОбласти 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 1cfbb9ef..328a8148 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" @@ -85,7 +85,12 @@ // Обработчики обновления информационной базы. Процедура ПриДобавленииОбработчиковОбновления(Обработчики) Экспорт - + + Обработчик = Обработчики.Добавить(); + Обработчик.Процедура = "пбп_ОбновлениеИнформационнойБазыПБП.НачальноеЗаполнение"; + Обработчик.НачальноеЗаполнение = Истина; + Обработчик.РежимВыполнения = "Монопольно"; + КонецПроцедуры Процедура ПередОбновлениемИнформационнойБазы() Экспорт @@ -116,3 +121,20 @@ #КонецОбласти #КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +Процедура НачальноеЗаполнениеПредопределенныхЭлементов() Экспорт + + Типы = Метаданные.ОпределяемыеТипы.пбп_ПредопределенныеВсеСсылкиПереопределяемый.Тип.Типы(); + + Для Каждого Тип Из Типы Цикл + ПолноеИмя = Метаданные.НайтиПоТипу(Тип).ПолноеИмя(); + Менеджер = пбп_ОбщегоНазначенияСлужебный.МенеджерОбъектаПоПолномуИмени(ПолноеИмя); + + пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(Менеджер); + КонецЦикла; + +КонецПроцедуры + +#КонецОбласти \ No newline at end of file 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 32fd811c..a2e9f301 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" @@ -932,6 +932,51 @@ КонецПроцедуры +// Аналог метода БСП. Вычисляет переданное выражение, предварительно устанавливая безопасный режим выполнения кода +// и безопасный режим разделения данных для всех разделителей, присутствующих в составе конфигурации. +// +// Параметры: +// Выражение - Строка - выражение на встроенном языке 1С:Предприятия. +// Параметры - Произвольный - контекст, который требуется для вычисления выражения. +// В тексте выражения обращение к контексту должно происходить по имени "Параметры". +// Например, выражение "Параметры.Значение1 = Параметры.Значение2" обращается к значениям +// "Значение1" и "Значение2" переданные в Параметры, как свойства. +// +// Возвращаемое значение: +// Произвольный - результат вычисления выражения. +// +// Пример: +// +// // Пример 1 +// Параметры = Новый Структура; +// Параметры.Вставить("Значение1", 1); +// Параметры.Вставить("Значение2", 10); +// Результат = ОбщегоНазначения.ВычислитьВБезопасномРежиме("Параметры.Значение1 = Параметры.Значение2", Параметры); +// +// // Пример 2 +// Результат = ОбщегоНазначения.ВычислитьВБезопасномРежиме("СтандартныеПодсистемыСервер.ВерсияБиблиотеки()"); +// +Функция ВычислитьВБезопасномРежиме(Знач Выражение, Знач Параметры = Неопределено) Экспорт + + УстановитьБезопасныйРежим(Истина); + + Если ПодсистемаСуществует("ТехнологияСервиса.БазоваяФункциональность") Тогда + МодульРаботаВМоделиСервиса = ОбщийМодуль("РаботаВМоделиСервиса"); + МассивРазделителей = МодульРаботаВМоделиСервиса.РазделителиКонфигурации(); + Иначе + МассивРазделителей = Новый Массив; + КонецЕсли; + + Для Каждого ИмяРазделителя Из МассивРазделителей Цикл + + УстановитьБезопасныйРежимРазделенияДанных(ИмяРазделителя, Истина); + + КонецЦикла; + + Возврат Вычислить(Выражение); + +КонецФункции + // Аналог метода БСП. Записывает конфиденциальные данные в безопасное хранилище. // Вызывающий код должен самостоятельно устанавливать привилегированный режим. // @@ -2008,6 +2053,57 @@ КонецФункции +// Аналог метода БСП. Возвращает менеджер объекта по ссылке на объект. +// Ограничение: не обрабатываются точки маршрутов бизнес-процессов. +// См. также ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени. +// +// Параметры: +// Ссылка - ЛюбаяСсылка - объект, менеджер которого требуется получить. +// +// Возвращаемое значение: +// СправочникМенеджер, ДокументМенеджер, ОбработкаМенеджер, РегистрСведенийМенеджер - менеджер объекта. +// +// Пример: +// МенеджерСправочника = ОбщегоНазначения.МенеджерОбъектаПоСсылке(СсылкаНаОрганизацию); +// ПустаяСсылка = МенеджерСправочника.ПустаяСсылка(); +// +Функция МенеджерОбъектаПоСсылке(Ссылка) Экспорт + + ИмяОбъекта = Ссылка.Метаданные().Имя; + ТипСсылки = ТипЗнч(Ссылка); + + Если Справочники.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда + Возврат Справочники[ИмяОбъекта]; + + ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда + Возврат Документы[ИмяОбъекта]; + + ИначеЕсли БизнесПроцессы.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда + Возврат БизнесПроцессы[ИмяОбъекта]; + + ИначеЕсли ПланыВидовХарактеристик.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда + Возврат ПланыВидовХарактеристик[ИмяОбъекта]; + + ИначеЕсли ПланыСчетов.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда + Возврат ПланыСчетов[ИмяОбъекта]; + + ИначеЕсли ПланыВидовРасчета.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда + Возврат ПланыВидовРасчета[ИмяОбъекта]; + + ИначеЕсли Задачи.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда + Возврат Задачи[ИмяОбъекта]; + + ИначеЕсли ПланыОбмена.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда + Возврат ПланыОбмена[ИмяОбъекта]; + + ИначеЕсли Перечисления.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда + Возврат Перечисления[ИмяОбъекта]; + Иначе + Возврат Неопределено; + КонецЕсли; + +КонецФункции + #Область Данные // Аналог метода БСП. Вычисляет контрольную сумму для произвольных данных по указанному алгоритму. @@ -2170,14 +2266,15 @@ #КонецОбласти -// Обновляет хеш элемента в регистре, устанавливая при этом ручное изменение. +// Выполняет действия при записи предопределенного элемента. // // Параметры: -// Элемент - СправочникСсылка, ПланВидовХарактеристикСсылка - ссылка на предопределенный элемент. -// ЭтоГруппа - Булево - Признак того что элемент является группой +// Объект - СправочникОбъект, ПланВидовХарактеристикОбъект - предопределенный элемент из подсистемы предопределенных элементов // -Процедура ОбновитьХешЭлемента(Элемент, ЭтоГруппа = Ложь) Экспорт - РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(Элемент, ЭтоГруппа); +Процедура ОбработатьСуществующийПредопределенныйЭлемент(Объект) Экспорт + + пбп_ПредопределенныеЗначения.ОбновитьХешЭлемента(Объект); + КонецПроцедуры #КонецОбласти // ПрограммныйИнтерфейс 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 26139226..757e1e4b 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" @@ -33,6 +33,15 @@ КонецПроцедуры +// См. пбп_ОбщегоНазначенияСервер.ВычислитьВБезопасномРежиме. +// +Функция ВычислитьВБезопасномРежиме(Знач Выражение, Знач Параметры = Неопределено) Экспорт + + Модуль = ПолучитьМодуль(); + Возврат Модуль.ВычислитьВБезопасномРежиме(Выражение, Параметры); + +КонецФункции + // См. пбп_ОбщегоНазначенияСервер.ЗаписатьДанныеВБезопасноеХранилище. Процедура ЗаписатьДанныеВБезопасноеХранилище(Владелец, Данные, Ключ = "Пароль") Экспорт @@ -184,6 +193,15 @@ КонецФункции +// См. пбп_ОбщегоНазначенияСервер.МенеджерОбъектаПоСсылке. +// +Функция МенеджерОбъектаПоСсылке(Ссылка) Экспорт + + Модуль = ПолучитьМодуль(); + Возврат Модуль.МенеджерОбъектаПоСсылке(Ссылка); + +КонецФункции + #Область Данные // См. пбп_ОбщегоНазначенияСервер.КонтрольнаяСуммаСтрокой. 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 04fef36e..b2de7406 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" @@ -27,23 +27,10 @@ // Функция ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт - ТипЗначения = ТипЗнч(МенеджерОбъекта); - Если ТипЗначения = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда - ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); - ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтегрируемыеСистемы") Тогда - ТЗПредопределенныхЗначений = - пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияИнтегрируемыеСистемы(); - ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтеграционныеПотоки") Тогда - ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый - .ПредопределенныеЗначенияИнтеграционныеПотоки(); - ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_НастройкиИнтеграции") Тогда - ТЗПредопределенныхЗначений = - пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияНастройкиИнтеграции(); - ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ТипСоответствияОбъектовИБ") Тогда - ТЗПредопределенныхЗначений = - пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияТипСоответствияОбъектовИБ(); - Иначе - Возврат Новый ТаблицаЗначений; + ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенныхЭлементов(МенеджерОбъекта); + + Если ТЗПредопределенныхЗначений = Неопределено Тогда + Возврат Неопределено; КонецЕсли; ТаблицаКонфликтныхЭлементов = ОбработатьПредопределенныеЗначения(ТЗПредопределенныхЗначений, МенеджерОбъекта); @@ -59,13 +46,13 @@ // ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных // МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. // -Функция ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт +Функция ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта, НачальноеЗаполнение = Ложь) Экспорт Параметры = ДопПараметрыОбработкиПредопределенныхЭлементов(ТаблицаПредопределенных, МенеджерОбъекта); ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); - ЗаполнитьРодителейЭлементов(ТаблицаПредопределенных, Параметры.ПолноеИмя); + ЗаполнитьРодителейЭлементов(ТаблицаПредопределенных, Параметры); ЗаполнитьКонтрольныеСуммыТаблицы(ТаблицаПредопределенных, Параметры); ТаблицаКонфликтныхЭлементов = УдалитьИзТаблицыСуществующиеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); @@ -149,7 +136,8 @@ | пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки, | пбп_СостоянияПредопределенныхЭлементов.ХешСумма КАК ХешСумма, | ЕСТЬNULL(пбп_СостоянияПредопределенныхЭлементов.РучноеИзменение, ЛОЖЬ) КАК РучноеИзменение, - | пбп_ПредопределенныеЗначения.ПометкаУдаления КАК ПометкаУдаления + | пбп_ПредопределенныеЗначения.ПометкаУдаления КАК ПометкаУдаления, + | пбп_СостоянияПредопределенныхЭлементов.ХешСумма ЕСТЬ NULL КАК ХешОтсутствует |ИЗ | %1 КАК пбп_ПредопределенныеЗначения | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.пбп_СостоянияПредопределенныхЭлементов КАК пбп_СостоянияПредопределенныхЭлементов @@ -168,17 +156,20 @@ ВыборкаДетальныеЗаписи.Сбросить(); Если ВыборкаДетальныеЗаписи.НайтиСледующий(Строка.ИдентификаторНастройки, "ИдентификаторНастройки") Тогда Если ВыборкаДетальныеЗаписи.РучноеИзменение - Или (ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.ХешСумма) - И ВыборкаДетальныеЗаписи.ХешСумма = Строка.ХешСумма) Тогда + Или ВыборкаДетальныеЗаписи.ХешСумма = Строка.ХешСумма Тогда СтрокиДляУдаления.Добавить(Строка); - ИначеЕсли ВыборкаДетальныеЗаписи.ПометкаУдаления Тогда - Строка.Служеб_ПредопределенныйЭлемент = ВыборкаДетальныеЗаписи.Ссылка; - Строка.Служеб_ОбновитьЭлемент = Истина; Иначе - СтрокиДляУдаления.Добавить(Строка); - нСтрока = ТаблицаКонфликтныхЭлементов.Добавить(); - ЗаполнитьЗначенияСвойств(нСтрока, Строка); - нСтрока.Служеб_ПредопределенныйЭлемент = ВыборкаДетальныеЗаписи.Ссылка; + Строка.Служеб_ПредопределенныйЭлемент = ВыборкаДетальныеЗаписи.Ссылка; + + Если ВыборкаДетальныеЗаписи.ХешОтсутствует Тогда + Строка.Служеб_СоздатьЗаписьРегистра = Истина; + ИначеЕсли ВыборкаДетальныеЗаписи.ПометкаУдаления Тогда + Строка.Служеб_ОбновитьЭлемент = Истина; + Иначе + СтрокиДляУдаления.Добавить(Строка); + СтрокаКонфликт = ТаблицаКонфликтныхЭлементов.Добавить(); + ЗаполнитьЗначенияСвойств(СтрокаКонфликт, Строка); + КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; @@ -242,11 +233,13 @@ КлючиХеша = ?(ЭтоГруппа, ДополнительныеПараметры.КлючиХешаГруппа, ДополнительныеПараметры.КлючиХешаЭлемент); Если СтрокаТаблицы.Служеб_ОбновитьЭлемент Тогда - ОбновитьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы, ЭтоГруппа, КолонкаСуществует); + ОбновитьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы, КолонкаСуществует); ИначеЕсли СтрокаТаблицы.Служеб_УстановитьФлагРучноеИзменение Тогда УстановитьФлагРучноеИзменение(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент); + ИначеЕсли СтрокаТаблицы.Служеб_СоздатьЗаписьРегистра Тогда + СоздатьЗаписьСостоянияПредопределенногоЭлемента(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент, КлючиХеша); Иначе - СоздатьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы, ЭтоГруппа, КолонкаСуществует); + СоздатьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы, КолонкаСуществует); КонецЕсли; КонецЦикла; @@ -332,22 +325,52 @@ КонецФункции +// Обновляет хеш элемента в регистре, устанавливая при этом ручное изменение. +// +// Параметры: +// Объект - СправочникОбъект, ПланВидовХарактеристикОбъект - предопределенный элемент. +// +Процедура ОбновитьХешЭлемента(Объект) Экспорт + + Флаг = пбп_ОбщегоНазначенияСлужебныйКлиентСервер + .СвойствоСтруктуры(Объект.ДополнительныеСвойства, "РучноеИзменение", Истина); + + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.ОбновитьХешЭлемента(Объект.Ссылка, Объект.ЭтоГруппа, Флаг); + +КонецПроцедуры + +// Создает запись регистра с заданными параметрами. +// +// Параметры: +// Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент. +// ЭтоГруппа - Булево - +// КлючиХеша - Структура, Неопределено - Если ключи хеша не переданы, то они будут сформированы заново. +// +Процедура СоздатьЗаписьСостоянияПредопределенногоЭлемента(Объект, ЭтоГруппа, КлючиХеша = Неопределено) Экспорт + РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.СоздатьЗаписьРегистра(Объект, ЭтоГруппа, КлючиХеша); +КонецПроцедуры + #КонецОбласти #Область СлужебныеПроцедурыИФункции -Процедура СоздатьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЭтоГруппа = Ложь, ЗаполнитьРодителя = Ложь) - Если ЭтоГруппа Тогда +Процедура СоздатьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя = Ложь) + + Если СтрокаТаблицы.ЭтоГруппа Тогда СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители); Иначе СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя); КонецЕсли; + КонецПроцедуры Процедура СоздатьПредопределеннуюГруппу(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы) НоваяГруппа = МенеджерОбъекта.СоздатьГруппу(); + ЗаполнитьЗначенияСвойств(НоваяГруппа, СтрокаТаблицы, "Наименование,ИдентификаторНастройки"); + ЗаполнитьЗначениеПоУмолчанию(МенеджерОбъекта, НоваяГруппа); + Если ЗначениеЗаполнено(СтрокаТаблицы.ИдентификаторРодитель) Тогда Родитель = Группы.Получить(СтрокаТаблицы.ИдентификаторРодитель); НоваяГруппа.Родитель = Родитель; @@ -366,17 +389,15 @@ Процедура СоздатьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя = Ложь) НовыйЭлемент = МенеджерОбъекта.СоздатьЭлемент(); + ЗаполнитьЗначенияСвойств(НовыйЭлемент, СтрокаТаблицы); + ЗаполнитьЗначениеПоУмолчанию(МенеджерОбъекта, НовыйЭлемент); + Если ЗаполнитьРодителя И ЗначениеЗаполнено(СтрокаТаблицы.ИдентификаторРодитель) Тогда Родитель = Родители.Получить(СтрокаТаблицы.ИдентификаторРодитель); НовыйЭлемент.Родитель = Родитель; КонецЕсли; - ПроверяемыйТип = ТипЗнч(МенеджерОбъекта); - Если ПроверяемыйТип = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда - НовыйЭлемент.Значение = СтрокаТаблицы.ТипЗначения.ПривестиЗначение(); - КонецЕсли; - Попытка ЗаписатьЭлементИСвязанныеДанные(НовыйЭлемент, КлючиХеша); Исключение @@ -385,15 +406,7 @@ КонецПроцедуры -Процедура ОбновитьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЭтоГруппа = Ложь, ЗаполнитьРодителя = Ложь) - Если ЭтоГруппа Тогда - ОбновитьПредопределенныйГруппу(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители); - Иначе - ОбновитьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя); - КонецЕсли; -КонецПроцедуры - -Процедура ОбновитьПредопределенныйГруппу(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители) +Процедура ОбновитьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя = Ложь) Если Не ЗначениеЗаполнено(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент) Тогда Возврат; @@ -404,16 +417,30 @@ Элемент.УстановитьПометкуУдаления(Ложь, Ложь); КонецЕсли; - ЗаполнитьЗначенияСвойств(Элемент, СтрокаТаблицы, "Наименование,ИдентификаторНастройки"); + РодительОтличается = Ложь; + Если ЗаполнитьРодителя Тогда + Если Не ПустаяСтрока(СтрокаТаблицы.ИдентификаторРодитель) Или ЗначениеЗаполнено(Элемент.Родитель) Тогда + НовыйРодитель = Родители[СтрокаТаблицы.ИдентификаторРодитель]; + РодительОтличается = Элемент.Родитель <> НовыйРодитель; + Если РодительОтличается Тогда + Элемент.Родитель = НовыйРодитель; + КонецЕсли; + КонецЕсли; + КонецЕсли; - НовыйРодитель = Родители[СтрокаТаблицы.ИдентификаторРодитель]; - РодительОтличается = Элемент.Родитель <> НовыйРодитель; - Если РодительОтличается Тогда - Элемент.Родитель = НовыйРодитель; + СписокСвойств = ""; + ИсключаяСвойства = ""; + Если Элемент.ЭтоГруппа Тогда + СписокСвойств = "Наименование,ИдентификаторНастройки"; + Иначе + ИсключаяСвойства = "Родитель"; КонецЕсли; + ЗаполнитьЗначенияСвойств(Элемент, СтрокаТаблицы, СписокСвойств, ИсключаяСвойства); + + ЗаполнитьЗначениеПоУмолчанию(МенеджерОбъекта, Элемент); Попытка - ЗаписатьЭлементИСвязанныеДанные(Элемент, КлючиХеша); + ЗаписатьЭлементИСвязанныеДанные(Элемент, КлючиХеша, Истина); СообщитьОбИзмененииЭлемента(Элемент); Если РодительОтличается Тогда СообщитьОбИзмененииРасположенияЭлемента(Элемент); @@ -424,44 +451,14 @@ КонецПроцедуры -Процедура ОбновитьПредопределенныйЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Родители, ЗаполнитьРодителя = Ложь) - - Если Не ЗначениеЗаполнено(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент) Тогда - Возврат; - КонецЕсли; - - Элемент = СтрокаТаблицы.Служеб_ПредопределенныйЭлемент.ПолучитьОбъект(); - Если Элемент.ПометкаУдаления Тогда - Элемент.УстановитьПометкуУдаления(Ложь, Ложь); - КонецЕсли; - - ЗаполнитьЗначенияСвойств(Элемент, СтрокаТаблицы,, "Родитель"); - - РодительОтличается = Ложь; - Если ЗаполнитьРодителя Тогда - НовыйРодитель = Родители[СтрокаТаблицы.ИдентификаторРодитель]; - РодительОтличается = Элемент.Родитель <> НовыйРодитель; - Если РодительОтличается Тогда - Элемент.Родитель = НовыйРодитель; - КонецЕсли; - КонецЕсли; +Процедура ЗаполнитьЗначениеПоУмолчанию(МенеджерОбъекта, Элемент) ПроверяемыйТип = ТипЗнч(МенеджерОбъекта); Если ПроверяемыйТип = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") И Не Элемент.ЭтоГруппа Тогда - Элемент.Значение = СтрокаТаблицы.ТипЗначения.ПривестиЗначение(); + Элемент.Значение = Элемент.ТипЗначения.ПривестиЗначение(); КонецЕсли; - Попытка - ЗаписатьЭлементИСвязанныеДанные(Элемент, КлючиХеша); - СообщитьОбИзмененииЭлемента(Элемент); - Если РодительОтличается Тогда - СообщитьОбИзмененииРасположенияЭлемента(Элемент); - КонецЕсли; - Исключение - пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ОписаниеОшибки()); - КонецПопытки; - КонецПроцедуры Процедура УстановитьФлагРучноеИзменение(Элемент) @@ -541,7 +538,7 @@ #КонецОбласти -Процедура ЗаполнитьРодителейЭлементов(Таблица, ПолноеИмяОбъекта) +Процедура ЗаполнитьРодителейЭлементов(Таблица, Параметры) Идентификаторы = Таблица.ВыгрузитьКолонку("ИдентификаторРодитель"); @@ -555,7 +552,7 @@ |ГДЕ | пбп_ПредопределенныеЗначения.ИдентификаторНастройки В(&ИдентификаторыРодитель)"; - Запрос.Текст = СтрШаблон(Запрос.Текст, ПолноеИмяОбъекта); + Запрос.Текст = СтрШаблон(Запрос.Текст, Параметры.ПолноеИмя); Запрос.УстановитьПараметр("ИдентификаторыРодитель", Идентификаторы); @@ -569,23 +566,19 @@ Строка.Родитель = ВыборкаДетальныеЗаписи.Ссылка; КонецЕсли; КонецЦикла; - + КонецПроцедуры -Процедура ЗаписатьЭлементИСвязанныеДанные(Элемент, КлючиХеша) +Процедура ЗаписатьЭлементИСвязанныеДанные(Элемент, КлючиХеша, Обновление = Ложь) + Элемент.ДополнительныеСвойства.Вставить("РучноеИзменение", Ложь); Элемент.Записать(); - ЗаполнитьЗначенияСвойств(КлючиХеша, Элемент); - - Набор = РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.СоздатьНаборЗаписей(); - Набор.Отбор.Объект.Установить(Элемент.Ссылка); - - Запись = Набор.Добавить(); - Запись.Объект = Элемент.Ссылка; - Запись.ХешСумма = пбп_ОбщегоНазначенияСлужебный.КонтрольнаяСуммаСтрокой(КлючиХеша, ХешФункция.MD5); + Если Обновление Тогда + Возврат; + КонецЕсли; - Набор.Записать(); + СоздатьЗаписьСостоянияПредопределенногоЭлемента(Элемент.Ссылка, Элемент.ЭтоГруппа, КлючиХеша); КонецПроцедуры 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 375dbf96..f7991cb7 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,46 +1,75 @@  #Область ПрограммныйИнтерфейс -// Возвращает таблицу предопределенных элементов справочника +// Инициализирует предопределенные значения из таблицы. +// +// Параметры: +// Менеджер - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// +// Возвращаемое значение: +// ТаблицаЗначений - Таблица предопределенных элементов. +// +Функция ТаблицаПредопределенныхЭлементов(Менеджер) Экспорт + + Колонки = КолонкиПредопределенныхЭлементов(Менеджер); + + Выражение = пбп_ПредопределенныеЗначенияПовтИсп.ФункцииСозданияТаблицПредопределенныхЭлементов() + .Получить(ТипЗнч(Менеджер)); + + Если Не ЗначениеЗаполнено(Выражение) Тогда + Возврат Неопределено; + КонецЕсли; + + Таблица = Новый ТаблицаЗначений; + СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Таблица); + + Параметры = Новый Массив; + Параметры.Добавить(Таблица); + + пбп_ОбщегоНазначенияСервер.ВыполнитьМетодКонфигурации(Выражение, Параметры); + + Возврат Параметры[0]; + +КонецФункции + +// Заполняет таблицу предопределенных элементов справочника // ПланыВидовХарактеристикСсылка.пбп_ПредопределенныеЗначения. // // Возвращаемое значение: // ТаблицаЗначений - Таблица заполненная предопределенными элементами. // -Функция ПредопределенныеЗначения() Экспорт +Процедура ПредопределенныеЗначения(Таблица) Экспорт - Результат = ТаблицаПредопределенныхПредопределенныеЗначения(); - ОписаниеЧисло = Новый ОписаниеТипов("Число",,, Новый КвалификаторыЧисла(10,0)); // Добавление - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Интеграции"; НоваяНастройка.ИдентификаторНастройки = "Интеграции"; НоваяНастройка.ЭтоГруппа = Истина; НоваяНастройка.УровеньИерархии = 0; - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Интеграции локал"; НоваяНастройка.ИдентификаторНастройки = "Интеграции_локал"; НоваяНастройка.ЭтоГруппа = Истина; НоваяНастройка.ИдентификаторРодитель = "Интеграции"; НоваяНастройка.УровеньИерархии = 1; - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Тестовая"; НоваяНастройка.ИдентификаторНастройки = "Тестовая"; НоваяНастройка.ЭтоГруппа = Истина; - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Количество дней хранения истории интеграции"; НоваяНастройка.ИдентификаторНастройки = "КолДнейХраненияИсторииИнтеграции"; НоваяНастройка.Пароль = Ложь; НоваяНастройка.СписокЗначений = Ложь; НоваяНастройка.ТипЗначения = ОписаниеЧисло; - НоваяНастройка.ИдентификаторРодитель = "Интеграции"; + НоваяНастройка.ИдентификаторРодитель = "Интеграции_локал"; - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Количество дней хранения ошибок истории интеграции"; НоваяНастройка.ИдентификаторНастройки = "КолДнейХраненияОшибокИсторииИнтеграции"; НоваяНастройка.Пароль = Ложь; @@ -48,7 +77,7 @@ НоваяНастройка.ТипЗначения = ОписаниеЧисло; НоваяНастройка.ИдентификаторРодитель = "Интеграции"; - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Тест_бул"; НоваяНастройка.ИдентификаторНастройки = "Тест_бул"; НоваяНастройка.Пароль = Ложь; @@ -56,7 +85,7 @@ НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Булево"); НоваяНастройка.ИдентификаторРодитель = "Тестовая"; - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Тест_список"; НоваяНастройка.ИдентификаторНастройки = "Тест_список"; НоваяНастройка.Пароль = Ложь; @@ -64,77 +93,65 @@ НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Строка"); // КонецДобавления - Возврат Результат; - -КонецФункции +КонецПроцедуры -// Возвращает таблицу предопределенных элементов справочника СправочникСсылка.пбп_ИнтегрируемыеСистемы. +// Заполняет таблицу предопределенных элементов справочника СправочникСсылка.пбп_ИнтегрируемыеСистемы. // // Возвращаемое значение: // ТаблицаЗначений - Таблица заполненная предопределенными элементами. // -Функция ПредопределенныеЗначенияИнтегрируемыеСистемы() Экспорт - - Результат = ТаблицаПредопределенныхИнтегрируемыеСистемы(); +Процедура ПредопределенныеЗначенияИнтегрируемыеСистемы(Таблица) Экспорт // Добавление - НоваяСистема = Результат.Добавить(); + НоваяСистема = Таблица.Добавить(); НоваяСистема.Наименование = "Система N"; НоваяСистема.ИдентификаторНастройки = "СистемаN"; - НоваяСистема = Результат.Добавить(); + НоваяСистема = Таблица.Добавить(); НоваяСистема.Наименование = "Rabbit Mq"; НоваяСистема.ИдентификаторНастройки = "RabbitMq"; - НоваяСистема = Результат.Добавить(); + НоваяСистема = Таблица.Добавить(); НоваяСистема.Наименование = "Kafka"; НоваяСистема.ИдентификаторНастройки = "Kafka"; - НоваяСистема = Результат.Добавить(); + НоваяСистема = Таблица.Добавить(); НоваяСистема.Наименование = "Active directory"; НоваяСистема.ИдентификаторНастройки = "ActiveDirectory"; // КонецДобавления - Возврат Результат; - -КонецФункции +КонецПроцедуры -// Возвращает таблицу предопределенных элементов справочника СправочникСсылка.пбп_МетодыИнтеграции. +// Заполняет таблицу предопределенных элементов справочника СправочникСсылка.пбп_МетодыИнтеграции. // // Возвращаемое значение: // ТаблицаЗначений - Таблица заполненная предопределенными элементами. // -Функция ПредопределенныеЗначенияИнтеграционныеПотоки() Экспорт - - Результат = ТаблицаПредопределенныхИнтеграционныеПотоки(); +Процедура ПредопределенныеЗначенияИнтеграционныеПотоки(Таблица) Экспорт // Добавление - НовыйМетод = Результат.Добавить(); + НовыйМетод = Таблица.Добавить(); НовыйМетод.Наименование = "Интеграционный поток системы N"; НовыйМетод.ИдентификаторНастройки = "ИнтеграционныйПотокСистемыN"; // КонецДобавления - Возврат Результат; - -КонецФункции +КонецПроцедуры -// Возвращает таблицу предопределенных элементов справочника СправочникСсылка.пбп_НастройкиИнтеграции. +// Заполняет таблицу предопределенных элементов справочника СправочникСсылка.пбп_НастройкиИнтеграции. // // Возвращаемое значение: // ТаблицаЗначений - Таблица заполненная предопределенными элементами. // -Функция ПредопределенныеЗначенияНастройкиИнтеграции() Экспорт - - Результат = ТаблицаПредопределенныхНастройкиИнтеграции(); +Процедура ПредопределенныеЗначенияНастройкиИнтеграции(Таблица) Экспорт // Добавление - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Интеграция с системой N"; НоваяНастройка.ИдентификаторНастройки = "ИнтеграцияССистемойN"; НаименованиеРеквизита = "ИдентификаторНастройки"; - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Rabbit Mq"; НоваяНастройка.ИдентификаторНастройки = "RabbitMq"; НоваяНастройка.ИнтегрируемаяСистема = Справочники.пбп_ИнтегрируемыеСистемы.НайтиПоРеквизиту( @@ -142,7 +159,7 @@ НоваяНастройка.ТипИнтеграции = Справочники.пбп_ТипыИнтеграций.RabbitMq; НоваяНастройка.ТипАвторизации = Перечисления.пбп_ТипыАвторизации.Базовая; - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Simple Kafka"; НоваяНастройка.ИдентификаторНастройки = "SimpleKafka"; НоваяНастройка.ИнтегрируемаяСистема = Справочники.пбп_ИнтегрируемыеСистемы.НайтиПоРеквизиту( @@ -150,7 +167,7 @@ НоваяНастройка.ТипИнтеграции = Справочники.пбп_ТипыИнтеграций.Kafka; НоваяНастройка.ТипАвторизации = Перечисления.пбп_ТипыАвторизации.Базовая; - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Active directory"; НоваяНастройка.ИдентификаторНастройки = "ActiveDirectory"; НоваяНастройка.СтрокаПодключения = "Provider=""ADsDSOObject"""; @@ -161,26 +178,52 @@ НоваяНастройка.ИмяОбъекта = "ADODB.Connection"; // КонецДобавления - Возврат Результат; - -КонецФункции +КонецПроцедуры -// Возвращает таблицу предопределенных элементов справочника СправочникСсылка.пбп_ТипСоответствияОбъектовИБ. +// Заполняет таблицу предопределенных элементов справочника СправочникСсылка.пбп_ТипСоответствияОбъектовИБ. // // Возвращаемое значение: // ТаблицаЗначений - Таблица заполненная предопределенными элементами. // -Функция ПредопределенныеЗначенияТипСоответствияОбъектовИБ() Экспорт - - Результат = ТаблицаПредопределенныхТипСоответствияОбъектовИБ(); +Процедура ПредопределенныеЗначенияТипСоответствияОбъектовИБ(Таблица) Экспорт // Добавление - НоваяНастройка = Результат.Добавить(); + НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Тест"; НоваяНастройка.ИдентификаторНастройки = "Тест"; // КонецДобавления - Возврат Результат; +КонецПроцедуры + +// Возвращает колонки таблицы предопределенных элементов. +// +// Параметры: +// Менеджер - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// +// Возвращаемое значение: +// Структура - Структура из КлючИЗначение: +// * Ключ - Строка, +// * Значение - ОписаниеТипов +// +Функция КолонкиПредопределенныхЭлементов(Менеджер) Экспорт + + Выражение = пбп_ПредопределенныеЗначенияПовтИсп.ФункцииПолученияКолонокПредопределенныхЭлементов() + .Получить(ТипЗнч(Менеджер)); + + Если Не ЗначениеЗаполнено(Выражение) Тогда + Возврат Неопределено; + КонецЕсли; + + Колонки = ОбщиеКолонки(Менеджер); + + Параметры = Новый Массив; + Параметры.Добавить(Менеджер); + + ДопКолонки = пбп_ОбщегоНазначенияСлужебный.ВычислитьВБезопасномРежиме(Выражение); + + пбп_ОбщегоНазначенияСлужебныйКлиентСервер.ДополнитьСтруктуру(Колонки, ДопКолонки); + + Возврат Колонки; КонецФункции @@ -188,7 +231,7 @@ Функция КолонкиПредопределенныеЗначения() Экспорт - Колонки = ОбщиеКолонки(); + Колонки = Новый Структура; ОписаниеБулево = Новый ОписаниеТипов("Булево"); @@ -204,7 +247,7 @@ Функция КолонкиИнтегрируемыеСистемы() Экспорт - Колонки = ОбщиеКолонки(); + Колонки = Новый Структура; // Добавление @@ -216,7 +259,7 @@ Функция КолонкиИнтеграционныеПотоки() Экспорт - Колонки = ОбщиеКолонки(); + Колонки = Новый Структура; // Добавление @@ -228,10 +271,14 @@ Функция КолонкиНастройкиИнтеграции() Экспорт - Колонки = ОбщиеКолонки(); + Колонки = Новый Структура; // Добавление - + Колонки.Вставить("ИнтегрируемаяСистема" , Новый ОписаниеТипов("СправочникСсылка.пбп_ИнтегрируемыеСистемы")); + Колонки.Вставить("ТипИнтеграции" , Новый ОписаниеТипов("СправочникСсылка.пбп_ТипыИнтеграций")); + Колонки.Вставить("СтрокаПодключения" , пбп_ОбщегоНазначенияСервер.ОписаниеТипаСтрока(200)); + Колонки.Вставить("ТипАвторизации" , Новый ОписаниеТипов("ПеречислениеСсылка.пбп_ТипыАвторизации")); + Колонки.Вставить("ИмяОбъекта" , пбп_ОбщегоНазначенияСервер.ОписаниеТипаСтрока(100)); // КонецДобавления Возврат Колонки; @@ -240,7 +287,7 @@ Функция КолонкиТипСоответствияОбъектовИБ() Экспорт - Колонки = ОбщиеКолонки(); + Колонки = Новый Структура; // Добавление @@ -280,73 +327,11 @@ #Область СлужебныеПроцедурыИФункции -Функция ТаблицаПредопределенныхПредопределенныеЗначения() - - Результат = Новый ТаблицаЗначений; - - Колонки = КолонкиПредопределенныеЗначения(); - - СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); - - Возврат Результат; - -КонецФункции - -Функция ТаблицаПредопределенныхИнтегрируемыеСистемы() - - Результат = Новый ТаблицаЗначений; - - Колонки = КолонкиИнтегрируемыеСистемы(); - - СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); - - Возврат Результат; - -КонецФункции - -Функция ТаблицаПредопределенныхИнтеграционныеПотоки() +Функция ОбщиеКолонки(Менеджер) - Результат = Новый ТаблицаЗначений; - - Колонки = КолонкиИнтеграционныеПотоки(); - - СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); - - Возврат Результат; - -КонецФункции - -Функция ТаблицаПредопределенныхНастройкиИнтеграции() - - Результат = Новый ТаблицаЗначений; - - Колонки = КолонкиНастройкиИнтеграции(); - - СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); - - Результат.Колонки.Добавить("ИнтегрируемаяСистема" , Новый ОписаниеТипов("СправочникСсылка.пбп_ИнтегрируемыеСистемы")); - Результат.Колонки.Добавить("ТипИнтеграции" , Новый ОписаниеТипов("СправочникСсылка.пбп_ТипыИнтеграций")); - Результат.Колонки.Добавить("СтрокаПодключения" , пбп_ОбщегоНазначенияСервер.ОписаниеТипаСтрока(200)); - Результат.Колонки.Добавить("ТипАвторизации" , Новый ОписаниеТипов("ПеречислениеСсылка.пбп_ТипыАвторизации")); - Результат.Колонки.Добавить("ИмяОбъекта" , пбп_ОбщегоНазначенияСервер.ОписаниеТипаСтрока(100)); - - Возврат Результат; - -КонецФункции - -Функция ТаблицаПредопределенныхТипСоответствияОбъектовИБ() - - Результат = Новый ТаблицаЗначений; - - Колонки = КолонкиТипСоответствияОбъектовИБ(); - - СоздатьКолонкиТаблицыПредопределенныхЭлементов(Колонки, Результат); - - Возврат Результат; - -КонецФункции - -Функция ОбщиеКолонки() + массив = Новый Массив; + массив.Добавить(ТипЗнч(Менеджер.ПустаяСсылка())); + ОписаниеТиповПредопред = Новый ОписаниеТипов(массив); Колонки = Новый Структура; @@ -356,11 +341,14 @@ Колонки.Вставить("ИдентификаторНастройки", ОписаниеСтрока); Колонки.Вставить("Наименование", ОписаниеСтрока); Колонки.Вставить("ЭтоГруппа", ОписаниеБулево); - Колонки.Вставить("Родитель", Новый ОписаниеТипов("ПланВидовХарактеристикСсылка.пбп_ПредопределенныеЗначения")); + Колонки.Вставить("Родитель", ОписаниеТиповПредопред); Колонки.Вставить("Служеб_ОбновитьЭлемент", ОписаниеБулево); Колонки.Вставить("Служеб_УстановитьФлагРучноеИзменение", ОписаниеБулево); - Колонки.Вставить("Служеб_ПредопределенныйЭлемент", Неопределено); + Колонки.Вставить("Служеб_ПредопределенныйЭлемент", ОписаниеТиповПредопред); + // ++ + Колонки.Вставить("Служеб_СоздатьЗаписьРегистра", ОписаниеБулево); + // -- Колонки.Вставить("УровеньИерархии", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(2,0))); Колонки.Вставить("ИдентификаторРодитель", ОписаниеСтрока); 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.xml" "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.xml" new file mode 100644 index 00000000..c670e862 --- /dev/null +++ "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.xml" @@ -0,0 +1,23 @@ + + + + + пбп_ПредопределенныеЗначенияПовтИсп + + + ru + Предопределенные значения повт исп + + + + false + false + true + true + true + false + false + DuringSession + + + \ 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\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" new file mode 100644 index 00000000..a4d22d08 --- /dev/null +++ "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" @@ -0,0 +1,93 @@ +// Библиотека проектных подсистем для упрощения разработки архитектуры на 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 08dd7b6f..7e41d854 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -308,6 +308,7 @@ пбп_ПредопределенныеЗначенияВызовСервера пбп_ПредопределенныеЗначенияКлиент пбп_ПредопределенныеЗначенияПереопределяемый + пбп_ПредопределенныеЗначенияПовтИсп пбп_РаботаСДиалогамиКлиент пбп_РаботаСДиалогамиСервер пбп_РаботаСКоллекциямиКлиентСервер diff --git "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" index af59207f..1e435b81 100644 --- "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" +++ "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262.xml" @@ -98,7 +98,7 @@ false - DontCheck + ShowError Items diff --git "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" index afb9c286..cab13bb4 100644 --- "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" +++ "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" @@ -3,56 +3,70 @@ #Область ПрограммныйИнтерфейс -// Обновляет хеш элемента в регистре, устанавливая при этом ручное изменение. -// Если хеш не был изменен по ключевым реквизитам, обновления не произойдет. +// Создает запись регистра с заданными параметрами. // // Параметры: -// Элемент - СправочникСсылка, ПланВидовХарактеристикСсылка - ссылка на предопределенный элемент. -// ЭтоГруппа - Булево - Признак того что элемент является группой +// Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент. +// ЭтоГруппа - Булево - +// КлючиХеша - Структура, Неопределено - Если ключи хеша не переданы, то они будут сформированы заново. // -Процедура ОбновитьХешЭлемента(Элемент, ЭтоГруппа = Ложь) Экспорт - - ТипЗначения = ТипЗнч(Элемент); - Если ТипЗначения = Тип("ПланВидовХарактеристикСсылка.пбп_ПредопределенныеЗначения") Тогда - СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиПредопределенныеЗначения(); - ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_ИнтегрируемыеСистемы") Тогда - СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиИнтегрируемыеСистемы(); - ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_ИнтеграционныеПотоки") Тогда - СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиИнтеграционныеПотоки(); - ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_НастройкиИнтеграции") Тогда - СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиНастройкиИнтеграции(); - ИначеЕсли ТипЗначения = Тип("СправочникСсылка.пбп_ТипСоответствияОбъектовИБ") Тогда - СтруктураСКолонками = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиТипСоответствияОбъектовИБ(); - Иначе +Процедура СоздатьЗаписьРегистра(Объект, ЭтоГруппа = Ложь, КлючиХеша = Неопределено) Экспорт + + Если КлючиХеша = Неопределено Тогда + КлючиХеша = КлючиХешаОбъект(Объект, ЭтоГруппа); + КонецЕсли; + + Если Не ЗначениеЗаполнено(КлючиХеша) Тогда Возврат; КонецЕсли; - мКолонки = Новый Массив; - Для Каждого КлючЗначение Из СтруктураСКолонками Цикл - мКолонки.Добавить(КлючЗначение.Ключ); - КонецЦикла; + ЗаполнитьЗначенияСвойств(КлючиХеша, Объект); - КлючиХеша = пбп_ПредопределенныеЗначения.КлючиХешаПредопределенногоЭлемента(мКолонки, ЭтоГруппа); + Набор = РегистрыСведений.пбп_СостоянияПредопределенныхЭлементов.СоздатьНаборЗаписей(); + Набор.Отбор.Объект.Установить(Объект); - ЗаполнитьЗначенияСвойств(КлючиХеша, Элемент); - НовыйХешЭлемента = пбп_ОбщегоНазначенияСервер.КонтрольнаяСуммаСтрокой(КлючиХеша, ХешФункция.MD5); + Запись = Набор.Добавить(); + Запись.Объект = Объект; + Запись.ХешСумма = пбп_ОбщегоНазначенияСлужебный.КонтрольнаяСуммаСтрокой(КлючиХеша, ХешФункция.MD5); - Отбор = Новый Структура("Объект", Элемент); - Выборка = Выбрать(Отбор); - Выборка.Следующий(); + Набор.Записать(); - Если НовыйХешЭлемента = Выборка.ХешСумма Тогда +КонецПроцедуры + +// Обновляет хеш элемента в регистре, устанавливая при этом ручное изменение. +// Если хеш не был изменен по ключевым реквизитам, обновления не произойдет. +// +// Параметры: +// Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент +// ЭтоГруппа - Булево - Признак того что элемент является группой. +// +Процедура ОбновитьХешЭлемента(Объект, ЭтоГруппа = Ложь, Флаг = Ложь) Экспорт + + КлючиХеша = КлючиХешаОбъект(Объект, ЭтоГруппа); + + Если Не ЗначениеЗаполнено(КлючиХеша) Тогда Возврат; КонецЕсли; + ЗаполнитьЗначенияСвойств(КлючиХеша, Объект); + НовыйХешЭлемента = пбп_ОбщегоНазначенияСлужебный.КонтрольнаяСуммаСтрокой(КлючиХеша, ХешФункция.MD5); + Набор = СоздатьНаборЗаписей(); - Набор.Отбор.Объект.Установить(Элемент); + Набор.Отбор.Объект.Установить(Объект); + Набор.Прочитать(); - Запись = Набор.Добавить(); - Запись.Объект = Элемент; - Запись.ХешСумма = НовыйХешЭлемента; - Запись.РучноеИзменение = Истина; + Если Не ЗначениеЗаполнено(Набор) Тогда + СообщитьОбОтсутствииЗаписи(Объект); + Возврат; + КонецЕсли; + Запись = Набор[0]; + Если НовыйХешЭлемента = Запись.ХешСумма Тогда + Возврат; + КонецЕсли; + + Запись.ХешСумма = НовыйХешЭлемента; + Запись.РучноеИзменение = Флаг; Набор.Записать(); КонецПроцедуры @@ -60,19 +74,57 @@ // Обновляет флаг ручного изменения элемента // // Параметры: -// Элемент - СправочникСсылка, ПланВидовХарактеристикСсылка - ссылка на предопределенный элемент. +// Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент // Флаг - Булево - Устанавливается если были изменены ключевые поля пользователем. // -Процедура ОбновитьФлагРучногоИзменения(Элемент, Флаг) Экспорт +Процедура ОбновитьФлагРучногоИзменения(Объект, Флаг) Экспорт + Набор = СоздатьНаборЗаписей(); - Набор.Отбор.Объект.Установить(Элемент); + Набор.Отбор.Объект.Установить(Объект); Набор.Прочитать(); - Если ЗначениеЗаполнено(Набор) Тогда - Набор[0].РучноеИзменение = Флаг; + + Если Не ЗначениеЗаполнено(Набор) Тогда + СообщитьОбОтсутствииЗаписи(Объект); + Возврат; КонецЕсли; + + Набор[0].РучноеИзменение = Флаг; Набор.Записать(); + КонецПроцедуры #КонецОбласти +#Область СлужебныеПроцедурыИФункции + +Процедура СообщитьОбОтсутствииЗаписи(Элемент) + + ТекстСообщения = НСтр("ru = 'При обновлении не найдена запись состояния по объекту ''%1'' не найдена!'; + |en = 'No status record found during update for object ''%1'' not found!'"); + ТекстСообщения = пбп_СтроковыеФункцииСлужебныйКлиентСервер.ПодставитьПараметрыВСтроку( + ТекстСообщения, + Элемент.Ссылка); + пбп_ОбщегоНазначенияСлужебный.СообщитьПользователю(ТекстСообщения, Элемент); + +КонецПроцедуры + +Функция КлючиХешаОбъект(Объект, ЭтоГруппа) + + МенеджерОбъекта = пбп_ОбщегоНазначенияСлужебный.МенеджерОбъектаПоСсылке(Объект); + КлючевыеПоля = пбп_ПредопределенныеЗначенияПереопределяемый.КолонкиПредопределенныхЭлементов(МенеджерОбъекта); + Если Не ЗначениеЗаполнено(КлючевыеПоля) Тогда + Возврат Новый Структура; + КонецЕсли; + + мПоля = Новый Массив; + Для Каждого КлючЗначение Из КлючевыеПоля Цикл + мПоля.Добавить(КлючЗначение.Ключ); + КонецЦикла; + + Возврат пбп_ПредопределенныеЗначения.КлючиХешаПредопределенногоЭлемента(мПоля, ЭтоГруппа); + +КонецФункции + +#КонецОбласти + #КонецЕсли \ No newline at end of file From 4583ef8f98b16377ee4d7004b76e3085e402a6dd Mon Sep 17 00:00:00 2001 From: Denis Ushakov Date: Thu, 17 Oct 2024 10:00:48 +0300 Subject: [PATCH 07/12] fixed smells --- .../Ext/Form/Module.bsl" | 3 +- .../Ext/Module.bsl" | 3 +- .../Ext/Module.bsl" | 93 ++++++++++++------- .../Ext/Module.bsl" | 4 - .../Ext/Module.bsl" | 56 ++++++----- .../Ext/Module.bsl" | 2 +- .../Ext/ManagerModule.bsl" | 2 +- 7 files changed, 90 insertions(+), 73 deletions(-) diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" index 983ec828..8742f88b 100644 --- "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form/Module.bsl" @@ -85,6 +85,7 @@ КонецЦикла; пбп_РаботаСФормами.СоздатьРеквизитыТаблицы(ЭтотОбъект, "ТаблицаКонфликтов", ДобавляемыеРеквизиты); + ШиринаКолонки = 5; Синонимы = Новый Структура; Для Каждого Реквизит Из ДобавляемыеРеквизиты Цикл Родитель = Элементы.ГруппаЭлементВКоде; @@ -101,7 +102,7 @@ КонецЕсли; Свойства = Новый Структура; - Свойства.Вставить("Ширина", 5); + Свойства.Вставить("Ширина", ШиринаКолонки); Свойства.Вставить("ТолькоПросмотр", Истина); пбп_РаботаСФормами.СоздатьПоле(ЭтотОбъект, Реквизит.Ключ, Родитель, Синоним, 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\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 a2e9f301..eceabda2 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" @@ -2269,7 +2269,8 @@ // Выполняет действия при записи предопределенного элемента. // // Параметры: -// Объект - СправочникОбъект, ПланВидовХарактеристикОбъект - предопределенный элемент из подсистемы предопределенных элементов +// Объект - СправочникОбъект, ПланВидовХарактеристикОбъект - предопределенный элемент +// из подсистемы предопределенных элементов // Процедура ОбработатьСуществующийПредопределенныйЭлемент(Объект) Экспорт 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 b2de7406..d75e96d5 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" @@ -23,11 +23,15 @@ // Инициализирует предопределенные значения из таблицы. // // Параметры: -// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// +// Возвращаемое значение: +// ТаблицаЗначений - Таблица с конфликтными элементами // Функция ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт - ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенныхЭлементов(МенеджерОбъекта); + ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый + .ТаблицаПредопределенныхЭлементов(МенеджерОбъекта); Если ТЗПредопределенныхЗначений = Неопределено Тогда Возврат Неопределено; @@ -40,13 +44,17 @@ КонецФункции // Обрабатывает таблицу предопределенных элементов. Операции включают в себя: установка пометок удаления -// на неиспользуемые элементы, отбор предопределенных значений, создание предопределенных элементов. +// на неиспользуемые элементы, отбор предопределенных значений, создание предопределенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных -// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// ТаблицаПредопределенных - ТаблицаЗначений - +// см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных +// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. +// +// Возвращаемое значение: +// ТаблицаЗначений - Таблица с конфликтными элементами // -Функция ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта, НачальноеЗаполнение = Ложь) Экспорт +Функция ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт Параметры = ДопПараметрыОбработкиПредопределенныхЭлементов(ТаблицаПредопределенных, МенеджерОбъекта); @@ -71,9 +79,7 @@ // Процедура ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт - Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда - ПолноеИмяОбъекта = ПолноеИмяОбъектаПоУмолчанию(); - КонецЕсли; + ПолноеИмяОбъекта = ИмяОбъектаМетаданных(ПолноеИмяОбъекта); ТаблицаПредопределенных.Индексы.Добавить("ИдентификаторНастройки"); @@ -109,11 +115,15 @@ КонецПроцедуры // После удаления уже существующих элементов, остаются только актуальные значения -// для создания предопределенных элементов. +// для создания предопределенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных -// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. +// ТаблицаПредопределенных - ТаблицаЗначений - +// см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных +// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. +// +// Возвращаемое значение: +// ТаблицаЗначений - Таблица с конфликтными элементами // Функция УдалитьИзТаблицыСуществующиеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт @@ -123,9 +133,7 @@ Возврат ТаблицаКонфликтныхЭлементов; КонецЕсли; - Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда - ПолноеИмяОбъекта = ПолноеИмяОбъектаПоУмолчанию(); - КонецЕсли; + ПолноеИмяОбъекта = ИмяОбъектаМетаданных(ПолноеИмяОбъекта); ИдентификаторыНастроек = ТаблицаПредопределенных.ВыгрузитьКолонку("ИдентификаторНастройки"); @@ -155,21 +163,10 @@ Для Каждого Строка Из ТаблицаПредопределенных Цикл ВыборкаДетальныеЗаписи.Сбросить(); Если ВыборкаДетальныеЗаписи.НайтиСледующий(Строка.ИдентификаторНастройки, "ИдентификаторНастройки") Тогда - Если ВыборкаДетальныеЗаписи.РучноеИзменение - Или ВыборкаДетальныеЗаписи.ХешСумма = Строка.ХешСумма Тогда + Если ВыборкаДетальныеЗаписи.РучноеИзменение Или ВыборкаДетальныеЗаписи.ХешСумма = Строка.ХешСумма Тогда СтрокиДляУдаления.Добавить(Строка); Иначе - Строка.Служеб_ПредопределенныйЭлемент = ВыборкаДетальныеЗаписи.Ссылка; - - Если ВыборкаДетальныеЗаписи.ХешОтсутствует Тогда - Строка.Служеб_СоздатьЗаписьРегистра = Истина; - ИначеЕсли ВыборкаДетальныеЗаписи.ПометкаУдаления Тогда - Строка.Служеб_ОбновитьЭлемент = Истина; - Иначе - СтрокиДляУдаления.Добавить(Строка); - СтрокаКонфликт = ТаблицаКонфликтныхЭлементов.Добавить(); - ЗаполнитьЗначенияСвойств(СтрокаКонфликт, Строка); - КонецЕсли; + ОбработатьСтроку(Строка, ВыборкаДетальныеЗаписи, ТаблицаКонфликтныхЭлементов, СтрокиДляУдаления); КонецЕсли; КонецЕсли; КонецЦикла; @@ -185,8 +182,10 @@ // Создание предопределенных значений на основании заполненной таблицы // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. -// ДополнительныеПараметры - Структура - см. пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов. +// ТаблицаПредопределенных - ТаблицаЗначений - +// см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. +// ДополнительныеПараметры - Структура - +// см. пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов. // Процедура СоздатьОбновитьПредопределенныеЗначения(ТаблицаПредопределенных, ДополнительныеПараметры) Экспорт @@ -197,9 +196,7 @@ ПолноеИмяОбъекта = ДополнительныеПараметры.ПолноеИмя; МенеджерОбъекта = ДополнительныеПараметры.Менеджер; - Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда - ПолноеИмяОбъекта = ПолноеИмяОбъектаПоУмолчанию(); - КонецЕсли; + ПолноеИмяОбъекта = ИмяОбъектаМетаданных(ПолноеИмяОбъекта); Группы = Новый Соответствие; КолонкаСуществует = ТаблицаПредопределенных.Колонки.Найти("ЭтоГруппа") <> Неопределено; @@ -277,8 +274,10 @@ // Заполняет хеш предопределенных элементов // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. -// ДополнительныеПараметры - Структура - см. пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов. +// ТаблицаПредопределенных - ТаблицаЗначений - +// см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. +// ДополнительныеПараметры - Структура - +// см. пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов. // Процедура ЗаполнитьКонтрольныеСуммыТаблицы(ТаблицаПредопределенных, ДополнительныеПараметры) Экспорт @@ -343,7 +342,7 @@ // // Параметры: // Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент. -// ЭтоГруппа - Булево - +// ЭтоГруппа - Булево - - Признак того что элемент является группой. // КлючиХеша - Структура, Неопределено - Если ключи хеша не переданы, то они будут сформированы заново. // Процедура СоздатьЗаписьСостоянияПредопределенногоЭлемента(Объект, ЭтоГруппа, КлючиХеша = Неопределено) Экспорт @@ -582,4 +581,26 @@ КонецПроцедуры +Функция ИмяОбъектаМетаданных(ПолноеИмяОбъекта) + Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда + Возврат ПолноеИмяОбъектаПоУмолчанию(); + КонецЕсли; + + Возврат ПолноеИмяОбъекта; +КонецФункции + +Процедура ОбработатьСтроку(Строка, Выборка, ТаблицаКонфликтныхЭлементов, СтрокиДляУдаления) + Строка.Служеб_ПредопределенныйЭлемент = Выборка.Ссылка; + + Если Выборка.ХешОтсутствует Тогда + Строка.Служеб_СоздатьЗаписьРегистра = Истина; + ИначеЕсли Выборка.ПометкаУдаления Тогда + Строка.Служеб_ОбновитьЭлемент = Истина; + Иначе + СтрокиДляУдаления.Добавить(Строка); + СтрокаКонфликт = ТаблицаКонфликтныхЭлементов.Добавить(); + ЗаполнитьЗначенияСвойств(СтрокаКонфликт, Строка); + КонецЕсли; +КонецПроцедуры + #КонецОбласти \ 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\232\320\273\320\270\320\265\320\275\321\202/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\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" index ea69abcb..a5f65c14 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\232\320\273\320\270\320\265\320\275\321\202/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\232\320\273\320\270\320\265\320\275\321\202/Ext/Module.bsl" @@ -47,7 +47,3 @@ КонецПроцедуры #КонецОбласти - -#Область СлужебныеПроцедурыИФункции - -#КонецОбласти 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 f7991cb7..0df177ef 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" @@ -33,10 +33,10 @@ КонецФункции // Заполняет таблицу предопределенных элементов справочника -// ПланыВидовХарактеристикСсылка.пбп_ПредопределенныеЗначения. -// -// Возвращаемое значение: -// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// ПланыВидовХарактеристикСсылка.пбп_ПредопределенныеЗначения. +// +// Параметры: +// Таблица - ТаблицаЗначений - Таблица предопределенных элементов. // Процедура ПредопределенныеЗначения(Таблица) Экспорт @@ -67,7 +67,7 @@ НоваяНастройка.Пароль = Ложь; НоваяНастройка.СписокЗначений = Ложь; НоваяНастройка.ТипЗначения = ОписаниеЧисло; - НоваяНастройка.ИдентификаторРодитель = "Интеграции_локал"; + НоваяНастройка.ИдентификаторРодитель = "Интеграции"; НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Количество дней хранения ошибок истории интеграции"; @@ -78,15 +78,15 @@ НоваяНастройка.ИдентификаторРодитель = "Интеграции"; НоваяНастройка = Таблица.Добавить(); - НоваяНастройка.Наименование = "Тест_бул"; - НоваяНастройка.ИдентификаторНастройки = "Тест_бул"; + НоваяНастройка.Наименование = "Тест булево"; + НоваяНастройка.ИдентификаторНастройки = "Тест_булево"; НоваяНастройка.Пароль = Ложь; НоваяНастройка.СписокЗначений = Ложь; НоваяНастройка.ТипЗначения = Новый ОписаниеТипов("Булево"); НоваяНастройка.ИдентификаторРодитель = "Тестовая"; НоваяНастройка = Таблица.Добавить(); - НоваяНастройка.Наименование = "Тест_список"; + НоваяНастройка.Наименование = "Тест список"; НоваяНастройка.ИдентификаторНастройки = "Тест_список"; НоваяНастройка.Пароль = Ложь; НоваяНастройка.СписокЗначений = Истина; @@ -96,9 +96,9 @@ КонецПроцедуры // Заполняет таблицу предопределенных элементов справочника СправочникСсылка.пбп_ИнтегрируемыеСистемы. -// -// Возвращаемое значение: -// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// +// Параметры: +// Таблица - ТаблицаЗначений - Таблица предопределенных элементов. // Процедура ПредопределенныеЗначенияИнтегрируемыеСистемы(Таблица) Экспорт @@ -123,9 +123,9 @@ КонецПроцедуры // Заполняет таблицу предопределенных элементов справочника СправочникСсылка.пбп_МетодыИнтеграции. -// -// Возвращаемое значение: -// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// +// Параметры: +// Таблица - ТаблицаЗначений - Таблица предопределенных элементов. // Процедура ПредопределенныеЗначенияИнтеграционныеПотоки(Таблица) Экспорт @@ -138,9 +138,9 @@ КонецПроцедуры // Заполняет таблицу предопределенных элементов справочника СправочникСсылка.пбп_НастройкиИнтеграции. -// -// Возвращаемое значение: -// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// +// Параметры: +// Таблица - ТаблицаЗначений - Таблица предопределенных элементов. // Процедура ПредопределенныеЗначенияНастройкиИнтеграции(Таблица) Экспорт @@ -181,9 +181,9 @@ КонецПроцедуры // Заполняет таблицу предопределенных элементов справочника СправочникСсылка.пбп_ТипСоответствияОбъектовИБ. -// -// Возвращаемое значение: -// ТаблицаЗначений - Таблица заполненная предопределенными элементами. +// +// Параметры: +// Таблица - ТаблицаЗначений - Таблица предопределенных элементов. // Процедура ПредопределенныеЗначенияТипСоответствияОбъектовИБ(Таблица) Экспорт @@ -331,7 +331,7 @@ массив = Новый Массив; массив.Добавить(ТипЗнч(Менеджер.ПустаяСсылка())); - ОписаниеТиповПредопред = Новый ОписаниеТипов(массив); + ОписаниеТиповЭлемента = Новый ОписаниеТипов(массив); Колонки = Новый Структура; @@ -341,19 +341,17 @@ Колонки.Вставить("ИдентификаторНастройки", ОписаниеСтрока); Колонки.Вставить("Наименование", ОписаниеСтрока); Колонки.Вставить("ЭтоГруппа", ОписаниеБулево); - Колонки.Вставить("Родитель", ОписаниеТиповПредопред); - - Колонки.Вставить("Служеб_ОбновитьЭлемент", ОписаниеБулево); - Колонки.Вставить("Служеб_УстановитьФлагРучноеИзменение", ОписаниеБулево); - Колонки.Вставить("Служеб_ПредопределенныйЭлемент", ОписаниеТиповПредопред); - // ++ - Колонки.Вставить("Служеб_СоздатьЗаписьРегистра", ОписаниеБулево); - // -- + Колонки.Вставить("Родитель", ОписаниеТиповЭлемента); Колонки.Вставить("УровеньИерархии", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(2,0))); Колонки.Вставить("ИдентификаторРодитель", ОписаниеСтрока); Колонки.Вставить("ХешСумма", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(32))); + Колонки.Вставить("Служеб_ОбновитьЭлемент", ОписаниеБулево); + Колонки.Вставить("Служеб_УстановитьФлагРучноеИзменение", ОписаниеБулево); + Колонки.Вставить("Служеб_ПредопределенныйЭлемент", ОписаниеТиповЭлемента); + Колонки.Вставить("Служеб_СоздатьЗаписьРегистра", ОписаниеБулево); + Возврат Колонки; КонецФункции 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 a4d22d08..46dc4350 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" @@ -18,7 +18,7 @@ // URL: https://github.com/firstBitSportivnaya/PSSL/ // -#Область ПрограммныйИнтерфейс +#Область СлужебныйПрограммныйИнтерфейс // Возвращает соответствие типа с функцией для получения таблицы предопределенных элементов. // diff --git "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" index cab13bb4..8cf3b1f4 100644 --- "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" +++ "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" @@ -7,7 +7,7 @@ // // Параметры: // Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент. -// ЭтоГруппа - Булево - +// ЭтоГруппа - Булево - Признак того что элемент является группой. // КлючиХеша - Структура, Неопределено - Если ключи хеша не переданы, то они будут сформированы заново. // Процедура СоздатьЗаписьРегистра(Объект, ЭтоГруппа = Ложь, КлючиХеша = Неопределено) Экспорт From 675c1eb13a74feb096b3690b98cc9fe27522be3e Mon Sep 17 00:00:00 2001 From: Denis Ushakov Date: Thu, 17 Oct 2024 10:24:36 +0300 Subject: [PATCH 08/12] fixed smells --- .../Ext/Module.bsl" | 22 ++++------- .../Ext/Module.bsl" | 39 +++++++++++++++++-- .../Ext/Module.bsl" | 8 ++-- .../Ext/ManagerModule.bsl" | 5 ++- 4 files changed, 51 insertions(+), 23 deletions(-) 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 d75e96d5..1f1d288b 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" @@ -47,8 +47,7 @@ // на неиспользуемые элементы, отбор предопределенных значений, создание предопределенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - -// см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных +// ТаблицаПредопределенных - ТаблицаЗначений - см.пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных // МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. // // Возвращаемое значение: @@ -74,7 +73,7 @@ // При установке пометки удаления для групп, также устанавливается для всех подчиенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных +// ТаблицаПредопределенных - ТаблицаЗначений - см.пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных // ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. // Процедура ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт @@ -118,9 +117,8 @@ // для создания предопределенных элементов. // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - -// см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных -// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. +// ТаблицаПредопределенных - ТаблицаЗначений - см.пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных +// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. // // Возвращаемое значение: // ТаблицаЗначений - Таблица с конфликтными элементами @@ -182,10 +180,8 @@ // Создание предопределенных значений на основании заполненной таблицы // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - -// см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. -// ДополнительныеПараметры - Структура - -// см. пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов. +// ТаблицаПредопределенных - ТаблицаЗначений - см.пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных +// ДополнительныеПараметры - Структура - см.пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов // Процедура СоздатьОбновитьПредопределенныеЗначения(ТаблицаПредопределенных, ДополнительныеПараметры) Экспорт @@ -274,10 +270,8 @@ // Заполняет хеш предопределенных элементов // // Параметры: -// ТаблицаПредопределенных - ТаблицаЗначений - -// см. пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных. -// ДополнительныеПараметры - Структура - -// см. пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов. +// ТаблицаПредопределенных - ТаблицаЗначений - см.пбп_ПредопределенныеЗначенияПереопределяемый.ТаблицаПредопределенных +// ДополнительныеПараметры - Структура - см.пбп_ПредопределенныеЗначения.ДопПараметрыОбработкиПредопределенныхЭлементов // Процедура ЗаполнитьКонтрольныеСуммыТаблицы(ТаблицаПредопределенных, ДополнительныеПараметры) Экспорт 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 0df177ef..5c9ce25b 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" @@ -201,9 +201,7 @@ // Менеджер - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. // // Возвращаемое значение: -// Структура - Структура из КлючИЗначение: -// * Ключ - Строка, -// * Значение - ОписаниеТипов +// Структура - Где ключ имя колонки, значение описание типов колонки // Функция КолонкиПредопределенныхЭлементов(Менеджер) Экспорт @@ -229,6 +227,11 @@ #Область СтруктурыКолонокТаблиц +// Возвращает колонки предопределенные значения +// +// Возвращаемое значение: +// Структура - Где ключ имя колонки, значение описание типов колонки +// Функция КолонкиПредопределенныеЗначения() Экспорт Колонки = Новый Структура; @@ -245,6 +248,11 @@ КонецФункции +// Возвращает колонки интегрируемые системы +// +// Возвращаемое значение: +// Структура - Где ключ имя колонки, значение описание типов колонки +// Функция КолонкиИнтегрируемыеСистемы() Экспорт Колонки = Новый Структура; @@ -257,6 +265,11 @@ КонецФункции +// Возвращает колонки интеграционные потоки +// +// Возвращаемое значение: +// Структура - Где ключ имя колонки, значение описание типов колонки +// Функция КолонкиИнтеграционныеПотоки() Экспорт Колонки = Новый Структура; @@ -269,6 +282,11 @@ КонецФункции +// Возвращает колонки настройки интеграции +// +// Возвращаемое значение: +// Структура - Где ключ имя колонки, значение описание типов колонки +// Функция КолонкиНастройкиИнтеграции() Экспорт Колонки = Новый Структура; @@ -285,6 +303,11 @@ КонецФункции +// Возвращает колонки тип соответствия объектов ИБ +// +// Возвращаемое значение: +// Структура - Где ключ имя колонки, значение описание типов колонки +// Функция КолонкиТипСоответствияОбъектовИБ() Экспорт Колонки = Новый Структура; @@ -299,6 +322,11 @@ #КонецОбласти +// Возвращает исключаемые поля для расчета хеша элемент +// +// Возвращаемое значение: +// Массив - Исключаемые поля +// Функция ИсключаемыеПоляДляРасчетаХешаЭлемент() Экспорт Поля = Новый Структура; @@ -310,6 +338,11 @@ КонецФункции +// Возвращает исключаемые поля для расчета хеша группа +// +// Возвращаемое значение: +// Массив - Исключаемые поля +// Функция ИсключаемыеПоляДляРасчетаХешаГруппа() Экспорт Поля = Новый Структура; 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 46dc4350..e0e3a130 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" @@ -23,8 +23,8 @@ // Возвращает соответствие типа с функцией для получения таблицы предопределенных элементов. // // Возвращаемое значение: -// Соответствие - Соответствие из КлючИЗначение: -// * Ключ - ПланВидовХарактеристикМенеджер, СправочникМенеджер, +// Соответствие из КлючИЗначение: +// * Ключ - ПланВидовХарактеристикМенеджер, СправочникМенеджер // * Значение - Строка // Функция ФункцииСозданияТаблицПредопределенныхЭлементов() Экспорт @@ -51,8 +51,8 @@ // Возвращает соответствие типа с функцией для получения колонок таблицы предопределенных элементов. // // Возвращаемое значение: -// Соответствие - Соответствие из КлючИЗначение: -// * Ключ - ПланВидовХарактеристикМенеджер, СправочникМенеджер, +// Соответствие из КлючИЗначение: +// * Ключ - ПланВидовХарактеристикМенеджер, СправочникМенеджер // * Значение - Строка // Функция ФункцииПолученияКолонокПредопределенныхЭлементов() Экспорт diff --git "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" index 8cf3b1f4..cdd1b513 100644 --- "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" +++ "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" @@ -37,8 +37,9 @@ // Если хеш не был изменен по ключевым реквизитам, обновления не произойдет. // // Параметры: -// Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент -// ЭтоГруппа - Булево - Признак того что элемент является группой. +// Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент +// ЭтоГруппа - Булево - Признак того что элемент является группой +// Флаг - - Признак ручного изменения элемента. // Процедура ОбновитьХешЭлемента(Объект, ЭтоГруппа = Ложь, Флаг = Ложь) Экспорт From dc2601e1c9a0c22bf125aaf3c9b9c7a888828c78 Mon Sep 17 00:00:00 2001 From: Denis Ushakov Date: Thu, 17 Oct 2024 15:59:45 +0300 Subject: [PATCH 09/12] Changed content --- .../Ext/Form.xml" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" index 24585827..e15a6cf8 100644 --- "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" @@ -23,7 +23,7 @@ <v8:item> <v8:lang>ru</v8:lang> - <v8:content>Изменение элементов</v8:content> + <v8:content>Справочная информация</v8:content> </v8:item> From 7330b5bb6388537a5458845197841697af729e8d Mon Sep 17 00:00:00 2001 From: Denis Ushakov Date: Fri, 18 Oct 2024 12:47:45 +0300 Subject: [PATCH 10/12] fixed bugs and smells --- ...21\207\320\265\320\275\320\270\321\217.md" | 12 ++++----- .../Ext/Form.xml" | 2 +- .../Ext/Module.bsl" | 2 +- .../Ext/Module.bsl" | 2 +- .../Ext/Module.bsl" | 8 +++--- .../Ext/Module.bsl" | 26 ++++++++++++++----- .../Ext/ManagerModule.bsl" | 6 ++--- 7 files changed, 35 insertions(+), 23 deletions(-) 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 2226200e..06d33871 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" @@ -7,10 +7,10 @@ ## Первоначальное заполнение -Для того чтобы автоматизировать процесс первоначального заполнения предопределенных элементов, необходимо добавить в расширение общий модуль **ПодсистемыКонфигурацииПереопределяемый**. +Для того чтобы автоматизировать процесс первоначального заполнения предопределенных элементов, необходимо модифицировать/добавить в расширение общий модуль **ПодсистемыКонфигурацииПереопределяемый**. В процедуре ``ПриДобавленииПодсистем`` прописать вызов процедуры библиотеки ``пбп_ОбновлениеИнформационнойБазыПБП.ПриДобавленииПодсистем``. Затем выполнить первый запуск - будет выполнен обработчик первоначального заполнения предопределенных элементов. -```1C (BSL) +```BSL &После("ПриДобавленииПодсистем") Процедура пбп_ПриДобавленииПодсистем(МодулиПодсистем) @@ -28,7 +28,7 @@ Пример добавления нового элемента в модуле пбп_ПредопределенныеЗначенияПереопределяемый: -```1C (BSL) +```BSL Функция ПредопределенныеЗначения() Экспорт Результат = ТаблицаПредопределенных(); @@ -50,7 +50,7 @@ Пример добавления новой группы в модуле пбп_ПредопределенныеЗначенияПереопределяемый: -```1C (BSL) +```BSL Функция ПредопределенныеЗначения() Экспорт Результат = ТаблицаПредопределенных(); @@ -98,7 +98,7 @@ Пример получения множественного результата: -```1C (BSL) +```BSL Функция ПолучитьДанныеАвторизации() ДанныеАвторизации = Новый Структура("Логин, Пароль"); @@ -117,7 +117,7 @@ Пример получения единичного результата: -```1C (BSL) +```BSL Функция ЗаписыватьДанныеСтандартнымСпособом(ПроверяемаяДата) Результат = пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенноеЗначение("ДатаНачалаЗаписиВРегистры", Истина); diff --git "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" index e15a6cf8..f968c6cc 100644 --- "a/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" +++ "b/src/cf/CommonForms/\320\277\320\261\320\277_\320\244\320\276\321\200\320\274\320\260\320\240\320\260\320\267\321\200\320\265\321\210\320\265\320\275\320\270\321\217\320\232\320\276\320\275\321\204\320\273\320\270\320\272\321\202\320\276\320\262\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/Form.xml" @@ -31,7 +31,7 @@ ru Для элемента установлен флаг обновления: Элемент будет обновлен данными из программного кода, а также обновится хеш элемента в регистре. -Для элемента установлен флаг обновления: Элемент не будет обновлен. В записи регистра будет установлен флаг "Ручное изменение", указывающий на то, что элемент был изменен вручную и не подлежит автоматическому обновлению. +Для элемента не установлен флаг обновления: Элемент не будет обновлен. В записи регистра будет установлен флаг "Ручное изменение", указывающий на то, что элемент был изменен вручную и не подлежит автоматическому обновлению. 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 328a8148..9879e66a 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" @@ -87,7 +87,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 1f1d288b..7928b42e 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" @@ -230,7 +230,7 @@ ИначеЕсли СтрокаТаблицы.Служеб_УстановитьФлагРучноеИзменение Тогда УстановитьФлагРучноеИзменение(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент); ИначеЕсли СтрокаТаблицы.Служеб_СоздатьЗаписьРегистра Тогда - СоздатьЗаписьСостоянияПредопределенногоЭлемента(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент, КлючиХеша); + СоздатьЗаписьСостоянияПредопределенногоЭлемента(СтрокаТаблицы.Служеб_ПредопределенныйЭлемент, ЭтоГруппа, КлючиХеша); Иначе СоздатьЭлемент(МенеджерОбъекта, СтрокаТаблицы, КлючиХеша, Группы, КолонкаСуществует); КонецЕсли; diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\237\321\200\320\265\320\264\320\276\320\277\321\200\320\265\320\264\320\265\320\273\320\265\320\275\320\275\321\213\320\265\320\227\320\275\320\260\321\207\320\265\320\275\320\270\321\217\320\237\320\265\321\200\320\265\320\276\320\277\321\200\320\265\320\264\320\265\320\273\321\217\320\265\320\274\321\213\320\271/Ext/Module.bsl" index 1b75d2ee..a1a48005 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" @@ -149,8 +149,6 @@ НоваяНастройка.Наименование = "Интеграция с системой N"; НоваяНастройка.ИдентификаторНастройки = "ИнтеграцияССистемойN"; - НаименованиеРеквизита = "ИдентификаторНастройки"; - НоваяНастройка = Таблица.Добавить(); НоваяНастройка.Наименование = "Rabbit Mq"; НоваяНастройка.ИдентификаторНастройки = "RabbitMq"; @@ -365,7 +363,7 @@ Колонки = Новый Структура; - ОписаниеСтрока = Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(150)); + ОписаниеСтрока = Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(150)); ОписаниеБулево = Новый ОписаниеТипов("Булево"); Колонки.Вставить("ИдентификаторНастройки", ОписаниеСтрока); @@ -373,9 +371,9 @@ Колонки.Вставить("ЭтоГруппа", ОписаниеБулево); Колонки.Вставить("Родитель", ОписаниеТиповЭлемента); - Колонки.Вставить("УровеньИерархии", Новый ОписаниеТипов("Число",,,Новый КвалификаторыЧисла(2,0))); + Колонки.Вставить("УровеньИерархии", Новый ОписаниеТипов("Число", , , Новый КвалификаторыЧисла(2,0))); Колонки.Вставить("ИдентификаторРодитель", ОписаниеСтрока); - Колонки.Вставить("ХешСумма", Новый ОписаниеТипов("Строка",,,, Новый КвалификаторыСтроки(32))); + Колонки.Вставить("ХешСумма", Новый ОписаниеТипов("Строка", , , , Новый КвалификаторыСтроки(32))); Колонки.Вставить("Служеб_ОбновитьЭлемент", ОписаниеБулево); Колонки.Вставить("Служеб_УстановитьФлагРучноеИзменение", ОписаниеБулево); diff --git "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" index 144ddea8..4d01aca0 100644 --- "a/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" +++ "b/src/cf/CommonModules/\320\277\320\261\320\277_\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\244\321\203\320\275\320\272\321\206\320\270\320\270\320\232\320\273\320\270\320\265\320\275\321\202\320\241\320\265\321\200\320\262\320\265\321\200/Ext/Module.bsl" @@ -283,10 +283,8 @@ Конец = 0; Части = Новый Массив; Для Конец = 2 По ДлинаСтроки Цикл - Символ = Сред(ИсходнаяСтрока, Конец, 1); - Если (КодСимвола(Символ) >= 1040 И КодСимвола(Символ) <= 1070) - Или (КодСимвола(Символ) >= 65 И КодСимвола(Символ) <= 90) - Или Конец = ДлинаСтроки Тогда + КодСимвола = КодСимвола(Сред(ИсходнаяСтрока, Конец, 1)); + Если СимволВерхнегоРегистра(КодСимвола) Или Конец = ДлинаСтроки Тогда КолСимволов = Конец - Старт; Части.Добавить(Сред(ИсходнаяСтрока, Старт, ?(КолСимволов = 0, ДлинаСтроки - Старт, КолСимволов))); Старт = Конец; @@ -299,8 +297,24 @@ КонецФункции -#КонецОбласти // ПрограммныйИнтерфейс +#КонецОбласти #Область СлужебныеПроцедурыИФункции -#КонецОбласти // СлужебныеПроцедурыИФункции +Функция СимволВерхнегоРегистра(КодСимвола) + + минКирилица = 1040; + максКирилица = 1070; + минЛатиница = 65; + максЛатиница = 90; + + Если (КодСимвола >= минКирилица И КодСимвола <= максКирилица) + Или (КодСимвола >= минЛатиница И КодСимвола <= максЛатиница) Тогда + Возврат Истина; + КонецЕсли; + + Возврат Ложь; + +КонецФункции + +#КонецОбласти diff --git "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" index cdd1b513..22f37473 100644 --- "a/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" +++ "b/src/cf/InformationRegisters/\320\277\320\261\320\277_\320\241\320\276\321\201\321\202\320\276\321\217\320\275\320\270\321\217\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\321\205\320\255\320\273\320\265\320\274\320\265\320\275\321\202\320\276\320\262/Ext/ManagerModule.bsl" @@ -37,9 +37,9 @@ // Если хеш не был изменен по ключевым реквизитам, обновления не произойдет. // // Параметры: -// Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент -// ЭтоГруппа - Булево - Признак того что элемент является группой -// Флаг - - Признак ручного изменения элемента. +// Объект - СправочникСсылка, ПланВидовХарактеристикСсылка - Ссылка на предопределенный элемент +// ЭтоГруппа - Булево - Признак того что элемент является группой +// Флаг - Булево - Признак ручного изменения элемента. // Процедура ОбновитьХешЭлемента(Объект, ЭтоГруппа = Ложь, Флаг = Ложь) Экспорт From 3c8f9b0efc9f783af15376972c5ab662ecf83d5e Mon Sep 17 00:00:00 2001 From: Ivan Smirnov <52702497+ivanmolodec@users.noreply.github.com> Date: Fri, 18 Oct 2024 14:51:07 +0300 Subject: [PATCH 11/12] Update Configuration.xml --- src/cf/Configuration.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cf/Configuration.xml b/src/cf/Configuration.xml index ae556d72..c96487b6 100644 --- a/src/cf/Configuration.xml +++ b/src/cf/Configuration.xml @@ -57,7 +57,7 @@ Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок Первый БИТ - 1.0.3.7 + 1.0.3.8 false false @@ -373,4 +373,4 @@ пбп_ПредопределенныеЗначения - \ No newline at end of file + From 020550e98161a8a3a65577812134a1ace9aef24b Mon Sep 17 00:00:00 2001 From: Ivan Smirnov <52702497+ivanmolodec@users.noreply.github.com> Date: Fri, 18 Oct 2024 14:51:43 +0300 Subject: [PATCH 12/12] Update Module.bsl --- .../Ext/Module.bsl" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 9879e66a..e0e26664 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.3.7"; + Описание.Версия = "1.0.3.8"; // Требуется библиотека стандартных подсистем. Описание.ТребуемыеПодсистемы.Добавить("СтандартныеПодсистемы"); @@ -137,4 +137,4 @@ КонецПроцедуры -#КонецОбласти \ No newline at end of file +#КонецОбласти