Теперь понял, ок. Во-первых, в данной ситуации удобнее добавить вычисление не в Договор, а в Контрагента, т.к. первичное поле связи находится в нем. Во-вторых, можно использовать вычисление и в Договоре, как это сделали вы, но там логика совершенно иная и чуть более сложная. Поэтому лучше использовать первый вариант (вычисление в таблице Контрагенты):
$line['Договор']['Компания2'] = $line['ID'] // заносим id компании (т.к. в поле связи хранится id записи) в поле "Компания2" договора через поле связи с этим договором
По второму варианту (в таблице Договора) вычисление следующее:
$contragent = data_table("Контрагенты", "`Договор`='".$line['ID']."'"); // ищем запись в контрагентах с данным договором
$line['Компания2'] = $contragent['ID']; // заносим id найденного контрагента
Кстати, нескромный вопрос: почему у вас поле связи с контрагентом в договоре зовется "Компания2"? Почему не просто "Компания"?