Skip to content

Мәтіндегі айнымалылар

Бұл көмек мақаласы құжат үлгілеріне қолданылмайды. Құжат үлгілерінде айнымалыларды қалай қолдануды мына жерден оқыңыз here.

Навигация

Айнымалылар сан, жол немесе басқа деректер түріндегі мәнді сақтайды. Айнымалылар келесі жерлерде қолданылады:

  • Тапсырма атауы (тапсырма үлгісінде немесе тапсырма жасағанда)
  • Тапсырма сипаттамасы (тапсырма үлгісінде немесе тапсырма жасағанда)
  • Электрондық пошта үлгілері
  • Скрипт әрекеттері, батырмалар, кіріс вебхуктары, тапсырмаларға арналған email ережелері:
    • Send HTTP request
    • Send SMS
    • Write to WhatsApp
    • Write to Instagram
  • Бөлшектеп енгізу әрекеттері, скрипттер, батырмалар, кіріс вебхуктары, тапсырмаларға арналған email ережелері:
    • Change name
    • Change description
    • Add comment
    • Set field value (for "Text" fields)


Айнымалыны мәтінге қосу үшін, мысалы, тапсырма сипаттамасында, "different variables" сілтемесіне (1) басып, айнымалыны құрып, оны тапсырма үлгісіндегі қажетті өрістің мәтініне қосыңыз (2):

vBmUi1.jpg

Calculations with Variables

Кейде айнымалы мәнін мәтінге қою жеткіліксіз болып, сол мәндермен есептеулер жүргізу немесе шыққан жолды өңдеу қажет болады. Ондай әрекеттер үшін келесі синтаксисті пайдаланыңыз:

%%%FORMULA TEXT%%%

Мысалдар

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")%%%

Маңызды

  • Формула мәтіні бір қатарға жазылуы тиіс және үзілуге (Enter пернесін басып келесі қатарға бөлінуге) болмайды.
  • Формуладағы айнымалыларға форматтау қолдануға болмайды, мысалы, оны қалың немесе қисық етіп өзгертуге болмайды.
  • Егер формула нәтижесін қалың етіп көрсету қажет болса, нәтижесі бар толық формулаға форматтауды қолданыңыз.

IF

Айнымалылардың мәндеріне (шарттарға) байланысты мәтінді енгізу үшін келесі синтаксисті пайдаланыңыз:

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

Мысал

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


Нәтиже:

VIP CUSTOMER

ELSE

ELSE тек IF-пен бірге қолданылады. IF шартын орындамаса, блоктың ELSE бөлігіндегі мәтін көрсетіледі.

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

Мысал

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


Нәтиже:

  • Егер өріс толтырылмаса, "The field [Invoice №] is not filled in" деген хабар көрсетіледі.
  • Егер өріс толтырылған болса, "The required task field is filled in! :)" деген хабар көрсетіледі.

ELSEIF

Күрделі шарттық өрнектер жасауға көмектеседі:

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


Ескерту

  • Соңғы ELSE блогы міндетті емес.

Мысал

%%$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$%%


Нәтиже:

  • Егер үш өрістің бәрі де толтырылмаған болса, тек бірінші хабар "The field [Invoice Number] is not filled in" көрсетіледі, қалғандары өткізіледі.
  • Егер "Invoice Number" пен "UPD Number" өрістері толтырылса, бірақ "Contract Number" толтырылмаса, онда сәйкес хабар "The field [Contract Number] is not filled in" көрсетіледі.

FOREACH

Айнымалы мәндер тізімін көрсетсе, мысалы {{Task.Subtasks}} немесе {{Task.Assignee}}, және әр мән бойынша ақпарат көрсету қажет болса, келесі синтаксисті пайдаланыңыз:

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


Маңызды: өрнектің осы бөлігінде — %%$FOREACH(Variable;Delimiter)$%% — бірінші деңгейдегі айнымалыны міндетті түрде көрсетіңіз, яғни {{Task.Subtasks}} немесе {{Task.Assignee}}, және басқа ештеңе көрсетпеңіз.

Мысал

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


Нәтиже:

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


Нәтиже:

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

Шартпен мысал

Синтаксис:

%%$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$%%


Нәтиже

Барлық қарсы тараптар тізімінен тек келісім сомасы 1000-нан көп болатындары көрсетіледі:

LLC Sunrise, 1500

LLC Sunset, 1700

LLC Dawn, 2500

FOREACH ішіндегі ELSE блогы

Синтаксис:

%%$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$%%


Нәтиже:

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

TABLE

Егер айнымалы мәндер тізімін көрсетсе және әр мән бойынша ақпаратты кесте түрінде көрсету қажет болса, келесі синтаксисті пайдаланыңыз:

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

Мысал

Мысал тасымалдаушыда қосылған деректер тегінің тек қажетті блоктарын шығарып, осы ақпаратты клиентке кесте түрінде жіберуді көрсетеді. Кесте 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")%%%


Нәтиже:

Order №2118

Graphic design 1 600.00
Programming 3 000.00
Development of TA 300.00

Total order amount: 4 900.00 dollars

Тақырыпша және жалпы сомамен мысал

Кестеге тақырыпша немесе жалпы сомалар жолын қосу үшін синтаксиске келесі параметрлерді қолданыңыз:

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

Мысал: %%$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$%%


Нәтиже:

# 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

Қызылмен бөлінген сандар тақырыпша мен жалпы сомаларда қанша қатар пайдаланылатынын көрсетеді.

Мысалы, жоғарыдағы (1;1) сандары кестенің басында бір жол тақырыпшаға пайдаланылатынын және соңында бір жол жалпы сомаларға пайдаланылатынын білдіреді.

Екі қатарды тақырыпшада пайдалану үшін былай көрсетіңіз — (2;1).

Мысал: %%$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$%%


Нәтиже:

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

Шартпен мысал

%%$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$%%


Нәтиже:

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


Кестеге тақырыпша қосу үшін кестені оң жақ батырмамен басып, Row - Insert Row Above таңдаңыз:

Pvy4PR.jpg

FOREACH and TABLE with infoblocks

Электрондық хатты талдағанда немесе HTTP сұрауына жауап бергенде бірнеше жол дерек аласыз және оларды құрылымдалған мәтін немесе кесте түрінде қосқыңыз келеді:

  • Деректерді инфоблоктарға шығарыңыз:
    • from JSON
    • from HTML table
  • Содан кейін келесі синтаксисті пайдаланыңыз:

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

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


Мысал

"Product" және "Price" инфоблоктарына деректерді шығарып, оларды кестеге қосайық:

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

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

%%$ENDBLOCK$%%


Нәтиже:

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


Өту