Saltar al contenido principal
Este script de ejemplo busca en un conjunto de datos desde la estación web de verificación y copia el valor encontrado en el campo actual.

Crear un conjunto de datos

Antes de configurar el script, cree un conjunto de datos para que el script pueda buscar en él:
1

Abra las definiciones de documentos

Abra Project Setup Station y haga clic en Project → Document Definitions.
2

Añada un conjunto de datos

Haga clic en Document Definition → Propiedades de Definición de Document, abra la pestaña Conjuntos de datos y haga clic en Add.
3

Cree registros

Cree un conjunto de datos, añada algunos registros y haga clic en Close.
Añada este script como un script de usuario para la estación web de verificación. Para obtener más información, consulte Scripts de usuario para la estación web de verificación.

Script de ejemplo

//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 del 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>";
        //Aplicar 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) {
                    //Filas de registros del conjunto de datos
                    var records = result.detail.result;
                    //Descripción del primer registro
                    var firstRecord = records[0];
                    //ocultar la 'tabla' 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) {
                //Asignar el valor al campo actual
                setCurrentFieldValue(newValueToInsert);
                //Guardar y cerrar el iframe
                save();
            }
        });
        //Al hacer clic en el botón 'cancel'
        $('#cancel').click(function () {
            cancel();
        });
    });
También puede encontrar este script de ejemplo en 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 estas líneas:
  • var dbCacheName = 'DataSet1';DataSet1 es el nombre del conjunto de datos que creó.
  • var fieldNameInCache = 'Field2';Field2 es el nombre del campo del conjunto de datos que contiene el valor que desea copiar.