HelpF.pro

Принудительная установка пароля пользователям, работающим без пароля!

Чтоб заставить всех, кто работает без пароля, установить пароль. Можно применить программный ограничитель. Для этого в модуле приложения добавляем функцию:
Код 1C v 8.х
 //am+
Функция ПроверитьИзменитьПарольПользователя()

ТекПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
Если Не ТекПользовательИБ.ПарольУстановлен Тогда
ФВП = ПолучитьОбщуюФорму("ФормаВводаПароля");
ФВП.Заголовок = "Установите пароль на вход в 1С (не менее 6 симв.)";
ФВП.ОткрытьМодально();
Если ЗначениеЗаполнено(ФВП.Пароль) Тогда
Пароль1 = ФВП.Пароль;
Если СтрДлина(Пароль1)<6 Тогда
Предупреждение("Длина пароля должна быть не менее 6 символов!");
Возврат Ложь;
КонецЕсли;
ФВП = ПолучитьОбщуюФорму("ФормаВводаПароля");
ФВП.Заголовок = "Повторите новый пароль";
ФВП.ОткрытьМодально();
Если ЗначениеЗаполнено(ФВП.Пароль) Тогда
Пароль2 = ФВП.Пароль;
Если Пароль1<>Пароль2 Тогда
Предупреждение("Не совпадают пароли!");
Возврат Ложь;
Иначе
ТекПользовательИБ.Пароль = Пароль1;
ТекПользовательИБ.Записать();
Возврат Истина;
КонецЕсли;
Иначе
Возврат Ложь;
КонецЕсли;
Иначе
Возврат Ложь;
КонецЕсли;
Иначе
Возврат Истина;
КонецЕсли;

КонецФункции
//am-

и в предопредленной процедуре ПриНачалеРаботыСистемы (мы не можем использовать ПередНачаломРаботыСистемы т.к. в ней еще не существует окна программы и нет возможности открыть общую форму ввода пароля) делаем вызов
Код 1C v 8.х
 //am+
Если Не ПроверитьИзменитьПарольПользователя() Тогда
ЗавершитьРаботуСистемы(Ложь);
Возврат;
КонецЕсли;
//am-

источник
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/1194.html