1С 8.3 Сбросить настройки пользователя
Данные > Примеры кода 1С > 1С 8.3 Пользователи, роли (права) доступа
Перейти в раздел примеры кода 1С 8.3:
Программно сбросить настройки пользователя в 1С 8.3:
Процедура СброситьНастройкиПользователя() Экспорт // модуль объекта обработки
Если Пользователь.Метаданные().Реквизиты.Найти("ИдентификаторПользователяИБ") <> Неопределено Тогда
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователь.ИдентификаторПользователяИБ);
Иначе
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(СокрЛП(Пользователь.Код));
КонецЕсли;
ХранилищеНастроек = Вычислить("ХранилищеВариантовОтчетов");
//ХранилищеНастроек = Вычислить("ХранилищеНастроекДанныхФорм");
//ХранилищеНастроек = Вычислить("ХранилищеОбщихНастроек");
//ХранилищеНастроек = Вычислить("ХранилищеПользовательскихНастроекДинамическихСписков");
//ХранилищеНастроек = Вычислить("ХранилищеПользовательскихНастроекОтчетов");
//ХранилищеНастроек = Вычислить("ХранилищеСистемныхНастроек");
#Если ТолстыйКлиент Тогда
ОчиститьНастройкиПользователя(ПользовательИБ);
#Иначе
ОчиститьНастройкиПользователяВХранилище(ХранилищеНастроек.Имя, ПользовательИБ);
#КонецЕсли
КонецПроцедуры
Процедура ОчиститьНастройкиПользователяВХранилище(ХранилищеВО, ПользовательИБ)
Если Ложь Тогда
ХранилищеВО = ХранилищеВариантовОтчетов;
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("");
КонецЕсли;
ОтборП = Новый Структура;
ОтборП.Вставить("Пользователь", ПользовательИБ.Имя);
Попытка
ВыборкаХВО = ХранилищеВО.Выбрать(ОтборП);
Исключение
Сообщить(ХранилищеВО);
Возврат;
КонецПопытки;
Пока ВыборкаХВО.Следующий() Цикл
ХранилищеВО.Удалить(ВыборкаХВО.КлючОбъекта, ВыборкаХВО.КлючНастроек, ВыборкаХВО.Пользователь);
Сообщить("Удалено: " + ВыборкаХВО.КлючОбъекта + ", " + ВыборкаХВО.КлючНастроек + ", " + ВыборкаХВО.Пользователь);
КонецЦикла;
КонецПроцедуры
Если Пользователь.Метаданные().Реквизиты.Найти("ИдентификаторПользователяИБ") <> Неопределено Тогда
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоУникальномуИдентификатору(Пользователь.ИдентификаторПользователяИБ);
Иначе
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(СокрЛП(Пользователь.Код));
КонецЕсли;
ХранилищеНастроек = Вычислить("ХранилищеВариантовОтчетов");
//ХранилищеНастроек = Вычислить("ХранилищеНастроекДанныхФорм");
//ХранилищеНастроек = Вычислить("ХранилищеОбщихНастроек");
//ХранилищеНастроек = Вычислить("ХранилищеПользовательскихНастроекДинамическихСписков");
//ХранилищеНастроек = Вычислить("ХранилищеПользовательскихНастроекОтчетов");
//ХранилищеНастроек = Вычислить("ХранилищеСистемныхНастроек");
#Если ТолстыйКлиент Тогда
ОчиститьНастройкиПользователя(ПользовательИБ);
#Иначе
ОчиститьНастройкиПользователяВХранилище(ХранилищеНастроек.Имя, ПользовательИБ);
#КонецЕсли
КонецПроцедуры
Процедура ОчиститьНастройкиПользователяВХранилище(ХранилищеВО, ПользовательИБ)
Если Ложь Тогда
ХранилищеВО = ХранилищеВариантовОтчетов;
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("");
КонецЕсли;
ОтборП = Новый Структура;
ОтборП.Вставить("Пользователь", ПользовательИБ.Имя);
Попытка
ВыборкаХВО = ХранилищеВО.Выбрать(ОтборП);
Исключение
Сообщить(ХранилищеВО);
Возврат;
КонецПопытки;
Пока ВыборкаХВО.Следующий() Цикл
ХранилищеВО.Удалить(ВыборкаХВО.КлючОбъекта, ВыборкаХВО.КлючНастроек, ВыборкаХВО.Пользователь);
Сообщить("Удалено: " + ВыборкаХВО.КлючОбъекта + ", " + ВыборкаХВО.КлючНастроек + ", " + ВыборкаХВО.Пользователь);
КонецЦикла;
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник