Fórmula de Lotus Notes: duplique un documento y transfiera campos específicos

0

Estos son los pasos que estoy tomando.

  1. Crea un nuevo documento y llena algunos campos.
  2. Guardar el documento
  3. Haga clic en el botón Copiar que inserté como barra de acción (pregunta cuántos copias para hacer)
  4. El documento se duplica X cantidad de veces

Estoy intentando transferir ciertos campos del documento original que copié para minimizar la entrada de datos. Soy nuevo en Lotus Notes Formula también.

El código que tengo hasta ahora para el botón de barra de acción de copia:

num := @Prompt([OkCancelList]; "Choose amount"; "How many copies?"; "3"; "1":"2":"3":"4");

@For(n := 1; n <= @TextToNumber(num); n := n + 1; @PostedCommand([Compose]; ""; "Form1");  @PostedCommand([FileSave]))

El documento se copia a sí mismo sin ningún problema, pero los campos permanecen vacíos. He intentado usar @SetField pero creo que algo está mal mientras estoy en el bucle?

Cualquier ayuda es muy apreciada.

n00bAdmin
fuente

Respuestas:

1

En primer lugar: esto es posible, pero con el lenguaje de fórmulas será muy incómodo.

Primero debe recopilar la información de su contexto actual:

_tempSubject := Subject;
_num := @Prompt([OkCancelList]; "Choose amount"; "How many copies?"; "3"; "1":"2":"3":"4");
@For(n := 1; n <= @TextToNumber(_num); n := n + 1; 
  @Command([Compose]; ""; "Form1");  
  @UpdateFormulaContext;
  FIELD Subject := _tempSubject;
  @PostedCommand([FileSave]))

Tambien podrias escribir @SetField( "Subject"; _tempSubject ) Si te gusta más que la declaración de CAMPO, hace exactamente lo mismo (a menos que uses Notes 5 o más, donde hace una diferencia, hace 15 años)

Esta es realmente una tarea para usar LotusScript, que es mucho más flexible.

Torsten Link
fuente
Gracias por la respuesta. ¿Podría por favor explicar para qué sirve otro valor y las declaraciones de FIELD? Los campos que quiero copiar se denominan: "Asunto", por ejemplo, y ambos documentos contienen el mismo nombre de campo.
n00bAdmin
_anotherValue es un nombre de variable (siempre uso el subrayado para identificarlas como variables, para distinguirlas de los campos). Y FIELD es otra anotación de @SetField ... Cambié el ejemplo en consecuencia ...
Torsten Link
¡Gracias por la ayuda! El código se ve muy bien, y entiendo cada línea. Intenté ejecutar esta fórmula pero no está copiando los datos del campo Asunto al documento recién creado. Crea tantos duplicados como yo especifique, pero manteniendo los campos vacíos. ¿Algunas ideas?
n00bAdmin
Lo siento, no me cuidé ... Reemplazar @PostedCommand([Compose]; ""; "Form1"); con @Command([Compose]; ""; "Form1"); como @PostedCommand solo viene DESPUÉS de que se complete el resto del código ...
Torsten Link
¡Eso funciona mucho mejor! Gracias. Ahora lo único es que cuando hago 3 copias de un documento guardado, crea 3 copias y solo guarda el último documento mientras las 2 primeras permanecen en modo de edición. ¿Esto también puede ser arreglado?
n00bAdmin