CBPDocumentService::GetFieldInputValue: Bitrix method

      
<?php 
//  CBPDocumentService :: GetFieldInputValue()
//  /dist/bitrix/modules/bizproc/classes/general/documentservice.php:833

    
public function GetFieldInputValue($parameterDocumentType$fieldType$fieldName$arRequest, &$arErrors)
    {
        list(
$moduleId$entity$documentType) = CBPHelper::ParseDocumentId($parameterDocumentType);

        if (
strlen($moduleId) > 0)
            
CModule::IncludeModule($moduleId);

        
$arFieldType FieldType::normalizeProperty($fieldType);
        if ((string) 
$arFieldType["Type"] == "")
            return 
"";

        if (
is_array($fieldName))
        {
            
$arFieldName = array("Form" => null"Field" => null);
            foreach (
$fieldName as $key => $val)
            {
                switch (
strtoupper($key))
                {
                    case 
"FORM":
                    case 
"0":
                        
$arFieldName["Form"] = $val;
                        break;
                    case 
"FIELD":
                    case 
"1":
                        
$arFieldName["Field"] = $val;
                        break;
                }
            }
        }
        else
        {
            
$arFieldName = array("Form" => null"Field" => $fieldName);
        }
        if ((string) 
$arFieldName["Field"] == "" || preg_match("#[^a-z0-9_\[\]]#i"$arFieldName["Field"]))
            return 
"";
        if ((string) 
$arFieldName["Form"] != "" && preg_match("#[^a-z0-9_]#i"$arFieldName["Form"]))
            return 
"";

        
$fieldTypeObject $this->getFieldTypeObject($parameterDocumentType$arFieldType);
        if (
$fieldTypeObject)
        {
            return 
$fieldTypeObject->extractValue($arFieldName$arRequest$arErrors);
        }

        if (
class_exists($entity))
        {
            if (
method_exists($entity"GetFieldInputValue"))
                return 
call_user_func_array(array($entity"GetFieldInputValue"), array($documentType$arFieldType$arFieldName$arRequest, &$arErrors));

            if (
method_exists($entity"SetGUIFieldEdit"))
                return 
call_user_func_array(array($entity"SetGUIFieldEdit"), array($documentType$arFieldName["Field"], $arRequest, &$arErrors$arFieldType));
        }

        return 
CBPHelper::GetFieldInputValue($parameterDocumentType$arFieldType$arFieldName$arRequest$arErrors);
    }