1. katyaa 13.02.20 21:55 Сейчас в теме

Авторизация

Добрый вечер.
Вопрос такой, есть форма авторизации (1 фото). Введя IdNumber и Password и нажав на кнопку вход, я должна перейти в профиль этого пользователя,который уже зарегистрирован в система.
Как это осуществить?
Прикрепленные файлы:
Найденные решения
4. Hawk_sib 23 14.02.20 09:07 Сейчас в теме
(3)
IdNumber и Password - реквизиты формы, у справочника Пользователи соответствеено тоже есть такие реквизиты
&НаСервере
Функция ПолучитьПользователя()
	Запрос = Новый Запрос;
	Запрос.Текст = "Выбрать Первые 1 Пользователи.Ссылка Из Справочник.Пользователи КАК Пользователи Где Пользователи.IdNumber = &IdNumber и Пользователи.Password = &Password";
	Запрос.УстановитьПараметр("IdNumber", IdNumber);
	Запрос.УстановитьПараметр("Password", Password);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Возврат Выборка.Ссылка;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
КонецФункции

&НаКлиенте
Процедура Вход(Команда)
	Пользователь = ПолучитьПользователя();
	Если ЗначениеЗаполнено(Пользователь) Тогда
		П = Новый Структура("Ключ", Пользователь);
		ОткрытьФорму("Справочник.Пользователи.Форма.ФормаЭлемента", П);
		ЭтотОбъект.Закрыть();
	Иначе
		ПоказатьОповещениеПользователя("Авторизация не пройдена");
	КонецЕсли
КонецПроцедуры
Показать
12. Denis_CFO 39 15.02.20 09:31 Сейчас в теме
А, ну да. Только не имя пользователя, а ссылка на существующего.
Остальные ответы
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
2. Hawk_sib 23 14.02.20 05:54 Сейчас в теме
для команды кнопки вход написать поиск карточки пользователя системы и открытие формы этой карточки
3. katyaa 14.02.20 08:44 Сейчас в теме
(2) Я это и так понимаю, но как именно это сделать?
4. Hawk_sib 23 14.02.20 09:07 Сейчас в теме
(3)
IdNumber и Password - реквизиты формы, у справочника Пользователи соответствеено тоже есть такие реквизиты
&НаСервере
Функция ПолучитьПользователя()
	Запрос = Новый Запрос;
	Запрос.Текст = "Выбрать Первые 1 Пользователи.Ссылка Из Справочник.Пользователи КАК Пользователи Где Пользователи.IdNumber = &IdNumber и Пользователи.Password = &Password";
	Запрос.УстановитьПараметр("IdNumber", IdNumber);
	Запрос.УстановитьПараметр("Password", Password);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Возврат Выборка.Ссылка;
	Иначе
		Возврат Неопределено;
	КонецЕсли;
КонецФункции

&НаКлиенте
Процедура Вход(Команда)
	Пользователь = ПолучитьПользователя();
	Если ЗначениеЗаполнено(Пользователь) Тогда
		П = Новый Структура("Ключ", Пользователь);
		ОткрытьФорму("Справочник.Пользователи.Форма.ФормаЭлемента", П);
		ЭтотОбъект.Закрыть();
	Иначе
		ПоказатьОповещениеПользователя("Авторизация не пройдена");
	КонецЕсли
КонецПроцедуры
Показать
6. Denis_CFO 39 14.02.20 09:15 Сейчас в теме
(4)
Запрос.УстановитьПараметр("Password", Password);
не знал, что так работает. Думаю, что пароль в базе на хранится. Там же только хэш есть. Или я чего-то упустил?
7. Hawk_sib 23 14.02.20 10:24 Сейчас в теме
(6)
-то упустил?

а где условие задачи?
8. katyaa 15.02.20 08:47 Сейчас в теме
(4)
Пользователь = ПолучитьПользователя();
Если ЗначениеЗаполнено(Пользователь) Тогда
П = Новый Структура("Ключ", Пользователь);
ОткрытьФорму("Справочник.Пользователи.Форма.ФормаЭлемента", П);
ЭтотОбъект.Закрыть();
Иначе
ПоказатьОповещениеПользователя("Авторизация не пройдена");
КонецЕсли

(4)

Спасибо огромное!
Можно только вопрос, что такое Ключ в данном случае?
Прикрепленные файлы:
9. Denis_CFO 39 15.02.20 09:18 Сейчас в теме
(8)
что такое Ключ в данном случае?
Если "Ключ" не пустой (в данном случае - Существующий Пользователь) - указание форме на то, что нужно не создавать новый элемент справочника, а открыть существующий. В ОФ аналог ЭтоНовый().
10. katyaa 15.02.20 09:27 Сейчас в теме
(9) то есть "Ключ" будет как название для пользователя в структуре?
11. Denis_CFO 39 15.02.20 09:29 Сейчас в теме
(10)
то есть "Ключ" будет как название для пользователя в структуре?
Нет, если значение параметра "Ключ" заполнено, то это указание форме объекта не создавать новый объект, а открыть существующий. Или я не понял вопроса :)
5. Denis_CFO 39 14.02.20 09:09 Сейчас в теме
(3)
НужныйПользователь = Справочники.Пользователи.НАйтиПоКоду(IdNumber);
12. Denis_CFO 39 15.02.20 09:31 Сейчас в теме
А, ну да. Только не имя пользователя, а ссылка на существующего.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Ведущий программист 1С
Санкт-Петербург
зарплата от 130 000 руб.
Полный день

Специалист 1 категории (Программист 1С ФЗД)
Фрязино
зарплата от 110 000 руб.
Полный день

Специалист 1 категории (Программист 1С)
Фрязино
зарплата от 110 000 руб.
Полный день

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Специалист линии консультаций 1С
Санкт-Петербург
Полный день