cancel
Showing results for 
Search instead for 
Did you mean: 

Sobreescribir archivos

toti
Star Contributor
Star Contributor

Hola, tengo una regla para que cuando se acepta un documento en una determinada carpea lo mueva a otra carpeta de aceptados. El problema es que cuando entra otra vez el archivo con alguna modificación, no lo mueve porque ya existe en la carpeta destino. Qué puedo hacer para que se sobreescriba el archivo en la carpeta de destino ?? Le he activado el versionado pero no mueve el documento.

Se puede cambiar el nombre del archivo mediante una regla antes de moverlo para añadirle por ejemplo la fecha del día ??

Muchas gracias

Saludos

12 REPLIES 12

angelborroy
Community Manager Community Manager
Community Manager

Se puede hacer, pero requiere algo de programación en JavaScript. ¿Conoces la API JavaScript de servidor de Alfresco?

https://docs.alfresco.com/5.2/concepts/API-JS-intro.html

Hyland Developer Evangelist

toti
Star Contributor
Star Contributor

Que va, de programación poco salvo PHP y menos la API de alfresco. Por eso preguntaba lo de cambiar el nombre dinámicamente para poder salir del paso.

joseantonionava
Star Contributor
Star Contributor

Hola toti,

si para tu proceso no es problema agregar información al nombre del fichero aceptado para que no se llame igual que el que está en la carpeta aceptados podrías, por ejemplo, obtener los milisegundos de cuando se ejecuta la regla y agregarlos al nombre del fichero.

De esta forma nunca existirán dos documentos con el mismo nombre en la carpeta de destino y no tendrías el problema que indicas.

No entiendo muy bien cual es tu objetivo final y quizá se pueda/deba hacer otra solución, pero este javascript te valdría para, como dices, salir del paso:

var nombreDoc = document.properties.name;
var fecha = new Date();
var miliSegundos = fecha.getTime();

document.name = miliSegundos + " " + nombreDoc;
document.save();

Configura una regla en la carpeta de destino para que ejecute el script y listo.

Salu2.

Hola José Antonio, voy  a intentar eso y ya te cuento. Muchas gracias

Hola José Antonio, otra vez, he añadido el script al diccionario de datos/scripts, he creado la regla en la carpeta para que cuando se añada un documento se ejecute el script ( poniendo el nodeRef ) , y no hace nada, ¿ hay que hace algo más ?

Muchas gracias

Salu2

angelborroy
Community Manager Community Manager
Community Manager

Quizá este hilo pueda ayudarte a entender lo que tienes que hacer:

https://community.alfresco.com/message/753806-re-problema-al-ejecutar-un-js-que-lanza-un-workflow-si... 

Hyland Developer Evangelist

Hola Toti,

1.- Subes el script.js a Diccionario de Datos/Scripts.

2.- Nueva regla que ejecute el script al entrar documentos.

No entiendo para que y donde usas "nodeRef". No haría falta nada mas que los puntos 1 y 2.

Salu2.

Yo diría que solo lo quiere renombrar cuando sea aceptado en un flujo simple...

Hyland Developer Evangelist

toti
Star Contributor
Star Contributor

Hola Angel, en efecto, cuando se acepta el documento en un flujo simple lo muevo a una carpeta y lo renombro.

Estoy trabajando en intentar ejecutar un work flow completo mediante script.

Muchas gracias