Ir al contenido
Otras versiones

Cargando…

Campo Select de flujo de trabajo

Atributo Descripción Obligatorio
label El texto se muestra como etiqueta en la interfaz de usuario. true
name Identificador único del campo.
Dos áreas no pueden tener el mismo nombre en la misma definición de tarea. El nombre debe ser único.
true
type Valor del tipo. Tipos permitidos:
- simple (se permite una única opción).
- multiple (se permiten selecciones múltiples).
true
table Nombre de la tabla de metadatos.
La aplicación puede almacenar valores en una tabla de metadatos que se puede utilizar en esta consulta.
*
width El ancho del elemento HTML.
Para KCenter, la interfaz debe utilizar valores de ancho basados en %, por ejemplo:
- width=“50%” funcionará
- width=“100px” se ignorará en la interfaz de KCenter.
false
height La altura del elemento HTML. false
optionsQuery Se utiliza una consulta de metadatos o una consulta SQL para obtener las opciones del select. *
className Se utiliza una clase para obtener las opciones del select. *
data Cuando está presente, es un identificador utilizado para cargar datos. false
optionsData Cuando está presente, es un identificador utilizado para cargar opciones. false
readonly El campo no se puede modificar en la interfaz de usuario. Por defecto, el valor es “false”. false
  • * Hay tres opciones para obtener los valores de las opciones:

  • Elementos hijos:

  • El tipo es igual a simple.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.13//EN"
"http://www.openkm.com/dtd/workflow-forms-2.13.dtd">
<workflow-forms>
<workflow-form task="select test">
<select label="select label" name="select" type="simple">
<option label="one" value="001" />
<option label="two" value="002" />
<option label="three" value="003" />
</select>
</workflow-form>
</workflow-forms>
  • El tipo es igual a multiple.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.13//EN"
"http://www.openkm.com/dtd/workflow-forms-2.13.dtd">
<workflow-forms>
<workflow-form task="select test">
<select label="select label" name="select" type="multiple" >
<option label="one" value="001" />
<option label="two" value="002" />
<option label="three" value="003" />
</select>
</workflow-form>
</workflow-forms>

También podemos obtener estos valores de opción mediante una consulta SQL. Esta sentencia SQL debe colocarse en el atributo optionsQuery, pero el atributo table debe estar vacío (de lo contrario, esta consulta es una consulta de metadatos). Tenga en cuenta que el primer elemento devuelto en cada fila es el valor de la opción y el segundo es la etiqueta de la opción.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.6//EN"
"http://www.openkm.com/dtd/workflow-forms-2.6.dtd">
<workflow-forms>
<workflow-form task="select test">
<select label="country" name="country" type="simple"
optionsQuery="select CT_ID, CT_NAME from COUNTRY order by CT_NAME"/>
</workflow-form>
</workflow-forms>

La tabla utilizada en este ejemplo se define de la siguiente manera:

create table COUNTRY (
CT_ID varchar(2),
CT_NAME varchar(32),
primary key(CT_ID)
);insert into COUNTRY (CT_ID, CT_NAME) values ('es', 'Spain');insert into COUNTRY (CT_ID, CT_NAME) values ('pt', 'Portugal');insert into COUNTRY (CT_ID, CT_NAME) values ('it', 'Italy');

Para obtener una lista desde aplicaciones externas o con otros fines, puede crear su propia clase que recupere los valores de las opciones desde estos sistemas.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.6//EN"
"http://www.openkm.com/dtd/workflow-forms-2.6.dtd">
<workflow-forms>
<workflow-form task="select test">
<select label="select label" name="okp:consulting.select" type="simple"
className="com.openkm.plugin.form.values.OptionSelectUserList" />
</workflow-form>
</workflow-forms>

Para más información, lea: Crear su propio plugin de valores de opciones de Select.

  • El valor de opción del campo “childrenSelect” tiene una relación de dependencia con “parentSelect”. Se define mediante parentElement=“parentSelect”
  • El valor de opción “benefits” del campo “childrenSelect” tiene un valor padre “directives” del campo “parentSelect”.

Relaciones de árbol:

  • directives
    • benefits
    • eligibility
    • services
  • handbook
    • basic
    • normal
    • advanced
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.13//EN"
"http://www.openkm.com/dtd/workflow-forms-2.13.dtd">
<workflow-forms>
<workflow-form task="select test">
<select label="Parent" name="parentSelect" type="simple">
<option value="directives" label="Directives" />
<option value="handbook" label="Handbook Paragraphs" />
</select>
<select label="Children" name="childrenSelect" type="simple" parentElement="parentSelect">
<option value="benefits" label="Benefits" parentValue="directives" />
<option value="elegibility" label="Eligibility" parentValue="directives" />
<option value="services" label="Services" parentValue="directives" />
<option value="basic" label="Basic" parentValue="handbook" />
<option value="normal" label="Advanced" parentValue="handbook" />
<option value="advanced" label="Normal" parentValue="handbook" />
</select>
</workflow-form>
</workflow-forms>

En este caso utilizamos un par de tablas para obtener la información.

create table LOCALIDAD (
LOC_ID varchar(8),
LOC_NAME varchar(32),
primary key (LOC_ID)
);
create table UBICACION (
UBI_ID varchar(8),
UBI_LOC varchar(8),
UBI_NAME varchar(32),
primary key (UBI_ID)
);
insert into LOCALIDAD (LOC_ID, LOC_NAME) values ('l0', 'Localidad 0');
insert into LOCALIDAD (LOC_ID, LOC_NAME) values ('l1', 'Localidad 1');
insert into LOCALIDAD (LOC_ID, LOC_NAME) values ('l2', 'Localidad 2');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u0', 'l0', 'Ubicación 0');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u1', 'l0', 'Ubicación 1');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u2', 'l0', 'Ubicación 2');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u3', 'l1', 'Ubicación 4');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u4', 'l1', 'Ubicación 5');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u5', 'l1', 'Ubicación 6');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u6', 'l2', 'Ubicación 7');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u7', 'l2', 'Ubicación 8');
insert into UBICACION (UBI_ID, UBI_LOC, UBI_NAME) values ('u8', 'l2', 'Ubicación 9');

Esta es la definición del formulario:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow-forms PUBLIC "-//OpenKM//DTD Workflow Forms 2.13//EN"
"http://www.openkm.com/dtd/workflow-forms-2.13.dtd">
<workflow-forms>
<workflow-form task="task">
<!-- Parent child -->
<select name="localidad" label="Localidad" optionsQuery="select LOC_ID, LOC_NAME from LOCALIDAD" />
<select name="ubicacion" label="Ubicacion" parentElement="localidad" optionsQuery="select UBI_ID, UBI_NAME, UBI_LOC from UBICACION" />
</workflow-form>
</workflow-forms>