Bitrix-D7  20.5.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  }
__construct(Base $connector)
Constructor.
Definition: resultview.php:40

Методы

◆ add()

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

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

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

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

◆ addInternal()

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

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

◆ checkRequiredValue()

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

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

540  {
541  $result = new Result();
542 
543  $r = $this->property->checkRequiredValue($value);
544  if (!$r->isSuccess())
545  {
546  $errors = $r->getErrors();
547  foreach ($errors as $error)
548  {
549  $result->addError(new ResultError($error->getMessage(), "PROPERTIES[$key]"));
550  $result->addError(new ResultWarning($error->getMessage(), "PROPERTIES[$key]"));
551  }
552  }
553 
554  return $result;
555  }

◆ checkValue()

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

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

515  {
516  $result = new Result();
517 
518  $r = $this->property->checkValue($value);
519  if (!$r->isSuccess())
520  {
521  $errors = $r->getErrors();
522  foreach ($errors as $error)
523  {
524  $result->addError(new ResultError($error->getMessage(), "PROPERTIES[$key]"));
525  $result->addError(new ResultWarning($error->getMessage(), "PROPERTIES[$key]"));
526  }
527  }
528 
529  return $result;
530  }

◆ constructRelatedEntitiesFilter()

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

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

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

◆ create()

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

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

281  {
282  $propertyValue = static::createPropertyValueObject($property);
283  $propertyValue->setCollection($collection);
284 
285  return $propertyValue;
286  }

◆ 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 строка 296

297  {
298  $registry = Registry::getInstance(static::getRegistryType());
299  $propertyValueClassName = $registry->getPropertyValueClassName();
300 
301  return new $propertyValueClassName($property, $value, $relation);
302  }

◆ extractDeliveryIdList()

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

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

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

269  {
270  return [(int)$order->getField('DELIVERY_ID')];
271  }

◆ extractPaySystemIdList()

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

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

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

260  {
261  return [$order->getField('PAY_SYSTEM_ID')];
262  }

◆ generateXmlId()

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

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

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

◆ getAvailableFields()

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

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

308  {
309  return array('VALUE');
310  }

◆ getDescription()

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

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

625  {
626  return $this->property->getDescription();
627  }

◆ getEditHtml()

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

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

710  {
711  return $this->property->getEditHtml($this->getFieldValues());
712  }

◆ getEntityEventName()

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

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

796  {
797  return 'SalePropertyValue';
798  }

◆ getGroupId()

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

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

601  {
602  return $this->property->getGroupId();
603  }

◆ getList()

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

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

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

682  {
683  throw new Main\NotImplementedException();
684  }

◆ getMeaningfulFields()

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

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

316  {
317  return array();
318  }

◆ getMeaningfulValues()

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

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

782  {
783  $registry = Registry::getInstance(static::getRegistryType());
784 
785  /** @var PropertyBase $propertyClassName */
786  $propertyClassName = $registry->getPropertyClassName();
787  return $propertyClassName::getMeaningfulValues($personTypeId, $request);
788  }

◆ getName()

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

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

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

609  {
610  return $this->property->getName();
611  }

◆ getOrder()

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

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

398  {
399  /** @var PropertyValueCollectionBase $collection */
400  $collection = $this->getCollection();
401  if (!$collection)
402  {
403  return null;
404  }
405 
406  /** @var Order $order */
407  $order = $collection->getOrder();
408  if (!$order)
409  {
410  return null;
411  }
412 
413  return $order;
414  }

◆ getPersonTypeId()

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

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

593  {
594  return $this->property->getPersonTypeId();
595  }

◆ getProperty()

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

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

561  {
562  return $this->property->getFields();
563  }

◆ getPropertyId()

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

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

585  {
586  return $this->property->getId();
587  }

◆ getPropertyObject()

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

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

569  {
570  return $this->property;
571  }

◆ getRegistryEntity()

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

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

657  {
659  }

◆ getRelations()

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

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

617  {
618  return $this->property->getRelations();
619  }

◆ getType()

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

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

633  {
634  return $this->property->getType();
635  }

◆ getValue()

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

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

718  {
719  return $this->getField("VALUE");
720  }

◆ getValueId()

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

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

577  {
578  return $this->getField('ID');
579  }

◆ getViewHtml()

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

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

701  {
702  return $this->property->getViewHtml($this->getValue());
703  }

◆ isRequired()

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

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

641  {
642  return $this->property->isRequired();
643  }

◆ isUtil()

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

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

649  {
650  return $this->property->isUtil();
651  }

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

◆ loadOptions()

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

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

754  {
755  $registry = Registry::getInstance(static::getRegistryType());
756 
757  /** @var PropertyBase $propertyClassName */
758  $propertyClassName = $registry->getPropertyClassName();
759  $property = $propertyClassName::getObjectById($propertyId);
760 
761  if ($property)
762  {
763  return $property->getOptions();
764  }
765 
766  return [];
767  }

◆ save()

save ( )

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

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

◆ setField()

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

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

329  {
330  $result = new Result();
331 
332  $value = $this->property->normalizeValue($value);
333 
334  $r = parent::setField($name, $value);
335  if (!$r->isSuccess())
336  {
337  $result->addErrors($r->getErrors());
338  }
339 
340  return $result;
341  }

◆ setValue()

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

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

692  {
693  $this->setField('VALUE', $value);
694  }

◆ setValueFromPost()

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

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

495  {
496  $result = new Result();
497 
498  $key = ($this->getField('ORDER_PROPS_ID')) ?: "n".$this->getInternalIndex();
499 
500  if (is_array($post['PROPERTIES']) && array_key_exists($key, $post['PROPERTIES']))
501  {
502  $this->setValue($post['PROPERTIES'][$key]);
503  }
504 
505  return $result;
506  }

◆ update()

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

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

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

421  {
422  $result = new Result();
423 
424  $value = $this->property->getPreparedValueForSave($this);
425 
426  $r = static::updateInternal($this->getId(), array('VALUE' => $value));
427  if ($r->isSuccess())
428  {
429  $result->setId($r->getId());
430  }
431  else
432  {
433  $result->addErrors($r->getErrors());
434  }
435 
436  return $result;
437  }

◆ updateInternal()

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

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

◆ verify()

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

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

727  {
728  $r = $this->checkValue($this->getPropertyId(), $this->getValue());
729  if (!$r->isSuccess())
730  {
731  $order = $this->getOrder();
732 
733  $registry = Registry::getInstance(static::getRegistryType());
734 
735  /** @var EntityMarker $entityMarker */
736  $entityMarker = $registry->getEntityMarkerClassName();
737  $entityMarker::addMarker($order, $this, $r);
738  }
739 
740  return $r;
741  }

Поля

◆ $property

PropertyBase null $property = null
protected

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


Объявления и описания членов класса находятся в файле: