Специальный тип поля, позволяющий вам выполнить вычисления на лету в форме записи. В поле "PHP код" введите свой собственный код, который будет выполнятся при открытии формы. Если в коде используются значения из формы, то при изменении значения в поле ввода, код будет выполнятся повторно.

Работа со значениями

Для получения значения из формы, используйте следующую конструкцию: [id поля]. Например:  $distance = [379]; 
Для вложенной сущности, аналогичным образом можно получить значение из родительской записи.

Обратите внимание: если значения поля 379 пустое, то  $distance = 0;.

Для получения id текущей записи используйте $item_id = $_GET['item_id'];
$_POST['parent_item_id'] - id родительской записи

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

Если введен текст по умолчанию, он будет отображаться, когда ajax запрос возвращает пустой ответ.

Вывод и сохранение значения в базе

Для вывода значения используйте команду echo. Вывод может быть в произвольной форме, например echo '<b style="color:red">' . $value . '</b>';

Для сохранение значения в базе, присвойте значение в специальную переменную $form_field_value, например $form_field_value = $value; 

JavaScript

Если вам необходимо присвоить полученное значение другому полю в форме, это можно сделать с помощью JavaScript кода. Пример: 

echo '<script>$("#fields_13").val(' . $value . ')</script>';

Где 13 - id поля. $value - необходимое значение.

MySql запрос

Используя функцию db_query() вы сможете построить запрос к необходимой таблице и выбрать нужные вам значения. Например:

 $tariff_query = db_query("select field_389 from app_entity_35 where " . $distance . " BETWEEN field_387 and field_388",false);

Данные за определенную дату

Если в запросе вам необходимо выбрать данные за определенную дату, используйте функцию FROM_UNIXTIME(unix_timestamp,format) для сравнения дат, например:

$tariff_query = db_query("select field_389 from app_entity_35 where FROM_UNIXTIME(field_387,'%Y-%m-%d')= FROM_UNIXTIME([400],'%Y-%m-%d')",false);

field_387 - это поле дата в сущности где ищите
400 - это поле дата в форме

Значение из выпадающего списка

Пример запроса для получения значения из выпадающего списка:

$value = ''; //Переменная в которой будет хранится значение из списка
$choices_id = [157]; //Получаем ID выбранного элемента из списка
/*
Строим запрос для получения значения из списка к таблице app_fields_choices
Поле 157 - выпадающий список
*/
$item_query = db_query("select value from app_fields_choices where fields_id=157 and id={$choices_id}");
if($item = db_fetch_array($item_query))
{
    $value = $item['value'];
}

echo $value; 

Показать изображение

Пример вывода изображения из записи по идентификатору записи:

$item_id = [572]; //get record id

//field_571 is Image Field in Entity 49
$item_info_query = db_query("select field_571 from app_entity_49 where id='{$item_id}'");
if($item_info = db_fetch_array($item_info_query))
{
    $img = $item_info['field_571'];
  
      $file = attachments::parse_filename($img); //get attachment info
  
    //check if file exist and output image
    if(is_file($file['file_path'])) 
    {
        echo '<img src="data:image/jpeg;base64,' . base64_encode(file_get_contents($file['file_path'])) . '" width="200">';
    }
}