Ошибка при отправке данных из 1С в АД

1. user1934472 21.10.24 14:49 Сейчас в теме
Доброго дня!
Необходимо отправлять из 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();
    СоединениеАДО = Неопределено;
    

Показать
По теме из базы знаний
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот