Pregunta

¿Hay alguna forma de usar campos de formulario que no correspondan al campo de la base de datos para procesos temporales?

I.e. Quiero añadir:

  • campos temporales item1 , item2
  • campo de base de datos sum
  • botón
  • con el enganche de registro que establece suma = elemento1 + artículo2
¿Fue útil?

Solución

Por lo que sé, simplemente no es posible con ClearQuest. Intenté hacer algo similar y nuestro consultor de IBM me dijo que la única forma es crear un campo de base de datos para todas las variables.

Otros consejos

En realidad, no puede adjuntar datos a campos de formularios: son representaciones de los datos subyacentes, no algo con lo que los scripts interactúan directamente.

La adición de datos temporales al registro subyacente (entidad) en sí también parece poco probable. Tal vez sea posible abusar de la API de perl y adjuntar datos de forma dinámica a los objetos de la entidad, pero personalmente no lo intentaría, es probable que pierda sus datos por el capricho de CQ ;-)

Sin embargo, eso no significa que sea imposible tener datos temporales. La mejor manera para mí es utilizar el objeto de sesión, que está explícitamente destinado a ese propósito.

Desde el archivo de ayuda:

  

IBM Rational ClearQuest es compatible con   Uso de variables de toda la sesión para   almacenamiento de información. Después de crear   variables de toda la sesión, puede acceder   ellos a través de la sesión actual   Objeto usando funciones o subrutinas,   incluyendo ganchos, que tienen acceso a   el objeto Session. Cuando la corriente   sesión termina, todas las variables   asociado con ese objeto de sesión   se eliminan. La sesión termina cuando el   el usuario se desconecta o la referencia final   al objeto Session deja de existir.

Hay algo de documentación útil sobre este tema en file: /// C: /Program%20Files/Rational/ClearQuest/doc/help/cq_api/c_session_vars.htm (Suponiendo una instalación predeterminada en una máquina con Windows, por supuesto)

Traduciendo el ejemplo del código allí a lo que parece querer, primero almacena los datos que ha calculado dentro del objeto de la sesión:

$session->SetNameValue("item1", $value1);
$session->SetNameValue("item2", $value2);

Luego, en su enlace de cálculo, recupera los valores almacenados y establece el valor de ese campo de totales de esta manera:

my $item1 = GetNameValue("item1");
my $item2 = GetNameValue("item2");
my $sum = $item1 + $item2;

$entity->SetFieldValue("some_totals_record", $sum);

Ajustar al gusto, por supuesto ;-)

Los diseñadores de esquemas de ClearQuest a menudo incluyen campos "temporales" en sus tipos de registro. Hacen esto para que realicen operaciones en ganchos para generar otro valor.

Por ejemplo, para los campos de Notas, hay un campo Notes_entry 'temporal' en el que el usuario escribe la nota más reciente y, cuando se guarda el registro, el valor se agrega al campo Notes_Log. La próxima vez que se edite el registro, se borra el campo Notes_entry para que el usuario pueda escribir una nueva Notes_entry.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top