As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
var documento = document.name; var nombre = documento.substr(0,5); //NUEVA FORMA DE BUSCAR var Folder = search.luceneSearch("+PATH:\"app:company_home/*\" +TYPE:\"cm:folder\" +@cm\\:name:\"000053Ramírez\""); var pendientes = space.childByNamePath("pendientes"); if (Folder != null && Folder.hasPermission("CreateChildren")) { var copy = document.move(Folder); if (copy != null) { document.name = documento; document.save(); } } else { var copy = document.move(pendientes); if (copy != null) { document.name = documento; document.save(); } }
Ocurrió un error del sistema durante la operación: Failed to execute script 'workspace://SpacesStore/7465b384-cd60-11de-a65d-43cb83d5086a':Failed to execute script 'workspace://SpacesStore/7465b384-cd60-11de-a65d-43cb83d5086a': TypeError: Cannot find function hasPermission. (AlfrescoScript#7)
var results = store.luceneSearch("TEXT:tomcat"); for (var i=0; i<results.length; i++) { out += results.path + "<br>"; } return out; }
var documento = document.name; var nombre = documento.substr(0,6); var pendientes = space.childByNamePath("pendientes"); var query = "+PATH:\"/app:company_home/cm:User Homes/cm:Clientes/*\""; query += ' + TYPE:"cm:folder"+@cm\:description:\"+ nombre '; var carpetacliente = search.luceneSearch(query); var ruta = space.childByNamePath(carpetacliente); if (ruta != null && ruta.hasPermission("CreateChildren")) { var copy = document.move(ruta); if (copy != null) { document.name = documento; document.save(); } } else { var copy = document.move(pendientes); if (copy != null) { document.name = carpetacliente; document.save(); } }
Ocurrió un error del sistema durante la operación: Failed to execute script 'workspace://SpacesStore/dc818d72-ce10-11de-a65d-43cb83d5086a': Failed to execute script 'workspace://SpacesStore/dc818d72-ce10-11de-a65d-43cb83d5086a': Wrapped java.lang.IllegalArgumentException: Local name cannot be null or empty. (AlfrescoScript#34)
var query = "+PATH:\"/app:company_home/cm:User Homes/cm:Clientes/*\""; query += ' + TYPE:"cm:folder"+@cm\:description:\"+ nombre ';
var query = "+PATH:\"/app:company_home/cm:User Homes/cm:Clientes/*\""; query += " +TYPE:\"cm:folder\" +@cm\:description:\"+ nombre +"\"";
Creo que el cambio que necesitas es .. de :var query = "+PATH:\"/app:company_home/cm:User Homes/cm:Clientes/*\""; query += ' + TYPE:"cm:folder"+@cm\:description:\"+ nombre ';avar query = "+PATH:\"/app:company_home/cm:User Homes/cm:Clientes/*\""; query += " +TYPE:\"cm:folder\" +@cm\:description:\"+ nombre +"\"";Prueba y nos dices.Saludos
var query = "+PATH:\"/app:company_home/cm:User Homes/cm:Clientes/*\""; query += " +TYPE:\"cm:folder\" +@cm\:description:\""+ nombre +"\"";
Error Por favor corrija los errores siguientes y haga clic en Aceptar. * Ocurrió un error del sistema durante la operación: Failed to execute script 'workspace://SpacesStore/8f2beb23-d29a-11de-8a47-316241369f51':Failed to execute script 'workspace://SpacesStore/8f2beb23-d29a-11de-8a47-316241369f51': Wrapped java.lang.IllegalArgumentException: Local name cannot be null or empty. (AlfrescoScript#25)
var documento = document.name; var nombre = documento.substr(0,6); var pendientes = space.childByNamePath("pendientes"); var query = "+PATH:\"/app:company_home/cm:User Homes/cm:Clientes/*\""; query += " +TYPE:\"cm:folder\" +@cm\:description:\""+ nombre +"\""; var carpetacliente = search.luceneSearch(query); var ruta = space.childByNamePath(carpetacliente); if (ruta != null && ruta.hasPermission("CreateChildren")) { var copy = document.move(ruta); if (copy != null) { document.name = documento; document.save(); } } else { var copy = document.move(pendientes); if (copy != null) { document.name = carpetacliente; document.save(); } }
Las búsquedas por Lucene están basadas en codificación ISO9075, por lo que hay ciertos caracteres en el inicio del nombre de un contenido que se deben tratar de forma espacial, entre ellos los números Puedes emplear la codificación ISO9075. Por ejemplo, los espacios se reemplazan por _x0020_, las cadenas que comienzan con números se codifica el primer numero de la siguiente forma: _x003Y_, donde Y es el número a codificar.Por ejemplo, la cadena "1 2" sería "_x0031__x0020_2"
//reemplazamos el primer caracter por el formato ISO9075 de dicho caracter numerico //teniendo en cuenta que todas estas carpetas destino empezaran por un numero //en caso que no sea asi habra que meter una comprobacion previa de si empieza con numero var nombre_carpeta=nombre.replace(nombre.substring(0,1),"_x003"+nombre.substring(0,1)+"_"); query += " +TYPE:\"cm:folder\" +@cm\:description:\""+ nombre_carpeta +"\"";
var documento = document.name; //obtengo el nombre del archivo que meto en Alfresco var nombre = documento.substr(0,6); //extraigo los seis primeros dígitos del nombre del archivo var pendientes = space.childByNamePath("pendientes"); var nombre_carpeta=nombre.replace(nombre.substring(0,1),"_x003"+nombre.substring (0,1)+"_");//Reemplazo primer dígito por _x003primerdigitonumero_ var query = "+PATH:\"/app:company_home/cm:User Homes/cm:Clientes/*\""; //ruta de la consulta: Empresa-User Homes-Clientes query += " +TYPE:\"cm:folder\" +@cm\:description:\""+ nombre_carpeta +"\""; //la consulta busca una carpeta cuya descripción coincida con los seis primeros //digitos del nombre del documento. var carpetacliente = search.luceneSearch(query); //ejecutamos la consulta var ruta = space.childByNamePath(carpetacliente);//trasladamos la consulta al nombre del espacio destino del documento. if (ruta != null && ruta.hasPermission("CreateChildren")) //si la espacio destino no es nulo y tiene permiso (eso creo que significa) { var copy = document.move(ruta); //mueve el documento al espacio destino if (copy != null) //si el movimiento no es nulo { document.name = documento; //nombro el documento con su nombre original document.save(); //persistiendo el movimiento } } else //en caso contrario { var copy = document.move(pendientes);//muevo el documento a la carpeta pendientes if (copy != null) { document.name = carpetacliente; //pero en este caso lo nombro con el resultado de la consulta para comprobar que me arroja la consulta document.save(); } }
Por favor corrija los errores siguientes y haga clic en Aceptar. * Ocurrió un error del sistema durante la operación: Failed to execute script 'workspace://SpacesStore/a741be7f-d2c4-11de-8a47-316241369f51':Failed to execute script 'workspace://SpacesStore/a741be7f-d2c4-11de-8a47-316241369f51': Wrapped java.lang.IllegalArgumentException: Local name cannot be null or empty. (AlfrescoScript#27)
var documento = document.name; //obtengo el nombre del archivo que meto en Alfresco var nombre = documento.substr(0,6); //extraigo los seis primeros dígitos del nombre del archivo var pendientes = space.childByNamePath("pendientes"); var nombre_carpeta=nombre.replace(nombre.substring(0,1),"_x003"+nombre.substring (0,1)+"_");//Reemplazo primer dígito por _x003primerdigitonumero_ var query = "+PATH:\"/app:company_home/cm:User Homes/cm:Clientes/*\""; //ruta de la consulta: Empresa-User Homes-Clientes //AHORA METEMOS BUSQUEDA CON COMODIN PUESTO QUE NO SABEMOS EL RESTO DE DATOS query += " +TYPE:\"cm:folder\" +@cm\:description:"+ nombre_carpeta +"*"; //la consulta busca una carpeta cuya descripción coincida con los seis primeros var carpetacliente = search.luceneSearch(query); //ejecutamos la consulta //ESTO ES ERRONEO PUESTO QUE EL QUERY DEVUELVE UN ARRAY DE OBJETOS TIPO NODO //var ruta = space.childByNamePath(carpetacliente);//trasladamos la consulta al nombre del espacio destino del documento. //si nos devuelve algo if (carpetacliente!= null) { //comprobamos si tenemos permisos sobre el primero objeto (y en teoria unico) if(carpetacliente[0].hasPermission("CreateChildren")) { var copy = document.move(carpetacliente[0]); //mueve el documento al espacio destino if (copy != null) //si el movimiento no es nulo { document.name = documento; //nombro el documento con su nombre original document.save(); //persistiendo el movimiento } } } else //en caso contrario { var copy = document.move(pendientes);//muevo el documento a la carpeta pendientes if (copy != null) { document.name = carpetacliente; //pero en este caso lo nombro con el resultado de la consulta para comprobar que me arroja la consulta document.save(); } }
Please correct the errors below then click OK.A system error happened during the operation: 10160061 Failed to execute script 'workspace://SpacesStore/5f38585d-18a7-4fa7-9f65-cfbd0ea46f57': 10160060 Failed to execute search: +PATH:"/app:company_home/cm:Clientes/*" +TYPE:"cm:folder" +@cm:description:_x0030_00587*
Please correct the errors below then click OK.A system error happened during the operation: 10160063 Failed to execute script 'workspace://SpacesStore/5f38585d-18a7-4fa7-9f65-cfbd0ea46f57': 10160062 Failed to execute search: +PATH:"/app:company_home/cm:Clientes/*" +TYPE:"cm:folder" +@cm:description:_x003P_rueba*
TYPE:"cm:folder" +@cm\:description:"000090"
{http://www.alfresco.org/model/content/1.0}_x0030_00090López_x0020_Martínez_x002c__x0020_Manuel
"app:/company_home/cm:user_homes/cm:Clientes"+TYPE:"cm:folder" +@cm\:description:"000090"
Hola Javier.He hecho las pruebas. que me comentas, sin resultado. Está claro que el problema está en la búsqueda.Los errores que me ha arrojado dicen que no se puede aplicar el método "haspermission" sobre indefinidos. Parece que algo avanzamos, porque parece que encontrar encuentra algo, pero es indefinido.Te voy a comentar algunos resultados obtenidos con el explorador de nodos, a ver si así ves algo que me pueda dar pistas.He incluido la carpeta Clientes de nuevo dentro de User Homes.Si en el explorador de nodos introduzco la siguiente cadena:TYPE:"cm:folder" +@cm\:description:"000090"Me devuelve el resultado correcto:{http://www.alfresco.org/model/content/1.0}_x0030_00090López_x0020_Martínez_x002c__x0020_ManuelSi en el explorador de nodos incluyo:"app:/company_home/cm:user_homes/cm:Clientes"+TYPE:"cm:folder" +@cm\:description:"000090"Me devuelve el resultado correcto:{http://www.alfresco.org/model/content/1.0}_x0030_00090López_x0020_Martínez_x002c__x0020_ManuelPor tanto, creo que no es necesario incluir la conversión del primer dígito (_x003_)Para empezar al incluir la ruta resulta que User Homes, es user_homes. Esto es como apuntar a un blanco invisible.Mi pregunta es si en la declaración de la consulta del script: ¿puedo incluir directamente lo que incluyo en el explorador de nodos, en caso contrario cúal es la forma de construirlo conforme al resultado del explorador de nodos? (por favor no me remitáis a las wiki porque la documentación más que instruir, lia).Y otra pregunta. En el explorador de nodos he metido un valor directamente, al construir la consulta en el script, ¿cómo incluyo en lugar de un valor una variable?
var docs = search.luceneSearch("PATH:\"/app:company_home/cm:EMPRESA//*\" AND ASPECT:\"{modelo.personalizado}relaciones\" AND NOT (@custom_model\\:relaciones:\"<entidad></entidad>\" AND @custom_model\\:expedientes:\"<entidad></entidad>\")");
var query = "PATH:\"/app:company_home/cm:user_homes/cm:Clientes//*\" +TYPE:\"cm:folder\" +@cm\\:description:\""+codigo_del_cliente+"\"";
var documento = document.name;var nombre = documento.substr(0,6);var pendientes = space.childByNamePath("pendientes");var carpetacliente = search.luceneSearch("PATH:\"/app:company_home/cm:user_homes/cm:Clientes//*\" +TYPE:\"cm:folder\" +@cm\\:description:\""+nombre+"\"");//si nos devuelve algoif (carpetacliente!= null){//comprobamos si tenemos permisos sobre el primero objeto (y en teoria unico)if(carpetacliente[0].hasPermission("CreateChildren")){ var copy = document.move(carpetacliente[0]); if (copy != null) { document.name = documento; document.save(); } }}else{ var copy = document.move(pendientes); if (copy != null) { document.name = documento; document.save(); }}
var carpetacliente = search.luceneSearch("+PATH:\"/app:company_home/cm:user_homes/cm:Clientes//*\" +TYPE:\"cm:folder\" +@cm\\:description:\""+nombre+"\"");
var carpetacliente = search.luceneSearch("+PATH:\"/app:company_home/cm:user_homes/cm:Clientes//*\" AND TYPE:\"cm:folder\" AND @cm\\:description:\""+nombre+"\"");
Por favor corrija los errores siguientes y haga clic en Aceptar.Ocurrió un error del sistema durante la operación: Failed to execute script 'workspace://SpacesStore/42622f72-d387-11de-8a47-316241369f51': Failed to execute script 'workspace://SpacesStore/42622f72-d387-11de-8a47-316241369f51': TypeError: Cannot call method "hasPermission" of undefined (AlfrescoScript#10)
if (carpetacliente!= null)
if (carpetacliente[0]!= null)
var documento = document.name; var codigo = documento.substr(0,6); var nombre = "Cliente "+codigo; var pendientes = space.childByNamePath("pendientes"); var carpetacliente = search.luceneSearch("+PATH:\"/app:company_home/cm:Clientes//*\" AND TYPE:\"cm:folder\" AND @cm\\:description:\""+nombre+"\""); if (carpetacliente[0]!= null) { if(carpetacliente[0].hasPermission("CreateChildren")) { var copy = document.move(carpetacliente[0]); if (copy != null) { document.name = documento; document.save(); } } } else { var copy = document.move(pendientes); if (copy != null) { document.name = documento; document.save(); } }
var documento = document.name; var codigo = documento.substr(0,6); var nombre = "Cliente "+codigo; var pendientes = space.childByNamePath("pendientes"); var carpetacliente = search.luceneSearch("+PATH:\"/app:company_home/cm:Clientes//*\" AND TYPE:\"cm:folder\" AND @cm\\:description:\""+nombre+"\""); if (carpetacliente!= null) { if (carpetacliente[0]!= null) { if(carpetacliente[0].hasPermission("CreateChildren")) { var copy = document.move(carpetacliente[0]); if (copy != null) { document.name = documento; document.save(); } } } else { var copy = document.move(pendientes); if (copy != null) { document.name = documento; document.save(); } } } else { var copy = document.move(pendientes); if (copy != null) { document.name = documento; document.save(); } }