- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/blocks/orderpayment.php
- Класс: BitrixSaleHelpersAdminBlocksOrderPayment
- Вызов: OrderPayment::prepareData
static function prepareData($item, $error = false)
{
/** @var $item BitrixSalePayment */
global $USER, $APPLICATION;
static $users = array();
static $userCompanyList = array();
$registry = SaleRegistry::getInstance(SaleRegistry::REGISTRY_TYPE_ORDER);
/** @var SaleOrder $orderClass */
$orderClass = $registry->getOrderClassName();
if (is_null(self::$order))
self::$order = $item->getCollection()->getOrder();
$fields = ($error) ? self::$defaultFields : $item->getFieldValues();
$fields['EMP_PAID_ID_NAME'] = '';
$fields['EMP_PAID_ID_LAST_NAME'] = '';
$empPaidId = (int)($fields['EMP_PAID_ID'] ?? 0);
if ($empPaidId > 0)
{
if (!array_key_exists($item->getField('EMP_PAID_ID'), $users))
$users[$empPaidId] = $USER->GetByID($empPaidId)->Fetch();
$fields['EMP_PAID_ID_NAME'] = $users[$empPaidId]['NAME'];
$fields['EMP_PAID_ID_LAST_NAME'] = $users[$empPaidId]['LAST_NAME'];
}
$fields['ORDER_ID'] = self::$order->getId();
$fields['SUM'] = $item->getSum();
$fields['ORDER_PRICE'] = self::$order->getPrice();
$fields['ORDER_PAYMENT_SUM'] = $item->getCollection()->getSum();
$fields['CURRENCY'] = self::$order->getCurrency();
$fields['PERSON_TYPE_ID'] = self::$order->getPersonTypeId();
$fields['SITE_ID'] = self::$order->getSiteId();
$fields['STATUS_ID'] = self::$order->getField('STATUS_ID');
$fields['ORDER_LOCKED'] = $orderClass::isLocked($fields['ORDER_ID']);
$saleModulePermissions = $APPLICATION->GetGroupRight("sale");
if($saleModulePermissions == "P")
{
if (empty($userCompanyList))
{
$userCompanyList = CompanyManager::getUserCompanyList($USER->GetID());
}
$isUserResponsible = false;
if (self::$order->getField('RESPONSIBLE_ID') == $USER->GetID()
|| ($fields['RESPONSIBLE_ID'] == $USER->GetID()))
{
$isUserResponsible = true;
}
$isAllowCompany = in_array($item->getField('COMPANY_ID'), $userCompanyList) || in_array(self::$order->getField('COMPANY_ID'), $userCompanyList);
if (!$isUserResponsible && !$isAllowCompany)
{
foreach ($fields as $fieldName => $fieldValue)
{
if (in_array($fieldName, static::getDisallowFields()))
{
unset($fields[$fieldName]);
}
}
}
$fields['IS_USER_RESPONSIBLE'] = $isUserResponsible;
$fields['IS_ALLOW_COMPANY'] = $isAllowCompany;
}
$fields['PAY_SYSTEM_LIST'] = self::getPaySystemList($item);
$fields['CHECK'] = CheckManager::getCheckInfo($item);
$paySystemId = (int)($fields['PAY_SYSTEM_ID'] ?? 0);
$fields['CAN_PRINT_CHECK'] = $fields['PAY_SYSTEM_LIST'][$paySystemId]['CAN_PRINT_CHECK'] ?? 'N';
if (SaleCashboxManager::isEnabledPaySystemPrint())
{
$fields['CAN_PRINT_CHECK'] = 'N';
}
$dbRes = CashboxTable::getList(array('filter' => array('=ACTIVE' => 'Y', '=ENABLED' => 'Y')));
$fields['HAS_ENABLED_CASHBOX'] = ($dbRes->fetch()) ? 'Y' : 'N';
$service = $item->getPaySystem();
$fields['HAS_PREVIEW'] = $service && $service->isAffordPdf();
return $fields;
}