es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Existe alguna manera de obtener una lista de todos los campos empresariales que un usuario en Project Server está utilizando?

Estoy construyendo una herramienta VSTO en MS Project (escrita en C#) que en muchas instancias necesita leer o escribir datos desde un campo en MS Project. Como no siempre sé qué campo contendrá los datos que necesito, muchas veces necesito permitir que el usuario seleccione el campo que desea. Obtener todos los campos básicos es fácil, mi problema surge si un usuario está en un entorno de Project Server y utiliza campos empresariales. Entonces, mi pregunta se divide en dos partes:

  1. ¿Existe alguna manera de verificar si el usuario está en un entorno de Project Server?
  2. ¿Hay alguna forma fácil de obtener todos los campos empresariales personalizados que se están utilizando en MS Project? Me gustaría poder capturar estos campos en una colección como una lista o matriz.
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en MS Project VSTO, puedo proporcionar la siguiente respuesta a la pregunta anterior:

    1. Para comprobar si el usuario está en un entorno de servidor de Project, puede utilizar la propiedad MSPDI.Application.ServerVersion. Si esta propiedad devuelve un valor de cadena que indica la versión de Project Server (por ejemplo, “15.0.0.0” para Project Server 2013), entonces el usuario está en un entorno de servidor de Project. Si la propiedad devuelve una cadena vacía, el usuario está utilizando una versión independiente de MS Project.

    2. Para obtener todos los campos personalizados de la empresa que se están utilizando en MS Project, puede utilizar la propiedad Microsoft.Office.Interop.MSProject.Application.ActiveProject.ProjectFields. Esta propiedad devuelve una colección ProjectFields que contiene todos los campos en el proyecto activo. Luego puede filtrar la colección para incluir solo campos de la empresa comprobando la propiedad Field.MappedToEnterprise de cada campo. Los campos que están asignados a un campo personalizado de la empresa tendrán esta propiedad configurada en true. Luego puede capturar estos campos en una lista o arreglo para su uso posterior en su herramienta VSTO.

Comments are closed.