Usuarios del foro con frecuencia como preguntas como esta:
> Hola,
>
> Por favor, dime si hay cualquier posibilidad de crear una lista personalizada con
> tipo de maestra y detalle (como las facturas) sin utilizar InfoPath.
>
SharePoint proporciona algunas de las características del cuadro que admiten como ese tipo de requerimientos del negocio.
En general, uno une dos listas utilizando una columna de búsqueda. Lista A contiene la información de encabezado de la factura y lista B contiene detalles de factura.
Utilizar listas adicionales para mantener los números al cliente, números de producto, etc..
Utilice un elemento web consulta de contenido (en MOSS sólo) o un dato ve parte de la web para crear vistas fusionadas de las listas de. SQL Server Reporting Services (SRS) también está disponible para el lado informes.
Sin embargo, Existen algunas limitaciones importantes que harán difícil utilizar puros funciones de fuera de la caja para nada que sea siquiera medianamente complejo. Estos incluyen:
- Tamaño de búsqueda relacionados con listas de vs. "inteligencia" el tipo de columna de búsqueda. Se presenta un tipo de columna de búsqueda en la interfaz de usuario diferente dependiendo de si has habilitado selección múltiple o no. En cualquier caso, el control fuera de la caja muestra todos los artículos disponibles en la lista fuente. Si tiene la lista de fuentes 1,000 artículos, va a ser un problema. El control de búsqueda página no a través de los elementos. En su lugar, tira de todos ellos en el control. Hace para una interfaz de usuario muy difícil tanto en términos de rendimiento y entrada de datos.
- Búsquedas "retrocede" una columna de información. Usted no puede nunca Tire más de una columna de información de la lista de fuentes. Por ejemplo, No puede seleccionar a un cliente "12345" y mostrar el número como nombre del cliente y la dirección al mismo tiempo. La búsqueda sólo muestra al cliente número y nada más. Esto hace que para una interfaz de usuario torpe y difícil.
- No hay comunicación intra-formulario. He escrito sobre este. No puede implementar desplegables en cascada, condicional activar/desactivar campos, etc..
- Integridad referencial integrada ni eliminaciones en cascada. SharePoint trata listas personalizadas como entidades independientes y no le permiten vincularlos entre sí en un sentido tradicional de la ERD. Por ejemplo, SharePoint permite crear dos listas personalizadas, "atención al cliente" y "cabecera de factura". Puede crear un encabezado de factura que se vincula a un cliente en la lista de clientes. A continuación, Usted puede borrar al cliente de la lista. Fuera de la caja, no hay manera para evitarlo. Para resolver este tipo de problemas, se emplean habitualmente con los controladores de eventos.
Puede parecer sombrío, pero todavía sería usar SharePoint como punto de partida para la construcción de este tipo de funcionalidad. Aunque hay diferencias entre lo que usted necesita en una solución, SharePoint permite llenar esos vacíos utilizando herramientas tales como:
- Controladores de eventos. Utilizar para hacer cumplir la integridad referencial.
- Columnas personalizadas: Crear tipos de columna personalizados y utilizarlos en lugar de la columna de búsqueda por defecto. Agregar paginación, almacenamiento en búfer y las características de AJAX para hacerlos sensibles.
- BDC. Esta característica sólo musgo nos permite consulta que otro SharePoint listas con una interfaz de usuario superior a la columna de búsqueda habitual. BDC también puede llegar a una aplicación de servidor back-end. Use BDC para evitar la replicación. En lugar de replicar información de un sistema ERP back-end, utilizar en lugar de BDC. BDC características proporcionan una interfaz de usuario agradable para sacar esa información directamente desde el sistema ERP donde pertenece y evita la molestia de mantener una solución de replicación.
BDC es una característica MOSS (No disponible en WSS) y es difícil de configurar.
- Formulario web ASP.NET: Crear un completísimo habilitadas para AJAX formulario que utiliza los servicios de web y/o modelo de objeto de SharePoint para aprovechar las listas de SharePoint al tiempo que proporciona una interfaz de usuario muy sensible.
La última opción puede sentir como si estás empezando desde cero, Pero considerar el hecho de que la plataforma SharePoint le arranca con las siguientes características claves:
- Modelo de seguridad con mantenimiento.
- Sistema de menús con mantenimiento.
- "Tabla maestra" (i.e. listas personalizadas) con seguridad, Auditoría y mantenimiento incorporado.
- Búsqueda.
- Herramientas de integración de back-end (BDC).
Si comienzas con un nuevo proyecto en blanco en visual studio, Tienes un montón de infraestructura y plomería a construir antes de acercarse a lo que ofrece SharePoint.
Creo que Microsoft tiene la intención de extender SharePoint en esta dirección de desarrollo de aplicaciones. Parece como una extensión natural a la base de SharePoint existente. Aplicación de CRM de Microsoft proporciona una gran cantidad de extensibilidad de los tipos necesarios para apoyar el desarrollo de aplicaciones de cabecera y detalles. Aunque esas características son en CRM, la tecnología está obviamente disponible para el equipo de desarrollo de SharePoint y espero que hará su manera en el producto de SharePoint por final de 2008. Si alguien tiene un conocimiento o visión de este, por favor dejar un comentario.
</final>
gran
Raghu, No creo que hay alguna forma fácil de hacerlo. Concentraría en la formación de los usuarios cuando utilice cuál de ellos y tal vez darles un toque con el nombre del contenido tipo sí mismo. No creo que realmente puede concretar este, Técnicamente.
Es un poco una chapuza, pero utilizo un desplegable de ASP.Net que ensombrece la búsqueda "desplegable" generado por SharePoint. Señalo el menú desplegable de ASP.Net a un origen de datos basado en la lista que contiene el elemento de búsqueda, permitirme usar el campo ID como el valor y la columna de mi elección como el texto en pantalla. Yo no vinculan a la lista desplegable de ASP.Net para el campo de la lista de búsqueda porque genera errores del servidor.
En carga de la página usar javascript para asignar el valor correcto en el menú desplegable de ASP.Net, y luego fije onchange eventos a ese desplegable para asignar nuevos valores a la lista desplegable correspondiente de búsqueda de SharePoint. Realmente ocultar la fila que contiene la lista de SharePoint.
Una última cosa — debido a la forma SharePoint representa menús desplegables búsqueda goofy cuando pase el número de elementos 20 Usar objeto contenedor personalizado para obtener o establecer el valor de la lista desplegable. Tengo un blog detalla el proceso aquí:
http://www.idiotsyncrasies.com/2007/12/lookup-list-dropdowns-in-sharepoint.aspx
Saludos,
Michael
Puede crear un tipo de contenido para la cabecera de la factura en función del tipo de contenido de carpeta y luego crear otro tipo de contenido de la factura y agregar a una lista de SharePoint. En efecto esto crea una relación padre-hijo que permitirá crear facturas múltiples basadas en el tipo de contenido de factura que viven bajo el tipo de contenido de encabezado de factura que te ofrece y relación inmediata entre los dos elementos y se eliminará si la cabecera de la factura es el elemento de la lista borra todos los elementos de factura infantil dentro de esa carpeta. También puede especificar que un tipo de contenido sólo esté disponible desde dentro de una cierta carpeta. Este enfoque es similar a cómo funciona la biblioteca de discusión y es muy útil para este tipo de relación entre los elementos. Código y los controladores de eventos ayudará con algunas otras limitaciones pero general una rápida solución fácil.