SharePoint: Creación Expedientes

SharePoint: Creación Expedientes

En mi larga experiencia en proyectos con tecnología SharePoint, me he encontrado en muchas ocasiones que no se explota todo el potencial de esta herramienta y una de las funcionalidades que se ha utilizado menos de lo que se debería es la de Conjunto de Documentos (Document Set's para los que lo tengan configurado en inglés).

Esta funcionalidad la comparo con lo que eran antiguamente los expedientes, aquellas carpetas de cartón, donde se rellenaban con documentos con una serie de características y luego la etiquetaban para identificar cuál era su contenido.

De una forma figurada, todos aquellos atributos que se escribían en la etiqueta, eran heredados por todos los documentos que esta contenía: Facturas 2003, Caso 210/23, Juicio 123/2015, etc…

 A nivel digital, para simular este comportamiento, lo que se hacía (y aún se hace en muchas ocasiones) es poner un nombre a la carpeta con toda la información para identificarla como expediente. El inconveniente, que tienes que al buscar, encuentras la carpeta pero después tienes que navegar dentro de ella para encontrar el archivo que te interesa.

 ¿Qué es lo que te permite el Conjunto de Documentos de SharePoint? Crear unos atributos a esta carpeta digital que luego todos los documentos que esta contiene hereda y de esa forma, con un filtro sencillo, cuando buscas por cualquier atributo de éstos, devuelve como resultado la carpeta y todos los documentos que esta contiene. Eso significa que no es necesario navegar primero a la carpeta y luego buscar todos los archivos que esta contiene.

 En este artículo crearemos un pequeño ejemplo de cómo podemos crear expedientes para organizar los archivos mediante tipos de contenido, conjunto de documentos y atributos.

Este caso emularemos una empresa con varias oficinas donde cada una almacena en una carpeta los documentos y cada uno de éstos tiene como atributos a que Zona y Oficina pertenece. Para ello utilizaremos los Tipos de Contenido, los Conjuntos de Documentos y las propiedades asociadas.

Para aprovechar el potencial de SharePoint, vamos integrar los datos de las columnas y atributos de con el fichero Excel, dónde podremos leerlas y también modificarlas desde la propia hoja de datos:

Este es el código VBA para incluir en el Excel para poder obtener y almacenar los datos en las columnas de SharePoint


Public Function DocProp(Info_needed As String) As Varian

    Application.Volatile

    DocProp = ThisWorkbook.BuiltinDocumentProperties(Info_needed).Value

End Function

Public Function DocPropCustom(Info_needed As String) As Variant

    Application.Volatile

    DocPropCustom = ThisWorkbook.CustomDocumentProperties(Info_needed).Value

End Function

 

Public Function DocPropCT(Info_needed As String) As Variant

    Application.Volatile

    On Error GoTo ErrorDocPropCT

    DocPropCT = IIf(ThisWorkbook.ContentTypeProperties(Info_needed).Value = "", "", ThisWorkbook.ContentTypeProperties(Info_needed).Value)

    GoTo FinDocPropCT

ErrorDocPropCT:

    Debug.Print Application.ActiveCell.Worksheet.Name + " " + Info_needed + " " + Err.Description

FinDocPropCT:

End Function

Public Function DocPropMatrixCT(Info_needed As String, i As Integer) As Variant

    Application.Volatile

    On Error GoTo ErrorDocMatrixCT

    DocPropMatrixCT = ThisWorkbook.ContentTypeProperties(Info_needed).Value(i)

    GoTo FinDocMatrixCT

ErrorDocMatrixCT:

    Debug.Print Application.ActiveCell.Worksheet.Name + " " + Info_needed + " " + Err.Description

FinDocMatrixCT:

End Function

Public Function SetDocPropCT(Info_needed As String, valor As Variant) As Variant

    Application.Volatile

    On Error GoTo SetDocPropCTError

    If Not IsError(valor) Then

        If ThisWorkbook.ContentTypeProperties(Info_needed).Value <> valor Then

'            Debug.Print Info_needed

            If TypeName(valor) = "Range" Or TypeName(valor) = "Cell" Then

                ThisWorkbook.ContentTypeProperties(Info_needed).Value = valor.Value

            Else

                ThisWorkbook.ContentTypeProperties(Info_needed).Value = valor

            End If

        End If

    End If

    SetDocPropCT = ThisWorkbook.ContentTypeProperties(Info_needed).Value

    GoTo FinSetDocPropCT

SetDocPropCTError:

    Debug.Print Application.ActiveCell.Worksheet.Name + " " + Info_needed + " " + Err.Description

   

FinSetDocPropCT:

End Functiont        

Inicia sesión para ver o añadir un comentario.

Otros usuarios han visto

Ver temas