none
Actualizar CustomField de Project RRS feed

  • Pregunta

  • Buenos días,

     Necesito crear un webpart para Sharepoint que actualice un campo personalizado de Project Server. Si haceis el favor me indicais como puedo hacerlo?. Estoy tratando de hacerlo con Visual Studio siguiendo algunos manuales, ademas se me presenta el problema de que tengo que cargar la referencia Microsoft.Office.Project.Server.Library y no me aparece en la lista. Muchas gracias.

    Saludos.

    jueves, 6 de septiembre de 2012 10:55

Respuestas

  • Por lo que he visto no se puede realizar la inserción directamente en la BD con Sharepoint 2010 porque no esta soportado, se debe utilizar la clase UpdateCustomFields2, por lo que he reabierto un nuevo tema en el foro reformulando la pregunta.

    Saludos y muchas gracias.

    • Marcado como respuesta electrodo miércoles, 12 de septiembre de 2012 9:14
    miércoles, 12 de septiembre de 2012 9:14

Todas las respuestas

  • Hola

    Para poder tener esa dll necesitas instalar las herramientas de desarrollo de Micros Project Server es desir el SDK Project.

    Aquí te dejo el link donde lo puedes descargar.

    http://www.microsoft.com/en-us/download/details.aspx?id=15511

    Saludos

    Aldo Flores

    @alduar

    http://alduar.blogspot.com


    viernes, 7 de septiembre de 2012 7:42
  • Muchas gracias Alduar, por el momento lo he solucionado cogiendo la dll de la carpeta de Project Server y añadiendo la referencia pero para cuando haga el paso a PRE ya instalare el SDK.

    Si alguien tiene un ejemplo de como actualizar un campo personalizado de Project con el Visual Studio que me lo pase por favor.

    Saludos.

    viernes, 7 de septiembre de 2012 8:15
  • Aquí te pongo un fragmento de código.

    ProjectDataSet project = projectSvc.ReadProject(myProjectId, DataStoreEnum.WorkingStore);
    
    
    foreach (ProjectServerCSVImport.PSS.Project.ProjectDataSet.ProjectCustomFieldsRow row in project.ProjectCustomFields)
    {
        //verificar si el GUI es igual
        if (row.MD_PROP_UID == myCustomFieldId)
        {
            //si cumple la codicion actulizamos el valor 
            row.NUM_VALUE = 12345;
        
            updatedata = true;
        }
    }

    Saludos

    Aldo Flores

    @alduar

    http://alduar.blogspot.com

    viernes, 7 de septiembre de 2012 12:14
  • Buenos días Alduar,

      Lo primero muchismas gracias por tu respuesta, por lo que veo o entiendo (soy nuevo en programar para project) el codigo es para un proyecto en particular "myProyectId", y yo lo necesito para todos los que aparecezcan el project server. La actualización es de un campo customizado el cual en muchos casos esta vacio, lo que habría que hacer es buscar la tarea padre de las tarea/s que aparecen vacia/s y si la tarea padre tiene el campo customizado entonces actualizarlo en la tarea hijo.

    De nuevo muchas gracias.Saludos.

    lunes, 10 de septiembre de 2012 9:41
  • Pues puedes incestar ese codigo en un cliclo foreach que te recorra todos los proyectos.

    Saludos

    Aldo Flores

    @alduar


    martes, 11 de septiembre de 2012 9:26
  • Buenas,

     Los apartados:

    - ProjectSVC

    - ProjectServerCSVImport

    -Updatedata

     Me dice que no existen en el contexto actual, me podrias pasar el codigo completo del ejemplo que me mandaste, es que soy completamente nuevo en Project y no tengo ni idea de lo que me falta. Si me pasas un ejemplo completo puedo investigar, mil gracias.

    Saludos.

    martes, 11 de septiembre de 2012 14:18
  • Por lo que he visto no se puede realizar la inserción directamente en la BD con Sharepoint 2010 porque no esta soportado, se debe utilizar la clase UpdateCustomFields2, por lo que he reabierto un nuevo tema en el foro reformulando la pregunta.

    Saludos y muchas gracias.

    • Marcado como respuesta electrodo miércoles, 12 de septiembre de 2012 9:14
    miércoles, 12 de septiembre de 2012 9:14