• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/payment.php
  • Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Payment
  • Вызов: Payment::getFields
public function getFields(): array
{
	if ($this->fields === null)
	{
		$this->fields = [
			'ID' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_ID'),
			],
			'ACCOUNT_NUMBER' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_ACCOUNT_NUMBER'),
			],
			'PAID' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_PAID'),
			],
			'DATE_PAID' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_DATE_PAID'),
				'TYPE' => static::FIELD_TYPE_DATE,
			],
			'PAY_SYSTEM_ID' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_PAY_SYSTEM_ID'),
			],
			'PAY_VOUCHER_NUM' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_PAY_VOUCHER_NUM'),
			],
			'PAY_VOUCHER_DATE' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_PAY_VOUCHER_DATE'),
				'TYPE' => static::FIELD_TYPE_DATE,
			],
			'DATE_PAY_BEFORE' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_DATE_PAY_BEFORE'),
				'TYPE' => static::FIELD_TYPE_DATE,
			],
			'DATE_BILL' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_DATE_BILL'),
			],
			'XML_ID' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_XML_ID'),
			],
			'SUM' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_SUM'),
			],
			'CURRENCY' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_CURRENCY'),
			],
			'PAY_SYSTEM_NAME' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_PAY_SYSTEM_NAME'),
			],
			'PAY_RETURN_NUM' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_PAY_RETURN_NUM'),
			],
			'PAY_RETURN_DATE' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_PAY_RETURN_DATE'),
				'TYPE' => static::FIELD_TYPE_DATE,
			],
			'PAY_RETURN_COMMENT' => [
				'TITLE' => Loc::getMessage('CRM_DOCUMENTGENERATOR_DATAPROVIDER_PAYMENT_PAY_RETURN_COMMENT'),
			],
			'RESPONSIBLE' => [
				'TITLE' => Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_ASSIGNED_TITLE'),
				'PROVIDER' => User::class,
				'OPTIONS' => [
					'FORMATTED_NAME_FORMAT' => [
						'format' => CrmEntityDataProvider::getNameFormat(),
					]
				],
				'VALUE' => [$this, 'getResponsibleId'],
			],
			'COMMENTS' => ['TITLE' => Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_QUOTE_COMMENTS_TITLE')]
		];

		if (!$this->isLightMode())
		{
			$this->fields['ORDER'] = [
				'TITLE' => Order::getLangName(),
				'PROVIDER' => Order::class,
				'OPTIONS' => [
					'isLightMode' => true,
					'enableMyCompany' => true,
				],
				'VALUE' => [$this, 'getOrderId'],
			];

			Loc::loadMessages(Path::combine(__DIR__, 'productsdataprovider.php'));
			$this->fields['PRODUCTS'] = [
				'PROVIDER' => ArrayDataProvider::class,
				'TITLE' => GetMessage('CRM_DOCGEN_PRODUCTSDATAPROVIDER_PRODUCTS_TITLE'),
				'OPTIONS' => [
					'ITEM_PROVIDER' => Product::class,
					'ITEM_NAME' => 'PRODUCT',
					'ITEM_TITLE' => GetMessage('CRM_DOCGEN_PRODUCTSDATAPROVIDER_PRODUCT_TITLE'),
				],
				'VALUE' => [$this, 'loadProducts'],
			];
		}
	}

	return $this->fields;
}