209 $cache = Bitrix\Main\Data\Cache::createInstance();
211 $needClearCache =
false;
215 (CACHED_b_lists_field !==
false)
216 && $cache->initCache(CACHED_b_lists_field, $cacheId,
'b_lists_field')
219 $dbFields = $cache->getVars();
222 if ($dbFields ===
false)
226 $rsFields =
$DB->Query(
"
227 SELECT * FROM b_lists_field
228 WHERE IBLOCK_ID = ".$this->iblock_id.
"
230 while ($arField = $rsFields->Fetch())
232 $dbFields[$arField[
"FIELD_ID"]] = $arField;
235 if (CACHED_b_lists_field !==
false)
237 $cache->startDataCache(CACHED_b_lists_field);
238 $cache->endDataCache($dbFields);
243 $customTabs = CUserOptions::GetOption(
"form",
$form_id);
246 if($customTabs && $customTabs[
"tabs"])
249 $arTabs = explode(
"--;--", $customTabs[
"tabs"]);
250 foreach($arTabs as $customFields)
258 list($FIELD_ID, $customName) = explode(
"--#--", $customField);
259 if($FIELD_ID !=
"SECTIONS")
261 $customName = ltrim($customName,
"* -\xa0");
269 if(!is_array($obField->GetArray()))
276 unset($dbFields[$FIELD_ID]);
283 foreach($dbFields as $FIELD_ID => $arField)
286 DELETE FROM b_lists_field
287 WHERE IBLOCK_ID = ".$this->iblock_id.
"
288 AND FIELD_ID = '".
$DB->ForSQL($FIELD_ID).
"'
290 $needClearCache =
true;
295 foreach($dbFields as $FIELD_ID => $arField)
298 $obField =
$fields[$FIELD_ID] =
new CListElementField($this->iblock_id, $FIELD_ID, $arField[
"NAME"], $arField[
"SORT"]);
302 if(!is_array($obField->GetArray()))
306 DELETE FROM b_lists_field
307 WHERE IBLOCK_ID = ".$this->iblock_id.
"
308 AND FIELD_ID = '".
$DB->ForSQL($FIELD_ID).
"'
310 $needClearCache =
true;
315 if ($needClearCache && (CACHED_b_lists_field !==
false))
317 $cache->clean($cacheId,
'b_lists_field');
368 DELETE FROM b_lists_field
372 if (CACHED_b_lists_field !==
false)
374 $cache = \Bitrix\Main\Data\Cache::createInstance();
375 $cache->clean(CACHED_b_lists_field_prefix .
$iblock_id,
'b_lists_field');
378 $rsOptions = CUserOptions::GetList(
array(
"ID" =>
"ASC"),
array(
379 "CATEGORY" =>
"form",
382 while($arOption = $rsOptions->Fetch())
384 CUserOptions::DeleteOption(
385 $arOption[
"CATEGORY"],
387 $arOption[
"COMMON"] ==
"Y",