добрый день, а для REST работает сложная логика? что то пробую не выходит каменный цветок
09.07.2020 09:01:36
всю голову сломал какой ответ правильный
а от него может зависеть мой результат |
|
|
11.03.2019 13:02:39
1) Что у вас в элементе записано? Потому как в таблице я вижу и правильные значения "970000|RUB" и неправильные "950000".
это потому-что данные перенесли из числового поля не учли валюту, но поля с правильным занесением то же не фильтруются, попробую |
|
|
11.03.2019 09:51:18
прикладываю весь скрипт для полной картины для полной картины
<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/bitrix/modules/main/include/prolog_before.php"); CModule::IncludeModule("crm"); if (strripos ($_SERVER['HTTP_REFERER'], 'crm.ucre.ru')!==false){ $params = unserialize($_POST['params']); $type_s =array( "1" =>"комната", "2" => "квартира", "3" => "дом", "4" => "таунхаус", "5" => "дача", "6" => "участок", "7" => "коммерческий", ); //Фильтр по уже имеющимся в потенциальных $rsPotentials = $DB->Query("sel ect buy_deal_id fr om b_crm_potential_deals where sell_deal_id=".$_POST['deal_id']); $arrayPotentials = array(); while ($aPotentials = $rsPotentials->Fetch()){ $arrayPotentials[] = $aPotentials['buy_deal_id']; } //Фильтр по рынку поиска $market = ""; if ($params['MARKET'] == "вторичка") $market = array(827); if ($params['MARKET'] == "первичка") $market = array(828); //Фильтр по типу недвижимости switch ($params['TYPE']){ case "комната": $type = 1; break; case "квартира": $type = 2; break; case "дом": $type = 3; break; case "таунхаус": $type = 4; break; case "дача": $type = 5; break; case "участок": $type = 6; break; case "коммерческий": $type = 7; break; default: $type = ""; break; } $BigPrice = number_format($params['PRICE'],0,".",""); $arFilter = array( // "!ID" => $arrayPotentials, "CATEGORY_ID" => 2, array('LOGIC' => 'OR', array("=STAGE_ID" => "C2:4") ,array("=STAGE_ID" => "C2:new") ,array("=STAGE_ID" => "C2:details"),array("=STAGE_ID" => "C2:PROPOSAL")), "UF_CRM_58CFC7CDAAB96" =>$type, // 'UF_CRM_1543924186' =>number_format($params['PRICE'],0,".",""), ">=UF_CRM_1543924186" =>$BigPrice, "<=UF_CRM_1543925034" =>$BigPrice, "<=UF_CRM_58958B529E628" =>$params['ROOMS'], //"<=UF_CRM_58958B52F2BAC" =>$params['KITCHEN_AREA'], ); //Фильтр по исключению этажей $arFilter[] = array('LOGIC' => 'OR',array('UF_CRM_1506501917' => 0),array('<=UF_CRM_1506501917' => $params['FLOOR'])); //Поле "Этаж от" в заявке на покупку равно 0 или меньше или равно этажу $arFilter[] = array('LOGIC' => 'OR',array('UF_CRM_1506501950' => 0),array('>=UF_CRM_1506501950' => $params['FLOOR'])); //Поле "Этаж до" в заявке на покупку равно 0 или больше или равно этажу //Фильтр по этажам не последний if ($params['FLOOR'] == $params['FLOORS']) $arFilter['UF_CRM_1502433005'] = 0;//не последний //Фильтр по цене // $BigPrice = number_format($params['PRICE'],0,".",""); // if ($params['PRICE'] > $BigPrice) $market = array(827); $BigPrice = number_format(['UF_CRM_1543924186'],0,".",""); // $arFilter[] = array($BigPrice => 2450000); //price //Фильтр по участку if ($params['TYPE'] == 'комната') $arFilter['<=UF_CRM_58958B52BA439'] = $params['ROOM_AREA']; elseif ($params['TYPE'] == 'участок') $arFilter['<=UF_CRM_58958B52BA439'] = $params['PLOT_AREA']; else $arFilter['<=UF_CRM_58958B52BA439'] = $params['TOTAL_AREA']; // print_r($params); print_r($arFilter); $rsDeal = CCrmDeal::GetList( array("UF_CRM_1543924186" => "ABC"), $arFilter, array("ID", "TITLE", "STAGE_ID", "ASSIGNED_BY_ID", "UF_CRM_5895BC940ED3F", "UF_CRM_58CFC7CDAAB96", "UF_CRM_1543924186", "UF_CRM_1543925034", "UF_CRM_58958B529E628", "UF_CRM_58958B52BA439", "UF_CRM_58958B52F2BAC", "UF_CRM_58958B51B667E", "UF_CRM_1502432955", "UF_CRM_1502433005") ); $count = $rsDeal->SelectedRowsCount(); //$str = $mainDeal['UF_CRM_1543924186']; // обрезаем поле //print_r(explode('|', $str, -1)); //Запись результатов вызова инструмента в таблицу для отчета $DB->PrepareFields("b_crm_relevant_search"); $arFields = array( "deal_id" => $_POST['deal_id'], "user_id" => $USER->GetID(), "search_date" => $DB->GetNowFunction(), "result_count" => $count, "search_params" => "'".$_POST['params']."'" ); $DB->StartTransaction(); $ID = $DB->Insert("b_crm_relevant_search", $arFields, $err_mess.__LINE__); if (strlen($strError)<=0){ $DB->Commit(); }else { $DB->Rollback(); echo "Ошибка записи результатов поиска, сообщите одминистратору системы!<br>"; } //-----------------------------------------------------------// $currentUserCount = $DB->Query("sel ect * fr om b_crm_relevant_search where deal_id=".$_POST['deal_id']." AND user_id=".$USER->GetID())->SelectedRowsCount(); $allUsersCount = $DB->Query("select * fr om b_crm_relevant_search wh ere deal_id=".$_POST['deal_id'])->SelectedRowsCount(); //Вывод статистики использования инструмента echo "Запрос по встречным заявкам текущий пользователь произвел ".$currentUserCount." раз. Всего запросов по заявке ".$allUsersCount."<br><br>"; $rows = 20; $pages = ($count % $rows)?intval($count/$rows)+1:$count/$rows; if ($count == 0) echo "<h2>По заданным параметрам ничего не найдено!</h2>"; for ($i=1;$i<=$pages;$i++){//Цикл по страницам ?> <div class="page<?=($i == 1)?" active":""?>" id="page<?=$i?>"> <table bgcolor="#FFFACD"> <tr bgcolor="#FFFACD"> <th>id</th> <th width="30%">Название заявки</th> <th>Рынок поиска</th> <th>Тип объекта</th> <th width="8%">Цена от</th> <th width="8%">Цена до</th> <th>N<sub>комнат</sub> от</th> <th>S<sub>общая</sub> от</th> <th>S<sub>кухни</sub> от</th> <th>Не первый</th> <th>Не последний</th> <th width="15%">Ответственный</th> </tr> <? for ($j=1;$j<=$rows;$j++){ if ($mainDeal = $rsDeal->Fetch()){ $assigned_user = CUser::GetByID($mainDeal['ASSIGNED_BY_ID'])->Fetch(); $marketS = array(); foreach ($mainDeal['UF_CRM_5895BC940ED3F'] as $mark){ if ($mark == 827) $marketS[] = "В"; if ($mark == 828) $marketS[] = "П"; } //$BigPrice = number_format($mainDeal['UF_CRM_1543924186'],0,".",""); //print_r($BigPrice); ?> <tr bgcolor="#FFFACD"> <td><?=$mainDeal['ID']?><?=$arResult['ID']?></td> <td style="text-align: left; padding-left: 5px;"><a href="/crm/deal/show/<?=$mainDeal['ID']?>/" title="Рисунки различных животных и не только...<?=$mainDeal['UF_CRM_58958B52F2BAC']?> давайте рассмотрим все<br><br> и более" target="_blank"><?=$mainDeal['TITLE']?><?=$mainDeal['STAGE_ID']?></a></td> <td ><?=implode(",", $marketS)?></td> <td><?=$type_s[$mainDeal['UF_CRM_58CFC7CDAAB96']]?></td> <td><?=($mainDeal['UF_CRM_1543925034'])?number_format($mainDeal['UF_CRM_1543925034'],0,"."," "):"Сумма не указана"?></td> <td><?=($mainDeal['UF_CRM_1543924186'])?$mainDeal['UF_CRM_1543924186']:"Сумма не указана"?></td> <td><?=$mainDeal['UF_CRM_58958B529E628']?></td> <td><?=$mainDeal['UF_CRM_58958B52BA439']?></td> <td><?=$mainDeal['UF_CRM_58958B52F2BAC']?></td> <td><?=($mainDeal["UF_CRM_1502432955"])?"Х":""?></td> <td><?=($mainDeal["UF_CRM_1502433005"])?"Х":""?></td> <td><a href="/company/personal/user/<?=$assigned_user['ID']?>/" target="_blank" title="<?=$assigned_user['PERSONAL_PHONE']?>" ><?=$assigned_user['LAST_NAME']." ".$assigned_user['NAME']?></a></td> </tr> <? } } ?> <tr><td></td><td colspan="8" style="text-align: left; padding-left: 5px;">Всего: <?=$count?></td></tr> </table> </div> <? } ?> <div class="pages"> <center> <? for ($i=1;$i<=$pages;$i++){//Цикл по страницам для номеров страниц echo "<span class='pages".(($i == 1)?" active":"")."' oncl ick='set_active(this)'>".$i."</span> "; } ?> </center> </div> <? } else{ echo "<center><img style='margin: 0 auto;' src=' } ?> |
|
|