1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
tradebinding.php
См. документацию.
1<?php
2
3
4namespace Bitrix\Sale\Controller;
5
6
7use Bitrix\Main\Engine\Response\DataType\Page;
8use Bitrix\Main\Entity\ExpressionField;
9use Bitrix\Main\Error;
10use Bitrix\Main\UI\PageNavigation;
11use Bitrix\Sale\Registry;
12use Bitrix\Sale\Result;
13use Bitrix\Sale\TradeBindingCollection;
14
16{
17 public function getFieldsAction()
18 {
19 $view = $this->getViewManager()
20 ->getView($this);
21
22 return ['TRADE_BINDING'=>$view->prepareFieldInfos(
23 $view->getFields()
24 )];
25 }
26
27 public function listAction(PageNavigation $pageNavigation, array $select = [], array $filter = [], array $order = []): Page
28 {
29 $select = empty($select) ? ['*'] : $select;
30 $order = empty($order) ? ['ID' => 'ASC'] : $order;
31
34 $tradeBindingCollection = $registry->get(Registry::ENTITY_TRADE_BINDING_COLLECTION);
35
36 $tradeBindings = $tradeBindingCollection::getList(
37 [
38 'select' => $select,
39 'filter' => $filter,
40 'order' => $order,
41 'offset' => $pageNavigation->getOffset(),
42 'limit' => $pageNavigation->getLimit(),
43 ]
44 )->fetchAll();
45
46 return new Page('TRADE_BINDINGS', $tradeBindings, function() use ($filter)
47 {
50 $tradeBindingCollection = $registry->get(Registry::ENTITY_TRADE_BINDING_COLLECTION);
51
52 return (int) $tradeBindingCollection::getList([
53 'select' => ['CNT'],
54 'filter' => $filter,
55 'runtime' => [
56 new ExpressionField('CNT', 'COUNT(ID)')
57 ]
58 ])->fetch()['CNT'];
59 });
60 }
61
62 static public function prepareFields($fields)
63 {
64 return isset($fields['TRADE_BINDINGS'])?['TRADE_BINDINGS'=>$fields['TRADE_BINDINGS']]:[];
65 }
66
67 protected function checkReadPermissionEntity(): Result
68 {
69 $r = new Result();
70
71 $saleModulePermissions = self::getApplication()->GetGroupRight("sale");
72 if ($saleModulePermissions == "D")
73 {
74 $r->addError(new Error('Access Denied', 200040300010));
75 }
76 return $r;
77 }
78}
Определения error.php:15
static prepareFields($fields)
Определения tradebinding.php:62
const ENTITY_TRADE_BINDING_COLLECTION
Определения registry.php:55
static getInstance($type)
Определения registry.php:183
const REGISTRY_TYPE_ORDER
Определения registry.php:16
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$select
Определения iblock_catalog_list.php:194
$filter
Определения iblock_catalog_list.php:54
Определения aliases.php:54
$order
Определения payment.php:8
$saleModulePermissions
Определения tools.php:21
$fields
Определения yandex_run.php:501