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