1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-03-25 21:28:57 +02:00

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

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
src/cf/DataProcessors/узКанбанДоска
Ext
Forms/ФормаДинамическая/Ext/Form

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

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