7Loc::loadMessages(__FILE__);
9$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"] = Array();
13 public static function DoProcessOrder(&$arOrder, $personTypeId, &$arErrors,
$arOptions)
15 $personTypeId = intval($personTypeId);
22 $personType = $registry->getPersonTypeClassName();
26 $personType = \Bitrix\Sale\PersonType::class;
29 if ($personTypeId > 0)
32 $dbPersonType = $personType::getList([
33 'filter' => [
'=ID' => $personTypeId]
35 if ($arPersonType = $dbPersonType->fetch())
37 $arOrder[
"PERSON_TYPE_ID"] = $arPersonType[
"ID"];
41 $arErrors[] =
array(
"CODE" =>
"PERSON_TYPE_ID",
"TEXT" =>
GetMessage(
'SKGP_PERSON_TYPE_NOT_FOUND'));
48 $dbPersonType = $personType::getList([
50 "=PERSON_TYPE_SITE.SITE_ID" => $arOrder[
"SITE_ID"],
59 if ($arPersonType = $dbPersonType->Fetch())
61 $arOrder[
"PERSON_TYPE_ID"] = $arPersonType[
"ID"];
65 $arErrors[] =
array(
"CODE" =>
"PERSON_TYPE_ID",
"TEXT" =>
GetMessage(
'SKGP_PERSON_TYPE_EMPTY'));
73 if (
$res = $dbPerson->Fetch())
84 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"SKGP_NO_NAME_TP"),
"ERROR_NO_NAME");
100 $arMsg[] =
array(
"id"=>
"LID",
"text"=>
GetMessage(
"SKGP_BAD_SITE_NA"));
109 $r = CSite::GetByID($v);
112 $arMsg[] =
array(
"id"=>
"LID",
"text"=>
GetMessage(
"MAIN_EVENT_BAD_SITE"));
120 $GLOBALS[
"APPLICATION"]->ThrowException($e);
136 while ($arEvent = $db_events->Fetch())
150 foreach($arLID as
$k => $v)
154 $str_LID .=
", '".$DB->ForSql($v).
"'";
163 $strUpdate =
$DB->PrepareUpdate(
"b_sale_person_type",
$arFields);
164 $strSql =
"UPDATE b_sale_person_type SET ".$strUpdate.
" WHERE ID = ".
$ID.
"";
169 $strSql =
"DELETE FROM b_sale_person_type_site WHERE PERSON_TYPE_ID=".$ID;
173 "INSERT INTO b_sale_person_type_site(PERSON_TYPE_ID, SITE_ID) ".
174 "SELECT ".$ID.
", LID ".
176 "WHERE LID IN (".$str_LID.
") ";
182 unset(
$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"]);
185 while ($arEvent = $events->Fetch())
197 if (OrderTable::getList(
array(
198 'filter' =>
array(
'=PERSON_TYPE_ID' =>
$ID),
202 $APPLICATION->ThrowException(Loc::getMessage(
"SKGP_ERROR_PERSON_HAS_ORDER").
$ID,
"ERROR_PERSON_HAS_ORDER");
206 if (OrderArchiveTable::getList(
array(
207 'filter' =>
array(
'=PERSON_TYPE_ID' =>
$ID),
211 $APPLICATION->ThrowException(Loc::getMessage(
"SKGP_ERROR_PERSON_HAS_ARCHIVE",
array(
"#ID#" =>
$ID)),
"ERROR_PERSON_HAS_ARCHIVED_ORDER");
216 while ($arEvent = $db_events->Fetch())
221 while ($arEvent = $events->Fetch())
224 $DB->Query(
"DELETE FROM b_sale_pay_system_action WHERE PERSON_TYPE_ID = ".
$ID.
"",
true);
227 array(
"PROPS_GROUP_ID" =>
"ASC"),
230 while ($arOrderProps = $db_orderProps->Fetch())
232 $DB->Query(
"DELETE FROM b_sale_order_props_variant WHERE ORDER_PROPS_ID = ".$arOrderProps[
"ID"].
"",
true);
233 $DB->Query(
"DELETE FROM b_sale_order_props_value WHERE ORDER_PROPS_ID = ".$arOrderProps[
"ID"].
"",
true);
234 $DB->Query(
"DELETE FROM b_sale_order_props_relation WHERE PROPERTY_ID = ".$arOrderProps[
"ID"].
"",
true);
235 $DB->Query(
"DELETE FROM b_sale_user_props_value WHERE ORDER_PROPS_ID = ".$arOrderProps[
"ID"].
"",
true);
237 $DB->Query(
"DELETE FROM b_sale_order_props WHERE PERSON_TYPE_ID = ".
$ID.
"",
true);
240 array(
"NAME" =>
"ASC"),
243 while ($arOrderUserProps = $db_orderUserProps->Fetch())
245 $DB->Query(
"DELETE FROM b_sale_user_props_value WHERE USER_PROPS_ID = ".$arOrderUserProps[
"ID"].
"",
true);
247 $DB->Query(
"DELETE FROM b_sale_user_props WHERE PERSON_TYPE_ID = ".
$ID.
"",
true);
248 $DB->Query(
"DELETE FROM b_sale_order_props_group WHERE PERSON_TYPE_ID = ".
$ID.
"",
true);
249 $DB->Query(
"DELETE FROM b_sale_person_type_site WHERE PERSON_TYPE_ID=".
$ID,
true);
251 unset(
$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"]);
252 return $DB->Query(
"DELETE FROM b_sale_person_type WHERE ID = ".
$ID.
"",
true);
258 $r =
$DB->Query(
"SELECT 'x' FROM b_sale_person_type WHERE LID = '".
$DB->ForSQL(
$lang, 2).
"' AND ENTITY_REGISTRY_TYPE='".\
Bitrix\Sale\Registry::REGISTRY_TYPE_ORDER.
"'");
259 return ($r->Fetch() ?
false :
true);
262 public static function SelectBox($sFieldName, $sValue, $sDefaultValue =
"", $bFullName = True, $JavaFunc =
"", $sAddParams =
"")
264 if (!isset(
$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"]) || !is_array(
$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"]) ||
count(
$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"])<1)
266 unset(
$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"]);
268 while ($arPersonType =
$l->Fetch())
270 $GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"][$arPersonType[
"ID"]] = Array(
"ID" => $arPersonType[
"ID"],
"NAME" => $arPersonType[
"NAME"],
"LID" => implode(
", ", $arPersonType[
"LIDS"]));
274 $s =
'<select name="'.$sFieldName.
'"';
275 if ($sAddParams <>
'') $s .=
' '.$sAddParams.
'';
276 if ($JavaFunc <>
'') $s .=
' OnChange="'.$JavaFunc.
'"';
280 if (is_array(
$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"]))
282 foreach (
$GLOBALS[
"SALE_PERSON_TYPE_LIST_CACHE"] as
$res)
284 $found = (intval(
$res[
"ID"]) == intval($sValue));
288 if ($sDefaultValue <>
'')
289 $s .=
"<option value='' ".($found ?
"" :
"selected").
">".
htmlspecialcharsbx($sDefaultValue).
"</option>";
290 return $s.$s1.
'</select>';
static getInstance($type)
static CheckFields($ACTION, &$arFields, $ID=false)
static OnBeforeLangDelete($lang)
static Update($ID, $arFields)
static SelectBox($sFieldName, $sValue, $sDefaultValue="", $bFullName=True, $JavaFunc="", $sAddParams="")
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
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)
$GLOBALS["SALE_PERSON_TYPE_LIST_CACHE"]
if(!defined('SITE_ID')) $lang
ExecuteModuleEventEx($arEvent, $arParams=[])
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
GetMessage($name, $aReplace=null)
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
</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']