Показать сообщение отдельно
Старый 03.07.2014, 16:12   #1  
Oz is offline
Oz
Участник
Аватар для Oz
 
293 / 51 (2) ++++
Регистрация: 22.08.2002
Адрес: Москва
Получить URL папки через CLR.
Уважаемые коллеги!
Вопрос в первую очередь к тем, кто имеет практический опыт работы с CLR.

Есть задача получить url папки в узле Sharepoint.
На C# это делается примерно так:
X++:
using (Microsoft.SharePoint.Client.ClientContext context = new ClientContext("<url узла>"))
                {
                    context.Credentials = System.Net.CredentialCache.DefaultCredentials;
                    List list = context.Web.Lists.GetByTitle("<Имя библиотеки>");
                    context.Load(list.RootFolder);
                    context.ExecuteQuery();
                    Console.WriteLine(list.RootFolder.Name);                                        
                }
Если подобное изобразить в DAX, это будет выглядеть примерно так:
X++:
    Microsoft.SharePoint.Client.ClientContext       clientContext;
    System.Net.ICredentials                         credentials;
    Microsoft.SharePoint.Client.List                list;
    Microsoft.SharePoint.Client.Web                 web;
    Microsoft.SharePoint.Client.ListCollection      lists;
    Microsoft.SharePoint.Client.Folder              folder;

    clientContext = new Microsoft.SharePoint.Client.ClientContext(_siteUrl);
    credentials = System.Net.CredentialCache::get_DefaultCredentials();

    clientContext.set_Credentials(credentials);

    web = clientContext.get_Web();
    lists = web.get_Lists();
    list = lists.GetByTitle(_libraryName);

    folder = list.get_RootFolder();
    clientContext.Load(folder);
    clientContext.ExecuteQuery();
    print folder.get_ServerRelativeUrl();
Всё бы хорошо, но метод Load класса ClientContext (описанный в документации и присутствующий в выпадающем списке методов класса в редакторе X++) никак не проглатывается компилятором (Ошибка "Класс не содержит эту функцию").
Видимо по какой то причине компилятор неадекватно реагирует на передаваемый в метод аргумент.
Сталкивался ли кто-нибудь с подобной проблемой? Есть ли какие-нибудь способы её обойти?
__________________
Здесь могла быть Ваша реклама!