Модификация типов данных

Урок 61 из 426
Автор: Марина Павлова
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
2 из 5
Дата изменения: 11.12.2020
Просмотров: 15319
Ограничения по редакциям: Старт, Стандарт, Малый бизнес

Указанные нами параметры, переменные шаблона или поля документа возможно модифицировать. Для этого существуют специальные модификаторы, которые преобразуют данные.

  Модификаторы

printable

Для параметров и переменных шаблона, а так же полей документа используется модификатор _printable, преобразующий значения в понятную пользователю строку.

Возьмем переменную типа пользователь. Результат, если значение переменной равно Автор:

{=Variable:user}                          author
{=Variable:user_printable}                Автор

Если для поля документа или параметра доступен такой вариант отображения, то он представлен в форме Вставка значения.

Если же печатная форма не предусмотрена, запросите вывод печатной формы от любого значения (переменная, дополнительный результат и т.п.). Например:

{=Variable:Datetime > date, printable} // перевод даты в печатную форму

Преобразование типов данных

Кроме того, доступно преобразовывать не только в печатную форму, но и менять тип данных:

{=Variable:string>date} // преобразование строки в дату 

Все возможности такого преобразования смотрите в таблице преобразования типов данных.

friendly

Для данных типа Пользователь есть возможность преобразования в формат friendly. В таком случае выводится только имя и фамилия пользователя, без его ID и логина.

Пример: {=Document:CREATED_BY} > User_1

{=Document:CREATED_BY > printable} > Иван Иванов [1]

{=Document:CREATED_BY > friendly} > Иван Иванов

name

С версии 20.100.0 модуля Бизнес-процессы добавлена возможность получить имя файла через модификатор name для полей типа Файл. Пример для переменной типа Файл:

 {=Variable:File > name} // вывод названия файла

Важно! Для версий модуля до 15.6.0 преобразование типов данных, в том числе и запрос печатной формы для значений, не имеющих таковой, возможно с помощью переменных и действия PHP-код.

Примечание: Для вставки одного и того же значения в разные действия шаблона не обязательно всегда пользоваться формой Вставка значения. Достаточно скопировать текст, вставленный с помощью этой формы, и использовать его дальше.

  Таблица преобразования типов данных


Начальный/конечный bool
(Да/Нет)
date
(Дата)
datetime
(Дата/Время)
double
(Число)
int
(Целое число)
file
(Файл)
select
(Список)
string
(Строка)
text
(Текст)
user
(Пользователь)
bool (Да/Нет) ---xx1 или 01 или 0ххY или NY или Nx
date (Дата) x---по формату timestamptimestampxxпо форматупо форматуx
datetime (Дата/Время)xпо формату ---timestamptimestampxxпо форматупо форматуx
double (Число) 0==N
!0==Y
из timestampиз timestamp---(int)xx(string)(string)user_<ID>
int (Целое число) 0==N
!0==Y
из timestampиз timestamp(float)---xx(string)(string)user_<ID>
file (Файл)xxxxx---xxxx
select (Список)Y или Nxx(float) (int)x---(string)(string) user_<ID>
group_<CODE>
<ID> 
string (Строка)Y или Nstrtotimestrtotime(float) (int)xx---(string) user_<ID>
group_<CODE>
<ID> 
text (Текст)Y или Nstrtotimestrtotime(float) (int)xx(string)--- user_<ID>
group_<CODE>
<ID> 
user (Пользователь)xxxIDIDxx(string)(string)---

Примечание: все выражения в тексте автоматически преобразуются к строке, при отсутствии дополнительных идентификаторов.

Примечание: при преобразовании типа Список в Строку или Текст берутся значения списка, при преобразовании Списка в Список - ключи списка. Для получения значения ключа списка используйте конвертирование, например: {=Variable:Select > select}.

  Решение некоторых проблем (для коробочной версии)

Если для документа было создано дополнительное поле и оно по каким-либо причинам не отображается в форме Вставка значения, то необходимо перейти к настройкам инфоблока в административной части сайта (Контент > Инфоблоки > Типы инфоблоков > [требуемый_инфоблок], закладка Свойства), и в параметрах свойств этого поля отметить опцию Выводить на странице списка элементов поле для фильтрации по этому свойству:.

Если этого не сделать, то будет невозможно использовать это свойство в бизнес-процессах.



Курсы разработаны в компании «1С-Битрикс»
Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Нам жаль это слышать… Но мы постараемся быть лучше! Поясните, пожалуйста, свой выбор:

Мы благодарны Вам за помощь в улучшении документации.

Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас