Сравнить способы восстановления без их запуска

Учебные задачи

Три отдельных проекта различают отключённый способ, отправку по заданным параметрам и стандартный сервис. Режим OAuth2 исследуем отдельно: значение Использовать не выдаёт токен.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В отдельной учебной базе 8.5.1.1343 создайте серверный общий модуль УчебныеЗадачи. Фрагмент вставьте внутрь ВыполнитьПример() Экспорт и вызовите своей учебной командой.

  2. Во всех задачах Новый НастройкиВосстановленияПароля создаёт собственный объект в памяти. Код не устанавливает дополнительные параметры информационной базы и не запускает восстановление пароля.

  3. Не подставляйте реальные SMTP-пароли, OAuth-токены, адреса сотрудников и рабочие ссылки. example.invalid — учебный адрес, не настроенный почтовый сервер.

  4. Каждый пример выполняйте отдельно. Вывод и свойства проверяются в сообщениях/отладчике; доставки письма, изменения пароля и открытия сайта не будет.

Проект = Новый НастройкиВосстановленияПароля;
Проект.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.Нет;
ПоПараметрам = Новый НастройкиВосстановленияПароля;
ПоПараметрам.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.ОтправкаКодаПодтвержденияПоЗаданнымПараметрам;
Стандартный = Новый НастройкиВосстановленияПароля;
Стандартный.СпособВосстановленияПароля = СпособВосстановленияПароляПользователяИнформационнойБазы.ОтправкаКодаПодтвержденияЧерезСтандартныйСервис;
ПоПараметрам.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать;
ПоПараметрам.ТокенДоступа = "";
ПоПараметрам.ПарольSMTP = "";
Сообщить(Проект.СпособВосстановленияПароля <> ПоПараметрам.СпособВосстановленияПароля);
Сообщить(ПоПараметрам.СпособВосстановленияПароля <> Стандартный.СпособВосстановленияПароля);
Сообщить(ПоПараметрам.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать);
Сообщить(ПоПараметрам.ТокенДоступа = "");
Сообщить(ПоПараметрам.ПарольSMTP = "");

Разбор по шагам

  1. Конструктор вызывается для каждого отдельного проекта; действующий параметр информационной базы не читается и не устанавливается.

  2. ОтправкаКодаПодтвержденияПоЗаданнымПараметрам использует параметры заданного сервиса; ЧерезСтандартныйСервис — другой способ, не синоним этой настройки SMTP.

  3. Присваиваем режим токенной аутентификации только локальному объекту. Секретные строки остаются пустыми.

  4. Проверяем различие способов и пустоту секретов. В примере нет получения токена, проверки логина и отправки запроса.

Как проверить результат

  1. Пять сравнений Истина. Использовать и пустой ТокенДоступа сосуществуют в локальном проекте — авторизация не произошла.

  2. Три способа представлены разными значениями перечисления, а не одинаковой строкой имени сервиса.

Ожидаемый результат

Разделены способ восстановления, режим SMTP-аутентификации и фактическое выполнение.

На что обратить внимание

  1. Неприменённый проект с пустыми секретами не является готовой рабочей настройкой.

  2. Не предполагайте успешную доставку через стандартный сервис по одному значению свойства.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.