Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Sharepoint API(PS.js/SP.js)在MS Project查询中使用过滤器_Sharepoint_Office365_Ms Project - Fatal编程技术网

使用Sharepoint API(PS.js/SP.js)在MS Project查询中使用过滤器

使用Sharepoint API(PS.js/SP.js)在MS Project查询中使用过滤器,sharepoint,office365,ms-project,Sharepoint,Office365,Ms Project,我正在尝试使用PS.js API访问Sharepoint中的信息,我正在努力找到一种方法来实际使用该系统 在本例中,我试图展示即将到来的资源分配。我可以很容易地获得所有资源的列表[ProjectContext.get_resources()],并从中获得他们分配给项目/任务的每个任务的列表[EnterpriseResource.get_assignments()]。但是有成千上万的,我只想要那些在当前日期当天或之后预订的 是否有任何方法可以使用现有的SP.js或PS.js创建这些文件的过滤器或C

我正在尝试使用PS.js API访问Sharepoint中的信息,我正在努力找到一种方法来实际使用该系统

在本例中,我试图展示即将到来的资源分配。我可以很容易地获得所有资源的列表[ProjectContext.get_resources()],并从中获得他们分配给项目/任务的每个任务的列表[EnterpriseResource.get_assignments()]。但是有成千上万的,我只想要那些在当前日期当天或之后预订的

是否有任何方法可以使用现有的SP.js或PS.js创建这些文件的过滤器或CAML视图,而不是恢复到REST API

如果我可以修改“get_assignments”的结果来添加过滤器选项,或者将过滤器作为参数添加到“load”中,我会很高兴。但我似乎找不到任何文档来告诉我这是否可能

下面的示例

function ResourceListArrived(resource)
    //Go through every Resource in the list
    var rEnumerator = Resources.getEnumerator();
    while (rEnumerator.moveNext()) {
        var resource = rEnumerator.get_current();        

        $('#message').html('Processing Resource: ' + resource.get_name() + " / " + resource.get_id());
        log('Investigating Resource ' + resource.get_name());
        //Get the assignments for this resource.
        GetResourceAssignments(resource);
    }

    $('#messageblock').fadeOut(500);    
}

function GetResourceAssignments(resource)
{
    var assignments = resource.get_assignments();
    Project.load(assignments, 'Include(Start,Stop)');

    //I'd like to filter THESE results somewhere in the previous 2x lines.

    // Run the request on the server.
    Project.executeQueryAsync(
        function (sender, args) {
            TotalRequestsOutstanding--;
            var aEnumerator = assignments.getEnumerator();
            while (aEnumerator.moveNext()) {
                var assignment = aEnumerator.get_current();
                log('   Assignment Found On ' + resource.get_name() + " - " + assignment.get_start());
            }           
        },
        function (sender, args) {
            alert('Failed to get list of assignments. Error: ' + args.get_message());
        });
}