• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/deal.php
  • Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal
  • Вызов: Deal::getFields
public function getFields()
{
	if($this->fields === null)
	{
		parent::getFields();
		$this->fields['STAGE'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_DEAL_STAGE_TITLE'),
			'VALUE' => [$this, 'getStage'],
		];
		$this->fields['CATEGORY'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_DEAL_CATEGORY_TITLE'),
			'VALUE' => [$this, 'getCategory'],
		];
		$this->fields['CATEGORY_ID']['TITLE'] = GetMessage('CRM_DOCGEN_DATAPROVIDER_DEAL_CATEGORY_ID_TITLE');
		$this->fields['TYPE'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_DEAL_TYPE_TITLE'),
		];
		$this->fields['EVENT'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_DEAL_EVENT_TITLE'),
		];
		$this->fields['SOURCE'] = [
			'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_DEAL_SOURCE_TITLE'),
		];
		if (!$this->isLightMode())
		{
			$this->fields['CONTACTS'] = [
				'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_DEAL_CONTACTS_TITLE'),
				'PROVIDER' => ArrayDataProvider::class,
				'OPTIONS' => [
					'ITEM_PROVIDER' => Contact::class,
					'ITEM_NAME' => 'CONTACT',
					'ITEM_TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_DEAL_CONTACT_TITLE'),
					'ITEM_OPTIONS' => [
						'DISABLE_MY_COMPANY' => true,
						'isLightMode' => true,
					],
				],
				'VALUE' => [$this, 'getContacts'],
			];

			if (!\CCrmSaleHelper::isWithOrdersMode())
			{
				Loc::loadMessages(Path::combine(__DIR__, 'order.php'));
				$this->fields['PAYMENTS'] = [
					'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_PAYMENTS_TITLE'),
					'PROVIDER' => ArrayDataProvider::class,
					'OPTIONS' => [
						'ITEM_PROVIDER' => Payment::class,
						'ITEM_NAME' => 'PAYMENT',
						'ITEM_TITLE' => Payment::getLangName(),
						'ITEM_OPTIONS' => [
							'isLightMode' => true,
						],
					],
					'VALUE' => [$this, 'getPayments'],
				];

				$this->fields['SHIPMENTS'] = [
					'TITLE' => GetMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_SHIPMENTS_TITLE'),
					'PROVIDER' => ArrayDataProvider::class,
					'OPTIONS' => [
						'ITEM_PROVIDER' => Shipment::class,
						'ITEM_NAME' => 'SHIPMENT',
						'ITEM_TITLE' => Shipment::getLangName(),
						'ITEM_OPTIONS' => [
							'isLightMode' => true,
						],
					],
					'VALUE' => [$this, 'getShipments'],
				];
			}
		}
		$this->fields['OPPORTUNITY']['TYPE'] = Money::class;
		$this->fields['OPPORTUNITY']['FORMAT'] = ['CURRENCY_ID' => $this->getCurrencyId()];
	}

	return $this->fields;
}