• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/usertype/userfieldbase.php
  • Класс: BitrixBizprocUserTypeUserFieldBase
  • Вызов: UserFieldBase::formatValuePrintable
static function formatValuePrintable(FieldType $fieldType, $value)
{
	global $APPLICATION, $USER_FIELD_MANAGER;

	$userType = static::getUserType($fieldType);

	if ($userType === 'crm')
	{
		return self::formatCrmValuePrintable($fieldType, $value);
	}

	$userFieldType = $USER_FIELD_MANAGER->GetUserType($userType);
	$userField = [
		'ENTITY_ID' => sprintf('%s_%s',
			mb_strtoupper($fieldType->getDocumentType()[0]),
			mb_strtoupper($fieldType->getDocumentType()[2])
		),
		'FIELD_NAME' => 'UF_XXXXXXX',
		'USER_TYPE_ID' => $userType,
		'SORT' => 100,
		'MULTIPLE' => $fieldType->isMultiple() ? 'Y' : 'N',
		'MANDATORY' => $fieldType->isRequired() ? 'Y' : 'N',
		'EDIT_FORM_LABEL' => $userFieldType['DESCRIPTION'],
		'VALUE' => $value,
		'USER_TYPE' => $userFieldType
	];

	if ($settings = $fieldType->getSettings())
	{
		$userField['SETTINGS'] = $settings;
	}

	if ($userType === 'boolean' && ($value === 'Y' || $value === 'N'))
	{
		//Convert bizproc boolean values (Y/N) in to UF boolean values (1/0)
		$userField['VALUE'] = $value = ($value === 'Y') ? 1 : 0;
	}

	ob_start();
	$APPLICATION->IncludeComponent(
		'bitrix:system.field.view',
		$userType,
		[
			'arUserField' => $userField,
			'bVarsFromForm' => false,
			'form_name' => "",
			'printable' => true,
			'FILE_MAX_HEIGHT' => 400,
			'FILE_MAX_WIDTH' => 400,
			'FILE_SHOW_POPUP' => true
		],
		false,
		['HIDE_ICONS' => 'Y']
	);

	return HTMLToTxt(ob_get_clean(), maxlen: 0);
}