- Модуль: rpa
- Путь к файлу: ~/bitrix/modules/rpa/lib/controller/item.php
- Класс: BitrixRpaControllerItem
- Вызов: Item::processFields
protected function processFields(BitrixRpaModelItem $item, array $fields): void
{
$userFieldCollection = $item->getType()->getUserFieldCollection();
foreach($userFieldCollection as $userField)
{
if(!isset($fields[$userField->getName()]))
{
continue;
}
if(empty($fields[$userField->getName()]))
{
$item->set($userField->getName(), null);
continue;
}
if($userField->isBaseTypeFile())
{
$this->processFileField($userField, $item, $fields);
}
elseif($this->getScope() === self::SCOPE_REST && $userField->isBaseTypeDate())
{
if($userField->getUserTypeId() === DateTimeType::USER_TYPE_ID)
{
$convertDateMethod = 'unConvertDateTime';
}
else
{
$convertDateMethod = 'unConvertDate';
}
if($userField->isMultiple())
{
$result = [];
$value = $fields[$userField->getName()];
if(!is_array($value))
{
$value = [$value];
}
foreach($value as $date)
{
$result[] = CRestUtil::$convertDateMethod($date);
}
$item->set($userField->getName(), $result);
}
else
{
$item->set($userField->getName(), CRestUtil::$convertDateMethod($fields[$userField->getName()]));
}
}
else
{
$item->set($userField->getName(), $fields[$userField->getName()]);
}
}
}