Cómo utilizar una secuencia de comandos o un campo de origen de datos secundaria para formato condicional en InfoPath

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

En esta página

Resumen

Este artículo describe cómo utilizar una secuencia de comandos para una expresión de formato condicional y cómo utilizar un campo de un origen de datos secundario para una expresión de formato condicional. Utilizar la secuencia de comandos o el campo en el origen de datos secundaria en un formulario de Microsoft Office InfoPath 2007 o en un formulario de Microsoft Office InfoPath 2003.

Para utilizar una función de secuencia de comandos con el formato condicional o un campo de origen de datos secundario con el formato condicional, seleccione la expresión para el tipo de condición.

Expresión que hace referencia a un campo de un origen de datos secundario tiene sintaxis que es similar al siguiente:

xdXDocument:GetDOM('DataSourceName') / docRoot / Node1 y Node2 = my:myField1

En esta sintaxis, los marcadores de posición son:
  • DataSourceNamehace referencia al nombre que se asigna al origen de datos secundaria.
  • docRootes la raíz del documento XML.
  • Node1y Node2 son nodos que están contenidos en el XML. El nodo 2 es un secundario de Nodo1.
  • my:myField1hace referencia a un campo del origen de datos principal de su formulario.
En este ejemplo concreto, la instrucción de formato condicional comprueba el valor de texto de Node2 en el origen de datos secundario con my:myField1 en el origen de datos principal y a continuación, aplica el formato que ha seleccionado si los dos valores coinciden.

De forma similar, para llamar a una función de secuencia de comandos desde la expresión de formato condicional, puede utilizar el prefijo xdExtension que está enlazado el espacio de nombres http://schemas.microsoft.com/office/infopath/2003/xslt/extension.

Diseñar un formulario nuevo

En este ejemplo se describe cómo crear un formato condicional que utiliza dos tipos de expresión.

Para InfoPath 2003

  1. Inicie InfoPath 2003. Diseñar un formulario en blanco.
  2. Seleccione el panel de tareas origen de datos. Para agregar campos al formulario, siga estos pasos:
    1. En el panel de tareas origen de datos, haga clic con el botón secundario del mouse en misCampos y, a continuación, haga clic en Agregar .
    2. En el cuadro de diálogo Agregar campo o grupo , escriba myExpenses . En la lista desplegable tipo , seleccione grupo . Seleccione la opción Repetir y, a continuación, haga clic en Aceptar .
    3. En el panel de tareas origen de datos, haga clic con el botón secundario del mouse en myExpenses y a continuación, haga clic en Agregar .
    4. En el cuadro de diálogo Agregar campo o grupo , escriba ExpenseName y, a continuación, haga clic en Aceptar .
    5. En el panel de tareas origen de datos, haga clic con el botón secundario del mouse en myExpenses y a continuación, haga clic en Agregar .
    6. En el cuadro de diálogo Agregar campo o grupo , escriba ExpenseValue . En la lista de tipos de datos, seleccione decimal (double) y, a continuación, haga clic en Aceptar .
  3. Mueva el grupo de myExpenses en el panel de tareas origen de datos al formulario y, a continuación, haga clic en Tabla extensible .

Para InfoPath 2007

  1. Inicie InfoPath 2007.
  2. En el panel izquierdo del cuadro de diálogo Inicio , haga clic en diseñar una plantilla de formulario .
  3. En el diseño de una ventana de la plantilla de formulario, haga clic en blanco y, a continuación, haga clic en Aceptar .
  4. En el panel de tareas tareas de diseño, haga clic en Origen de datos y, a continuación, agregar campos al formulario. Para agregar campos al formulario, siga estos pasos:
    1. En el panel de tareas origen de datos, haga clic con el botón secundario del mouse en misCampos y, a continuación, haga clic en Agregar .
    2. En el cuadro de diálogo Agregar campo o grupo , escriba myExpenses .
    3. En el tipo , haga clic en grupo .
    4. Haga clic en Repetir y, a continuación, haga clic en Aceptar .
    5. En el panel de tareas origen de datos, haga clic con el botón secundario del mouse en myExpenses y a continuación, haga clic en Agregar .
    6. En el cuadro de diálogo Agregar campo o grupo , escriba ExpenseName y, a continuación, haga clic en Aceptar .
    7. En el panel de tareas origen de datos, haga clic con el botón secundario del mouse en myExpenses y a continuación, haga clic en Agregar .
    8. En el cuadro de diálogo Agregar campo o grupo , escriba ExpenseValue .
    9. En la lista de tipos de datos, haga clic en decimal (double) y, a continuación, haga clic en Aceptar .

Utilizar una secuencia de comandos para formato condicional

Para InfoPath 2003

  1. En el menú Herramientas , seleccione secuencia de comandos y haga clic en Editor de secuencias de comandos .
  2. Agregue la siguiente función en la ventana de código:
    function CheckItem()
    {
        return "Airfare";
    }
  3. Guardar la secuencia de comandos y, a continuación, cierre Editor de secuencias de comandos.
  4. En el formulario, haga clic con el botón secundario en el cuadro de texto de campo ExpenseName y, a continuación, haga clic en Propiedades de cuadro de texto .
  5. En el cuadro de diálogo Propiedades de cuadro de texto , haga clic en la ficha presentación y, a continuación, haga clic en Formato condicional .

    Aparecerá el cuadro de diálogo Formato condicional .
  6. Haga clic en Agregar .

    Aparecerá el cuadro de diálogo Formato condicional .
  7. En el cuadro de diálogo Formato condicional , seleccione la expresión de la lista desplegable y, a continuación, escriba la condición siguiente en el cuadro de texto:

    mi: ExpenseName = xdExtension:CheckItem()

    Haga clic en negrita y, a continuación, haga clic en Aceptar .
  8. Haga clic en Aceptar para cerrar el cuadro de diálogo Formato condicional .
  9. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de cuadro de texto .
  10. Haga clic en vista previa del formulario . Para probar el formulario, siga estos pasos:
    1. Escriba el nombre gastos de alojamiento . Escriba la cantidad 250 .
    2. Presione CTRL+ENTRAR para agregar una nueva fila.
    3. Escriba el nombre de gastos tarifa aérea . Escriba la cantidad 700 .

      Nota Sólo el nombre de gastos en la segunda fila es negrita, porque el nombre gastos es igual a tarifa aérea y tarifa aérea es el valor de texto que se devuelve desde la función CheckItem .

Para InfoPath 2007

  1. En el menú Herramientas , elija programación y haga clic en Editor de secuencias de comandos .
  2. Agregue la siguiente función para el código ventana
    function CheckItem()
    {
        return "Airfare";
    }
  3. En el menú archivo , haga clic en Guardar .
  4. En el menú archivo , haga clic en Salir .
  5. En el formulario, haga clic con el botón secundario en el cuadro de texto de campo ExpenseName y, a continuación, haga clic en Propiedades de cuadro de texto .
  6. En el cuadro de diálogo Propiedades de cuadro de texto , haga clic en la ficha presentación y, a continuación, haga clic en Formato condicional .

    Aparecerá el cuadro de diálogo Formato condicional .
  7. Haga clic en Agregar .

    Aparecerá el cuadro de diálogo Formato condicional .
  8. En el cuadro de diálogo Formato condicional , haga clic en la expresión en la lista y, a continuación, escriba la condición siguiente en el cuadro:
    mi: ExpenseName = xdExtension:CheckItem()
  9. Haga clic en negrita y, a continuación, haga clic en Aceptar .
  10. Para cerrar el cuadro de diálogo Formato condicional , haga clic en Aceptar .
  11. Para cerrar el cuadro de diálogo Propiedades de cuadro de texto , haga clic en Aceptar .
  12. En el menú archivo , haga clic en vista previa y, a continuación, haga clic en formulario .
  13. Para probar el formulario, siga estos pasos:
    1. Escriba el nombre gastos de alojamiento .
    2. Escriba la cantidad 250 .
    3. Para agregar una nueva fila, presione CTRL+ENTRAR.
    4. Escriba el nombre de gastos tarifa aérea .
    5. Escriba la cantidad 700 .

      Nota Sólo el nombre de gastos en la segunda fila es negrita, porque el nombre gastos es igual a tarifa aérea y tarifa aérea es el valor de texto que se devuelve desde la función CheckItem .

Utilice un campo en un origen de datos secundario para formato condicional

  1. Utilice un editor XML o un editor de texto, como el Bloc de notas para crear un archivo XML con el siguiente contenido:
    <?xml version="1.0"?>
    <ExpenseRequirements>
    	<RequiresReceipt>75.00</RequiresReceipt>
    </ExpenseRequirements>
    nombre del archivo ExpenseRequirements.xml .
  2. Para agregar ExpenseRequirements.xml como un origen de datos secundaria para el formulario, siga estos pasos:
    1. En el menú Herramientas , haga clic en Convertir origen de datos principal .

      Aparecerá el Asistente para origen de datos.
    2. Haga clic en Examinar .

      Aparecerá el cuadro de diálogo Abrir .
    3. Mover a ExpenseRequirements.xml y, a continuación, haga clic en Abrir .
    4. Haga clic en siguiente y, a continuación, haga clic en Finalizar para completar al Asistente para configuración de orígenes de datos.
  3. Haga clic con el botón secundario en la tabla de repetición en el formulario y, a continuación, haga clic en Propiedades de tabla repetida .
  4. En el cuadro de diálogo Propiedades de tabla extensible , seleccione la ficha Mostrar y, a continuación, haga clic en Formato condicional .

    Aparecerá el cuadro de diálogo Formato condicional .
  5. Haga clic en Agregar .

    Aparecerá el cuadro de diálogo Formato condicional .
  6. En el cuadro de diálogo Formato condicional , seleccione la expresión de la lista desplegable. Escriba la condición siguiente en el cuadro de texto:

    mi: ExpenseValue > xdXDocument:GetDOM("ExpenseRequirements")/ExpenseRequirements/RequiresReceipt

    En la lista desplegable Color de fondo , seleccione el color rojo y, a continuación, haga clic en Aceptar .
  7. Haga clic en Aceptar para cerrar el cuadro de diálogo Formato condicional .
  8. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades de tabla repetida .
  9. Haga clic en vista previa del formulario .
  10. Para probar el formulario, siga estos pasos:
    1. Escriba el nombre gastos comer . Escriba la cantidad de 25 .
    2. Presione CTRL+ENTRAR para agregar una nueva fila.
    3. Escriba el nombre de gastos cena . Escriba el importe de 80 .

      Nota Sólo la segunda fila está formateada con un fondo rojo, porque el valor de gastos supera 75.

Propiedades

Id. de artículo: 827008 - Última revisión: martes, 30 de enero de 2007 - Versión: 2.2
La información de este artículo se refiere a:
  • Microsoft Office InfoPath 2007
  • Microsoft Office InfoPath 2003, Service Pack 1 (SP1)
  • Microsoft Office InfoPath 2003
Palabras clave: 
kbmt kbhowtomaster KB827008 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): 827008

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