{*
 Шаблон вычисления "Копировать поле из текущей таблицы в связанную"
*}

if (substr($line['{$gen_field.link_field_id}']['raw'], 0, 1) == '-') { // множественное поле связи
    $link_lines = explode('-', trim($line['{$gen_field.link_field_id}']['raw'], '-'));
    foreach ($link_lines as $link_line_id) {
        data_update(42, EVENTS_ENABLE, ['{$gen_field.field}' => $line['{$cur_field}']], 'id = ', $link_line_id);
    }
} else {
    $line['{if $gen_field.check_link_field}{$gen_field.check_link_field}{else}{$gen_field.link_field_id}{/if}']['{$gen_field.field}'] = $line['{$cur_field}'];
}
{if $cur_field_type == 6 || $cur_field_type == 9}
// Копируем файлы
$fieldsRep = \CB\Data\Fields\FieldRepository::getInstance(); // Получаем объект поля
$field = $fieldsRep->get({$cur_field|replace:'f':''}); // Находим поле по 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;
}
$recordObject = $tableModels->getRecord($line['id']); // Получаем объект записи
if (!$recordObject) {
    return;
}
$curFilesObject = $recordObject->get('{$cur_field}'); // Получаем объект поля записи
if (!$curFilesObject) {
    return;
}
$files = array_filter(explode("\r\n", $line['{$cur_field}']));
foreach ($files as $fname) {
    if (substr($line['{$gen_field.link_field_id}']['raw'], 0, 1) == '-') { // множественное поле связи
        $link_lines = explode('-', trim($line['{$gen_field.link_field_id}']['raw'], '-'));
    } else {
        $link_lines = [$line['{if $gen_field.check_link_field}{$gen_field.check_link_field}{else}{$gen_field.link_field_id}{/if}']['id']];
    }
    foreach ($link_lines as $link_line_id) {
        save_data_file({$gen_field.field|replace:'f':''}, $link_line_id, $fname, $curFilesObject->getContent($fname));
    }
}
{/if}