Compartir a través de


Implementación de un método Creator

Última modificación: martes, 20 de abril de 2010

Hace referencia a: SharePoint Server 2010

En este artículo
Descripción
Sintaxis
Comentarios
Ejemplos

Descripción

Una instancia del método Creator permite crear una nueva instancia de la entidad. Por ejemplo, dado un objeto profesional denominado Customer, este método puede utilizarse para crear un cliente "Juan" en el sistema externo.

Si un tipo de contenido externo no tiene un estereotipo de Creator, no se pueden crear nuevos elementos (instancias de entidades) mediante las características de Servicios de conectividad empresarial. Por ejemplo, no es posible hacer clic en el botón Nuevo elemento de la cinta de opciones de una lista externa para crear un elemento.

Un método Create permite crear elementos externos en el sistema externo especificando los valores de los campos que son necesarios para Create. El conjunto de campos necesario para crear el nuevo elemento se conoce como la vista Creator. Los valores de campo no se corresponden necesariamente con los campos de un elemento externo. El método debe devolver la identidad del elemento externo que se creó. La instancia de IFieldValueDictionary que se proporciona como entrada a este método se debe crear a partir de una vista.

Este método también permite crear un elemento externo especificando los valores de los campos del elemento externo creado. Si la instancia del método Create acepta todos los campos proporcionados, BDC solo invoca la instancia de este método. De lo contrario, BDC también invoca a Update MethodInstance en el elemento externo creado para establecer los valores especificados para los demás campos. El método devuelve la EntityInstanceReference al elemento externo que se creó. La instancia de IFieldValueDictionary que se proporciona como entrada a este método se debe crear a partir de una vista correspondiente a una MethodInstance del tipo SpecificFinder, obtenida mediante el método GetCreatorView.

Sintaxis

A continuación, se muestran las firmas de método típicas de un método Creator:

structureContainingIdentifierValues CreateEntity(EntityDataType fields)
void CreateEntity(EntityDataType fields)
structureContainingIdentifierValues CreateEntity()

Comentarios

Para calificar como Creator, el siguiente método:

  • Debe aceptar como parámetros de entrada los campos que son obligatorios para crear una instancia en el sistema externo.

  • Puede usar campos opcionales del sistema externo como parámetros de entrada.

  • Puede tomar el identificador (o combinación de identificadores) del elemento como entrada O puede devolver el identificador (o combinación de identificadores) del elemento recién creado.

  • Debe ser transaccional para evitar la pérdida de datos.

La vista Creator debe ser igual a la vista del método SpecificFinder o ser o un subconjunto de ésta (vea el ejemplo a continuación). Si la vista Creator tiene más campos que SpecificFinder, no se podrá desconectar para los clientes de Microsoft Office 2010.

Si hay varios buscadores específicos, la vista Creator debe ser igual a, por lo menos, una vista SpecificFinder o ser un subconjunto de ésta.

Tal y como se ha mencionado, la vista Creator debe ser igual a, por lo menos, una vista SpcificFinder o ser un subconjunto de ésta (puede incluir campos de solo lectura). Esto se debe a que, en las listas externas, los formularios de Servicios de conectividad empresarial generados automáticamente que se usan para crear elementos se basan en la vista SpecificFinder. Si la vista Creator tiene más campos, éstos no se mostrarán en los formularios generados automáticamente, lo que puede causar problemas en la operación de creación. Para evitarlo, Servicios de conectividad empresarial comprueba la dependencia y deshabilita la operación de creación en la lista externa si la vista Creator es más grande que la vista SpecificFinder.

Si la vista Creator es un subconjunto de la vista SpecificFinder, Servicios de conectividad empresarial permite la creación del elemento con la operación de creación en listas externas, pero en los escenarios sin conexión (por ejemplo, Microsoft Outlook), se requiere un método Updater porque Servicios de conectividad empresarial llama al método Updater inmediatamente después de llamar a Create (para actualizar los campos que no están incluidos en la vista Creator).

En la tabla 1 se resumen las dependencias de las vistas Creator y Updater y el estado de las operaciones de creación y actualización.

Tabla 1. Dependencias de las vistas Creator y Updater y estado de las operaciones de creación y actualización

Nº de escenario

Campos en la vista SpecificFinder

Campos en la vista Creator

Campos en la vista Updater

Operaciones permitidas

Notas

1.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

C

D

E

F

A

C

D

F

Creación: no se permite

Actualización: no se permite

Creación sin conexión: no se permite

Actualización sin conexión: no se permite

El campo F no se puede encontrar en el buscador específico. Esto hace que BCS deshabilite las operaciones de creación y actualización.

2.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

C

D

E

A

C

D

Creación: se permite

Actualización: se permite

Creación sin conexión: se permite

Actualización sin conexión: se permite

El usuario puede especificar los valores de los campos B y E durante la creación, pero no puede actualizarlos más adelante.

3.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

A

C

D

Creación: se permite

Actualización: se permite

Creación sin conexión: se permite

Actualización sin conexión: se permite

El usuario puede especificar el valor del campo B durante la creación, pero no puede actualizarlo más adelante.

El sistema externo asigna el valor del campo E y el usuario no puede actualizarlo más adelante.

Para la creación sin conexión, la operación de actualización se llama inmediatamente después de la creación.

4.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

A

C

Creación: se permite en formularios EL predeterminados únicamente

Actualización: no se permite

Creación sin conexión: no se permite

Actualización

sin conexión: no se permite

El campo D no se puede actualizar. Esta inconsistencia hace que BCS deshabilite la operación de actualización.

La creación sin conexión está deshabilitada debido a que no hay una operación de actualización válida.

5.     

A

B (solo lectura)

C

D

E (solo lectura)

A

C

D

Sin operación de actualización definida

Creación: se permite

Actualización: no se permite

Creación sin conexión: se permite

Actualización sin conexión: no se permite

El sistema externo asigna los valores de los campos B y E.

6.     

A

B (solo lectura)

C

D

E (solo lectura)

A

B

C

Sin operación de actualización definida

Creación: se permite en formularios EL predeterminados únicamente

Actualización: no se permite

Creación sin conexión: no se permite

Actualización sin conexión: no se permite

El valor del campo D no se puede establecer durante la creación y no hay una operación de actualización válida definida para establecerlo más adelante. Esto hace que BCS deshabilite la operación de creación sin conexión.

Asegúrese de que controla las excepciones correctamente. Si se produce un error en la operación de creación en el sistema externo, genere las excepciones que se enumeran en la tabla 2

Tabla 2. Excepciones

Nombre de la excepción

Use esta excepción cuando…

AccessDeniedException

El usuario no puede realizar esta operación en el sistema externo.

PartialCreateException

En ciertos sistemas externos, hay determinadas situaciones en las que es necesario crear un nuevo elemento con algunos campos y, a continuación, actualizar los demás campos. Cuando se crea el elemento y se devuelve el identificador, pero los valores de campo no están establecidos correctamente, genere esta excepción para optimizar el control de errores.

Runtime Exception

Si se produce un error en la creación, asegúrese de generar esta excepción para avisar a los usuarios y usar las características de control de errores de Outlook 2010 y Microsoft SharePoint Workspace 2010.

Nota

Los nombres de los parámetros deben coincidir con los que se definieron en el sistema externo. Los nombres de parámetros distinguen mayúsculas de minúsculas. Si estos nombres no son idénticos en todos los métodos, Microsoft SharePoint Designer 2010 los interpreta como campos distintos.

Ejemplos

Fragmento de código: implementación de un creador

Vea también

Conceptos

Fragmento de código XML: Modelado de un método Creator

Fragmento de código: ejecución de la instancia del método Creator de un tipo de contenido externo