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