Skip to content

Variables en el texto

Este artículo de ayuda no se aplica a las plantillas de documentos. Lea cómo usar Variables en plantillas de documentos aquí.

Navegación

Las variables almacenan algún valor, como un número, una cadena u otro tipo de dato. Las variables se usan en:

  • Tarea: nombre (en la plantilla de tarea o al crear una tarea)
  • Tarea: descripción (en la plantilla de tarea o al crear una tarea)
  • Plantillas de correo electrónico
  • Acciones de guión, botones, webhooks entrantes, reglas de correo para tareas:
    • Send HTTP request
    • Send SMS
    • Write to WhatsApp
    • Write to Instagram
  • Acciones masivas, guiones, botones, webhooks entrantes, reglas de correo para tareas:
    • Change name
    • Change description
    • Add comment
    • Set field value (para campos de tipo "Text")


Para agregar una variable al texto, por ejemplo, en la descripción de la tarea, haga clic en el enlace "different variables" (1), cree la variable y agrégela al texto del campo deseado en la plantilla de tarea (2):

vBmUi1.jpg

Cálculos con Variables

A veces no basta con insertar el valor de una variable en el texto, y también necesita realizar cálculos con los valores en las variables o procesar la cadena obtenida. Para tales acciones, use la siguiente sintaxis:

%%%FORMULA TEXT%%%

Ejemplos

Discounted price: %%%{{Task.Price}}*0.8%%%
Work will be completed in %%%DATEDIF(NOW(); {{Task.Completion Date}}; "d")%%% %%%MULTIPLE(DATEDIF(NOW(); {{Task.Completion Date}}; "d");"day"; "days")%%%

Importante

  • El texto de la fórmula debe escribirse en una sola línea y no puede romperse. En otras palabras, la fórmula no puede continuar en la siguiente línea presionando la tecla Enter.
  • Las variables en la fórmula no pueden formatearse, por ejemplo, ponerlas en negrita o en cursiva.
  • Si necesita resaltar el resultado de la fórmula en negrita, aplique el formato a toda la fórmula junto con el resultado.

IF

Para insertar texto dependiendo de los valores de las variables (condiciones), use la siguiente sintaxis:

%%$IF(Logical formula)$%%
TEXT
%%$ENDBLOCK$%%

Ejemplo

%%$IF({{Task.Order Amount}} > 100000)$%%
VIP CUSTOMER
%%$ENDBLOCK$%%


Resultado:

VIP CUSTOMER

ELSE

ELSE se usa sólo junto con IF. Cuando la condición en IF no es verdadera, se muestra el texto de la parte ELSE del bloque.

%%$IF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%

Ejemplo

%%$IF({{Task. Invoice №}}="")$%%
The field [Invoice №] is not filled in
%%$ELSE$%%
The required task field is filled in! :)
%%$ENDBLOCK$%%


Resultado:

  • Si el campo no está rellenado, se mostrará el mensaje "The field [Invoice №] is not filled in".
  • Si el campo está rellenado, se mostrará el mensaje "The required task field is filled in! :)".

ELSEIF

Ayuda a crear una expresión más compleja con condiciones:

%%$IF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSEIF(Logical formula)$%%
TEXT
%%$ELSE$%%
TEXT
%%$ENDBLOCK$%%


Nota

  • El último ELSE es una parte opcional del bloque.

Ejemplo

%%$IF({{Task.Invoice Number}}="")$%%
The field [Invoice Number] is not filled in
%%$ELSEIF({{Task.UPD Number}}="")$%%
The field [UPD Number] is not filled in
%%$ELSEIF({{Task.Contract Number}}="")$%%
The field [Contract Number] is not filled in
%%$ELSE$%%
All task fields are filled in, you're awesome! :)
%%$ENDBLOCK$%%


Resultado:

  • Si los tres campos no están rellenados, solo se mostrará el primer mensaje "The field [Invoice Number] is not filled in", el resto se omite.
  • Si los campos "Invoice Number" y "UPD Number" están rellenados, pero el campo "Contract Number" no lo está, entonces se mostrará el mensaje correspondiente "The field [Contract Number] is not filled in".

FOREACH

Cuando una variable representa una lista de valores, como {{Task.Subtasks}} o {{Task.Assignee}}, y necesita mostrar información para cada valor, use la siguiente sintaxis:

%%$FOREACH(Variable;Delimiter)$%%
TEXT
%%$ENDBLOCK$%%


Importante: en esta parte de la expresión — %%$FOREACH(Variable;Delimiter)$%% — asegúrese de especificar la variable de primer nivel, es decir, {{Task.Subtasks}} o {{Task.Assignee}}, y nada más.

Ejemplo

%%$FOREACH({{Task.Assignee}};"<br>")$%%{{Task.Assignee}} - {{Task.Assignee.Position}}%%$ENDBLOCK$%%


Resultado:

linda Martinez - Designer
Jamse Davis - Developer
Mary Brown - CEO
%%$FOREACH({{Task.Subtasks}};"<br>")$%%{{Task.Subtasks.Number}} - {{Task.Subtasks.Name}}%%$ENDBLOCK$%%


Resultado:

2119 - Rough finish
2120 - Sub-final finishing
2121 - Final touches

Ejemplo con condición

Sintaxis:

%%$FOREACH(Variable;Delimiter;Condition_WITHOUT_If)$%%
TEXT
%%$ENDBLOCK$%%

%%$FOREACH({{Task.Subtasks}};"";{{Task.Subtasks."Contract Amount ($)"}}>1000))$%%
{{Task.Subtasks.Counterparty}}, contract amount {{Task.Subtasks."Contract Amount ($)"}}
%%$ENDBLOCK$%%


Resultado

Del listado completo de contrapartes, solo se mostrarán aquellas con un monto de contrato mayor a 1000:

LLC Sunrise, 1500

LLC Sunset, 1700

LLC Dawn, 2500

Bloque ELSE dentro de FOREACH

Sintaxis:

%%$FOREACH(Variable;Delimiter)$%%
TEXT
 %%$IF(Logical formula)$%%
TEXT
 %%$ENDBLOCK$%%
TEXT
%%$ENDBLOCK$%%

%%$FOREACH({{Task.Subtasks}})$%%%%$IF({{Task.Subtasks.Status}}="TKP added to calculation")$%%
{{Task.Subtasks.Counterparty}}, {{Task.Subtasks.Counterparty.TIN}}, contract amount {{Task.Subtasks."Contract Amount"}} {{Task.Subtasks.Currency.Symbol}}
%%$ENDBLOCK$%%%%$ENDBLOCK$%%


Resultado:

LLC Sunrise, 5689845987654, 1500 $
LLC Sunset, 5689845125699, 1700 $
LLC Dawn, 5689845589674, 2500 $
LLC Light, 5689845235689, 500 $

TABLE

Si una variable representa una lista de valores, y necesita mostrar la información de cada valor en forma de tabla, use la siguiente sintaxis:

%%$TABLE(Variable)$%%
TEXT
%%$ENDBLOCK$%%

Ejemplo

El ejemplo muestra cómo extraer solo los bloques necesarios del etiqueta de datos añadida en la tarea y enviar esta información al cliente en forma de tabla. La tabla se añade usando el editor de Planfix:

Order №{{Task.Number}}

%%$TABLE({{Data tag.Service}})$%%

{{Data tag.Service.Service Name}} {{Data tag.Service.Amount}}

%%$ENDBLOCK$%%

Total order amount: %%%TEXT(SUM({{Data tag.Service.Amount}});",.2f")+MULTIPLE(SUM({{Data tag.Service.Amount}}); " ruble"; " rubles")%%%


Resultado:

Order №2118

Graphic design 1 600.00
Programming 3 000.00
Development of TA 300.00

Total order amount: 4 900.00 dollars

Ejemplo con encabezado y total

Para añadir un encabezado o una fila de totales a la tabla, use los siguientes parámetros en la sintaxis:

%%$TABLE(Variable;0;0)$%%
Tabla dibujada usando el editor de Planfix
%%$ENDBLOCK$%%

Ejemplo: %%$TABLE({{Data Tag.Service}};1;1)$%%

# Name Price
{{Data tag.Service.Record Number}} {{Data tag.Service.Service Name}} {{Data tag.Service.Amount}}
Total %%%SUM({{Data tag.Service.Amount}})%%%

%%$ENDBLOCK$%%


Resultado:

# Name Price
1 Development of TA 1 000.00
2 Programming 3 705.00
3 Graphic design 1 035.00
4 Testing 690.00
Total 6430

Los números resaltados en rojo indican cuántas filas usar en el encabezado y en los totales.

Por ejemplo, los números (1;1) en el ejemplo anterior significan que se usará una fila al principio para el encabezado de la tabla y una fila al final para los totales.

Para usar dos filas en el encabezado de la tabla, especifíquelo así — (2;1).

Ejemplo: %%$TABLE({{Data tag .Service}};2;1)$%%

Set of services
# Name Price
{{Data tag.Service.Record Number}} {{Data tag.Service.Service Name}} {{Data tag.Service.Amount}}
Total %%%SUM({{Data tag.Service.Amount}})%%%

%%$ENDBLOCK$%%


Resultado:

Set of services
# Name Price
1 Development of TA 1 000.00
2 Programming 3 705.00
3 Graphic design 1 035.00
4 Testing 690.00
Total 6430

Ejemplo con condición

%%$TABLE(Variable;0;0;Condition_WITHOUT_If)$%%
Table drawn using the Planfix editor
%%$ENDBLOCK$%%


%%$TABLE({{Task.Subtasks}};1;0;{{Task.Subtasks.Status}}="TKP added to calculation")$%%

Counterparty TIN Contract amount
{{Task.Subtasks.Counterparty}} {{Task.Subtasks.Counterparty.TIN}} {{Task.Subtasks."Contract Amount"}}{{Task.Subtasks.Currency.Symbol}}

%%$ENDBLOCK$%%


Resultado:

Counterparty TIN Contract amount
LLC Sunrise 5689845987654 1500$
LLC Sunset 5689845125699 1700$
LLC Dawn 5689845589674 2500$
LLC Light 5689845235689 500$


Para añadir un encabezado a la tabla, haga clic derecho en ella y seleccione Row - Insert Row Above:

Pvy4PR.jpg

FOREACH y TABLE con infoblocks

Al analizar un correo o al responder a una solicitud HTTP, se reciben varias líneas de datos y se desea agregarlas en forma de texto estructurado o una tabla:

  • Extraiga los datos a infoblocks:
    • from JSON
    • from HTML table
  • Luego use la siguiente sintaxis:

%%$FOREACH({{Infoblock.!row}};Separator)$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%

%%$TABLE({{Infoblock.!row}})$%%
{{Infoblock.!row.Infoblock name}}
%%$ENDBLOCK$%%


Ejemplo

Extraigamos datos a los infoblocks "Product" y "Price" y añadámoslos a la tabla:

%%$TABLE({{Infoblock.!row}})$%%

{{Infoblock.!string.Product}} {{Infoblock.!string.Price}}

%%$ENDBLOCK$%%


Resultado:

Pencil 1,00
Pen 2,00
Notebook 10,00


Ir a