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

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

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

  Список модификаторов

В таблице ниже собран список всех модификаторов с кратким примером записи. Модификатор добавляется через символ > внутри фигурных скобок. Примеры использования модификаторов есть в этом уроке и в последующих.

МодификаторОписание
printable Преобразует значение в понятную пользователю строку. Подходит для данных любого типа данных.
{=Variable:Variable1 > printable}
friendly Для данных типа Пользователь. Выводит только имя и фамилию пользователя, без его ID и логина.
{=Document:CREATED_BY > friendly}
name Получает имя файла для полей типа Файл. С версии 20.100.0 модуля Бизнес-процессы.
{=Variable:File > name}
responsible Для данных типа Дата и Дата/время. Выводит дату/время в часовом поясе Ответственного.
{=Variable:Datetime > responsible}
server Для данных типа Дата и Дата/время. Выводит дату/время в часовом поясе Сервера.
{=Variable:Datetime > server}
publink Для данных типа Файл. Создаёт публичную ссылку на файл. С версии 20.0.700 модуля Бизнес-процессы.
{=Document:PROPERTY_MY_FILE > publink}
shortlink Для данных типа Файл. Создаёт короткую ссылку на файл. С версии 20.0.700 модуля Бизнес-процессы.
{=Document:PROPERTY_MY_FILE > shortlink}
src Для данных типа Файл. Создаёт прямую ссылку на файл.
Важно: использование в коробочных версиях продукта не безопасно.
{=Document:PROPERTY_MY_FILE > src}
Модификаторы для преобразования типов данных Все возможности такого преобразования смотрите в таблице преобразования типов данных.
bool Преобразует данные в bool (булевый тип).
{=Variable:Variable1 > bool}
date Преобразует данные в тип date (дата).
{=Variable:Variable1 > date}
datetime Преобразует данные в тип datetime (дата/время).
{=Variable:Variable1 > datetime}
double Преобразует данные в тип double (число).
{=Variable:Variable1 > double}
int Преобразует данные в тип int (целое число).
{=Variable:Variable1 > int}
file Преобразует данные в тип file (файл).
{=Variable:Variable1 > string}
select Преобразует данные в тип select (список).
{=Variable:Variable1 > select}
string Преобразует данные в тип string (строка).
{=Variable:Variable1 > string}
text Преобразует данные в тип text (текст).
{=Variable:Variable1 > text}
user Преобразует данные в тип user (пользователь).
{=Variable:Variable1 > user}

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

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

Начальный/конечный 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}.

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

  Примеры

printable

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

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

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

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

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

{=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} // вывод названия файла

Другие примеры



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

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

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