Доброго дня!
Необходимо отправлять из 1С номер телефона в AD, при выполнении кода на строке ЗаписьАДО.Fields("telephoneNumber").Value = "89051547845" ,
Ошибка:
Ошибка при установке значения атрибута контекста (Value): Произошла исключительная ситуация (Microsoft Cursor Engine): Произошли ошибки во время выполнения многошаговой операции. Проверьте значения всех состояний.
Подскажите, что может быть не так.
пУсловияОтбора = 1;
пИмяДомена = "SYN";
AD_Domain_DC = пИмяДомена;
пПользователь = "TestAdmin";
пПароль = "Admin777";
Пользователь = пПользователь;
Пароль = пПароль;
АДСИ = Новый COMОбъект("ADSystemInfo");
Домен = АДСИ.DomainDNSName;
ДСО = ПолучитьCOMОбъект("GC:");
Корень = ДСО.OpenDSObject("GC://RootDSE", ""+Пользователь+"@"+Домен, Пароль,1);
НашДомен = Корень.Get("defaultNamingContext");
ЗаписьАДО = Новый COMОбъект("ADODB.recordset");
СоединениеАДО = Новый COMОбъект("ADODB.Connection");
СоединениеАДО.Provider = "ADsDSOObject";
СоединениеАДО.Properties("User ID" ).Value = AD_Domain_DC+"\"+Пользователь;
СоединениеАДО.Properties("Password" ).Value = Пароль;
СоединениеАДО.Properties("Mode").Value = 3;
СоединениеАДО.Open("ADs Provider");
Если пУсловияОтбора = 1 Тогда
//Все пользователи, кроме отключенных
ТектсУсловияОтбора = "(!useraccountcontrol:1.2.840.113556.1.4.803:=2)";
ИначеЕсли пУсловияОтбора = 2 Тогда
//Только отключенные пользователи
ТектсУсловияОтбора = "(useraccountcontrol:1.2.840.113556.1.4.803:=2)";
Иначе
//Все пользователи...
ТектсУсловияОтбора = "";
КонецЕсли;
ЗаписьАДО.CursorLocation = 3;
ПоляЗапроса = "ADsPath,sn,givenName,Name,Mail,telephoneNumber,displayName,sAMAccountName,department,userPrincipalName";
ЗаписьАДО.Open("<GC://" + СокрЛП(НашДомен) + ">;(&(objectCategory=person)(objectClass=user)(sn=Ломакин)"+ТектсУсловияОтбора+"); "+ПоляЗапроса+" ;subtree", СоединениеАДО, 2, 3);
Если ЗаписьАДО.RecordCount > 0 Тогда
Пока Не ЗаписьАДО.EOF Цикл
Если НЕ ЗначениеЗаполнено(СокрЛП(ЗаписьАДО.Fields("telephoneNumber").Value)) Тогда
Попытка
//ЗаписьАДО.AddNew(ЗаписьАДО.Fields("telephoneNumber").Name,"89054586545");
// ЗаписьАДО.AddNew();
ЗаписьАДО.Fields("telephoneNumber").Value = "89051547845";
//ЗаписьАДО.Update(ЗаписьАДО.Fields("telephoneNumber").Name, "12345")
Исключение
ошибка = ОписаниеОшибки();
КонецПопытки;
КонецЕсли;
Попытка
ЗаписьАДО.MoveNext();
Исключение
Прервать;
КонецПопытки;
КонецЦикла;
КонецЕсли;
ЗаписьАДО.Close();
ЗаписьАДО = Неопределено;
СоединениеАДО.Close();
СоединениеАДО = Неопределено;
Показать