Как добавить пользователю учетную запись из сервиса внешних учетных записей
Добавить пользователю учетную запись из сервиса внешних учетных записей можно следующими способами:
В панели управления
- Откройте панель управления;
- Нажмите Пользователи ⟶ Списки пользователей и затем нажмите на интересующий вас список пользователей;
- Нажмите на интересующего вас пользователя;
- В разделе Учетные записи нажмите + Добавить;
- Выберите один из сервисов внешних учетных записей, подключенный к этому списку, и заполните параметры учетной записи.
С помощью встроенного языка
СписокПользователей.НастройкиСервисовУчетныхЗаписей —
УчетнаяЗапись / УчетнаяЗаписьЕсиа —
О писаниеПользователяСервиса.СУчетнымиЗаписями() / ОписаниеПользователяСервиса.СУчетнойЗаписьюЕсиа() —
ПользователиСервиса.Изменить()
метод ДобавитьПользователюЕСИА(ПользовательСсылка: Пользователи.Ссылка, 
                                ПочтаЕсиа: Строка, 
                                СнилсПользователя: Строка)
    // Получаем идентификатор по ссылке
    пер ИдПользователя = ПользовательСсылка.ЗагрузитьОбъект().Ид
    // Получаем текущее описание
    пер ОписаниеПользователя = ПользователиСервиса.Найти(ИдПользователя)
    пер СписокПользователей = СпискиПользователей.Найти(ОписаниеПользователя.Ид.ИдСписка)
    пер ЕсиаСервис = НайтиВключенныйСервисЕСИА(СписокПользователей)
    
    // ПочтаЕсиа — это почта, к которой привязан пользовательский аккаунт к Госуслугам (ЕСИА). 
    // После того как пользователь в первый раз зайдет через ЕСИА, id будет заменен на id из ЕСИА
    // Snils — это СНИЛС пользователя
    пер УчЗапись = новый УчетнаяЗаписьЕсиа(ЕсиаСервис)
    УчЗапись.АдресПочты = ПочтаЕсиа
    
    // Например: "000-000-000 06"
    УчЗапись.Снилс = СнилсПользователя
    
    пер ОписаниеСЕсиа = ОписаниеПользователя.СУчетнойЗаписьюЕсиа(УчЗапись)
    
    // обновляем пользователя
    ПользователиСервиса.Изменить(ОписаниеСЕсиа)
;
    
метод НайтиВключенныйСервисЕСИА(СП: СписокПользователей): СервисУчетныхЗаписей
    для Настройки из СП.НастройкиСервисовУчетныхЗаписей
        если Настройки.Сервис.Вид == ВидСервисаУчетныхЗаписей.Есиа and Настройки.Включено
            возврат Настройки.Сервис
    ;
    выбросить новый ИсключениеНедопустимоеСостояние("Нет включенного сервиса учетных записей ЕСИА")
;