amocrm icon indicating copy to clipboard operation
amocrm copied to clipboard

Проблемы с обновлением сделки

Open drillcoder opened this issue 8 years ago • 5 comments

При обновлении полей в сделки, если не заданы поля "имя сделки" и "статус" то значения из низ пропадают(( В коде так и не нашёл причины подобного поведения, если в ручную делать запрос без обёртки всё ок, обновляются только те поля которые были указаны, остальные остаются неизменными.

drillcoder avatar Jul 01 '16 14:07 drillcoder

request.php

перед $this->params = $params; добавить

foreach ($params as $key => $value) {
            if (empty($value)) {
                unset($params->$key);
            }
        }

stepkagr avatar Oct 01 '16 16:10 stepkagr

А в каком месте именно добавлять? Там есть такая строка в конструкторе и есть в private function createPostRequest.

s-belichenko avatar Oct 27 '16 08:10 s-belichenko

В конструкторе

stepkagr avatar Oct 27 '16 08:10 stepkagr

Проверил - в итоге при создании сделки там же в конструкторе пустой id пока что, и в итоге этот код его удаляет, в итоге в createPostRequest в строке $id = $this->params[0]->id; не находится id и происходит ошибка.

s-belichenko avatar Nov 08 '16 12:11 s-belichenko

предложенный выше код идеологически верный, но требует два уточнения:

  1. не на empty() проверять, а на ==NULL
  2. проверять, что вызов идёт на обновление, а не добавление.

dmitry4m avatar Dec 18 '16 15:12 dmitry4m