amocrm
amocrm copied to clipboard
Проблемы с обновлением сделки
При обновлении полей в сделки, если не заданы поля "имя сделки" и "статус" то значения из низ пропадают(( В коде так и не нашёл причины подобного поведения, если в ручную делать запрос без обёртки всё ок, обновляются только те поля которые были указаны, остальные остаются неизменными.
request.php
перед
$this->params = $params;
добавить
foreach ($params as $key => $value) {
if (empty($value)) {
unset($params->$key);
}
}
А в каком месте именно добавлять? Там есть такая строка в конструкторе и есть в private function createPostRequest.
В конструкторе
Проверил - в итоге при создании сделки там же в конструкторе пустой id пока что, и в итоге этот код его удаляет, в итоге в createPostRequest в строке $id = $this->params[0]->id; не находится id и происходит ошибка.
предложенный выше код идеологически верный, но требует два уточнения:
- не на empty() проверять, а на ==NULL
- проверять, что вызов идёт на обновление, а не добавление.