Vtiger обновить значение поля из соответствующего модуля - PullRequest
0 голосов
/ 05 марта 2019

У меня есть код на Save.php в инвойсе модуля:

    public function saveRecord($request) {
        ...
        $received = $request->get('received');
        $balance = $request->get('balance');

        $relProject = $request->get('relProject');
        $project = Project_Record_Model::getInstanceById($relProject);

            $fields = $project->getField('cf_938');
            $fieldInstance = Vtiger_Field::getInstance($fields->id);


            if ($fieldInstance) {
                $fieldInstance->value = $received;
                $fieldInstance->save();
            }
   }

Почему save() не работает? Когда я сохраняю Invoice, мое поле не обновляется в проекте. Мне нужно это исправить.

1 Ответ

0 голосов
/ 06 марта 2019

Для редактирования записи следует использовать объект «Модель записи», а не «Модель поля».Попробуйте что-то вроде этого:

public function saveRecord($request) {
        ...
        $received = $request->get('received');
        $balance = $request->get('balance');

        $relProject = $request->get('relProject');
        $project = Project_Record_Model::getInstanceById($relProject);

        $project->set('mode', 'edit');
        $project->set('cf_938', $received);
        $project->save();
   }
...