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