1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
order_props_variant.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/sale/general/order_props_variant.php");
4
6{
7 public static function GetList($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
8 {
9 global $DB;
10
11 // To call the old form
12 if (!is_array($arOrder) && !is_array($arFilter))
13 {
14 $arOrder = strval($arOrder);
15 $arFilter = strval($arFilter);
16 if ($arOrder <> '' && $arFilter <> '')
17 $arOrder = array($arOrder => $arFilter);
18 else
19 $arOrder = array();
20 if (is_array($arGroupBy))
21 $arFilter = $arGroupBy;
22 else
23 $arFilter = array();
24 $arGroupBy = false;
25 }
26
27 // FIELDS -->
29 "ID" => array("FIELD" => "PV.ID", "TYPE" => "int"),
30 "ORDER_PROPS_ID" => array("FIELD" => "PV.ORDER_PROPS_ID", "TYPE" => "int"),
31 "NAME" => array("FIELD" => "PV.NAME", "TYPE" => "string"),
32 "VALUE" => array("FIELD" => "PV.VALUE", "TYPE" => "string"),
33 "SORT" => array("FIELD" => "PV.SORT", "TYPE" => "int"),
34 "DESCRIPTION" => array("FIELD" => "PV.DESCRIPTION", "TYPE" => "string"),
35 "XML_ID" => array("FIELD" => "PV.XML_ID", "TYPE" => "string")
36 );
37 // <-- FIELDS
38
39 $arSqls = CSaleOrder::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
40
41 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "DISTINCT", $arSqls["SELECT"]);
42
43 if (is_array($arGroupBy) && count($arGroupBy)==0)
44 {
45 $strSql =
46 "SELECT ".$arSqls["SELECT"]." ".
47 "FROM b_sale_order_props_variant PV ".
48 " ".$arSqls["FROM"]." ";
49 if ($arSqls["WHERE"] <> '')
50 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
51 if ($arSqls["GROUPBY"] <> '')
52 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
53
54 //echo "!1!=".htmlspecialcharsbx($strSql)."<br>";
55
56 $dbRes = $DB->Query($strSql);
57 if ($arRes = $dbRes->Fetch())
58 return $arRes["CNT"];
59 else
60 return False;
61 }
62
63 $strSql =
64 "SELECT ".$arSqls["SELECT"]." ".
65 "FROM b_sale_order_props_variant PV ".
66 " ".$arSqls["FROM"]." ";
67 if ($arSqls["WHERE"] <> '')
68 $strSql .= "WHERE ".$arSqls["WHERE"]." ";
69 if ($arSqls["GROUPBY"] <> '')
70 $strSql .= "GROUP BY ".$arSqls["GROUPBY"]." ";
71 if ($arSqls["ORDERBY"] <> '')
72 $strSql .= "ORDER BY ".$arSqls["ORDERBY"]." ";
73
74 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])<=0)
75 {
76 $strSql_tmp =
77 "SELECT COUNT('x') as CNT ".
78 "FROM b_sale_order_props_variant PV ".
79 " ".$arSqls["FROM"]." ";
80 if ($arSqls["WHERE"] <> '')
81 $strSql_tmp .= "WHERE ".$arSqls["WHERE"]." ";
82 if ($arSqls["GROUPBY"] <> '')
83 $strSql_tmp .= "GROUP BY ".$arSqls["GROUPBY"]." ";
84
85 //echo "!2.1!=".htmlspecialcharsbx($strSql_tmp)."<br>";
86
87 $dbRes = $DB->Query($strSql_tmp);
88 $cnt = 0;
89 if ($arSqls["GROUPBY"] == '')
90 {
91 if ($arRes = $dbRes->Fetch())
92 $cnt = $arRes["CNT"];
93 }
94 else
95 {
96 // FOR MYSQL!!! ANOTHER CODE FOR ORACLE
97 $cnt = $dbRes->SelectedRowsCount();
98 }
99
100 $dbRes = new CDBResult();
101
102 //echo "!2.2!=".htmlspecialcharsbx($strSql)."<br>";
103
104 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
105 }
106 else
107 {
108 if (is_array($arNavStartParams) && intval($arNavStartParams["nTopCount"])>0)
109 $strSql .= "LIMIT ".intval($arNavStartParams["nTopCount"]);
110
111 //echo "!3!=".htmlspecialcharsbx($strSql)."<br>";
112
113 $dbRes = $DB->Query($strSql);
114 }
115
116 return $dbRes;
117 }
118
119 public static function Add($arFields)
120 {
121 global $DB;
122
124 return false;
125
126 $arInsert = $DB->PrepareInsert("b_sale_order_props_variant", $arFields);
127
128 $strSql =
129 "INSERT INTO b_sale_order_props_variant(".$arInsert[0].") ".
130 "VALUES(".$arInsert[1].")";
131 $DB->Query($strSql);
132
133 $ID = intval($DB->LastID());
134
135 return $ID;
136 }
137}
static PrepareSql(&$arFields, $arOrder, &$arFilter, $arGroupBy, $arSelectFields, $obUserFieldsSql=false, $callback=false, $arOptions=array())
Определения order.php:1070
static CheckFields($ACTION, &$arFields, $ID=0)
Определения order_props_variant.php:36
static Add($arFields)
Определения order_props_variant.php:119
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения order_props_variant.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