1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
store_barcode.php
См. документацию.
1<?php
2
3require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/catalog/general/store_barcode.php");
4
7{
8 public static function add($arFields)
9 {
10 global $DB;
11
12 foreach(GetModuleEvents("catalog", "OnBeforeCatalogStoreBarCodeAdd", true) as $arEvent)
13 if(ExecuteModuleEventEx($arEvent, array(&$arFields)) === false)
14 return false;
15
16 if(array_key_exists('DATE_CREATE', $arFields))
17 unset($arFields['DATE_CREATE']);
18 if(array_key_exists('DATE_MODIFY', $arFields))
19 unset($arFields['DATE_MODIFY']);
20
21 $arFields['~DATE_MODIFY'] = $DB->GetNowFunction();
22 $arFields['~DATE_CREATE'] = $DB->GetNowFunction();
23
24 if(!self::CheckFields('ADD',$arFields))
25 return false;
26
27 $arInsert = $DB->PrepareInsert("b_catalog_store_barcode", $arFields);
28
29 $strSql = "INSERT INTO b_catalog_store_barcode (".$arInsert[0].") VALUES(".$arInsert[1].")";
30
31 $res = $DB->Query($strSql, true);
32 if(!$res)
33 return false;
34 $lastId = intval($DB->LastID());
35
36 foreach(GetModuleEvents("catalog", "OnCatalogStoreBarCodeAdd", true) as $arEvent)
38
39 return $lastId;
40 }
41
50 public static function getList($arOrder = array(), $arFilter = array(), $arGroupBy = false, $arNavStartParams = false, $arSelectFields = array())
51 {
52 global $DB;
53 if (empty($arSelectFields))
54 $arSelectFields = array("ID", "PRODUCT_ID", "STORE_ID", "BARCODE", "ORDER_ID");
55
57 "ID" => array("FIELD" => "CB.ID", "TYPE" => "int"),
58 "PRODUCT_ID" => array("FIELD" => "CB.PRODUCT_ID", "TYPE" => "int"),
59 "STORE_ID" => array("FIELD" => "CB.STORE_ID", "TYPE" => "int"),
60 "BARCODE" => array("FIELD" => "CB.BARCODE", "TYPE" => "string"),
61 "ORDER_ID" => array("FIELD" => "CB.ORDER_ID", "TYPE" => "int"),
62 );
63 $arSqls = CCatalog::PrepareSql($arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields);
64 $arSqls["SELECT"] = str_replace("%%_DISTINCT_%%", "", $arSqls["SELECT"]);
65
66 if (empty($arGroupBy) && is_array($arGroupBy))
67 {
68 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_store_barcode CB ".$arSqls["FROM"];
69 if (!empty($arSqls["WHERE"]))
70 $strSql .= " WHERE ".$arSqls["WHERE"];
71 if (!empty($arSqls["GROUPBY"]))
72 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
73
74 $dbRes = $DB->Query($strSql);
75 if($arRes = $dbRes->Fetch())
76 return $arRes["CNT"];
77 else
78 return false;
79 }
80
81 $strSql = "SELECT ".$arSqls["SELECT"]." FROM b_catalog_store_barcode CB ".$arSqls["FROM"];
82 if (!empty($arSqls["WHERE"]))
83 $strSql .= " WHERE ".$arSqls["WHERE"];
84 if (!empty($arSqls["GROUPBY"]))
85 $strSql .= " GROUP BY ".$arSqls["GROUPBY"];
86 if (!empty($arSqls["ORDERBY"]))
87 $strSql .= " ORDER BY ".$arSqls["ORDERBY"];
88
89 $intTopCount = 0;
90 $boolNavStartParams = (!empty($arNavStartParams) && is_array($arNavStartParams));
91 if ($boolNavStartParams && array_key_exists('nTopCount', $arNavStartParams))
92 {
93 $intTopCount = intval($arNavStartParams["nTopCount"]);
94 }
95 if ($boolNavStartParams && 0 >= $intTopCount)
96 {
97 $strSql_tmp = "SELECT COUNT('x') as CNT FROM b_catalog_store_barcode CB ".$arSqls["FROM"];
98 if (!empty($arSqls["WHERE"]))
99 $strSql_tmp .= " WHERE ".$arSqls["WHERE"];
100 if (!empty($arSqls["GROUPBY"]))
101 $strSql_tmp .= " GROUP BY ".$arSqls["GROUPBY"];
102
103 $dbRes = $DB->Query($strSql_tmp);
104 $cnt = 0;
105 if (empty($arSqls["GROUPBY"]))
106 {
107 if ($arRes = $dbRes->Fetch())
108 $cnt = $arRes["CNT"];
109 }
110 else
111 {
112 $cnt = $dbRes->SelectedRowsCount();
113 }
114
115 $dbRes = new CDBResult();
116
117 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
118 }
119 else
120 {
121 if ($boolNavStartParams && 0 < $intTopCount)
122 {
123 $strSql .= " LIMIT ".$intTopCount;
124 }
125 $dbRes = $DB->Query($strSql);
126 }
127
128 return $dbRes;
129 }
130}
static PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
Определения catalog.php:389
static getList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
Определения store_barcode.php:50
static add($arFields)
Определения store_barcode.php:8
if(!\Bitrix\Main\Loader::includeModule('clouds')) $lastId
Определения sync.php:68
$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
$res
Определения filter_act.php:7
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
global $DB
Определения cron_frame.php:29
ExecuteModuleEventEx($arEvent, $arParams=[])
Определения tools.php:5214
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
Определения tools.php:5177
$arRes
Определения options.php:104
$arFilter
Определения user_search.php:106
$dbRes
Определения yandex_detail.php:168