Уважаемые коллеги!
Вопрос в первую очередь к тем, кто имеет практический опыт работы с 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++) никак не проглатывается компилятором (Ошибка "Класс не содержит эту функцию").
Видимо по какой то причине компилятор неадекватно реагирует на передаваемый в метод аргумент.
Сталкивался ли кто-нибудь с подобной проблемой? Есть ли какие-нибудь способы её обойти?