• Модуль: catalogmobile
  • Путь к файлу: ~/bitrix/modules/catalogmobile/lib/EntityEditor/RealizationDocumentProvider.php
  • Класс: BitrixCatalogMobileEntityEditorRealizationDocumentProvider
  • Вызов: RealizationDocumentProvider::getEntityFields
public function getEntityFields(): array
{
	$entityFields = [
		[
			'name' => 'CLIENT',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_CLIENT'),
			'type' => 'client_light',
			'editable' => true,
			'requiredConditionally' => true,
			'required' => true,
			'multiple' => false,
			'data' => [
				'compound' => [
					[
						'name' => 'COMPANY_ID',
						'type' => 'company',
						'entityTypeName' => CCrmOwnerType::CompanyName,
						'tagName' => CCrmOwnerType::CompanyName,
					],
					[
						'name' => 'CONTACT_IDS',
						'type' => 'multiple_contact',
						'entityTypeName' => CCrmOwnerType::ContactName,
						'tagName' => CCrmOwnerType::ContactName,
					],
				],
				'map' => ['data' => 'CLIENT_DATA'],
				'info' => 'CLIENT_INFO',
				'lastCompanyInfos' => 'LAST_COMPANY_INFOS',
				'lastContactInfos' => 'LAST_CONTACT_INFOS',
				'loaders' => [
					'primary' => [
						CCrmOwnerType::CompanyName => [
							'action' => 'GET_CLIENT_INFO',
							'url' => '/bitrix/components/bitrix/crm.company.show/ajax.php?'.bitrix_sessid_get(),
						],
						CCrmOwnerType::ContactName => [
							'action' => 'GET_CLIENT_INFO',
							'url' => '/bitrix/components/bitrix/crm.contact.show/ajax.php?'.bitrix_sessid_get(),
						],
					],
					'secondary' => [
						CCrmOwnerType::CompanyName => [
							'action' => 'GET_SECONDARY_ENTITY_INFOS',
							'url' => '/bitrix/components/bitrix/crm.store.document.detail/ajax.php?'.bitrix_sessid_get(),
						],
					],
				],
				'clientEditorFieldsParams' => $this->prepareClientEditorFieldsParams(),
				'useExternalRequisiteBinding' => true,
				'permissions' => $this->getClientPermissions(),
				'hasSolidBorder' => true,
			],
		],
		[
			'name' => 'ID',
			'title' => 'ID',
			'type' => 'hidden',
			'editable' => false,
		],
		[
			'name' => 'ORDER_ID',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_ORDER_ID'),
			'type' => 'hidden',
			'editable' => false,
		],
		[
			'name' => 'XML_ID',
			'title' => 'XML_ID',
			'type' => 'hidden',
			'editable' => false,
		],
		[
			'name' => 'DELIVERY_NAME',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_DELIVERY_NAME'),
			'type' => 'text',
			'editable' => false,
			'showNew' => true,
		],
		[
			'name' => 'PRICE_DELIVERY_CALCULATED_WITH_CURRENCY',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_PRICE_DELIVERY_CALCULATED_WITH_CURRENCY'),
			'type' => 'opportunity',
			'editable' => false,
			'showNew' => true,
			'data' => [
				'largeFormat' => true,
				'affectedFields' => ['CURRENCY', 'PRICE_DELIVERY_CALCULATED'],
				'currency' => [
					'name' => 'CURRENCY',
					'items'=> CCrmInstantEditorHelper::PrepareListOptions(CCrmCurrencyHelper::PrepareListItems()),
				],
				'amount' => 'PRICE_DELIVERY_CALCULATED',
				'formatted' => 'FORMATTED_PRICE_DELIVERY_CALCULATED',
				'formattedWithCurrency' => 'FORMATTED_PRICE_DELIVERY_CALCULATED_WITH_CURRENCY',
			],
		],
		[
			'name' => 'PRICE_DELIVERY_WITH_CURRENCY',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_PRICE_DELIVERY_WITH_CURRENCY'),
			'type' => 'opportunity',
			'editable' => false,
			'showNew' => true,
			'data' => [
				'largeFormat' => true,
				'affectedFields' => ['CURRENCY', 'PRICE_DELIVERY'],
				'currency' => [
					'name' => 'CURRENCY',
					'items'=> CCrmInstantEditorHelper::PrepareListOptions(CCrmCurrencyHelper::PrepareListItems()),
				],
				'amount' => 'PRICE_DELIVERY',
				'formatted' => 'FORMATTED_PRICE_DELIVERY',
				'formattedWithCurrency' => 'FORMATTED_PRICE_DELIVERY_WITH_CURRENCY',
			],
		],
		[
			'name' => 'COMMENTS',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_COMMENTS'),
			'type' => 'text',
			'editable' => false,
		],
		[
			'name' => 'EXTRA_SERVICES_DATA',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_EXTRA_SERVICES_DATA'),
			'type' => 'shipment_extra_services',
			'editable' => false,
		],
		[
			'name' => 'RESPONSIBLE_ID',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_RESPONSIBLE_ID'),
			'type' => 'user',
			'editable' => true,
			'required' => true,
			'multiple' => false,
			'data' => [
				'entityListField' => 'RESPONSIBLE_ID_ENTITY_LIST',
				'provider' => 'CATALOG_DOCUMENT',
				'hasSolidBorder' => true,
			],
		],
		[
			'name' => 'DOCUMENT_PRODUCTS',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_DOCUMENT_PRODUCTS'),
			'type' => 'product_row_summary',
			'editable' => false,
		],
		[
			'name' => 'DOC_STATUS',
			'title' => Loc::getMessage('REALIZATION_DOCUMENT_PROVIDER_DOC_STATUS'),
			'type' => 'status',
			'editable' => false,
			'showAlways' => true,
		],
	];

	if ($this->needDeliveryBlock())
	{
		$entityFields = [...$entityFields, ...$this->getShipmentPropertiesFields()];
	}

	return $entityFields;
}