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

Урок 71 из 463
Автор: Марина Павлова
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
2 из 5
Дата изменения: 01.06.2022
Просмотров: 38037
Недоступно в лицензиях:
Текущую редакцию Вашего 1С-Битрикс можно просмотреть на странице Обновление платформы (Marketplace > Обновление платформы).
Старт, Стандарт, Малый бизнес

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

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

Формат для печати (printable, (текст))

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

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

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

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

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

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

Помимо printable можно использовать модификатор (текст) для перевода содержимого полей, не предназначенных для печати, в текст. Примером такого поля является Телефон в сущности CRM. Формат записи: {{Телефон (текст)}}.

Пример модификации поля Телефон для вывода в комментарии в карточке Контакта

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

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

{=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С-Битрикс»
Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Нам жаль это слышать… Но мы постараемся быть лучше!

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

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