Las expresiones dinámicas nos permiten completar de forma automática el valor de un campo con comandos sencillos en Python. Desde las expresiones dinámicas podemos acceder a valores almacenados en propiedades del documento o en otros campos.
Las expresiones dinámicas se gestionan desde la configuración del campo.
Haz clic en Editar para abrir el editor en el que podrás introducir tu expresión dinámica.
A continuación se listan algunas expresiones dinámicas y ejemplos de utilidad.
fil.filename #devuelve el nombre del archivo subido sourcemetadata = filename
fil.life_cycle_state.name #devuelve el nombre del estado actual del ciclo de vida en el que se encuentra el doc. sourcemetadata = charact.ocr1
fil.author #devuelve el username del autor del documento. sourcemetadata = charact.ocr1
fil.author.first_name #devuelve el nombre del autor del documento. sourcemetadata = charact.ocr1
fil.creation_date #devuelve la fecha de creación del documento. sourcemetadata = charact.ocr1
fil.version #devuelve la version actual del documento. sourcemetadata = charact.ocr1
fil.serie.label #devuelve el espacio en el que se encuentra el documento. sourcemetadata = charact.ocr1
fil.uuid #devuelve el id interno del documento
fil.validation_date #devuelve la fecha de validación del documento
fil.serie.team.label #devuelve el team en el que se encuentra el documento
fil.doctype.name #devuelve el nombre interno del formulario
También se pueden obtener valores de otros campos. A continuación se muestra cómo.
fil.gmv('metadata.Factura_ImporteFactura') #entre comillas el nombre interno del campo (metadatatype)
O valores de características del documento:
fil.get_feature_value('caracteristica_a_obtener')
También es posible utilizar expresiones Python para manipular valores, por ejemplo, si queremos quedarnos con el nombre del archivo, pero sin la extensión .pdf, aplicamos la función de Python .replace()
fil.filename.replace(".pdf"," ") #eliminamos .pdf reemplazandolo
Asignar valores de acuerdo con condiciones
En las expresiones dinámicas puedes utilizar condiciones, para que el campo tome un valor u otro. Puedes hacerlo siguiendo la estructura que ponemos abajo:
X and A or B
Donde X es la condición y A es el valor que toma el campo si dicha condición se cumple. B es el valor en caso de no cumplirse.
Por ejemplo, queremos asignar un valor dependiendo del formulario. Si el formulario es "Factura", queremos asignar un 1 como valor del campo. En cualquier otro escenario, el campo debe tomar el valor 0. Nuestra condición quedaría así:
fil.doctype.name == "Factura" and 1 or 0
Obtener la fecha actual
datetime.datetime.now()
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.