1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
vat.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/catalog/general/vat.php");
4
6{
7 public static function GetListEx($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
8 {
9 global $DB;
10
11 if (empty($arSelectFields) || !is_array($arSelectFields))
12 {
13 $arSelectFields = [
14 'ID',
15 'TIMESTAMP_X',
16 'ACTIVE',
17 'C_SORT',
18 'NAME',
19 'RATE',
20 'EXCLUDE_VAT',
21 'XML_ID',
22 ];
23 }
24
25 $arFields = [
26 'ID' => ["FIELD" => "CV.ID", "TYPE" => "int"],
27 'TIMESTAMP_X' => ["FIELD" => "CV.TIMESTAMP_X", "TYPE" => "datetime"],
28 'ACTIVE' => ["FIELD" => "CV.ACTIVE", "TYPE" => "char"],
29 'C_SORT' => ["FIELD" => "CV.C_SORT", "TYPE" => "int"],
30 'SORT' => ["FIELD" => "CV.C_SORT", "TYPE" => "int"],
31 'NAME' => ["FIELD" => "CV.NAME", "TYPE" => "string"],
32 'RATE' => ["FIELD" => "CV.RATE", "TYPE" => "double"],
33 'EXCLUDE_VAT' => ["FIELD" => "CV.EXCLUDE_VAT", "TYPE" => "char"],
34 'XML_ID' => ["FIELD" => "CV.XML_ID", "TYPE" => "string"],
35 ];
36
37 $arSqls = CCatalog::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
38
39 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
40
41 if (empty($arGroupBy) && is_array($arGroupBy))
42 {
43 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_vat CV ".$arSqls["FROM"];
44 if (!empty($arSqls["WHERE"]))
45 $strSql .= " WHERE ".$arSqls["WHERE"];
46 if (!empty($arSqls["GROUPBY"]))
47 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
48
49 $dbRes = $DB->Query($strSql);
50 if ($arRes = $dbRes->Fetch())
51 return $arRes["CNT"];
52 else
53 return false;
54 }
55
56 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_vat CV ".$arSqls["FROM"];
57 if (!empty($arSqls["WHERE"]))
58 $strSql .= " WHERE ".$arSqls["WHERE"];
59 if (!empty($arSqls["GROUPBY"]))
60 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
61 if (!empty($arSqls["ORDERBY"]))
62 $strSql .= " ORDER BY ".$arSqls["ORDERBY"];
63
64 $intTopCount = 0;
65 $boolNavStartParams = (!empty($arNavStartParams) && is_array($arNavStartParams));
66 if ($boolNavStartParams && array_key_exists('nTopCount', $arNavStartParams))
67 {
68 $intTopCount = intval($arNavStartParams["nTopCount"]);
69 }
70 if ($boolNavStartParams && 0 >= $intTopCount)
71 {
72 $strSql_tmp = "SELECT COUNT('x') as CNT FROM b_catalog_vat CV ".$arSqls["FROM"];
73 if (!empty($arSqls["WHERE"]))
74 $strSql_tmp .= " WHERE ".$arSqls["WHERE"];
75 if (!empty($arSqls["GROUPBY"]))
76 $strSql_tmp .= " GROUP BY ".$arSqls["GROUPBY"];
77
78 $dbRes = $DB->Query($strSql_tmp);
79 $cnt = 0;
80 if (empty($arSqls["GROUPBY"]))
81 {
82 if ($arRes = $dbRes->Fetch())
83 $cnt = $arRes["CNT"];
84 }
85 else
86 {
87 $cnt = $dbRes->SelectedRowsCount();
88 }
89
90 $dbRes = new CDBResult();
91
92 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
93 }
94 else
95 {
96 if ($boolNavStartParams && 0 < $intTopCount)
97 {
98 $strSql .= " LIMIT ".$intTopCount;
99 }
100 $dbRes = $DB->Query($strSql);
101 }
102
103 return $dbRes;
104 }
105}
static PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
Определения catalog.php:389
Определения vat.php:8
Определения vat.php:6
static GetListEx($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения vat.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
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
$arRes
Определения options.php:104
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168