1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
order_user_props.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/general/order_user_props.php");
4
6{
7 public static function GetList($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
8 {
9 global $DB;
10
11 if (!is_array($arOrder) && !is_array($arFilter))
12 {
13 $arOrder = strval($arOrder);
14 $arFilter = strval($arFilter);
15 if ($arOrder <> '' && $arFilter <> '')
16 $arOrder = array($arOrder => $arFilter);
17 else
18 $arOrder = array();
19 if (is_array($arGroupBy))
20 $arFilter = $arGroupBy;
21 else
22 $arFilter = array();
23 $arGroupBy = false;
24 }
25
26 if (count($arSelectFields) <= 0)
27 $arSelectFields = array("ID", "NAME", "USER_ID", "PERSON_TYPE_ID", "DATE_UPDATE");
28
29 // FIELDS -->
31 "ID" => array("FIELD" => "P.ID", "TYPE" => "int"),
32 "NAME" => array("FIELD" => "P.NAME", "TYPE" => "string"),
33 "USER_ID" => array("FIELD" => "P.USER_ID", "TYPE" => "int"),
34 "PERSON_TYPE_ID" => array("FIELD" => "P.PERSON_TYPE_ID", "TYPE" => "int"),
35 "DATE_UPDATE" => array("FIELD" => "P.DATE_UPDATE", "TYPE" => "datetime"),
36 "FORMAT_DATE_UPDATE" => array("FIELD" => "P.DATE_UPDATE", "TYPE" => "datetime"),
37 "DATE_UPDATE_FORMAT" => array("FIELD" => "P.DATE_UPDATE", "TYPE" => "datetime"),
38 "XML_ID" => array("FIELD" => "P.XML_ID", "TYPE" => "string"),
39 "VERSION_1C" => array("FIELD" => "P.VERSION_1C", "TYPE" => "string"),
40 );
41 // <-- FIELDS
42
43 $arSqls = CSaleOrder::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
44
45 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "DISTINCT", $arSqls["SELECT"]);
46
47 $dateTimeFields = array("DATE_UPDATE", "FORMAT_DATE_UPDATE", "DATE_UPDATE_FORMAT");
48 foreach ($arOrder as $orderValue => $by)
49 {
50 if (in_array($orderValue, $dateTimeFields))
51 $arSqls["SELECT"] .= ", P.".$orderValue." ".$orderValue."_RAW";
52 }
53
54 if (is_array($arGroupBy) && count($arGroupBy)==0)
55 {
56 $strSql =
57 "SELECT ".$arSqls["SELECT"]." ".
58 "FROM b_sale_user_props P ".
59 " ".$arSqls["FROM"]." ";
60 if ($arSqls["WHERE"] <> '')
61 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
62 if ($arSqls["GROUPBY"] <> '')
63 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
64
65 //echo "!1!=".htmlspecialcharsbx($strSql)."<br>";
66
67 $dbRes = $DB->Query($strSql);
68 if ($arRes = $dbRes->Fetch())
69 return $arRes["CNT"];
70 else
71 return False;
72 }
73
74 $strSql =
75 "SELECT ".$arSqls["SELECT"]." ".
76 "FROM b_sale_user_props P ".
77 " ".$arSqls["FROM"]." ";
78 if ($arSqls["WHERE"] <> '')
79 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
80 if ($arSqls["GROUPBY"] <> '')
81 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
82 if ($arSqls["ORDERBY"] <> '')
83 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
84
85 if (!empty($arNavStartParams) && is_array($arNavStartParams) && (int)($arNavStartParams["nTopCount"] ?? 0) <= 0)
86 {
87 $strSql_tmp =
88 "SELECT COUNT('x') as CNT ".
89 "FROM b_sale_user_props P ".
90 " ".$arSqls["FROM"]." ";
91 if ($arSqls["WHERE"] <> '')
92 $strSql_tmp .= "WHERE ".$arSqls["WHERE"]." ";
93 if ($arSqls["GROUPBY"] <> '')
94 $strSql_tmp .= "GROUP BY ".$arSqls["GROUPBY"]." ";
95
96 //echo "!2.1!=".htmlspecialcharsbx($strSql_tmp)."<br>";
97
98 $dbRes = $DB->Query($strSql_tmp);
99 $cnt = 0;
100 if ($arSqls["GROUPBY"] == '')
101 {
102 if ($arRes = $dbRes->Fetch())
103 $cnt = $arRes["CNT"];
104 }
105 else
106 {
107 // FOR MYSQL!!! ANOTHER CODE FOR ORACLE
108 $cnt = $dbRes->SelectedRowsCount();
109 }
110
111 $dbRes = new CDBResult();
112
113 //echo "!2.2!=".htmlspecialcharsbx($strSql)."<br>";
114
115 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
116 }
117 else
118 {
119 if (!empty($arNavStartParams) && is_array($arNavStartParams) && (int)($arNavStartParams["nTopCount"] ?? 0) > 0)
120 {
121 $strSql .= "LIMIT " . (int)($arNavStartParams["nTopCount"] ?? 0);
122 }
123
124 //echo "!3!=".htmlspecialcharsbx($strSql)."<br>";
125
126 $dbRes = $DB->Query($strSql);
127 }
128
129 return $dbRes;
130 }
131
132 public static function Add($arFields)
133 {
134 global $DB;
135
137 return false;
138
139 $arInsert = $DB->PrepareInsert("b_sale_user_props", $arFields);
140
141 $strSql =
142 "INSERT INTO b_sale_user_props(".$arInsert[0].", DATE_UPDATE) ".
143 "VALUES(".$arInsert[1].", ".$DB->GetNowFunction().")";
144 $DB->Query($strSql);
145
146 $ID = intval($DB->LastID());
147
148 return $ID;
149 }
150}
static PrepareSql(&$arFields, $arOrder, &$arFilter, $arGroupBy, $arSelectFields, $obUserFieldsSql=false, $callback=false, $arOptions=array())
Определения order.php:1070
static CheckFields($ACTION, &$arFields, $ID=0)
Определения order_user_props.php:269
static Add($arFields)
Определения order_user_props.php:132
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения order_user_props.php:7
$arFields
Определения dblapprove.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
if($ajaxMode) $ID
Определения get_user.php:27
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936
$arRes
Определения options.php:104
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168