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