====== Пользовательские функции ====== **Важно** \\ Эта страница описывает свойство, которое требует навыков в разработке PHP\\ Если вы используете это свойство неверно, то можете сломать весь Бизнес-Процесс! Множество Задач в Дизайнере Бизнес-Процессов могут использовать пользовательские функции. \\ Вы можете узнать опцию для использования этой функции по зеленой границе вокруг текстового поля и специальной иконке () рядом с текстовым полем. \\ Почти все такие поля имеют специальные подсказки о наличии этой функции (например о том, какое значение вы должны вернуть). \\ Эти скрипты являют собой стандартные PHP-скрипты с ограниченным количеством функций. Все возможные PHP-функции имеют те же самые аргументы, что и оригинальные PHP-функции. **Каждая пользовательская функция должна возвращать значение с объявлением “return”** Вы можете использовать следующие PHP-функции: * md5, rand, implode, substr, explode, microtime, date, time, sha1, hash, intval, floatval, floor, ceil, foreach * а также все функции, которые начинаются с “str” (такие как strpos, str_pad, str_replace, и др.) ==== Дополнительные функции ==== Существуют несколько специальных функций, которые вы можете использовать, чтобы заставить vTiger сгенерировать специальные связанные задачи. \\ Так же вы можете создать свои собственные функции. \\ [[ru:start:api_documentation|Документация доступна здесь]] === Примеры пользовательских функций === Эти примеры написаны только для демонстрации функций, если вы можете - напишите лучше. $var1 = "864"."0"; $var1 = $var1.(0 + intval($vtiger_purchaseorder)).intval($vtiger_purchaseorder); $var2 = 1 + (2 * 5) - 8; $var1 = substr($var1, 0, 5); if($vtiger_purchaseorder == "1") { $add = intval($var1) * $var2; return time() + $add; } else { $add = intval($var1) * intval($vtiger_purchaseorder); return time() + $add; } Эта функция может быть использована, чтобы задержать выполнение задания на день или несколько дней в поле заказа на покупку в счете. **Здесь вы можете видеть единственный недостаток данного решения:** Если вы захотите использовать математические операции, то должны будете воспользоваться круглыми скобками, чтобы получить корректный результат, поскольку система игнорирует основные математические правила. === Другие примеры === Подождать до того же числа следующего месяца return date("Y-m-d", strtotime("+1 month")); Подождать 5 дней $days = 5; $date = strtotime($datefield); return date("Y-m-d", $date + (86400 * $days))