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