Datos de una lista de Windows SharePoint Services se muestran como una línea de texto en un formulario de InfoPath 2003

Seleccione idioma Seleccione idioma
Id. de artículo: 928316 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Este artículo describe un comportamiento en el que se muestran datos en una lista de Microsoft Windows SharePoint Services como una línea de texto en un formulario de Microsoft Office InfoPath 2003. Este comportamiento se produce incluso aunque las columnas de la lista de SharePoint almacenan varias líneas de texto.

Este artículo describen tres soluciones para este comportamiento. La primera solución es crear un servicio Web personalizado que lee datos de la lista de SharePoint y, a continuación, devuelve los datos a un formulario de InfoPath. La segunda solución consiste en exportar los datos de la lista de SharePoint a un libro de Microsoft Office Excel 2003. La tercera solución es crear un origen de datos en Excel 2003 que recuperará los datos de la lista de SharePoint.

Síntomas

Tenga en cuenta la situación siguiente. Una lista en un sitio de Windows SharePoint Services tiene una o más columnas que utilice la propiedad "Varias líneas de texto". (Es decir, las columnas almacenan datos que contienen varias líneas de texto.) Crear un formulario de InfoPath 2003. A continuación, agregue una conexión de datos para recuperar los datos de la lista de SharePoint y, a continuación, mostrarlo en el formulario.

En este escenario, al ver el formulario, los datos de las columnas que almacenan varias líneas de texto no comenzar antes del se muestran como una línea de texto. Por ejemplo, una columna en la lista de SharePoint contiene los datos siguientes:
123
Prueba
Sin embargo, en el formulario de InfoPath 2003, los datos de formulario se muestra como sigue :
Prueba 123
Experimenta estos síntomas independientemente del número de saltos de línea que contiene el texto de la columna.

Causa

Cuando InfoPath 2003 lee los datos desde el servicio Web de lista de SharePoint, InfoPath 2003 quita cualquier retornos de carro del texto de columna.

Solución

Para solucionar este comportamiento, siga uno de los métodos siguientes.

Método 1

Crear un servicio Web personalizado que utiliza el modelo de objeto de Windows SharePoint Services para leer datos de la lista de SharePoint. A continuación, devolver los datos a un formulario de InfoPath. Para ello, siga estos pasos.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento. Sin embargo, no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos.

Paso 1: Crear un servicio Web personalizado

En el siguiente ejemplo es código de ejemplo que crea un servicio Web personalizado que devuelve todos los campos de todos los elementos de una lista de SharePoint. You can modify the sample code to return only specific fields.
/**********************************************
*                                             *
*                                             *
*                                             *
**********************************************/

[WebMethod]
public XmlDocument MultiLineList()
{
	return GetListData("http://ServerName", "List Name ");
}

[WebMethod]
public XmlDocument GetListData(String ServerName, String ListName)
{
	String str;
	SPList oSPList;

	XmlNode oXmlNode;
	XmlElement oXmlElement, oXmlParent;
	XmlDocument oXmlDocument = new XmlDocument();

	oXmlDocument.LoadXml("<SPListItems/>");

	using(SPSite oSPSite = new SPSite(ServerName))
	{
		using(SPWeb oSPWeb = oSPSite.OpenWeb())
		{
			oSPList		= GetList(oSPWeb, ListName);

			if(oSPList != null)
			{
				foreach(SPListItem oSPListItem in oSPList.Items)
				{
					oXmlParent		= oXmlDocument.CreateElement("SPListItem");
					oXmlNode		= oXmlDocument.DocumentElement.AppendChild(oXmlParent);

					foreach(SPField oSPField in oSPListItem.Fields)
					{
						if(oSPField.Hidden)
							continue; 

						str				= oSPField.InternalName.Replace(" ", "");
						oXmlElement		= oXmlDocument.CreateElement(str);
						oXmlParent.AppendChild(oXmlElement);

						try
						{
							str						= oSPField.Title;
							str						= oSPListItem[str].ToString();
						}

						catch(Exception e)
						{
							str						= "Field error: " + e.Message;
						}

						oXmlElement.InnerText	= str;
					}
				}
			}
		}
	}

	return oXmlDocument;
}

/**********************************************
*                                             *
*                                             *
*                                             *
**********************************************/

private SPList GetList(SPWeb oSPWeb, String strListName)
{
	SPList oRet = null;

	strListName = strListName.Replace("%20", " ");
	strListName = strListName.ToUpper();

	foreach(SPList oSPList in oSPWeb.Lists)
	{
		if(oSPList.Title.ToUpper() == strListName)
		{
			oRet = oSPList;
			break;
		}
	}

	return oRet;
}

Paso 2: Crear un formulario de InfoPath 2003 para mostrar los datos

  1. Inicie InfoPath 2003 y, a continuación, abra un nuevo formulario en blanco.
  2. Agregar una tabla de repetición al formulario. Para ello, haga clic en Tabla extensible en el menú Insertar .

    Nota Asegúrese de que el número de campos en la tabla coincide con el número de campos en la lista de SharePoint.
  3. Agregar un origen de datos al formulario. Para ello, siga estos pasos:
    1. En el menú Herramientas , haga clic en Conexiones de datos y, a continuación, haga clic en Agregar .
    2. Haga clic en recibir datos y, a continuación, haga clic en siguiente .
    3. En ¿desde dónde desea recibir los datos , haga clic en servicio Web y, a continuación, haga clic en siguiente .
    4. Escriba la ubicación del servicio Web personalizado que creó y, a continuación, haga clic en siguiente . Por ejemplo, escriba la cadena siguiente:
      http:// ServerName: 8080/Service1.asmx?WSDL
    5. Haga clic en el nombre del servicio Web personalizado y a continuación, haga clic en Finalizar .
  4. Enlazar cada campo en la tabla a un campo devuelto por el servicio Web personalizado. Para ello, siga estos pasos:
    1. En la parte inferior de la tabla, haga clic con el botón secundario en Tabla de repetición y, a continuación, haga clic en Cambiar enlace .
    2. Enlazar toda la tabla con el conjunto de datos. Esta acción crea un vínculo al origen de datos.
    3. Haga clic con el botón secundario en el campo que contendrá el texto multilínea y, a continuación, haga clic en Cambiar enlace .
    4. En el cuadro origen de datos , haga clic en principal , haga clic en cualquier otro campo y, a continuación, haga clic en Aceptar .
    5. Haga clic con el botón secundario en el campo que contendrá el texto multilínea, haga clic en Propiedades de cuadro de texto y, a continuación, haga clic en la ficha presentación .
    6. Active la casilla de verificación saltos de párrafo y, a continuación, haga clic en Aceptar .

      Nota Si la casilla de verificación saltos de párrafo está desactivada la primera vez que siga este paso, repita este paso hasta que esté seleccionada la casilla de verificación saltos de párrafo .
    7. Haga clic con el botón secundario en el campo de la tabla que contendrá el texto multilínea nuevo y, a continuación, haga clic en Cambiar enlace .
    8. En el cuadro origen de datos , haga clic en servicio Web y, a continuación, haga clic en el campo.
  5. Haga clic en Preview para obtener una vista previa del formulario.

Método 2

Exportar los datos de la lista de SharePoint a un libro de Excel 2003. Después de exportar los datos a un libro de Excel 2003, puede utilizar secuencias de comandos, macros u otras aplicaciones para recuperar y, a continuación, mostrar los datos.

Para ello, siga estos pasos.

Paso 1: Exportar los datos de la lista de SharePoint a un libro de Excel 2003

  1. En un explorador Web, conéctese a la lista en el sitio de SharePoint.
  2. En acciones , haga clic en Exportar a hoja de cálculo y haga clic en Aceptar en el cuadro de diálogo Descarga de archivos .
  3. En el cuadro de diálogo Abriendo consulta , haga clic en Abrir .
  4. En el cuadro de diálogo Importar datos , especifique dónde desea colocar los datos y, a continuación, haga clic en Aceptar .

Paso 2: Utilizar macros, secuencias de comandos u otras aplicaciones para recuperar y, a continuación, mostrar los datos

Para utilizar la característica de combinación de correspondencia en Microsoft Office Word 2003 para mostrar los datos, siga estos pasos:
  1. Inicie Word 2003 y, a continuación, abra un nuevo documento en blanco.
  2. En el menú Herramientas , elija cartas y correspondencia y, a continuación, haga clic en Combinar correspondencia .
  3. En Seleccionar tipo de documento en el panel Combinar correspondencia , haga clic en cartas y, a continuación, haga clic en siguiente: inicie el documento .
  4. En Seleccione el documento inicial , haga clic en utilizar el documento actual y, a continuación, haga clic en siguiente: seleccione los destinatarios .
  5. En Seleccione los destinatarios , haga clic en utilizar una lista existente y, a continuación, haga clic en siguiente: escriba la carta .
  6. En el cuadro de diálogo Seleccionar origen de datos , busque y, a continuación, haga clic en el libro de Excel 2003 que contiene los datos exportados y, a continuación, haga clic en Abrir .
  7. Especificar los registros que desee mostrar, haga clic en Aceptar y, a continuación, haga clic en siguiente: escriba la carta .
  8. En Escriba la carta , agregue los elementos que desea utilizar en el documento y, a continuación, haga clic en siguiente: vista previa de las cartas .
  9. Vista previa de la letra y haga clic en siguiente: complete la combinación .
  10. Bajo siguiente: complete la combinación , haga clic en Editar cartas individuales para mostrar todos los elementos en un documento

Método 3

En Excel 2003, cree un origen de datos para recuperar datos de la lista de SharePoint. Después de hacer esto, puede utilizar secuencias de comandos, macros u otras aplicaciones para recuperar y, a continuación, mostrar los datos.

Para ello, siga estos pasos.

Paso 1: Crear un origen de datos en Excel 2003 para recuperar los datos de la lista de SharePoint

  1. Inicie Excel 2003 y abra un nuevo libro.
  2. En el menú datos , elija XML y, a continuación, haga clic en Origen XML .
  3. En el panel Origen XML , haga clic en Asignaciones XML y, a continuación, haga clic en Agregar .
  4. Realice una de las acciones siguientes:
    • Haga clic en nuevo origen . Inicia el Asistente para conexión de datos. Vaya al paso 1e y, a continuación, siga los pasos restantes de este procedimiento.
    • Haga clic en un origen XML existente, haga clic en Abrir y, a continuación, haga clic en Aceptar . No es necesario seguir los pasos restantes de este procedimiento.
  5. En qué tipo de origen de datos desea conectarse a en el Asistente de conexión de datos, haga clic en listas de Windows SharePoint Services y, a continuación, haga clic en siguiente .
  6. Escriba la dirección URL del sitio de SharePoint que contiene la lista y, a continuación, haga clic en siguiente .
  7. En Seleccione el objeto que contiene los datos que desee , haga clic en el nombre de la lista y, a continuación, haga clic en siguiente .
  8. Especifique los campos que desee mostrar y, a continuación, haga clic en siguiente .
  9. Si desea ordenar los datos, especifique el criterio de ordenación que desee y, a continuación, haga clic en siguiente .
  10. Si desea filtrar los datos, especifique los criterios de filtro que desee y, a continuación, haga clic en siguiente .
  11. Si desea limitar el número de filas que se recuperan, especificar el número de filas que desee y, a continuación, haga clic en siguiente .
  12. Escriba un nombre para el origen de datos y, a continuación, haga clic en Finalizar .
  13. Haga clic en Abrir y, a continuación, haga clic en Aceptar .

Paso 2: Utilizar macros, secuencias de comandos u otras aplicaciones para recuperar y mostrar los datos

Por ejemplo, puede utilizar la característica de combinación de correspondencia en Word 2003 para mostrar la información. Para obtener más información acerca de cómo hacerlo, consulte el "paso 2: utilizar macros, secuencias de comandos u otras aplicaciones para recuperar y mostrar los datos" subsección de la sección "Método 2" anteriormente en este artículo.

Propiedades

Id. de artículo: 928316 - Última revisión: viernes, 23 de marzo de 2007 - Versión: 1.2
La información de este artículo se refiere a:
  • Microsoft Office InfoPath 2003 sobre las siguientes plataformas
    • Microsoft Windows SharePoint Services
Palabras clave: 
kbmt kbnofix kbbug kbexpertiseinter kbtshoot KB928316 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 928316

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com