• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/bizprocdocument.php
  • Класс: BitrixDiskBizProcDocument
  • Вызов: BizProcDocument::getFieldInputValuePrintable
static function getFieldInputValuePrintable($documentType, $fieldType, $fieldValue)
{
	$storageId = self::getStorageIdByType($documentType);
	if(!$storageId)
	{
		throw new CBPArgumentNullException('documentType');
	}

	$result = $fieldValue;
	switch($fieldType['Type'])
	{
		case 'datetime':
			if(is_array($fieldValue))
			{
				$result = array();
				foreach($fieldValue as $_fieldValue)
				{
					$result[] = empty($_fieldValue) ? formatDate('x', MakeTimeStamp($_fieldValue)) : '';
				}
			}
			else
			{
				$result = !empty($fieldValue) ? formatDate('x', MakeTimeStamp($fieldValue)) : '';
			}
			break;

		case "user":
			if(!is_array($fieldValue))
			{
				$fieldValue = array($fieldValue);
			}

			$result = CBPHelper::usersArrayToString($fieldValue, null, self::generateDocumentComplexType($storageId));
			break;

		case "bool":
			if(is_array($fieldValue))
			{
				$result = array();
				foreach($fieldValue as $r)
				{
					$result[] = ((mb_strtoupper($r) != "N" && !empty($r)) ? Loc::getMessage("BPVDX_YES") : Loc::getMessage("BPVDX_NO"));
				}
			}
			else
			{
				$result = ((mb_strtoupper($fieldValue) != "N" && !empty($fieldValue)) ? Loc::getMessage("BPVDX_YES") : Loc::getMessage("BPVDX_NO"));
			}
			break;

		case "select":
			if(is_array($fieldType["Options"]))
			{
				if(is_array($fieldValue))
				{
					$result = array();
					foreach($fieldValue as $r)
					{
						if(array_key_exists($r, $fieldType["Options"]))
						{
							$result[] = $fieldType["Options"][$r];
						}
					}
				}
				else
				{
					if(array_key_exists($fieldValue, $fieldType["Options"]))
					{
						$result = $fieldType["Options"][$fieldValue];
					}
				}
			}
			break;
	}

	if(mb_strpos($fieldType['Type'], static::getPrefixForCustomType()) === 0)
	{
		global $USER_FIELD_MANAGER, $APPLICATION;
		$type = str_replace(static::getPrefixForCustomType(), '', $fieldType['Type']);
		$userFieldType = $USER_FIELD_MANAGER->getUserType($type);
		$userField = array(
			'ENTITY_ID' => 'DISK_FILE_' . $storageId,
			'FIELD_NAME' => 'UF_XXXXXXX',
			'USER_TYPE_ID' => $type,
			'SORT' => 100,
			'MULTIPLE' => $fieldType['Multiple'] ? 'Y' : 'N',
			'MANDATORY' => $fieldType['Required'] ? 'Y' : 'N',
			'EDIT_FORM_LABEL' => $userFieldType['DESCRIPTION'],
			'VALUE' => $fieldValue, //
			'USER_TYPE' => $userFieldType
		);
		$APPLICATION->includeComponent('bitrix:system.field.view', $type, array(
			'arUserField' => $userField,
			'bVarsFromForm' => false,
			'form_name' => "",
			'FILE_MAX_HEIGHT' => 400,
			'FILE_MAX_WIDTH' => 400,
			'FILE_SHOW_POPUP' => true
		), false, array('HIDE_ICONS' => 'Y'));
		$result = ob_get_contents();
		ob_end_clean();
	}

	return $result;
}