cancel
Showing results for 
Search instead for 
Did you mean: 

script para crear folder con números consecutivos

acervantes2018
Confirmed Champ
Confirmed Champ

Buenas noches saqué un script de https://blog.arvixe.com/script-to-generate-serial-number-for-child-folders-in-alfresco/ que la finalidad es crear folders, les cambia el nombre y le suma 1 con el fin de que sean consecutivos, sin embargo solo crea el 1, y después si quiero crear otro el log dice que no se puede duplicar el documento, como si el id no se estuviera incrementando, agradezco mucho su ayuda, saludos!

8 REPLIES 8

angelborroy
Community Manager Community Manager
Community Manager

El código es incorrecto. No funciona.

¿Qué es lo que quieres conseguir?

Hyland Developer Evangelist

Hola Angel, estoy tratando de crear carpetas con "número de expediente consecutivo" es decir, que cuando le de click en "create folder", pueda hacer algo como "xx-1" "xx-2", y así en lo sucesivo, de manera que no tenga que escribir el nombre de la carpeta.

Mil gracias por tu ayuda.

Hola:

Un ejemplito rápido podría ser:

// Script para crear carpetas POL-XXXX donde X es un numero entre 1 y 9999

// Nodo donde guardamos el contador en el metadato title

var rootNode = search.findNode('workspace://SpacesStore/a07c518d-6488-499c-9ccf-1372bceaf531');

rootNode.properties["cm:title"] = eval(rootNode.properties["cm:title"]) + 1;

var pol = rootNode.properties["cm:title"];
var aux = "000"+pol;
var pid = aux.substr(aux.length-4, 4);

document.name = "EXP-"+pid;

// Aquí podrias especializar el tipo de tu expediente o mas cosas incluso...
document.save();
rootNode.save();

Y aplicamos el script en una regla por debajo de la carpeta raíz de expedientes, en la creación de carpetas (a un nivel nada más). Todas se renombran a EXP-XXXX, independientemente del nombre que uses al crear la carpeta, lo cual es muy fácil de probar desde Share.

Saludos.

--C.

Muchísimas gracias, funciona a la perfección, espero un día poder colaborar así.

Saludos.

Crea un JavaScript como el siguiente:

var folderPrefix = "xx-";

if (!document.parent.properties["counter"]) {
document.parent.properties["counter"] = 1;
}

folderPrefix = folderPrefix + document.parent.properties["counter"];

document.parent.properties["counter"] = document.parent.properties["counter"] + 1;

document.parent.save();

Y añade una regla para que lo aplique cada vez que se crea una carpeta dentro de la carpeta que quieras. No necesitas el aspecto, puedes usar una propiedad residual ("counter") sin necesidad de declararla en el modelo.

Hyland Developer Evangelist

Muchas gracias César, tienes razón; no hay necesidad de usar el aspecto ni declararla en el modelo, muchisimas gracias!

Edito, ANGEL, discúlpame.

Saludos!

cesarista
World-Class Innovator
World-Class Innovator

Hola:

En efecto, el aspecto parece que tiene espacios innecesarios y que no tiene todas las propiedades que luego se utilizan en el script. Ademas hay por el medio otro prefix name, no se sabe si es test: o trans:

Entiendo que lo que intenta hacer es guardar en un metadato aplicado a una carpeta por ejemplo, el contador del numero de folder actual, y usarlo en la creación de carpetas con la regla y script.

Saludos.

--C.