...Человеческий поиск в разработке...
- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/classes/general/virtualdocument.php
- Класс: CBPVirtualDocument
- Вызов: CBPVirtualDocument::getDocumentFieldTypes
static function getDocumentFieldTypes($documentType) { $typesMap = FieldType::getBaseTypesMap(); $arResult = array( "S" => array("Name" => GetMessage("BPVDX_STRING"), "BaseType" => "string", 'typeClass' => $typesMap[FieldType::STRING]), "T" => array("Name" => GetMessage("BPVDX_TEXT"), "BaseType" => "text", 'typeClass' => $typesMap[FieldType::TEXT]), "N" => array("Name" => GetMessage("BPVDX_NUM"), "BaseType" => "double", 'typeClass' => $typesMap[FieldType::DOUBLE]), "L" => array("Name" => GetMessage("BPVDX_LIST"), "BaseType" => "select", "Complex" => true, 'typeClass' => $typesMap[FieldType::SELECT]), "F" => array("Name" => GetMessage("BPVDX_FILE"), "BaseType" => "file", 'typeClass' => $typesMap[FieldType::FILE]), "B" => array("Name" => GetMessage("BPVDX_YN"), "BaseType" => "bool", 'typeClass' => $typesMap[FieldType::BOOL]), ); foreach (CIBlockProperty::GetUserType() as $ar) { $t = $ar["PROPERTY_TYPE"].":".$ar["USER_TYPE"]; if($t == "S:ECrm") { $t = "E:ECrm"; } if (COption::GetOptionString("bizproc", "SkipNonPublicCustomTypes", "N") == "Y" && !array_key_exists("GetPublicEditHTML", $ar) && $t != "S:UserID" && $t != "S:DateTime") continue; $arResult[$t] = array("Name" => $ar["DESCRIPTION"], "BaseType" => "string", 'typeClass' => BizprocTypeUserTypeProperty::class); if ($t == "S:UserID") { $arResult[$t]["BaseType"] = "user"; $arResult[$t]['typeClass'] = $typesMap[FieldType::USER]; } elseif ($t == "S:employee" && COption::GetOptionString("bizproc", "employee_compatible_mode", "N") != "Y") { $arResult[$t]["BaseType"] = "user"; $arResult[$t]['typeClass'] = BizprocTypeUserTypePropertyEmployee::class; } elseif ($t == "S:DateTime") { $arResult[$t]["BaseType"] = "datetime"; $arResult[$t]["typeClass"] = $typesMap[FieldType::DATETIME]; } elseif ($t == "S:Date") { $arResult[$t]["BaseType"] = "date"; $arResult[$t]["typeClass"] = $typesMap[FieldType::DATE]; } elseif ($t == "E:EList") { $arResult[$t]["BaseType"] = "string"; $arResult[$t]["Complex"] = true; $arResult[$t]['typeClass'] = BizprocTypeUserTypePropertyElist::class; } elseif ($t == 'S:HTML') { $arResult[$t]['typeClass'] = BizprocTypeUserTypePropertyHtml::class; } elseif($t == 'S:DiskFile') { $arResult[$t]["BaseType"] = "int"; $arResult[$t]['typeClass'] = BizprocTypeUserTypePropertyDiskFile::class; } elseif($t == 'E:ECrm') { $arResult[$t]["BaseType"] = "string"; $arResult[$t]["Complex"] = true; $arResult[$t]['typeClass'] = BizprocTypeECrm::class; } } return $arResult; }