Saltar al contenido principal

Creación de un nuevo tipo de registro

Para que una aplicación Appian personalizada pueda interactuar con ABBYY FlexiCapture Connector for Appian, deberá crear las entidades que se describen a continuación. Antes de crear estas entidades, asegúrese de que el complemento ABBYYFlexiCapturePlugin.jar esté instalado en el servidor de Appian. Para instalar el complemento en el servidor de Appian, simplemente cópielo desde el paquete de distribución del conector en esta carpeta: APPIAN_INSTALL/_admin/plugins/. Ahora debe:

Creación de una regla AFC_GetConstantDSEByRecordTypeName que devolverá una constante de tipo “Data Store Entity”

El método CreateRecord de la Web API requiere una regla que devuelva una constante de tipo “Data Store Entity”. Esta regla determinará el almacén de datos y el tipo de datos en los que se debe crear un registro.
  1. En Appian Designer, abra la aplicación y haga clic en Nuevo → Regla de expresión.
  2. Seleccione Crear desde cero, complete los campos Nombre y Guardar en, y haga clic en Crear y editar.
  3. En el cuadro de diálogo Entradas de regla, haga clic en el icono + y cree una nueva variable de entrada de tipo “Texto” con el nombre “RecordTypeName”.
  4. Pegue el siguiente código en el editor de código de la izquierda:
if(ri!RecordTypeName == "New Records", /* En el parámetro RecordTypeName, especifique el nombre del nuevo tipo de registro en plural.  */
cons!New_Constant, /* Después de cons!, especifique el nombre de la constante del tipo de Record. */
null /* Si hay más de un tipo de registro en la aplicación, reemplace "null" con la misma condición "if" indicada arriba, especificando el nombre del segundo tipo de registro y el nombre de su constante. */
)
Si un RecordTypeName de entrada coincide con el nombre de un tipo de registro almacenado (en plural), se devolverá la constante DataStoreEntity que vincula el almacén de datos con el tipo de datos.

Creación de una regla AFC_GetDataTypeByRecordTypeName que devuelve el nombre completo del tipo de datos

El método CreateRecord de la Web API requiere una regla que devuelva el nombre completo del tipo de datos.
  1. En Appian Designer, abra la aplicación y haga clic en New → Expression Rule.
  2. Seleccione Create from scratch, complete los campos Name y Save In, y haga clic en Create & Edit.
  3. En el cuadro de diálogo Rule Inputs, haga clic en el icono + y cree una nueva variable de entrada de tipo “Text” con el nombre “RecordTypeName”.
  4. Pegue el siguiente código en el editor de código de la izquierda:
if(ri!RecordTypeName == "New Records", /* En el parámetro RecordTypeName, especifique el nombre del nuevo tipo de registro en plural, el nombre completo del tipo de datos y el espacio de nombres del tipo de registro. */
'type!{urn:com:appian:types}NewDataType',
null
/* Si hay más de un tipo de registro en la aplicación, reemplace "null" con la misma condición "if" indicada anteriormente, especificando el nombre del segundo tipo de registro, el nombre completo del tipo de datos y el namespace del tipo de registro. */
)
Si un RecordTypeName de entrada coincide con el nombre de un tipo de registro almacenado (en plural), se devolverá una cadena que contendrá el nombre completo del tipo de datos; de lo contrario, se devolverá null (puede consultar el espacio de nombres en las propiedades del tipo de datos). Para mostrar las propiedades de un tipo de datos, abra el tipo de datos deseado en la aplicación ABBYYFlexiCapture. Al hacer clic en el nombre del tipo de datos en la esquina superior izquierda, se abrirá la ventana Propiedades del tipo de datos, donde puede ver el espacio de nombres.

Creación de un método de Web API para añadir un nuevo documento al Knowledge Center

  1. En Appian Designer, abra la aplicación y haga clic en New → Web API.
  2. Escriba “UploadDocument” (sin las comillas) en los campos Name y Endpoint. Cambie HTTP Method a POST y haga clic en Create & Edit.
  3. Cierre el cuadro de diálogo de selección de plantillas y pegue el siguiente código en el editor de código:
with(
local!value: http!request.body,
a!httpResponse(
statusCode: 200,
headers: {},
body: uploaddocument(local!value)
)
)
El método uploaddocument(String query) se mostrará en el editor de código solo si hay un archivo ABBYYFlexiCapturePlugin.jar en APPIAN_INSTALL/_admin/plugins/. Este método envía una cadena JSON con el contenido del archivo directamente al método Java que haya creado y devuelve una cadena JSON con el ID de la carpeta en la que se colocó el documento.

Crear un método de Web API para rellenar la tabla de la base de datos

  1. En Appian Designer, abra la aplicación y haga clic en New → Web API.
  2. Escriba “CreateRecord” (sin comillas) en los campos Name y Endpoint. Cambie HTTP Method a POST y haga clic en Create & Edit.
  3. Cierre el cuadro de diálogo de selección de plantillas y pegue el siguiente código en el editor de código:
with(
local!value: cast(
rule!AFC_GetDataTypeByRecordTypeName(http!request.queryParameters.RecordTypeName),
a!fromJson(http!request.body)
),
a!writeToDataStoreEntity(
dataStoreEntity: rule!AFC_GetConstantDSEByRecordTypeName(http!request.queryParameters.RecordTypeName),
valueToStore: local!value,
onSuccess: a!httpResponse(
statusCode: 200,
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson(
fv!storedValues
)
),
onError: a!httpResponse(
statusCode: 500,
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson(
{
error: "There was an error writing to the data store"
}
)
)
)
)
  • La regla rule!AFC_GetDataTypeByRecordTypeName(http!request.queryParameters.RecordTypeName) acepta como entrada un parámetro con el nombre del tipo de registro (que el método de la Web API recibe del ABBYY FlexiCapture Connector for Appian) y devuelve el nombre completo del tipo de datos.
    • La regla rule!AFC_GetConstantDSEByRecordTypeName(http!request.queryParameters.RecordTypeName) devuelve la constante Data Store Entity.
  1. En el panel de la derecha, haga clic en el botón New Query Parameter y agregue un nuevo parámetro llamado RecordTypeName a la cadena de consulta. Por último, seleccione la opción Set as default test value y haga clic en Save.