...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_view_helper.php
- Класс: \CCrmViewHelper
- Вызов: CCrmViewHelper::PrepareFormTabFields
static function PrepareFormTabFields($tabID, &$arSrcFields, &$arFormOptions, $ignoredFieldIDs = array(), $arFieldOptions = array()) { $arTabFields = isset($arSrcFields[$tabID]) ? $arSrcFields[$tabID] : array(); $arResult = array(); $enableFormSettings = !(isset($arFormOptions['settings_disabled']) && $arFormOptions['settings_disabled'] === 'Y'); if($enableFormSettings && isset($arFormOptions['tabs']) && !empty($arFormOptions['tabs'])) { $arFields = array(); foreach($arSrcFields as &$tabFields) { foreach($tabFields as &$field) { if($field['type'] === 'section') { continue; } $fieldID = isset($field['id']) ? $field['id'] : ''; if($fieldID !== '') { $arFields[$fieldID] = $field; } } unset($tabFields); } unset($field); if(isset($arFormOptions['tabs']) && is_array($arFormOptions['tabs'])) { foreach($arFormOptions['tabs'] as &$formTab) { if($formTab['id'] !== $tabID || !isset($formTab['fields']) || !is_array($formTab['fields'])) { continue; } foreach($formTab['fields'] as &$formField) { if($formField['type'] === 'section') { continue; } $fieldID = isset($formField['id']) ? $formField['id'] : ''; if(in_array($fieldID, $ignoredFieldIDs, true)) { continue; } $field = isset($arFields[$fieldID]) ? $arFields[$fieldID] : null; if(!$field) { continue; } $item = array( 'ID' => $fieldID, 'TITLE' => isset($field['name']) ? $field['name'] : $fieldID, 'VALUE' => isset($field['value']) ? $field['value'] : '' ); if(isset($arFieldOptions[$fieldID])) { foreach($arFieldOptions[$fieldID] as $k => $v) { $item[$k] = $v; } } $arResult[] = &$item; unset($item); } unset($formField); } unset($formTab); } } else { foreach($arTabFields as &$field) { if($field['type'] === 'section') { continue; } $fieldID = isset($field['id']) ? $field['id'] : ''; if(in_array($fieldID, $ignoredFieldIDs, true)) { continue; } $item = array( 'ID' => $fieldID, 'TITLE' => isset($field['name']) ? $field['name'] : $fieldID, 'VALUE' => isset($field['value']) ? $field['value'] : '' ); if(isset($arFieldOptions[$fieldID])) { foreach($arFieldOptions[$fieldID] as $k => $v) { $item[$k] = $v; } } $arResult[] = &$item; unset($item); } unset($field); } return $arResult; }