{*
 Шаблон вычисления "Обновлять поле при изменении в связанной таблице"
*}

data_update({$link_table.table}, {if !$operand}EVENTS_ENABLE, {/if}
    ['{$link_table.field}' => $line['{$cur_field}']{if $cur_field_type == 5}['raw']{/if}],
    'status = 0 AND ({$link_table.link_field_id} = ' . $ID . ' OR {$link_table.link_field_id} LIKE "%-' . $ID . '-%")'
);
{if $link_table.field_type == 6 || $link_table.field_type == 9}
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (strpos($user_agent, 'MSIE') !== false) {
    $exp = "\n\r";
} else {
    $exp = "\r\n";
}
$files = explode($exp, $line['{$cur_field}']);
$fieldId = {$cur_field|replace:'f':''};
$lineId = $line['id'];
$res = data_select_field({$link_table.table}, 'id', 'status = 0 AND ({$link_table.link_field_id} = ' . $ID . ' OR {$link_table.link_field_id} LIKE "%-' . $ID . '-%")');
while ($row = sql_fetch_assoc($res)) {
    foreach ($files as $fname) {
        if(!$fname) {
            return;
        }
        // Получаем объект поля
        $fieldsRep = \CB\Data\Fields\FieldRepository::getInstance();
        $field = $fieldsRep->get($fieldId); // Находим поле по id поля. Чтобы получить id таблицы

        if (!$field) {
            return;
        }

        $tableId = $field->get('table_id'); // Получаем ID таблицы
        $commonData = \CB\Core::get(\CB\Core::COMMON_DATA); // Получаем объект работы с данными
        $tableModels = $commonData->getTable($tableId); // Получаем объект таблицы

        if (!$tableModels) {
            return;
        }

        if (!$lineId) {
            return;
        }

        $recordObject = $tableModels->getRecord($lineId); // Получаем объект записи

        if (!$recordObject) {
            return;
        }

        $curFilesObject = $recordObject->get('f' . $fieldId); // Получаем объект поля

        if (!$curFilesObject) {
            return;
        }
        save_data_file({$link_table.field|replace:'f':''}, $row['id'], $fname, $curFilesObject->getContent($fname));
    }
}
{/if}