Обработка(обычные формы, используется для УТ10.3) установка емайлов из настроек пользователя домена.
Алгоритм работы
1)Выбрать Вид контактной информации который необходимо заполнить
2)Нажать кн."Заполнить"
3)Нажать кн."Получить емаил AD"
4)Отметить пользователей которым необходимо установить емаилы из AD (флажок "Установить")
5)Нажать кн."Установить емаилы 1С из AD"
Обработка получает всех пользователей информационной базы и их адреса электронной почты по виду контактной инф. 6
получает из домена емаил пользователя из настроек \\Домен\Пользователь используя алгоритм:
Попытка
conn = ПолучитьCOMОбъект("","ADODB.Connection");
conn.Provider = "ADSDSOObject";
conn.Open("Active Directory Provider");
Исключение Предупреждение("Ошибка подключения к Active Directory!");
Возврат;
КонецПопытки;
//Домен="corp";
КоличествоПользователей = Таблица.Количество();
ъ=1;
Для Каждого Стр из Таблица Цикл
Если НЕ ПустаяСтрока(Стр.ЛогинAD) Тогда
Попытка
query = "SELECT ADsPath FROM 'LDAP://DC="+СокрЛП(Стр.ДоменСтр)+"' WHERE SAMAccountName='"+СокрЛП(Стр.ЛогинAD)+"'";
rs = conn.Execute(query);
Пока НЕ rs.EOF() Цикл
obj = ПолучитьCOMОбъект(rs.Fields(0).Value);
Если obj.Class="user" Тогда
Стр.ЕмаилAD=СокрЛП(obj.EmailAddress);
Если Стр.ЕмаилAD<>Стр.ЕмаилИБ Тогда
Стр.Установить=Истина;
КонецЕсли;
КонецЕсли;
rs.MoveNext();
КонецЦикла;
Исключение
Сообщить("Ошибка получения почты для логина :"+СокрЛП(Стр.Логин));
КонецПопытки;
КонецЕсли;
Состояние("Обработано "+СокрЛП(ъ)+" из "+СокрЛП(КоличествоПользователей));
ъ=ъ+1;
КонецЦикла;
conn.Close();
В