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

data_update({$subtable.table}, {if $operand}EVENTS_ENABLE, {/if}
    ['{$subtable.field}' => $line['{$cur_field}']{if $cur_field_type == 5}['raw']{/if}], 
    'status = 0 AND ({$subtable.link_field_id} = ' . $ID . ' OR {$subtable.link_field_id} LIKE "%-' . $ID . '-%")'
);
{if $cur_field_type == 6 || $cur_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({$subtable.table}, 'id', 'status = 0 AND ({$subtable.link_field_id} = ' . $ID . ' OR {$subtable.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({$subtable.field|replace:'f':''}, $row['id'], $fname, $curFilesObject->getContent($fname));
    }
}
{/if}