3namespace Bitrix\Sale\Controller;
5use Bitrix\Main\DB\SqlExpression;
6use Bitrix\Main\Engine\AutoWire\ExactParameter;
7use Bitrix\Main\Engine\Response\DataType\Page;
8use Bitrix\Main\Entity\ExpressionField;
11use Bitrix\Main\UI\PageNavigation;
12use Bitrix\Sale\Result;
17 public function getPrimaryAutoWiredParameter()
20 Sale\PropertyValue::class,
22 function($className, $id)
27 $propertyValueClass = $registry->getPropertyValueClassName();
29 $r = $propertyValueClass::getList([
30 'select'=>[
'ORDER_ID'],
34 if ($row = $r->fetch())
37 $orderClass = $registry->getOrderClassName();
40 ->getPropertyCollection()
49 $this->addError(
new Error(
'property value is not exists', 201040400001));
60 $view = $this->getViewManager()
63 return [
'PROPERTY_VALUE'=>$view->prepareFieldInfos(
71 $builder->buildEntityProperties(
$fields);
73 if($builder->getErrorsContainer()->getErrorCollection()->count()>0)
75 $this->addErrors($builder->getErrorsContainer()->getErrors());
79 $order = $builder->getOrder();
84 $this->addErrors($r->getErrors());
88 return [
'PROPERTY_VALUES'=>$this->
toArray(
$order)[
'ORDER'][
'PROPERTY_VALUES']];
103 $this->addErrors($r->getErrors());
105 return $r->isSuccess();
110 return [
'PROPERTY_VALUE'=>$this->
getItem($propertyValue)];
118 new \Bitrix\Main\Entity\ReferenceField(
120 '\Bitrix\Sale\Internals\OrderPropsTable',
122 '=this.ORDER_PROPS_ID' =>
'ref.ID',
125 [
'join_type' =>
'INNER']
134 'offset' => $pageNavigation->
getOffset(),
135 'limit' => $pageNavigation->
getLimit(),
136 'runtime' => $runtime,
140 return new Page(
'PROPERTY_VALUES', $propertyValues,
function() use (
$select,
$filter, $runtime)
172 if(isset(
$fields[
'PROPERTY_VALUES']))
174 foreach(
$fields[
'PROPERTY_VALUES'] as $field)
176 $data[$field[
'ORDER_PROPS_ID']]=$field[
'VALUE'];
179 return is_array(
$data)?[
'PROPERTIES'=>
$data]:[];
189 $r->addError(
new Error(
'Access Denied', 200040300020));
201 $r->addError(
new Error(
'Access Denied', 200040300010));
210 if(
$name ==
'modify')
216 $r = parent::checkPermissionEntity(
$name);
static getList(array $parameters)
toArray(\Bitrix\Sale\Order $order, array $fields=[])
getBuilder(SettingsContainer $settings=null)
getItem(Sale\PropertyValue $propertyValue, array $fields=[])
checkModifyPermissionEntity()
static prepareFields($fields)
checkReadPermissionEntity()
modifyAction(array $fields)
deleteAction(Sale\PropertyValue $propertyValue)
getAction(Sale\PropertyValue $propertyValue)
listAction(PageNavigation $pageNavigation, array $select=[], array $filter=[], array $order=[])
checkPermissionEntity($name, $arguments=[])
static getInstance($type)
const REGISTRY_TYPE_ORDER
</td ></tr ></table ></td ></tr ><?endif?><? $propertyIndex=0;foreach( $arGlobalProperties as $propertyCode=> $propertyValue
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)