3namespace Bitrix\Bizproc\UserType;
5use Bitrix\Bizproc\BaseType;
6use Bitrix\Bizproc\FieldType;
28 $userType = static::getUserType($fieldType);
30 if ($userType ===
'crm')
32 return self::formatCrmValuePrintable($fieldType, $value);
37 'ENTITY_ID' => sprintf(
'%s_%s',
41 'FIELD_NAME' =>
'UF_XXXXXXX',
42 'USER_TYPE_ID' => $userType,
44 'MULTIPLE' => $fieldType->
isMultiple() ?
'Y' :
'N',
45 'MANDATORY' => $fieldType->
isRequired() ?
'Y' :
'N',
46 'EDIT_FORM_LABEL' => $userFieldType[
'DESCRIPTION'],
48 'USER_TYPE' => $userFieldType
56 if ($userType ===
'boolean' && ($value ===
'Y' || $value ===
'N'))
59 $userField[
'VALUE'] = $value = ($value ===
'Y') ? 1 : 0;
64 'bitrix:system.field.view',
67 'arUserField' => $userField,
68 'bVarsFromForm' =>
false,
71 'FILE_MAX_HEIGHT' => 400,
72 'FILE_MAX_WIDTH' => 400,
73 'FILE_SHOW_POPUP' =>
true
79 return HTMLToTxt(ob_get_clean(), maxlen: 0);
90 if (is_array($value) && isset($value[
'VALUE']))
91 $value = $value[
'VALUE'];
93 $value = (string)$value;
119 $selectorValue =
null;
121 if (!is_array($value) || \CBPHelper::isAssociativeArray($value))
126 foreach ($value as $v)
134 $typeValue[] = is_array($v) && isset($v[
'VALUE']) ? $value[
'VALUE'] : $v;
138 $sType = static::getUserType($fieldType);
144 'ENTITY_ID' => sprintf(
'%s_%s',
148 'FIELD_NAME' => static::generateControlName($field),
149 'USER_TYPE_ID' => $sType,
151 'MULTIPLE' => $fieldType->
isMultiple() ?
'Y' :
'N',
152 'MANDATORY' => $fieldType->
isRequired() ?
'Y' :
'N',
153 'EDIT_IN_LIST' =>
'Y',
154 'EDIT_FORM_LABEL' => $arUserFieldType[
'DESCRIPTION'],
156 'USER_TYPE' => $arUserFieldType,
158 'ENTITY_VALUE_ID' => 1,
161 if ($sType ==
'boolean' && ($userField[
'VALUE'] ==
"Y" || $userField[
'VALUE'] ==
"N"))
163 $userField[
'VALUE'] = ($userField[
'VALUE'] ==
"Y") ? 1 : 0;
166 $userField[
'SETTINGS'] = $fieldType->
getSettings();
171 $userField[
'SETTINGS'][
'DISPLAY'] =
'LIST';
173 elseif ($sType ==
'crm' && empty($userField[
'SETTINGS']))
175 $userField[
'SETTINGS'] = [
'LEAD' =>
'Y',
'CONTACT' =>
'Y',
'COMPANY' =>
'Y',
'DEAL' =>
'Y'];
179 $userField[
'SETTINGS'][
'DISPLAY'] =
'UI';
184 'bitrix:system.field.edit',
187 'arUserField' => $userField,
188 'bVarsFromForm' =>
false,
189 'form_name' => $field[
'Form'],
190 'FILE_MAX_HEIGHT' => 400,
191 'FILE_MAX_WIDTH' => 400,
192 'FILE_SHOW_POPUP' =>
true
195 [
'HIDE_ICONS' =>
'Y']
198 $renderResult = ob_get_clean();
202 $renderResult .= static::renderControlSelector($field, $selectorValue,
true,
'', $fieldType);
205 return $renderResult;
218 return static::renderControlSingle($fieldType, $field, $value, $allowSelection, $renderMode);
226 static::cleanErrors();
229 $nameText = $field[
'Field'].
'_text';
241 return mb_substr($fieldType->
getType(), 3);
244 private static function formatCrmValuePrintable(
FieldType $fieldType, $value)
246 if (!Loader::includeModule(
'crm'))
251 $defaultTypeName =
'LEAD';
252 foreach ($fieldType->
getSettings() as $typeName => $flag)
256 $defaultTypeName = $typeName;
261 return self::prepareCrmUserTypeValueView($value, $defaultTypeName);
264 private static function prepareCrmUserTypeValueView($value, $defaultTypeName =
'')
266 $typeId = $id =
null;
267 $parts = explode(
'_', $value);
269 if (
count($parts) > 1)
271 $typeId = \CCrmOwnerTypeAbbr::ResolveTypeID($parts[0]);
274 elseif ($defaultTypeName !==
'')
276 $typeId = \CCrmOwnerType::resolveID($defaultTypeName);
280 if (!$typeId || !$id)
285 $entityName = \CCrmOwnerType::getCaption($typeId, $id,
false);
286 $entityDesc = \CCrmOwnerType::GetDescription($typeId);
287 $entityUrl = \CCrmOwnerType::GetDetailsUrl($typeId, $id,
false);
289 return sprintf(
'[b]%s:[/b] [url=%s]%s[/url]', $entityDesc, $entityUrl, $entityName);
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
static convertTo(FieldType $fieldType, $value, $toTypeClass)
static getConversionMap()
const RENDER_MODE_DESIGNER
static extractValueSingle(FieldType $fieldType, array $field, array $request)
static getUserType(FieldType $fieldType)
static renderControlSingle(FieldType $fieldType, array $field, $value, $allowSelection, $renderMode)
static formatValuePrintable(FieldType $fieldType, $value)
static convertTo(FieldType $fieldType, $value, $toTypeClass)
static renderControlMultiple(FieldType $fieldType, array $field, $value, $allowSelection, $renderMode)
static getConversionMap()
static isExpression($text)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
global $USER_FIELD_MANAGER
HTMLToTxt($str, $strSiteUrl="", $aDelete=[], $maxlen=70)
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"