Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

283
Views
¿Qué tengo que hacer, que se copien los flujos de trabajo de las hojas copiando el espacio de trabajo?

Para automatizar algunos de mis trabajos, me estoy sumergiendo en javascript y smartsheet-api... Escribí un script que configura un espacio de trabajo copiando todo el espacio de trabajo con un nuevo nombre de espacio de trabajo. Compartir el espacio de trabajo con diferentes personas, compartir hojas individuales con otras personas, generar algunos enlaces hacia y desde las hojas recién generadas,...

Algunas de estas acciones no fueron tan fáciles, como pensaba, ... Sin embargo, al final del día funcionó.

Pero ahora descubrí que los flujos de trabajo de las hojas no se copiaron, ... no hay flujos de trabajo en las hojas copiadas.

Estoy usando el nodo como mi javascript-runtime-environment.

 //------------------------------------------------------------------------------------- // prepare copying the workspace // ------------------------------ var body = { newName: workspaceName }; // store the workspaceName from the function-parameters in the body-object var params = { include: "all, rules, ruleRecipients", skipRemap: "" }; // set parameters var options = { workspaceId: sourceWorkspaceID, body: body, queryParameters: params }; // create the options-object with all the settings above //-------------------------------------------------------------------------------------- try { // Try copying workspace copiedWorkspace = await ss.workspaces.copyWorkspace(options); // --------------------- console.log('setupTheWorkspace: Workspace wurde kopiert.'); } catch (e) { console.log('setupTheWorkspace: Workspace konnte nicht kopiert werden.'); console.log(e);

El código anterior muestra la forma en que hago la copia. Primero lo probé con solo "todos" como parámetro de inclusión, luego agregué "reglas, ruleRecipients" al parámetro de inclusión, pero fue en vano.

¿Qué tengo que hacer, que se copien los flujos de trabajo de las hojas copiando el espacio de trabajo?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Algunos comentarios:

  • Los documentos de la API de Smartsheet para la operación Copiar espacio de trabajo describen el valor all del parámetro de include como obsoleto . En general, se recomienda evitar el uso de cualquier cosa que esté marcada como "obsoleta".

  • El valor del parámetro include no debe contener espacios. Sospecho que esta es la fuente de su problema, es decir, Smartsheet no reconoce valores que contienen un espacio inicial, por ejemplo, ' rules' o ' ruleRecipients' , y por lo tanto los ignora.

  • Si entiendo los documentos correctamente, solo necesita especificar el parámetro skipRemap si desea NO reasignar ciertas referencias en el espacio de trabajo recién creado. Especificar ese parámetro con un valor vacío no tiene sentido; le sugiero que lo elimine si no va a especificar un valor para él.

Aquí está la línea de su código que refleja estas recomendaciones:

var params = { include: "rules,ruleRecipients" };

Nota: asegúrese de agregar valores adicionales al parámetro de include si desea que se copien otras cosas (además de los flujos de trabajo) en el nuevo espacio de trabajo. Los documentos contienen una lista de todos los valores válidos. Y asegúrese de NO incluir ningún espacio en la lista de valores delimitados por comas.

Aquí hay un código de muestra que copia con éxito un espacio de trabajo (y especifica todos los valores del parámetro de include ).

 // Specify new workspace name var body = { newName: 'My New Workspace' }; // Set elements to copy var params = { include: 'attachments,cellLinks,data,discussions,filters,forms,rules,ruleRecipients,shares' }; // Set options var options = { workspaceId: 6192537502279556, body: body, queryParameters: params }; // Copy workspace smartsheet.workspaces.copyWorkspace(options) .then(function(copiedWorkspace) { console.log(copiedWorkspace); }) .catch(function(error) { console.log(error); });
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!