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

Вакансии

Программист 1С
Новосибирск
зарплата от 30 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 100 000 руб. до 150 000 руб.
Полный день

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

Специалист внедрения и сопровождения 1С
Москва
зарплата от 80 000 руб.
Полный день

Product Owner (Менеджер по продукту 1С)
Москва
зарплата от 100 000 руб. до 170 000 руб.
Полный день