pquery( "SELECT m.modcommentsid, m.commentcontent, m.related_to, m.channel, m.customer, m.userid, e.smownerid, e.deleted, e.setype, e.createdtime FROM vtiger_modcomments m INNER JOIN vtiger_crmentity e ON e.crmid = m.modcommentsid WHERE m.related_to = ? ORDER BY m.modcommentsid DESC LIMIT 10", array($contact_id) ); echo "Комментарии для contact_id={$contact_id}:\n"; echo str_repeat('=', 70) . "\n\n"; if ($adb->num_rows($q) === 0) { echo "❌ Записей в vtiger_modcomments для этого контакта НЕТ.\n"; exit; } $count = $adb->num_rows($q); echo "✅ Найдено записей: {$count}\n\n"; for ($i = 0; $i < $count; $i++) { echo "--- Запись #{$i} ---\n"; flush(); try { $modcommentsid = $adb->query_result($q, $i, 'modcommentsid'); echo "modcommentsid: {$modcommentsid}\n"; flush(); $deleted = $adb->query_result($q, $i, 'deleted'); echo " deleted: " . ($deleted !== false ? $deleted : 'NULL/FALSE') . "\n"; $setype = $adb->query_result($q, $i, 'setype'); echo " setype: {$setype}\n"; $channel = $adb->query_result($q, $i, 'channel'); echo " channel: " . ($channel ? $channel : 'NULL') . "\n"; $smownerid = $adb->query_result($q, $i, 'smownerid'); echo " smownerid: {$smownerid}\n"; $customer = $adb->query_result($q, $i, 'customer'); echo " customer: {$customer}\n"; $userid = $adb->query_result($q, $i, 'userid'); echo " userid: {$userid}\n"; $createdtime = $adb->query_result($q, $i, 'createdtime'); echo " createdtime: {$createdtime}\n"; $commentcontent = $adb->query_result($q, $i, 'commentcontent'); $text_preview = mb_substr($commentcontent, 0, 60, 'UTF-8'); echo " text: {$text_preview}...\n"; echo "\n"; flush(); } catch (Exception $e) { echo " ОШИБКА при чтении записи: " . $e->getMessage() . "\n\n"; flush(); } } // Проверка наличия в modcommentscf $q2 = $adb->pquery( "SELECT m.modcommentsid FROM vtiger_modcomments m LEFT JOIN vtiger_modcommentscf c ON c.modcommentsid = m.modcommentsid WHERE m.related_to = ? AND c.modcommentsid IS NULL ORDER BY m.modcommentsid DESC LIMIT 10", array($contact_id) ); $missing_count = $adb->num_rows($q2); if ($missing_count > 0) { echo str_repeat('=', 70) . "\n"; echo "⚠️ ВНИМАНИЕ: Комментарии БЕЗ строки в vtiger_modcommentscf: {$missing_count}\n"; echo "(они НЕ попадут в список, т.к. используется INNER JOIN)\n\n"; for ($i = 0; $i < $missing_count; $i++) { $mid = $adb->query_result($q2, $i, 'modcommentsid'); echo " - modcommentsid: {$mid}\n"; } } else { echo str_repeat('=', 70) . "\n"; echo "✅ Все комментарии есть в vtiger_modcommentscf.\n"; }