From df67064b5820b64b0f644e012133688af19b58f5 Mon Sep 17 00:00:00 2001 From: Anton Ivanov Date: Sun, 17 Nov 2024 11:51:57 +0300 Subject: [PATCH] =?UTF-8?q?#333=20=D0=9D=D0=B5=20=D0=B2=D0=B8=D0=B4=D0=BD?= =?UTF-8?q?=D0=BE=20=D1=81=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D1=85=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA?= =?UTF-8?q?=20=D0=9A=D0=B0=D0=BD=D0=91=D0=B0=D0=BD=20=D0=B4=D0=BE=D1=81?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=98=D0=BC=D1=8F?= =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8F=D0=98=D0=91=20=D0=BE=D1=82=D0=BB=D0=B8=D1=87=D0=B0?= =?UTF-8?q?=D0=B5=D1=82=D1=81=D1=8F=20=D0=BE=D1=82=20=D0=A4=D0=98=D0=9E=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8F=20(=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=20=D0=BF=D1=80=D0=B8=D0=B2=D1=8F=D0=B7?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=BA=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8E)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../узКанбанДоска/Ext/ManagerModule.bsl | 13 ++++- .../Forms/ФормаДинамическая/Ext/Form/Module.bsl | 47 +++++++++++-------- 2 files changed, 39 insertions(+), 21 deletions(-) diff --git a/src/cf/DataProcessors/узКанбанДоска/Ext/ManagerModule.bsl b/src/cf/DataProcessors/узКанбанДоска/Ext/ManagerModule.bsl index 6af24c84d..65f3487c7 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Ext/ManagerModule.bsl +++ b/src/cf/DataProcessors/узКанбанДоска/Ext/ManagerModule.bsl @@ -99,6 +99,13 @@ КонецФункции +Функция ПолучитьКлючНастроек() Экспорт + + КлючНастроек = "Обработка.узКанбанДоска"; + Возврат КлючНастроек; + +КонецФункции + // [+] #283 Мальков М.В. 2023-01-30 Функция ПолучитьСписокВариантов(ОсновнойКлючВарианта) Экспорт @@ -117,7 +124,9 @@ Если СтрНайти(Выборка.КлючНастроек, ОсновнойКлючВарианта) > 0 Тогда Если Выборка.КлючНастроек = ОсновнойКлючВарианта Тогда - СписокЗначений.Добавить(Выборка.КлючНастроек, "Основной"); + СписокЗначений.Добавить(Выборка.КлючНастроек, "Основной"); + ИначеЕсли НЕ ЗначениеЗаполнено(Выборка.КлючНастроек) Тогда + СписокЗначений.Добавить(Выборка.КлючНастроек, "Основной"); Иначе СписокЗначений.Добавить(Выборка.КлючНастроек, СтрЗаменить(Выборка.КлючНастроек, ОсновнойКлючВарианта + ".", "")); КонецЕсли; @@ -131,7 +140,7 @@ КонецФункции // [-] #283 Мальков М.В. 2023-01-30 -Функция ПользовательДляСохраненияВариантаКанбанДоски(ПользовательИБ = Неопределено) Экспорт +Функция ПользовательДляСохраненияВариантаКанбанДоски(ЗНАЧ ПользовательИБ = Неопределено) Экспорт Если ПользовательИБ = Неопределено Тогда ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь(); diff --git a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl index e8ecd85df..7e835b0ad 100644 --- a/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl +++ b/src/cf/DataProcessors/узКанбанДоска/Forms/ФормаДинамическая/Ext/Form/Module.bsl @@ -899,8 +899,7 @@ &НаСервере Функция ПолучитьКлючНастроек() - КлючНастроек = "Обработка.узКанбанДоска"; - Возврат КлючНастроек; + Возврат Обработки.узКанбанДоска.ПолучитьКлючНастроек(); КонецФункции &НаСервере @@ -1160,17 +1159,23 @@ &НаСервере Функция ПолучитьТекущийКлючНастроек() - ТекущийКлючНастроекХранилище = "Обработка.узКД_ТекущийКлючНастроек"; + ТекущийКлючНастроекХранилище = ПолучитьКлючНастроек(); - Возврат ХранилищеОбщихНастроек.Загрузить( + КлючНастроек = ХранилищеОбщихНастроек.Загрузить( ТекущийКлючНастроекХранилище, ТекущийКлючНастроекХранилище); + + Если НЕ ЗначениеЗаполнено(КлючНастроек) Тогда + КлючНастроек = ТекущийКлючНастроекХранилище + ".Основной"; + КонецЕсли; + + Возврат КлючНастроек; КонецФункции &НаСервере Процедура СохранитьТекущийКлючНастроек() - ТекущийКлючНастроекХранилище = "Обработка.узКД_ТекущийКлючНастроек"; + ТекущийКлючНастроекХранилище = ПолучитьКлючНастроек(); ХранилищеОбщихНастроек.Сохранить( ТекущийКлючНастроекХранилище, @@ -2057,24 +2062,28 @@ &НаСервере Процедура СохранитьТекущийВариантВсемНаСервере() - Отказ = Ложь; - - Если ТекущийКлючНастроек = ПолучитьКлючНастроек() Тогда - Отказ = Истина; - Сообщить("Выбрана основная настройка"); + Если НЕ Пользователи.ЭтоПолноправныйПользователь() Тогда + Сообщение = Новый СообщениеПользователю; + Сообщение.Текст = "Сохранять настройки для всех пользователей, может только пользователь с полными правами"; + Сообщение.Сообщить(); + Возврат; КонецЕсли; - Если Не Отказ Тогда + Выборка = ПолучитьВыборкуВсеПользователи(); + + Пока Выборка.Следующий() Цикл - Выборка = ПолучитьВыборкуВсеПользователи(); + УИДПользователя = Новый УникальныйИдентификатор(Выборка.ИдентификаторПользователяИБ); + ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(УИДПользователя); + ПользовательДляКанбанДоски = ПользовательДляСохраненияВариантаКанбанДоски(ПользовательИБ); + СохранитьНастройки(ТекущийКлючНастроек, ПользовательДляКанбанДоски); - Пока Выборка.Следующий() Цикл - УИДПользователя = Новый УникальныйИдентификатор(Выборка.ИдентификаторПользователяИБ); - ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(УИДПользователя); - ПользовательДляКанбанДоски = ПользовательДляСохраненияВариантаКанбанДоски(ПользовательИБ); - СохранитьНастройки(ТекущийКлючНастроек, ПользовательДляКанбанДоски); - КонецЦикла; - КонецЕсли; + КонецЦикла; + + Сообщение = Новый СообщениеПользователю; + Сообщение.Текст = "Настройка сохранена для всех пользователей базы. + |ВНИМАНИЕ! При появлении новых пользователей, необходимо повторно сохранить настройку, иначе он ее не увидит"; + Сообщение.Сообщить(); КонецПроцедуры