1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-03-17 20:58:01 +02:00

#333 Не видно сохраненных настроек КанБан доски если ИмяПользователяИБ отличается от ФИО пользователя (изменен ключ привязки к пользователю)

This commit is contained in:
Anton Ivanov 2024-11-17 11:51:57 +03:00
parent 3b38f0c5f2
commit df67064b58
2 changed files with 39 additions and 21 deletions

View File

@ -99,6 +99,13 @@
КонецФункции
Функция ПолучитьКлючНастроек() Экспорт
КлючНастроек = "Обработка.узКанбанДоска";
Возврат КлючНастроек;
КонецФункции
// [+] #283 Мальков М.В. 2023-01-30
Функция ПолучитьСписокВариантов(ОсновнойКлючВарианта) Экспорт
@ -117,7 +124,9 @@
Если СтрНайти(Выборка.КлючНастроек, ОсновнойКлючВарианта) > 0 Тогда
Если Выборка.КлючНастроек = ОсновнойКлючВарианта Тогда
СписокЗначений.Добавить(Выборка.КлючНастроек, "Основной");
СписокЗначений.Добавить(Выборка.КлючНастроек, "Основной");
ИначеЕсли НЕ ЗначениеЗаполнено(Выборка.КлючНастроек) Тогда
СписокЗначений.Добавить(Выборка.КлючНастроек, "Основной");
Иначе
СписокЗначений.Добавить(Выборка.КлючНастроек, СтрЗаменить(Выборка.КлючНастроек, ОсновнойКлючВарианта + ".", ""));
КонецЕсли;
@ -131,7 +140,7 @@
КонецФункции
// [-] #283 Мальков М.В. 2023-01-30
Функция ПользовательДляСохраненияВариантаКанбанДоски(ПользовательИБ = Неопределено) Экспорт
Функция ПользовательДляСохраненияВариантаКанбанДоски(ЗНАЧ ПользовательИБ = Неопределено) Экспорт
Если ПользовательИБ = Неопределено Тогда
ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();

View File

@ -899,8 +899,7 @@
&НаСервере
Функция ПолучитьКлючНастроек()
КлючНастроек = "Обработка.узКанбанДоска";
Возврат КлючНастроек;
Возврат Обработки.узКанбанДоска.ПолучитьКлючНастроек();
КонецФункции
&НаСервере
@ -1160,17 +1159,23 @@
&НаСервере
Функция ПолучитьТекущийКлючНастроек()
ТекущийКлючНастроекХранилище = "Обработка.узКД_ТекущийКлючНастроек";
ТекущийКлючНастроекХранилище = ПолучитьКлючНастроек();
Возврат ХранилищеОбщихНастроек.Загрузить(
КлючНастроек = ХранилищеОбщихНастроек.Загрузить(
ТекущийКлючНастроекХранилище, ТекущийКлючНастроекХранилище);
Если НЕ ЗначениеЗаполнено(КлючНастроек) Тогда
КлючНастроек = ТекущийКлючНастроекХранилище + ".Основной";
КонецЕсли;
Возврат КлючНастроек;
КонецФункции
&НаСервере
Процедура СохранитьТекущийКлючНастроек()
ТекущийКлючНастроекХранилище = "Обработка.узКД_ТекущийКлючНастроек";
ТекущийКлючНастроекХранилище = ПолучитьКлючНастроек();
ХранилищеОбщихНастроек.Сохранить(
ТекущийКлючНастроекХранилище,
@ -2057,24 +2062,28 @@
&НаСервере
Процедура СохранитьТекущийВариантВсемНаСервере()
Отказ = Ложь;
Если ТекущийКлючНастроек = ПолучитьКлючНастроек() Тогда
Отказ = Истина;
Сообщить("Выбрана основная настройка");
Если НЕ Пользователи.ЭтоПолноправныйПользователь() Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Сохранять настройки для всех пользователей, может только пользователь с полными правами";
Сообщение.Сообщить();
Возврат;
КонецЕсли;
Если Не Отказ Тогда
Выборка = ПолучитьВыборкуВсеПользователи();
Пока Выборка.Следующий() Цикл
Выборка = ПолучитьВыборкуВсеПользователи();
УИДПользователя = Новый УникальныйИдентификатор(Выборка.ИдентификаторПользователяИБ);
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(УИДПользователя);
ПользовательДляКанбанДоски = ПользовательДляСохраненияВариантаКанбанДоски(ПользовательИБ);
СохранитьНастройки(ТекущийКлючНастроек, ПользовательДляКанбанДоски);
Пока Выборка.Следующий() Цикл
УИДПользователя = Новый УникальныйИдентификатор(Выборка.ИдентификаторПользователяИБ);
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(УИДПользователя);
ПользовательДляКанбанДоски = ПользовательДляСохраненияВариантаКанбанДоски(ПользовательИБ);
СохранитьНастройки(ТекущийКлючНастроек, ПользовательДляКанбанДоски);
КонецЦикла;
КонецЕсли;
КонецЦикла;
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Настройка сохранена для всех пользователей базы.
|ВНИМАНИЕ! При появлении новых пользователей, необходимо повторно сохранить настройку, иначе он ее не увидит";
Сообщение.Сообщить();
КонецПроцедуры