- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/order.php
- Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Order
- Вызов: Order::getFields
public function getFields()
{
if($this->fields === null)
{
parent::getFields();
$orderProperties = static::getProperties();
foreach($orderProperties as &$property)
{
$property['VALUE'] = [$this, 'getPropertyValue'];
}
unset($property);
$this->fields = array_merge($this->fields, $orderProperties);
$this->fields['DATE_INSERT']['TYPE'] = static::FIELD_TYPE_DATE;
$this->fields['DATE_UPDATE']['TYPE'] = static::FIELD_TYPE_DATE;
$this->fields['DATE_PAYED']['TYPE'] = static::FIELD_TYPE_DATE;
$this->fields['DATE_DEDUCTED']['TYPE'] = static::FIELD_TYPE_DATE;
$this->fields['DATE_STATUS']['TYPE'] = static::FIELD_TYPE_DATE;
$this->fields['PAY_VOUCHER_DATE']['TYPE'] = static::FIELD_TYPE_DATE;
$this->fields['DATE_CANCELED']['TYPE'] = static::FIELD_TYPE_DATE;
$this->fields['DELIVERY_DOC_DATE']['TYPE'] = static::FIELD_TYPE_DATE;
$this->fields['ACCOUNT_NUMBER']['TITLE'] = Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_ACCOUNT_NUMBER_TITLE');
$this->fields['TRACKING_NUMBER']['TITLE'] = Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_TRACKING_NUMBER_TITLE');
$this->fields['USER'] = [
'TITLE' => Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_USER_TITLE'),
'PROVIDER' => User::class,
'VALUE' => 'USER_ID',
];
$this->fields['DATE_PAYED']['TITLE'] = Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_DATE_PAYED_TITLE');
$this->fields['DATE_DEDUCTED']['TITLE'] = Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_DATE_DEDUCTED_TITLE');
$this->fields['REASON_UNDO_DEDUCTED']['TITLE'] = Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_REASON_UNDO_DEDUCTED_TITLE');
$this->fields['STATUS']['TITLE'] = Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_STATUS_TITLE');
$this->fields['STATUS']['VALUE'] = [$this, 'getStatus'];
$this->fields['USER_DESCRIPTION']['TITLE'] = Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_USER_DESCRIPTION_TITLE');
$this->fields['COMMENTS']['TITLE'] = Loc::getMessage('CRM_DOCGEN_DATAPROVIDER_ORDER_COMMENTS_TITLE');
$this->fields['COMPANY']['OPTIONS'] = [
'DISABLE_MY_COMPANY' => true,
'VALUES' => [
'REQUISITE' => $this->getBuyerRequisiteId(),
'BANK_DETAIL' => $this->getBuyerBankDetailId(),
]
];
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'],
];
$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'],
];
}
}
return $this->fields;
}