Proyectos de carga de recursos
-
10-12-2019 - |
Pregunta
El problema es que no puedo sacar mis recursos del proyectoContext.Puedo obtener los nombres del proyecto, pero luego algo sale mal y obtengo esta advertencia:
Error: la colección no se ha inicializado.No ha sido Solicitado o la solicitud no se ha ejecutado.Puede que tenga que ser Solicitado explícitamente.
Mi código es:
function getProjects() { projects = projContext.get_projects(); projContext.load(projects); projContext.executeQueryAsync(projectSuccess, projectFail); } function projectFail(sender, args) { alert("Project Fail"); } function projectSuccess() { var projEnum = projects.getEnumerator(); while (projEnum.moveNext()) { var currProj = projEnum.get_current(); var proj = currProj.get_id(); console.log(proj); resources = currProj.get_projectResources(); projContext.load(resources); projContext.executeQueryAsync((function () {resourceSucces(currProj, resources);})(currProj, resources),resourceFail); console.log(resources); } } function resourceFail(sender, args) { alert("Resource Fail"); } function resourceSucces(currProj, resources) { try { var resourceEnum = resources.getEnumerator(); while (resourceEnum.moveNext()) { var currRes = resourceEnum.get_current(); enterpriseRes = currRes.get_enterpriseResource(); console.log("RES " + currRes.get_id()); } } catch (error) { console.log(error); } }
Solución
Hay algunos problemas menores con su código, pero la línea que lo está matando es
projContext.load(projects);
Cambiar esto a lo siguiente lo hará funcionar:
projContext.load(projects, 'Include(Id, Resources)');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a sharepoint.stackexchange