8namespace Bitrix\Sender\Entity;
10use Bitrix\Main\Entity\Base as MainEntityBase;
11use Bitrix\Main\Entity\DataManager as MainDataManager;
13use Bitrix\Main\ErrorCollection;
14use Bitrix\Main\Localization\Loc;
15use Bitrix\Main\SystemException;
16use Bitrix\Sender\Search;
17use Bitrix\Sender\Security;
19Loc::loadMessages(__FILE__);
52 return new static(
$id);
98 if (!isset($previousData[
$key]))
124 protected function saveByEntity(MainEntityBase
$entity, $id,
array $data, $primary =
null)
127 $className =
$entity->getDataClass();
129 $primary = $primary ?: $id;
133 if (array_key_exists(
'ID',
$data))
137 $resultDb = $className::update($primary,
$data);
141 $resultDb = $className::add(
$data);
142 $id = $resultDb->getId();
145 if(!$resultDb->isSuccess())
147 $this->errors->add($resultDb->getErrors());
161 protected function removeByEntity(MainEntityBase
$entity, $primary)
164 $className =
$entity->getDataClass();
165 $result = $className::delete($primary);
169 $this->errors->add(
$result->getErrors());
206 unset($loadedData[
'ID']);
209 if (isset(
$data[
'FIELDS']))
211 foreach (
$data[
'FIELDS'] as $index => $field)
213 if ($field[
'TYPE'] !==
'file')
218 if (empty($field[
'VALUE']))
223 $values = is_array($field[
'VALUE']) ? $field[
'VALUE'] : explode(
',', $field[
'VALUE']);
224 $field[
'VALUE'] =
array();
225 foreach ($values as $fileId)
227 $copiedFileId = \CFile::copyFile($fileId);
233 $field[
'VALUE'][] = $copiedFileId;
235 $field[
'VALUE'] = implode(
',', $field[
'VALUE']);
236 $data[
'FIELDS'][$index] = $field;
275 if (!is_array(
$data))
343 public function set(
$key, $value)
345 $this->data[
$key] = $value;
357 unset($this->data[
$key]);
412 return !$this->errors->isEmpty();
420 $this->errors->clear();
451 return $this->errors->toArray();
459 public function getErrorMessages()
462 foreach ($this->errors as
$error)
465 $list[] =
$error->getMessage();
515 static $builder =
null;
516 if ($builder ===
null && static::getDataClass())
518 $dataClass = static::getDataClass();
520 $dataClass::getEntity(),
521 static::SEARCH_FIELD_NAME
if($_SERVER $defaultValue['REQUEST_METHOD']==="GET" &&!empty($RestoreDefaults) && $bizprocPerms==="W" &&check_bitrix_sessid())
filterDataByChanging(array &$data, array $previousData)
addError($message, $code=null)
copyData($id, array $data=array())
setUser(Security\User $user=null)
filterDataByEntityFields(MainEntityBase $entity, array &$data)
static getSearchBuilder()
saveData($id, array $data)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code
if(empty($signedUserToken)) $key
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"