You are viewing limited content. For full access, please sign in.

Question

Question

BUSCAR ID ENTRADA POR MEDIO DE UN VALOR EN LOS METADATOS EN SDK 10.4

SDK
asked on July 12, 2023

Hola, 
Estoy tratando de buscar el ID de un documento especifico por medio de un valor en Metadatos, pero no encuentro el método especifico dentro de la dll de RepositoryAccess con SDK 10.4. 

Lo que necesito es pasarle el valor del metadato tipo (Emisor, "EMPRESA X", Sesion)  y que por medio de esa información me devuelva el ID del o los documentos que se encuentre.

Quedo atento.

0 0

Answer

SELECTED ANSWER
replied on July 12, 2023 Show version history

Puede buscar en función de los metadatos ingresando un comando de búsqueda que usa la misma sintaxis que las búsquedas avanzadas en el repositorio. Por ejemplo, el siguiente código busca un documento que tenga un nombre de campo y un valor que coincida con los parámetros de entrada "field" y "key".

public string SearchDocument(Session session, string field, string key)
{
    var command = $"{{[]:[{field}]=\"{key}\"}} & {{LF:Name=\"*\", Type=\"D\"}}";
    var results = GetSearchResults(session, command, 1);
    return results?.GetDatumAsString(1, SystemColumn.Id);
}

private SearchResultListing GetSearchResults(Session session, string searchCommand, int preload)
{            
    var search = new Search(session, searchCommand);
    SearchResultListing results = null;
    SearchStatistics searchStats = null;

    try
    {
        search.Run();

        var settings = new SearchListingSettings();
        settings.AddColumn(SystemColumn.Id);
        settings.AddColumn(SystemColumn.LastModified);
        settings.SetSortColumn(SystemColumn.LastModified, SortDirection.Descending);

        results = search.GetResultListing(settings, preload);
        searchStats = search.GetSummaryStats(SearchStatistics.Flags.DocumentCount);
    }
    finally
    {
        // Release search resources
        search.Close();
    }
            
    return (searchStats.DocumentCount > 0) ? results : null;
}

En este ejemplo, el método SearchDocument devuelve el id del primer resultado porque solo esperamos uno, pero puede devolver la lista completa.

En su caso, querrá ajustar qué columnas se devuelven y cuántos elementos se precargan en función de su caso de uso, pero con suerte esto lo guiará en la dirección correcta.

0 0
replied on July 12, 2023

Perfecto, me sirvió excelente. 
Muchas gracias!!!! 

0 0

Replies

You are not allowed to reply in this post.
You are not allowed to follow up in this post.

Sign in to reply to this post.