Различия
Здесь показаны различия между двумя версиями данной страницы.
— |
ru:start:template_features [2016/07/01 16:26] (текущий) admin создано |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ===== Работа с переменными ===== | ||
+ | {{ :textfield.jpg?nolink|}} | ||
+ | Почти все Задачи имеют поля, в которые можно вставить переменные. \\ Все текстовые поля, которые выглядят как картинка справа, поддерживают эту функцию. | ||
+ | Текстовое поле с зеленой иконкой предназначено для ввода [[ru:выражения на языке PHP|выражения на языке PHP]]. Выражение должно возвращать результат с помощью return. \\ | ||
+ | Эти выражения нужны для вычисления самых сложных значений. Если вы хотите просто подставить значение одного из полей, пожалуйста, используйте текстовые поля с голубой иконкой! \\ | ||
+ | Простой текст приведет к ошибкам. Если вы не знаете, что писать, то не используйте это поле! \\ | ||
+ | {{ :expressionfield.png?nolink|}} | ||
+ | |||
+ | ====== 1. Обычные переменные ====== | ||
+ | |||
+ | $fieldname | ||
+ | |||
+ | Этот способ использования переменных доступен для полей и с синей, и с зеленой иконкой. Вместо переменных будут подставлены значения соответствующих полей Записи, для которой запущен Бизнес-Процесс. Например, для Обращений есть $company, $lastname, $firstname, $modifiedby, … . Полный список возможных переменных доступен по щелчку на синей или зеленой иконке. Учтите, что переменные доступны только для чтения. | ||
+ | <WRAP center info 100%> | ||
+ | Внутри зеленых пользовательских функций можно создавать временные переменные, используя синтаксис PHP. Пользовательские переменные будут уничтожены после выполнения функции. | ||
+ | </WRAP> | ||
+ | |||
+ | ====== 2. Поля связанных записей ====== | ||
+ | |||
+ | Поля с синей иконкой Textfields: $(contact_id: (Contacts) leadsource) | ||
+ | Поля с зеленой иконкой (PHP) Textfields: $account_id->Accounts->tickersymbol | ||
+ | |||
+ | Таким образом можно получить значения полей связанных записей. Например, для записи из модуля Контакты можно использовать значения полей из связанного Контрагента. \\ | ||
+ | Это работает только если к данному модулю привязан только один объект связанного модуля (связь 1:N). Например из Контрагента нельзя получить данные Контакта, так как с одним Контрагентом может быть связано несколько Контактов. | ||
+ | Все доступные поля, в том числе и поля связанных записей, доступны с помощью голубой/зеленой иконки. Вам не нужно писать эти выражения самому! | ||
+ | |||
+ | ====== 3. Простые функции ====== | ||
+ | |||
+ | В синих текстовых полях доступны несколько функций для простых вычислений. \\ | ||
+ | |||
+ | Основные функции: \\ | ||
+ | |||
+ | **$[Now]** – вставляет текущую дату в формате (YYYY-MM-DD). В базе данных дата хранится именно в этом формате. \\ | ||
+ | **$[Now,-x]** – вставляет текущую дату -X дней в формате (YYYY-MM-DD) \\ | ||
+ | **$[Now,+x]** – вставляет текущую дату +X дней в формате (YYYY-MM-DD) \\ | ||
+ | **$[Now,0,'d.m.Y']** – вставляет текущую дату в формате (DD.MM.YYYYY) [[http://php.net/manual/de/function.date.php|Подробнее]] \\ | ||
+ | **$[Now,0,'H:i:s']** – вставляет текущее время в формате (HH:MM:SS)[[http://php.net/manual/de/function.date.php|Подробнее]] \\ | ||
+ | **В данный момент эта возможность не позволяет изменять дату в поле! Возможна лишь текущая дата.** | ||
+ | |||
+ | **$[entityname,$id]** – заменяет ID записи ее названием (Название Контрагента, Имя и Фамилия Контакта и т.п.) \\ | ||
+ | **$[dateformat,$date,“d.m.Y”]** – меняет формат вывода переменной типа datetime на DD.MM.YYYYY [[http://php.net/manual/de/function.date.php|Подробнее]] \\ | ||
+ | **$[utctz,$time]** - используйте эту функцию, когда создаете Событие и в качестве времени начала нужно использовать значение одного из полей. Это нужно, чтобы очистить время от сдвига UTC \\ | ||
+ | **$[link,$crmid]** - вставляет HTML-ссылку на Запись. В качестве текста ссылки (anchor) используются Название Записи\\ | ||
+ | **$[round,$number,$decimals]** - округлить число $number до $decimals десятичных знаков после запятой \\ | ||
+ | |||
+ | <WRAP center info 100%> | ||
+ | Следующий абзац будет вам полезен, только если у вас есть базовые навыки программирования, так как описывает использование пользовательских функций (Зеленое текстовое поле).</WRAP> | ||
+ | |||
+ | ====== 4. Вставка пользовательских функций в шаблон обычных полей ====== | ||
+ | |||
+ | Вы можете использовать функции PHP даже в простых текстовых полях (синяя иконка). | ||
+ | |||
+ | Вам лишь нужно вставить следующее: | ||
+ | |||
+ | ${ ... custom function ... return "result"; }}> | ||
+ | | ||
+ | Оператор return является обязательным условием, потому что полный блок (от “${” до “}}>” ) будет заменен тем значением, которое возвращается с его помощью. Например, это позволяет вставлять округленные общие суммы: | ||
+ | |||
+ | ${ return round($hdnGrandTotal, 2); }}> | ||
+ | | ||
+ | Можно вычислять выражения на основе дат из полей Записи: | ||
+ | |||
+ | ${ $date = strtotime($fieldname); $new_date = strtotime($date, "+1 day"); return date("Y-m-D", $new_date); }}> | ||
+ | | ||
+ | //Пожалуйста, обратите внимание, внутри пользовательских функций вы должны использовать ссылки на поля из связанных модулей в стиле PHP %%($field->module->field)%%// | ||
+ | |||
+ | |||
+ | Остальные примеры я упомяну в отдельной статье о [[ru:start:custom_functions|Пользовательских Функциях]] | ||
+ | |||
+ | ====== 5. Использование локальных переменных (Только зеленые текстовые поля и пользовательские функции) ====== | ||
+ | |||
+ | Локальные переменные могут быть использованы чтобы передавать значение из одной Задачи в другую. Они не будут очищены после того, как выполнена Задача, в которой они инициализированы и доступны до окончания выполнения всего Бизнес-Процесса. | ||
+ | |||
+ | |||
+ | Для доступа к локальным переменным используется массив **$env**. Чтобы задать значение локальной переменной variableame, вам необходимо использовать конструкцию: **$env[“variableame”] = “значение переменной”;**. Для чтения значения: … **$env[“variablename”]** … |