• Модуль: rpa
  • Путь к файлу: ~/bitrix/modules/rpa/lib/integration/bizproc/document/item.php
  • Класс: BitrixRpaIntegrationBizprocDocumentItem
  • Вызов: Item::getDocumentFields
static function getDocumentFields($documentType): array
{
	$stages = static::getDocumentStages($documentType);

	$fields = [
		'ID' => [
			'Name' => 'ID',
			'Type' => 'int',
		],
		'STAGE_ID' => [
			'Name' => Loc::getMessage('RPA_BP_DOCUMENT_ITEM_STAGE_ID'),
			'Type' => 'select',
			'Options' => $stages,
		],
		'PREVIOUS_STAGE_ID' => [
			'Name' => Loc::getMessage('RPA_BP_DOCUMENT_ITEM_PREVIOUS_STAGE_ID'),
			'Type' => 'select',
			'Options' => $stages,
		],
		'XML_ID' => [
			'Name' => Loc::getMessage('RPA_BP_DOCUMENT_ITEM_XML_ID'),
			'Type' => 'string',
			'Editable' => true,
		],
		'CREATED_BY' => [
			'Name' => Loc::getMessage('RPA_BP_DOCUMENT_ITEM_CREATED_BY'),
			'Type' => 'user',
		],
		'UPDATED_BY' => [
			'Name' => Loc::getMessage('RPA_BP_DOCUMENT_ITEM_UPDATED_BY'),
			'Type' => 'user',
		],
		'MOVED_BY' => [
			'Name' => Loc::getMessage('RPA_BP_DOCUMENT_ITEM_MOVED_BY'),
			'Type' => 'user',
		],
		'CREATED_TIME' => [
			'Name' => Loc::getMessage('RPA_BP_DOCUMENT_ITEM_CREATED_TIME'),
			'Type' => 'datetime',
		],
		'UPDATED_TIME' => [
			'Name' => Loc::getMessage('RPA_BP_DOCUMENT_ITEM_UPDATED_TIME'),
			'Type' => 'datetime',
		],
		'MOVED_TIME' => [
			'Name' => Loc::getMessage('RPA_BP_DOCUMENT_ITEM_MOVED_TIME'),
			'Type' => 'datetime',
		],
	];

	$type = self::getType($documentType);
	if ($type)
	{
		foreach($type->getUserFieldCollection() as $field)
		{
			$fieldType = self::resolveUserFieldType($field->getUserTypeId());
			if (!$fieldType)
			{
				continue;
			}

			$fields[$field->getName()] = self::createPropertyFromUserField($fieldType, $field);
		}
	}

	return $fields;
}