Readers: 39
Topics: 46
Вы должны зарегистрироваться/войти чтобы добавлять сообщения в эту группу.
Задача: пересчитать вычисляемое поле при обновлении связанной ноды.
Пояснение
Есть нода. Условно назовём ей «баланс» и есть ноды «списание с баланса» с указанием, с какого «баланса» списывается.
Структура
Баланс
Тип поля — computed
Имя — field_balance_balance
Computed Code:
$sql='select sum(field_deduction_summ_value) as sum from content_type_deduction where field_deduction_contract_nid = \''.$node->nid.'\''; $summ=db_result(db_query($sql)); $node_field[0]['value'] = $node->field_plan_doc_cost[0]['value'] — $summ;
Списание
Тут проще
сумма field_deduction_summ
и указание на баланс — field_deduction_contract_nid
Организация обновления
Делаем правило
создание нового документа → проверка типа «списание» → выполнить код PHP
код
$load=node_load([node:field_deduction_contract-nid]); node_save($load); drupal_set_message('Договор [node:field_deduction_contract-nid] обновлён', 'status');
Вопросы, пожелания, благодарности в камменты.