3require_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/catalog/general/store_docs_element.php");
11 foreach(
GetModuleEvents(
"catalog",
"OnBeforeCatalogStoreDocsElementAdd",
true) as $arEvent)
18 $arInsert =
$DB->PrepareInsert(
"b_catalog_docs_element",
$arFields);
19 $strSql =
"INSERT INTO b_catalog_docs_element (".$arInsert[0].
") VALUES(".$arInsert[1].
")";
21 $res =
$DB->Query($strSql,
true);
26 foreach(
GetModuleEvents(
"catalog",
"OnCatalogStoreDocsElementAdd",
true) as $arEvent)
44 if (empty($arSelectFields))
45 $arSelectFields =
array(
"ID",
"DOC_ID",
"STORE_FROM",
"STORE_TO",
"ELEMENT_ID",
"AMOUNT",
"PURCHASING_PRICE",
46 "BASE_PRICE",
"BASE_PRICE_EXTRA",
"BASE_PRICE_EXTRA_RATE",
"COMMENT",
50 "ID" =>
array(
"FIELD" =>
"DE.ID",
"TYPE" =>
"int"),
51 "DOC_ID" =>
array(
"FIELD" =>
"DE.DOC_ID",
"TYPE" =>
"int"),
52 "STORE_FROM" =>
array(
"FIELD" =>
"DE.STORE_FROM",
"TYPE" =>
"int"),
53 "STORE_TO" =>
array(
"FIELD" =>
"DE.STORE_TO",
"TYPE" =>
"int"),
54 "ELEMENT_ID" =>
array(
"FIELD" =>
"DE.ELEMENT_ID",
"TYPE" =>
"int"),
55 "AMOUNT" =>
array(
"FIELD" =>
"DE.AMOUNT",
"TYPE" =>
"double"),
56 "PURCHASING_PRICE" =>
array(
"FIELD" =>
"DE.PURCHASING_PRICE",
"TYPE" =>
"double"),
57 "BASE_PRICE" =>
array(
"FIELD" =>
"DE.BASE_PRICE",
"TYPE" =>
"double"),
58 "BASE_PRICE_EXTRA" =>
array(
"FIELD" =>
"DE.BASE_PRICE_EXTRA",
"TYPE" =>
"double"),
59 "BASE_PRICE_EXTRA_RATE" =>
array(
"FIELD" =>
"DE.BASE_PRICE_EXTRA_RATE",
"TYPE" =>
"int"),
60 "COMMENT" =>
array(
"FIELD" =>
"DE.COMMENT",
"TYPE" =>
"string"),
62 "IS_MULTIPLY_BARCODE" =>
array(
"FIELD" =>
"CP.BARCODE_MULTI",
"TYPE" =>
"char",
"FROM" =>
"INNER JOIN b_catalog_product CP ON (DE.ELEMENT_ID = CP.ID)"),
63 "RESERVED" =>
array(
"FIELD" =>
"CP.QUANTITY_RESERVED",
"TYPE" =>
"double",
"FROM" =>
"INNER JOIN b_catalog_product CP ON (DE.ELEMENT_ID = CP.ID)"),
65 "ELEMENT_IBLOCK_ID" =>
array(
"FIELD" =>
"IE.IBLOCK_ID",
"TYPE" =>
"int",
"FROM" =>
"LEFT JOIN b_iblock_element IE ON (DE.ELEMENT_ID = IE.ID)"),
66 "ELEMENT_NAME" =>
array(
"FIELD" =>
"IE.NAME",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_iblock_element IE ON (DE.ELEMENT_ID = IE.ID)")
69 $arSqls[
"SELECT"] = str_replace(
"%%_DISTINCT_%%",
"", $arSqls[
"SELECT"]);
71 if (empty($arGroupBy) && is_array($arGroupBy))
73 $strSql =
"SELECT ".$arSqls[
"SELECT"].
" FROM b_catalog_docs_element DE ".$arSqls[
"FROM"];
74 if (!empty($arSqls[
"WHERE"]))
75 $strSql .=
" WHERE ".$arSqls[
"WHERE"];
76 if (!empty($arSqls[
"GROUPBY"]))
77 $strSql .=
" GROUP BY ".$arSqls[
"GROUPBY"];
85 $strSql =
"SELECT ".$arSqls[
"SELECT"].
" FROM b_catalog_docs_element DE ".$arSqls[
"FROM"];
86 if (!empty($arSqls[
"WHERE"]))
87 $strSql .=
" WHERE ".$arSqls[
"WHERE"];
88 if (!empty($arSqls[
"GROUPBY"]))
89 $strSql .=
" GROUP BY ".$arSqls[
"GROUPBY"];
90 if (!empty($arSqls[
"ORDERBY"]))
91 $strSql .=
" ORDER BY ".$arSqls[
"ORDERBY"];
94 $boolNavStartParams = (!empty($arNavStartParams) && is_array($arNavStartParams));
95 if ($boolNavStartParams && array_key_exists(
'nTopCount', $arNavStartParams))
97 $intTopCount = intval($arNavStartParams[
"nTopCount"]);
99 if ($boolNavStartParams && 0 >= $intTopCount)
101 $strSql_tmp =
"SELECT COUNT('x') as CNT FROM b_catalog_docs_element DE ".$arSqls[
"FROM"];
102 if (!empty($arSqls[
"WHERE"]))
103 $strSql_tmp .=
" WHERE ".$arSqls[
"WHERE"];
104 if (!empty($arSqls[
"GROUPBY"]))
105 $strSql_tmp .=
" GROUP BY ".$arSqls[
"GROUPBY"];
109 if (empty($arSqls[
"GROUPBY"]))
116 $cnt =
$dbRes->SelectedRowsCount();
121 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
125 if ($boolNavStartParams && 0 < $intTopCount)
127 $strSql .=
" LIMIT ".$intTopCount;
static PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields)
static getList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
ExecuteModuleEventEx($arEvent, $arParams=[])
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)