Saltar al contenido principal
Este script de ejemplo buscará datos en una base de datos desde la estación web de verificación. Antes de configurar este script de usuario, asegúrese de completar los siguientes pasos:
  1. Abra Project Setup Station y haga clic en Proyecto → Definiciones de Document…
  2. Haga clic en Definición de Document → Propiedades de Definición de Document, abra la pestaña conjuntos de datos y, a continuación, haga clic en Agregar….
  3. Cree un conjunto de datos, cree algunos registros y haga clic en Cerrar.
Se agregará un nuevo script de usuario al Script Editor de la estación web de verificación.
//Nombre del DataSet
var dbCacheName = 'DataSet1';
//Campo en el conjunto de datos, utilizado para reemplazar el valor del campo actual
var fieldNameInCache = 'Field2';
var self = this;
var styles = {
display: 'block',
position: 'absolute',
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
width: '100%',
height: '100%',
border: '0',
overflow: 'hidden',
'overflow-x': 'hidden',
'overflow-y': 'hidden',
'z-index': '10000'
}
var newValueToInsert = '';
// Establece los estilos del iframe
setStyles(
styles,
function() {
//Marcado del diálogo
var windowMarkup = "<div class='frame'><div class='searchField'><input id='searchValue' /><button id='searchButton'>Search</button></div><div id='recordspanel'><table id='resultspreview'></table><div id='norecord'>No records found</div></div><div class='buttonsfield'><button id='confirm'>Ok</button><button id='cancel'>Cancel</button></div></div>";
//Estilos de diálogo
var css = "<style>body{width:100vw;height:100vh;background:rgba(0,0,0,0.1);margin:0;padding:0;display:flex;align-items:center;justify-content:center;}.frame{width:400px;max-height:80vh;background:white;min-height:200px;padding:50px;}#norecord{display:none;}#searchValue{width:calc(100% - 60px);}#cancel{margin-left:20px;}.buttonsfield{display:flex;justify-content:flex-end;height:25px;}.bolded{font-weight:bold;}button{width:60px;}#confirm{display:none;}#recordspanel{min-height:145px;padding: 10px 0;}#searchfield{height:30px;}</style>";
//Establecer estilos
$('head').append(css);
//Crea el DOM en el iframe
$("body").append(windowMarkup);
// Clic en el botón de búsqueda
$('#searchButton').click(function () {
//Buscar en el diccionario
getDict(
{
cacheName: dbCacheName, //nombre del conjunto de datos
filters: [{ FieldName: "", FieldValue: $('#searchValue').val() }] //campos a buscar
},
function (result) {
//Registros de filas del conjunto de datos
var records = result.detail.result;
//Descripción de la primera fila
var firstRecord = records[0];
//ocultar la 'table' y el botón 'ok' si no se encuentra ningún resultado
if (!firstRecord && !firstRecord.BoldMask){
$('#resultspreview').hide();
$('#norecord').show();
$('#confirm').hide();
} else {
$('#resultspreview').show();
$('#confirm').show();
$('#norecord').hide();
$('#resultspreview').html('');
firstRecord.forEach(function (recordData) {
if (fieldNameInCache === recordData.FieldName) {
newValueToInsert = recordData.FieldValue;
}
$('#resultspreview')
.append('<tr class="' +
(fieldNameInCache === recordData.FieldName ? 'bolded' : '') +
'"><td>' +
recordData.FieldName +
'</td><td>' +
recordData.FieldValue +
'</td></tr>');
});
}
});
});
//Al hacer clic en el botón 'ok'
$('#confirm').click(function () {
if (newValueToInsert) {
//Establecer valor en el campo actual
setCurrentFieldValue(newValueToInsert);
//Guardar y cerrar iframe
save();
}
});
//Al hacer clic en el botón 'cancel'
$('#cancel').click(function () {
cancel();
});
});
Este script de ejemplo también puede encontrarse aquí: https://<ApplicationServer>/FlexiCapture12/Verification/Scripts/CustomScripts/customActionLookup.js, donde <ApplicationServer> es el nombre del equipo en el que está instalado el Servidor de aplicaciones. Sustituya los valores en las siguientes líneas del script de ejemplo:
  • var dbCacheName = ‘DataSet1’, donde DataSet1 es el nombre del conjunto de datos creado anteriormente.
  • var fieldNameInCache = ‘Field2’, donde Field2 es el nombre del campo del conjunto de datos que contendrá el valor que se va a copiar.