// Функция по входящим body.login и body.password выдает или error=true
// или возращает полное имя, уникальный идентификатор и список доступных для проведения инвентаризации документов
Функция Auth(body)
answer = Новый Структура("error, result",false,"");
ПользовательИнформационнойБазы = ПользователиИнформационнойБазы.НайтиПоИмени(body.login);
Если ПользовательИнформационнойБазы = Неопределено Тогда
answer.error=true;
answer.result="Пользователь не найден в БД";
возврат answer;
Иначе
ХэшНастоящегоПароля = ПользовательИнформационнойБазы.СохраняемоеЗначениеПароля;
НачатьТранзакцию();
ПользовательИнформационнойБазы.Пароль = body.password;
ПользовательИнформационнойБазы.Записать();
ХешВведенногоПароля = ПользователиИнформационнойБазы.НайтиПоИмени(body.login).СохраняемоеЗначениеПароля;
ОтменитьТранзакцию();
Если ХешВведенногоПароля = ХэшНастоящегоПароля Тогда
answer.error=false;
answer.result=Новый Структура("UserName,UserId,MyInvent",ПользовательИнформационнойБазы.ПолноеИмя,ПользовательИнформационнойБазы.УникальныйИдентификатор,Новый Массив());
Иначе
answer.error=true;
answer.result="Не верный пароль пользователя";
возврат answer;
КонецЕсли;
конецесли;
возврат answer;
КонецФункции