3require_once(
$_SERVER[
"DOCUMENT_ROOT"].
"/bitrix/modules/sale/general/person_type.php");
11 if (!is_array($arOrder) && !is_array(
$arFilter))
13 $arOrder = strval($arOrder);
19 if (is_array($arGroupBy))
25 if(empty($arSelectFields))
26 $arSelectFields = Array(
"ID",
"LID",
"NAME",
"SORT",
"ACTIVE",
"CODE");
38 "ID" =>
array(
"FIELD" =>
"PT.ID",
"TYPE" =>
"int"),
39 "LID" =>
array(
"FIELD" =>
"PT.LID",
"TYPE" =>
"string"),
40 "LIDS" =>
array(
"FIELD" =>
"PTS.SITE_ID",
"TYPE" =>
"string",
"FROM" =>
"LEFT JOIN b_sale_person_type_site PTS ON (PT.ID = PTS.PERSON_TYPE_ID)"),
41 "NAME" =>
array(
"FIELD" =>
"PT.NAME",
"TYPE" =>
"string"),
42 "CODE" =>
array(
"FIELD" =>
"PT.CODE",
"TYPE" =>
"string"),
43 "SORT" =>
array(
"FIELD" =>
"PT.SORT",
"TYPE" =>
"int"),
44 "ACTIVE" =>
array(
"FIELD" =>
"PT.ACTIVE",
"TYPE" =>
"char"),
45 "ENTITY_REGISTRY_TYPE" =>
array(
"FIELD" =>
"ENTITY_REGISTRY_TYPE",
"TYPE" =>
"string"),
50 $arSqls[
"SELECT"] = str_replace(
"%%_DISTINCT_%%",
"DISTINCT", $arSqls[
"SELECT"]);
52 if (is_array($arGroupBy) &&
count($arGroupBy)==0)
55 "SELECT ".$arSqls[
"SELECT"].
" ".
56 "FROM b_sale_person_type PT ".
57 " ".$arSqls[
"FROM"].
" ";
58 if ($arSqls[
"WHERE"] <>
'')
59 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
60 if ($arSqls[
"GROUPBY"] <>
'')
61 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
73 "SELECT ".$arSqls[
"SELECT"].
" ".
74 "FROM b_sale_person_type PT ".
75 " ".$arSqls[
"FROM"].
" ";
76 if ($arSqls[
"WHERE"] <>
'')
77 $strSql .=
"WHERE ".$arSqls[
"WHERE"].
" ";
78 if ($arSqls[
"GROUPBY"] <>
'')
79 $strSql .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
80 if ($arSqls[
"ORDERBY"] <>
'')
81 $strSql .=
"ORDER BY ".$arSqls[
"ORDERBY"].
" ";
83 if (is_array($arNavStartParams) && intval($arNavStartParams[
"nTopCount"])<=0)
86 "SELECT COUNT('x') as CNT ".
87 "FROM b_sale_person_type PT ".
88 " ".$arSqls[
"FROM"].
" ";
89 if ($arSqls[
"WHERE"] <>
'')
90 $strSql_tmp .=
"WHERE ".$arSqls[
"WHERE"].
" ";
91 if ($arSqls[
"GROUPBY"] <>
'')
92 $strSql_tmp .=
"GROUP BY ".$arSqls[
"GROUPBY"].
" ";
98 if ($arSqls[
"GROUPBY"] ==
'')
106 $cnt =
$dbRes->SelectedRowsCount();
113 $dbRes->NavQuery($strSql, $cnt, $arNavStartParams);
117 if (is_array($arNavStartParams) && intval($arNavStartParams[
"nTopCount"])>0)
118 $strSql .=
"LIMIT ".intval($arNavStartParams[
"nTopCount"]);
130 if(intval(
$arRes[
"ID"]) > 0)
132 if(!in_array(
$arRes[
"ID"], $arPT))
138 if(!empty($arPT) && is_array($arPT))
140 $strSql =
"SELECT * from b_sale_person_type_site WHERE PERSON_TYPE_ID IN (".implode(
",", $arPT).
")";
141 $dbRes1 =
$DB->Query($strSql);
142 while ($arRes1 = $dbRes1->Fetch())
144 $arRes2[$arRes1[
"PERSON_TYPE_ID"]][] = $arRes1[
"SITE_ID"];
148 foreach($arResTmp as
$k => $v)
149 $arResTmp[
$k][
"LIDS"] = $arRes2[$v[
"ID"]];
152 $dbRes->InitFromArray($arResTmp);
165 while ($arEvent = $db_events->Fetch())
179 foreach($arLID as
$k => $v)
183 $str_LID .=
", '".$DB->ForSql($v).
"'";
194 $arInsert =
$DB->PrepareInsert(
"b_sale_person_type",
$arFields);
197 "INSERT INTO b_sale_person_type(".$arInsert[0].
") ".
198 "VALUES(".$arInsert[1].
")";
201 $ID = intval(
$DB->LastID());
205 $strSql =
"DELETE FROM b_sale_person_type_site WHERE PERSON_TYPE_ID=".$ID;
209 "INSERT INTO b_sale_person_type_site(PERSON_TYPE_ID, SITE_ID) ".
210 "SELECT ".$ID.
", LID ".
212 "WHERE LID IN (".$str_LID.
") ";
217 unset(
$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"]);
220 while ($arEvent = $events->Fetch())
const REGISTRY_TYPE_ORDER
static PrepareSql(&$arFields, $arOrder, &$arFilter, $arGroupBy, $arSelectFields, $obUserFieldsSql=false, $callback=false, $arOptions=array())
static CheckFields($ACTION, &$arFields, $ID=false)
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)
</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."%"
$GLOBALS['_____370096793']