pquery($query, array($contact_id, $contact_id, $policy_number)); if ($adb->num_rows($result) > 0) { // Проект существует - ПРОСТО ВОЗВРАЩАЕМ ID (НЕ обновляем!) $output = $adb->query_result($result, 0, 'projectid'); $isNew = false; $logstring = date('Y-m-d H:i:s').' ✅ Проект найден с id '.$output.' (БЕЗ обновления)'.PHP_EOL; file_put_contents('logs/CreateWebProject.log', $logstring, FILE_APPEND); } else { // Проект НЕ существует - создаём новый // Формируем название проекта $projectname = 'ERV ' . $policy_number . ' цифровой адвокат'; $params = array ( 'projectname' => $projectname, 'projectstatus' => 'модерация', 'projecttype' => 'ерв урегулирование', 'linktoaccountscontacts' => '12x'.$contact_id, // Привязка к контакту 'cf_1994' => '11x67458', // Заявитель (контрагент record=67458) 'cf_1885' => $policy_number, // Номер полиса 'assigned_user_id' => vtws_getWebserviceEntityId('Users', $current_user->id) ); // Дополнительные необязательные поля if (!empty($period_start)) { $params['cf_1887'] = $period_start; // Период страхования начало } if (!empty($period_end)) { $params['cf_1889'] = $period_end; // Период страхования конец } $logstring = date('Y-m-d H:i:s').' Массив для создания Web Проекта: '.json_encode($params).PHP_EOL; file_put_contents('logs/CreateWebProject.log', $logstring, FILE_APPEND); try { $project = vtws_create('Project', $params, $current_user); $output = substr($project['id'], 3); $isNew = true; // Проект только что создан! $logstring = date('Y-m-d H:i:s').' ✅ Создан новый Web Проект с id '.$output.PHP_EOL; file_put_contents('logs/CreateWebProject.log', $logstring, FILE_APPEND); } catch (WebServiceException $ex) { ob_end_clean(); // Очищаем буфер перед exception $logstring = date('Y-m-d H:i:s').' ❌ Ошибка создания: '.$ex->getMessage().PHP_EOL; file_put_contents('logs/CreateWebProject.log', $logstring, FILE_APPEND); throw $ex; } } // Возвращаем массив с флагом is_new (vTiger сам сделает json_encode!) $result = array( 'project_id' => $output, 'is_new' => $isNew ); $logstring = date('Y-m-d H:i:s').' Return: '.json_encode($result).PHP_EOL; file_put_contents('logs/CreateWebProject.log', $logstring, FILE_APPEND); // ✅ Очищаем буфер (удаляем все warnings/notices) ob_end_clean(); return $result; // ← Массив, НЕ json_encode! }