Comportamiento:
El texto completo de DocuWare no es compatible con todos los tipos de documentos o idiomas, por lo que estos documentos no se pueden encontrar mediante la búsqueda de texto completo de DocuWare.
Solución:
Por ello, DocuWare ofrece con el Service Pack 1 para la versión 5.1c la posibilidad de archivar documentos con información de texto completo externa a través de GAPI.
En primer lugar, debe crearse un objeto de documento que se rellene con la información externa suministrada mediante el método IModifyMetaDataCommand.SetFulltext() y, a continuación, debe almacenarse mediante GAPI.
En general hay dos posibilidades para establecer el texto completo en un documento:
- En IUnfiledDocument
- En IUnfiledDocumentSection
Establecer el texto completo en todo el documento:
//Cree su UnfiledDocument y un storageCommand (se requiereIFileCabinet Object)
DocuWare.Gapi.Document.IUnfiledDocument myNewDocument = myGapiClient.GetDocument(filename);
DocuWare.Gapi.Command.FileCabinet.IFileCabinetStorageCommand myStorageCommand = MyUsedFileCabinet.Commands.newStorage();
//Crear un comando ModifyMetaDataCommand (ahora se utiliza todo el documento)
DocuWare.Gapi.Command.Document.IModifyMetaDataCommand myModifyCommand = myNewDocument.Commands.newModifyMetaData();
//Rellenar el comando con la información del texto completo
myModifyCommand.SetFulltext(fulltext);
//Ejecutar el comando, para que los MetaDatos de IUnfiledDocument se modifiquen
myModifyCommand.Execute();
//Referenciar el documento recién rellenado en el IStorageCommand y ejecutarlo, para archivar el documento
myStorageCommand.UnfiledDocument = myNewDocument;
myStorageCommand.Execute();
Establecer el texto completo en la página específica (sección):
//Crea tu UnfiledDocument y un storageCommand (IFileCabinet Object obligatorio)
DocuWare.Gapi.Document.IUnfiledDocument myNewDocument = myGapiClient.GetDocument(filename);
DocuWare.Gapi.Command.FileCabinet.IFileCabinetStorageCommand myStorageCommand = MyUsedFileCabinet.Commands.newStorage();
//Referenciar el comando ModifyCommand a la sección correspondiente del documento
myModifyFulltextCommand = myUnfiledDocument.Sections[0].Commands.newModifyMetaData();
//Ahora rellene el comando, con el texto completo, que debe ser transferido y ejecútelo
myModifyFulltextCommand.SetFulltext(fulltext);
myModifyFulltextCommand.Execute();
//Referenciar el documento recién rellenado en el IStorageCommand y ejecutarlo, para archivar el documento
myStorageCommand.UnfiledDocument = myNewDocument;
myStorageCommand.Execute();
Con estos métodos, el documento se almacena en el archivador DocuWare correspondiente y la información de texto completo se escribe en la tabla ftm.
Pero antes de que este documento pueda encontrarse en una búsqueda de texto completo de DocuWare, la información de texto completo debe escribirse en el catálogo de texto completo, lo que se realiza mediante el flujo de trabajo de texto completo de DocuWare. Esto significa que el flujo de trabajo debe ejecutarse al menos una vez después del almacenamiento del documento y, a continuación, puede buscar este documento en una búsqueda de texto completo.
Si modifica posteriormente un documento almacenado con información de texto completo a través de GAPI, el documento se marcará como modificado y se volverá a indexar durante la siguiente ejecución del flujo de trabajo de texto completo, por lo que se perderá la información de texto completo proporcionada por GAPI.
Tenga en cuenta: Este artículo es una traducción del idioma inglés. La información contenida en este artículo se basa en la(s) versión(es) original(es) del producto(s) en inglés. Puede haber errores menores, como en la gramática utilizada en la versión traducida de nuestros artículos. Si bien no podemos garantizar la exactitud completa de la traducción, en la mayoría de los casos, encontrará que es lo suficientemente informativa. En caso de duda, vuelva a la versión en inglés de este artículo.
