Bitrix-D7  20.0.0
Класс PropertyValueBase
Граф наследования:PropertyValueBase:
CollectableEntity Entity PropertyValue

Открытые члены

 setField ($name, $value)
 
 save ()
 
 getOrder ()
 
 setValueFromPost (array $post)
 
 checkValue ($key, $value)
 
 checkRequiredValue ($key, $value)
 
 getProperty ()
 
 getPropertyObject ()
 
 getValueId ()
 
 getPropertyId ()
 
 getPersonTypeId ()
 
 getGroupId ()
 
 getName ()
 
 getRelations ()
 
 getDescription ()
 
 getType ()
 
 isRequired ()
 
 isUtil ()
 
 setValue ($value)
 
 getViewHtml ()
 
 getEditHtml ()
 
 getValue ()
 
 verify ()
 
- Открытые члены унаследованные от CollectableEntity
 setCollection (EntityCollection $collection)
 
 getCollection ()
 
 delete ()
 
 setInternalIndex ($index)
 
 getInternalIndex ()
 
 isStartField ($isMeaningfulField=false)
 
 clearStartField ()
 
 hasMeaningfulField ()
 
 doFinalAction ($hasMeaningfulField=false)
 
 setMathActionOnly ($value=false)
 
 isMathActionOnly ()
 
 isClone ()
 
 createClone (\SplObjectStorage $cloneEntity)
 
- Открытые члены унаследованные от Entity
 initializeField ($fieldName, $fieldInfo)
 Fields factory. Подробнее...
 
 initialize ($className)
 
 postInitialize ()
 
 getObjectClass ()
 Returns class of Object for current entity. Подробнее...
 
 getObjectClassName ()
 Returns class name of Object for current entity. Подробнее...
 
 getCollectionClass ()
 
 getCollectionClassName ()
 
 createObject ($setDefaultValues=true)
 
 createCollection ()
 
 wakeUpObject ($row)
 
 wakeUpCollection ($rows)
 
 addField ($fieldInfo, $fieldName=null)
 
 getReferencesCountTo ($refEntityName)
 
 getReferencesTo ($refEntityName)
 
 getFields ()
 
 getField ($name)
 
 hasField ($name)
 
 getScalarFields ()
 
 getUField ($name)
 
 hasUField ($name)
 
 getFullName ()
 
 getNamespace ()
 
 getModule ()
 
 getDataClass ()
 
 getConnection ()
 
 getDBTableName ()
 
 getPrimary ()
 
 getPrimaryArray ()
 
 getAutoIncrement ()
 
 isUts ()
 
 isUtm ()
 
 getUfId ()
 
 setDefaultScope ($query)
 
 getCode ()
 
 getLangCode ()
 
 getTitle ()
 
 __clone ()
 
 compileDbTableStructureDump ()
 
 createDbTable ()
 Creates table according to Fields collection. Подробнее...
 
 readFromCache ($ttl, $cacheId, $countTotal=false)
 Reads data from cache. Подробнее...
 
 writeToCache (Main\DB\Result $result, $cacheId, $countTotal=false)
 
 getCacheTtl ($ttl)
 Returns cache TTL for the entity, possibly limited by the .settings.php: 'cache_flags' => array('value'=> array( "b_group_max_ttl" => 200, "b_group_min_ttl" => 100, )) Maximum is a higher-priority. Подробнее...
 
 cleanCache ()
 Cleans all cache entries for the entity. Подробнее...
 
 enableFullTextIndex ($field, $mode=true)
 Sets a flag indicating full text index support for a field. Подробнее...
 
 fullTextIndexEnabled ($field)
 Returns true if full text index is enabled for a field. Подробнее...
 

Открытые статические члены

static generateXmlId ()
 
static loadForOrder (OrderBase $order)
 
static create (PropertyValueCollectionBase $collection, array $property=array())
 
static getAvailableFields ()
 
static getRegistryEntity ()
 
static getList (array $parameters=array())
 
static loadOptions ($propertyId)
 
static getMeaningfulValues ($personTypeId, $request)
 
static getEntityEventName ()
 
- Открытые статические члены унаследованные от Entity
static get ($entityName)
 Returns entity object. Подробнее...
 
static has ($entityName)
 Checks if entity exists. Подробнее...
 
static getInstance ($entityName)
 
static getDefaultObjectClassName ($entityName)
 
static getDefaultCollectionClassName ($entityName)
 
static isExists ($name)
 
static normalizeEntityClass ($entityName)
 
static getEntityClassParts ($class)
 
static camel2snake ($str)
 
static snake2camel ($str)
 
static normalizeName ($entityName)
 
static getInstanceByQuery (Query $query, &$entity_name=null)
 
static compileEntity ($entityName, $fields=null, $parameters=array())
 
static compileObjectClass ($dataClass)
 
static compileCollectionClass ($dataClass)
 
static destroy ($entity)
 

Защищенные члены

 __construct (array $property=null, array $value=[], array $relation=null)
 PropertyValueBase constructor. Подробнее...
 
 update ()
 
 add ()
 
 addInternal (array $data)
 
 updateInternal ($primary, array $data)
 
- Защищенные члены унаследованные от CollectableEntity
 onFieldModify ($name, $oldValue, $value)
 
- Защищенные члены унаследованные от Entity
 appendField (Field $field)
 
 getCacheDir ()
 

Защищенные статические члены

static constructRelatedEntitiesFilter (OrderBase $order)
 
static extractPaySystemIdList (OrderBase $order)
 
static extractDeliveryIdList (OrderBase $order)
 
static createPropertyValueObject (array $property=null, array $value=[], array $relation=null)
 
static getMeaningfulFields ()
 
- Защищенные статические члены унаследованные от Entity
static getInstanceDirect ($className)
 

Защищенные данные

 $property = null
 
- Защищенные данные унаследованные от CollectableEntity
 $collection
 
 $internalIndex = null
 
 $isClone = false
 
- Защищенные данные унаследованные от Entity
 $className
 
 $module
 
 $uf_id
 
 $fields
 
 $fieldsMap
 
 $u_fields
 
 $code
 
 $references
 
 $isClone = false
 

Дополнительные унаследованные члены

- Поля данных унаследованные от Entity
 $name
 
 $connectionName
 
 $dbTableName
 
 $primary
 
 $autoIncrement
 
 $isUts
 
 $isUtm
 
const DEFAULT_OBJECT_PREFIX = 'EO_'
 
- Статические защищенные данные унаследованные от Entity
static $instances
 

Подробное описание

См. определение в файле propertyvaluebase.php строка 11

Конструктор(ы)

◆ __construct()

__construct ( array  $property = null,
array  $value = [],
array  $relation = null 
)
protected

PropertyValueBase constructor.

Аргументы
array | null$property
array | null$value
array | null$relation
Исключения
Main

См. определение в файле propertyvaluebase.php строка 23

24  {
25  if (!$property && !$value)
26  {
27  throw new Main\SystemException('invalid arguments', 0, __FILE__, __LINE__);
28  }
29 
30  if ($property)
31  {
32  if (is_array($property['SETTINGS']))
33  {
34  $property += $property['SETTINGS'];
35  unset ($property['SETTINGS']);
36  }
37  }
38  else
39  {
40  $property = array(
41  'TYPE' => 'STRING',
42  'PROPS_GROUP_ID' => 0,
43  'NAME' => $value['NAME'],
44  'CODE' => $value['CODE'],
45  );
46  }
47 
48  $registry = Registry::getInstance(static::getRegistryType());
49 
50  /** @var PropertyBase $propertyClassName */
51  $propertyClassName = $registry->getPropertyClassName();
52 
53  $this->property = new $propertyClassName($property, $relation);
54 
55  if (isset($value['VALUE']))
56  {
57  $value['VALUE'] = $this->property->normalizeValue($value['VALUE']);
58  }
59 
60  parent::__construct($value);
61 
62  if (!$value)
63  {
64  $value = array(
65  'ORDER_PROPS_ID' => $this->property->getId(),
66  'NAME' => $this->property->getName(),
67  'CODE' => $this->property->getField('CODE'),
68  'XML_ID' => static::generateXmlId()
69  );
70 
71  if (!empty($this->property->getField('DEFAULT_VALUE')))
72  {
73  $value['VALUE'] = $this->property->getField('DEFAULT_VALUE');
74  }
75 
76  $this->setFieldsNoDemand($value);
77  }
78  }

Методы

◆ add()

add ( )
protected
Возвращает
Result
Исключения
Main

Переопределяется в PropertyValue.

См. определение в файле propertyvaluebase.php строка 438

439  {
440  $result = new Result();
441 
442  $value = $this->property->getPreparedValueForSave($this);
443 
444  $r = static::addInternal(
445  array(
446  'ORDER_ID' => $this->getOrder()->getId(),
447  'ORDER_PROPS_ID' => $this->property->getId(),
448  'NAME' => $this->property->getName(),
449  'VALUE' => $value,
450  'CODE' => $this->property->getField('CODE'),
451  'XML_ID' => $this->getField('XML_ID'),
452  )
453  );
454 
455  if ($r->isSuccess())
456  {
457  $this->setFieldNoDemand('ID', $r->getId());
458  $result->setId($r->getId());
459  }
460  else
461  {
462  $result->addErrors($r->getErrors());
463  }
464 
465  return $result;
466  }

◆ addInternal()

addInternal ( array  $data)
abstractprotected
Аргументы
array$data
Исключения
Main

Переопределяется в PropertyValue.

◆ checkRequiredValue()

checkRequiredValue (   $key,
  $value 
)
Аргументы
$key
$value
Возвращает
Result
Исключения
Main

См. определение в файле propertyvaluebase.php строка 533

534  {
535  $result = new Result();
536 
537  $r = $this->property->checkRequiredValue($value);
538  if (!$r->isSuccess())
539  {
540  $errors = $r->getErrors();
541  foreach ($errors as $error)
542  {
543  $result->addError(new ResultError($error->getMessage(), "PROPERTIES[$key]"));
544  $result->addError(new ResultWarning($error->getMessage(), "PROPERTIES[$key]"));
545  }
546  }
547 
548  return $result;
549  }

◆ checkValue()

checkValue (   $key,
  $value 
)
Аргументы
$key
$value
Возвращает
Result
Исключения
Main

См. определение в файле propertyvaluebase.php строка 508

509  {
510  $result = new Result();
511 
512  $r = $this->property->checkValue($value);
513  if (!$r->isSuccess())
514  {
515  $errors = $r->getErrors();
516  foreach ($errors as $error)
517  {
518  $result->addError(new ResultError($error->getMessage(), "PROPERTIES[$key]"));
519  $result->addError(new ResultWarning($error->getMessage(), "PROPERTIES[$key]"));
520  }
521  }
522 
523  return $result;
524  }

◆ constructRelatedEntitiesFilter()

static constructRelatedEntitiesFilter ( OrderBase  $order)
staticprotected
Аргументы
OrderBase$order
Возвращает
array

См. определение в файле propertyvaluebase.php строка 216

217  {
218  $result = [];
219 
220  $subFilter = [
221  'LOGIC' => 'OR',
222  '=RELATION_PS.ENTITY_ID' => null,
223  ];
224 
225  $paySystemList = static::extractPaySystemIdList($order);
226  if ($paySystemList)
227  {
228  $subFilter['@RELATION_PS.ENTITY_ID'] = $paySystemList;
229  }
230 
231  $result[] = $subFilter;
232 
233  $subFilter = [
234  'LOGIC' => 'OR',
235  '=RELATION_DLV.ENTITY_ID' => null,
236  ];
237 
238  $deliveryList = static::extractDeliveryIdList($order);
239  if ($deliveryList)
240  {
241  $subFilter['@RELATION_DLV.ENTITY_ID'] = $deliveryList;
242  }
243 
244  $result[] = $subFilter;
245 
246  return $result;
247  }

◆ create()

static create ( PropertyValueCollectionBase  $collection,
array  $property = array() 
)
static
Аргументы
PropertyValueCollectionBase$collection
array$property
Возвращает
mixed
Исключения
Main

См. определение в файле propertyvaluebase.php строка 274

275  {
276  $propertyValue = static::createPropertyValueObject($property);
277  $propertyValue->setCollection($collection);
278 
279  return $propertyValue;
280  }

◆ createPropertyValueObject()

static createPropertyValueObject ( array  $property = null,
array  $value = [],
array  $relation = null 
)
staticprotected
Аргументы
array | null$property
array | null$value
array | null$relation
Возвращает
mixed
Исключения
Main

См. определение в файле propertyvaluebase.php строка 290

291  {
292  $registry = Registry::getInstance(static::getRegistryType());
293  $propertyValueClassName = $registry->getPropertyValueClassName();
294 
295  return new $propertyValueClassName($property, $value, $relation);
296  }

◆ extractDeliveryIdList()

static extractDeliveryIdList ( OrderBase  $order)
staticprotected
Аргументы
OrderBase$order
Возвращает
array

Переопределяется в PropertyValue.

См. определение в файле propertyvaluebase.php строка 262

263  {
264  return [(int)$order->getField('DELIVERY_ID')];
265  }

◆ extractPaySystemIdList()

static extractPaySystemIdList ( OrderBase  $order)
staticprotected
Аргументы
OrderBase$order
Возвращает
array

Переопределяется в PropertyValue.

См. определение в файле propertyvaluebase.php строка 253

254  {
255  return [$order->getField('PAY_SYSTEM_ID')];
256  }

◆ generateXmlId()

static generateXmlId ( )
static
Возвращает
string

См. определение в файле propertyvaluebase.php строка 83

84  {
85  return uniqid('bx_');
86  }

◆ getAvailableFields()

static getAvailableFields ( )
static
Возвращает
array

См. определение в файле propertyvaluebase.php строка 301

302  {
303  return array('VALUE');
304  }

◆ getDescription()

getDescription ( )
Возвращает
mixed

См. определение в файле propertyvaluebase.php строка 618

619  {
620  return $this->property->getDescription();
621  }

◆ getEditHtml()

getEditHtml ( )
Возвращает
string
Исключения
Main

См. определение в файле propertyvaluebase.php строка 703

704  {
705  return $this->property->getEditHtml($this->getFieldValues());
706  }

◆ getEntityEventName()

static getEntityEventName ( )
static
Возвращает
null|string

См. определение в файле propertyvaluebase.php строка 789

790  {
791  return 'SalePropertyValue';
792  }

◆ getGroupId()

getGroupId ( )
Возвращает
mixed

См. определение в файле propertyvaluebase.php строка 594

595  {
596  return $this->property->getGroupId();
597  }

◆ getList()

static getList ( array  $parameters = array())
static
Аргументы
array$parameters
Исключения
Main

Переопределяется в PropertyValue.

См. определение в файле propertyvaluebase.php строка 675

676  {
677  throw new Main\NotImplementedException();
678  }

◆ getMeaningfulFields()

static getMeaningfulFields ( )
staticprotected
Возвращает
array

См. определение в файле propertyvaluebase.php строка 309

310  {
311  return array();
312  }

◆ getMeaningfulValues()

static getMeaningfulValues (   $personTypeId,
  $request 
)
static
Уст.:
См. также
\Bitrix\Sale\Property::getMeaningfulValues
Аргументы
$personTypeId
$request
Возвращает
array
Исключения
Main

См. определение в файле propertyvaluebase.php строка 775

776  {
777  $registry = Registry::getInstance(static::getRegistryType());
778 
779  /** @var PropertyBase $propertyClassName */
780  $propertyClassName = $registry->getPropertyClassName();
781  return $propertyClassName::getMeaningfulValues($personTypeId, $request);
782  }

◆ getName()

getName ( )
Возвращает
mixed

Переопределяет метод предка Entity.

См. определение в файле propertyvaluebase.php строка 602

603  {
604  return $this->property->getName();
605  }

◆ getOrder()

getOrder ( )
Возвращает
Order|null

См. определение в файле propertyvaluebase.php строка 391

392  {
393  /** @var PropertyValueCollectionBase $collection */
394  $collection = $this->getCollection();
395  if (!$collection)
396  {
397  return null;
398  }
399 
400  /** @var Order $order */
401  $order = $collection->getOrder();
402  if (!$order)
403  {
404  return null;
405  }
406 
407  return $order;
408  }

◆ getPersonTypeId()

getPersonTypeId ( )
Возвращает
mixed

См. определение в файле propertyvaluebase.php строка 586

587  {
588  return $this->property->getPersonTypeId();
589  }

◆ getProperty()

getProperty ( )
Возвращает
array

См. определение в файле propertyvaluebase.php строка 554

555  {
556  return $this->property->getFields();
557  }

◆ getPropertyId()

getPropertyId ( )
Возвращает
mixed

См. определение в файле propertyvaluebase.php строка 578

579  {
580  return $this->property->getId();
581  }

◆ getPropertyObject()

getPropertyObject ( )
Возвращает
PropertyBase|null

См. определение в файле propertyvaluebase.php строка 562

563  {
564  return $this->property;
565  }

◆ getRegistryEntity()

static getRegistryEntity ( )
static
Возвращает
string

См. определение в файле propertyvaluebase.php строка 650

651  {
653  }

◆ getRelations()

getRelations ( )
Возвращает
mixed

См. определение в файле propertyvaluebase.php строка 610

611  {
612  return $this->property->getRelations();
613  }

◆ getType()

getType ( )
Возвращает
mixed

См. определение в файле propertyvaluebase.php строка 626

627  {
628  return $this->property->getType();
629  }

◆ getValue()

getValue ( )
Возвращает
null|string

См. определение в файле propertyvaluebase.php строка 711

712  {
713  return $this->getField("VALUE");
714  }

◆ getValueId()

getValueId ( )
Возвращает
null|string

См. определение в файле propertyvaluebase.php строка 570

571  {
572  return $this->getField('ID');
573  }

◆ getViewHtml()

getViewHtml ( )
Возвращает
string
Исключения
Main

См. определение в файле propertyvaluebase.php строка 694

695  {
696  return $this->property->getViewHtml($this->getValue());
697  }

◆ isRequired()

isRequired ( )
Возвращает
bool

См. определение в файле propertyvaluebase.php строка 634

635  {
636  return $this->property->isRequired();
637  }

◆ isUtil()

isUtil ( )
Возвращает
bool

См. определение в файле propertyvaluebase.php строка 642

643  {
644  return $this->property->isUtil();
645  }

◆ loadForOrder()

static loadForOrder ( OrderBase  $order)
static
Аргументы
OrderBase$order
Возвращает
array
Исключения
Main

См. определение в файле propertyvaluebase.php строка 96

97  {
98  $result = [];
99 
100  $propertyValues = [];
101  $propertyValuesMap = [];
102 
103  if ($order->getId() > 0)
104  {
105  $dbRes = static::getList(array(
106  'select' => array('ID', 'NAME', 'VALUE', 'CODE', 'ORDER_PROPS_ID'),
107  'filter' => array('ORDER_ID' => $order->getId())
108  ));
109  while ($row = $dbRes->fetch())
110  {
111  $propertyValues[$row['ID']] = $row;
112  $propertyValuesMap[$row['ORDER_PROPS_ID']] = $row['ID'];
113  }
114  }
115 
116  $filter = [];
117  if ($order->getPersonTypeId() > 0)
118  {
119  $filter['=PERSON_TYPE_ID'] = $order->getPersonTypeId();
120  }
121 
122  $filter[] = self::constructRelatedEntitiesFilter($order);
123 
124  $registry = Registry::getInstance(static::getRegistryType());
125 
126  /** @var PropertyBase $propertyClassName */
127  $propertyClassName = $registry->getPropertyClassName();
128 
129  $dbRes = $propertyClassName::getList([
130  'select' => array('ID', 'PERSON_TYPE_ID', 'NAME', 'TYPE', 'REQUIRED', 'DEFAULT_VALUE', 'SORT',
131  'USER_PROPS', 'IS_LOCATION', 'PROPS_GROUP_ID', 'DESCRIPTION', 'IS_EMAIL', 'IS_PROFILE_NAME',
132  'IS_PAYER', 'IS_LOCATION4TAX', 'IS_FILTERED', 'CODE', 'IS_ZIP', 'IS_PHONE', 'IS_ADDRESS',
133  'ACTIVE', 'UTIL', 'INPUT_FIELD_LOCATION', 'MULTIPLE', 'SETTINGS'
134  ),
135  'filter' => $filter,
136  'runtime' => [
137  new Main\Entity\ReferenceField(
138  'RELATION_PS',
139  '\Bitrix\Sale\Internals\OrderPropsRelation',
140  [
141  '=this.ID' => 'ref.PROPERTY_ID',
142  'ref.ENTITY_TYPE' => new Main\DB\SqlExpression('?', 'P')
143  ],
144  'left_join'
145  ),
146  new Main\Entity\ReferenceField(
147  'RELATION_DLV',
148  '\Bitrix\Sale\Internals\OrderPropsRelation',
149  [
150  '=this.ID' => 'ref.PROPERTY_ID',
151  'ref.ENTITY_TYPE' => new Main\DB\SqlExpression('?', 'D')
152  ],
153  'left_join'
154  ),
155  ],
156  'order' => array('SORT' => 'ASC')
157  ]);
158 
159  $properties = array();
160  $propRelation = array();
161  while ($row = $dbRes->fetch())
162  {
163  $properties[$row['ID']] = $row;
164  $propRelation[$row['ID']] = [];
165  }
166 
167  $dbRes = Internals\OrderPropsRelationTable::getList(array(
168  'select' => [
169  'PROPERTY_ID', 'ENTITY_ID', 'ENTITY_TYPE'
170  ],
171  'filter' => [
172  'PROPERTY_ID' => array_keys($properties)
173  ]
174  ));
175 
176  while ($row = $dbRes->fetch())
177  {
178  $propRelation[$row['PROPERTY_ID']][] = $row;
179  }
180 
181  foreach ($properties as $property)
182  {
183  $id = $property['ID'];
184 
185  if (isset($propertyValuesMap[$id]))
186  {
187  $fields = $propertyValues[$propertyValuesMap[$id]];
188  unset($propertyValues[$propertyValuesMap[$id]]);
189  unset($propertyValuesMap[$id]);
190  }
191  else
192  {
193  if ($property['ACTIVE'] == 'N')
194  {
195  continue;
196  }
197 
198  $fields = [];
199  }
200 
201  $result[$id] = static::createPropertyValueObject($property, $fields, $propRelation[$id]);
202  }
203 
204  foreach ($propertyValues as $propertyValue)
205  {
206  $result[$propertyValue['ORDER_PROPS_ID']] = static::createPropertyValueObject(null, $propertyValue);
207  }
208 
209  return $result;
210  }

◆ loadOptions()

static loadOptions (   $propertyId)
static
Уст.:
См. также
\Bitrix\Sale\Property::getOptions
Аргументы
$propertyId
Возвращает
array
Исключения
Main

См. определение в файле propertyvaluebase.php строка 747

748  {
749  $registry = Registry::getInstance(static::getRegistryType());
750 
751  /** @var PropertyBase $propertyClassName */
752  $propertyClassName = $registry->getPropertyClassName();
753  $property = $propertyClassName::getObjectById($propertyId);
754 
755  if ($property)
756  {
757  return $property->getOptions();
758  }
759 
760  return [];
761  }

◆ save()

save ( )

См. определение в файле propertyvaluebase.php строка 345

346  {
347  $this->checkCallingContext();
348 
349  $result = new Result();
350 
351  if (!$this->isChanged())
352  {
353  return $result;
354  }
355 
356  if ($this->getId() > 0)
357  {
358  $r = $this->update();
359  }
360  else
361  {
362  $r = $this->add();
363  }
364 
365  if (!$r->isSuccess())
366  {
367  $result->addErrors($r->getErrors());
368  }
369 
370  $this->callEventOnPropertyValueEntitySaved();
371 
372  return $result;
373  }

◆ setField()

setField (   $name,
  $value 
)
Аргументы
$name
$value
Возвращает
Result
Исключения
Main

См. определение в файле propertyvaluebase.php строка 322

323  {
324  $result = new Result();
325 
326  $value = $this->property->normalizeValue($value);
327 
328  $r = parent::setField($name, $value);
329  if (!$r->isSuccess())
330  {
331  $result->addErrors($r->getErrors());
332  }
333 
334  return $result;
335  }

◆ setValue()

setValue (   $value)
Аргументы
$value
Исключения
Main

См. определение в файле propertyvaluebase.php строка 685

686  {
687  $this->setField('VALUE', $value);
688  }

◆ setValueFromPost()

setValueFromPost ( array  $post)
Аргументы
array$post
Возвращает
Result
Исключения
Main

См. определение в файле propertyvaluebase.php строка 488

489  {
490  $result = new Result();
491 
492  $key = ($this->getField('ORDER_PROPS_ID')) ?: "n".$this->getInternalIndex();
493 
494  if (is_array($post['PROPERTIES']) && array_key_exists($key, $post['PROPERTIES']))
495  {
496  $this->setValue($post['PROPERTIES'][$key]);
497  }
498 
499  return $result;
500  }

◆ update()

update ( )
protected
Возвращает
Result
Исключения
Main

Переопределяется в PropertyValue.

См. определение в файле propertyvaluebase.php строка 414

415  {
416  $result = new Result();
417 
418  $value = $this->property->getPreparedValueForSave($this);
419 
420  $r = static::updateInternal($this->getId(), array('VALUE' => $value));
421  if ($r->isSuccess())
422  {
423  $result->setId($r->getId());
424  }
425  else
426  {
427  $result->addErrors($r->getErrors());
428  }
429 
430  return $result;
431  }

◆ updateInternal()

updateInternal (   $primary,
array  $data 
)
abstractprotected
Аргументы
$primary
array$data
Исключения
Main

Переопределяется в PropertyValue.

◆ verify()

verify ( )
Возвращает
Result
Исключения
Main

См. определение в файле propertyvaluebase.php строка 720

721  {
722  $r = $this->checkValue($this->getPropertyId(), $this->getValue());
723  if (!$r->isSuccess())
724  {
725  $order = $this->getOrder();
726 
727  $registry = Registry::getInstance(static::getRegistryType());
728 
729  /** @var EntityMarker $entityMarker */
730  $entityMarker = $registry->getEntityMarkerClassName();
731  $entityMarker::addMarker($order, $this, $r);
732  }
733 
734  return $r;
735  }

Поля

◆ $property

PropertyBase null $property = null
protected

См. определение в файле propertyvaluebase.php строка 14


Объявления и описания членов класса находятся в файле:
Bitrix\Sale\Internals\CollectableEntity\getInternalIndex
getInternalIndex()
Definition: collectableentity.php:83
Bitrix\Sale\PropertyValueBase\getPropertyId
getPropertyId()
Definition: propertyvaluebase.php:578
Bitrix\Main\ORM\Entity\$fields
$fields
Definition: main/lib/orm/entity.php:44
Bitrix\Sale\Internals\CollectableEntity\getCollection
getCollection()
Definition: collectableentity.php:46
Bitrix\Sale\PropertyValueBase\setValue
setValue($value)
Definition: propertyvaluebase.php:685
Bitrix\Sale\PropertyValueBase\$property
$property
Definition: propertyvaluebase.php:14
$request
$request
Definition: sale/lib/rest/synchronization/push.php:6
Bitrix\Main\ORM\Entity\getField
getField($name)
Definition: main/lib/orm/entity.php:537
Bitrix\Sale\Registry\getInstance
static getInstance($type)
Definition: sale/lib/registry.php:161
Bitrix\Sale\PropertyValueBase\getValue
getValue()
Definition: propertyvaluebase.php:711
Bitrix\Sale\PropertyValueBase\checkValue
checkValue($key, $value)
Definition: propertyvaluebase.php:508
Bitrix\Sender\Connector\__construct
__construct(Base $connector)
Constructor.
Definition: resultview.php:40
Bitrix\Sale\Registry\ENTITY_PROPERTY_VALUE
const ENTITY_PROPERTY_VALUE
Definition: sale/lib/registry.php:24
Bitrix\Sale\PropertyValueBase\setField
setField($name, $value)
Definition: propertyvaluebase.php:322
Bitrix\Sale\PropertyValueBase\add
add()
Definition: propertyvaluebase.php:438
Bitrix\Sale\Internals\CollectableEntity\$collection
$collection
Definition: collectableentity.php:16
Bitrix\Sale\PropertyValueBase\constructRelatedEntitiesFilter
static constructRelatedEntitiesFilter(OrderBase $order)
Definition: propertyvaluebase.php:216
Bitrix\Sale\PropertyValueBase\update
update()
Definition: propertyvaluebase.php:414
Bitrix\Main\ORM\Entity\$name
$name
Definition: main/lib/orm/entity.php:32
Bitrix\Sale\PropertyValueBase\getOrder
getOrder()
Definition: propertyvaluebase.php:391