/
ildar8919
/
Test
Обзор
Документация
Войти
/
ildar8919
/
Test
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
local/php_interface/lib/orm/employeetable.php
95 строк
2 KB
Ildar
Новые доработки по ТЗ
25 июн 2026, 10:16
25 июн 2026, 10:16
fe08a4f
Код
Авторство
О чём код?
<?php namespace Orm; use Bitrix\Main\Entity; use Bitrix\Main\Type; class EmployeeTable extends Entity\DataManager { public static function getTableName() { return 'b_employees'; } public static function getMap() { return [ new Entity\IntegerField('ID', [ 'primary' => true, 'autocomplete' => true ]), new Entity\StringField('LAST_NAME', [ 'required' => true, ]), new Entity\StringField('NAME', [ 'required' => true, ]), new Entity\StringField('SECOND_NAME'), new Entity\IntegerField('VACATION_DAYS', [ 'required' => true, 'default_value' => 0 ]), new Entity\StringField('GENDER', [ 'required' => true, ]), new Entity\IntegerField('DEAL_ID'), new Entity\IntegerField('CREATED_BY', [ 'required' => true, ]), new Entity\IntegerField('MODIFIED_BY'), new Entity\DateField('BIRTH_DATE'), new Entity\DatetimeField('DATE_CREATE', [ 'default_value' => function() { return new Type\DateTime(); } ]), new Entity\DatetimeField('DATE_MODIFY') ]; } public static function onBeforeAdd(Entity\Event $event) { $result = new Entity\EventResult(); $data = $event->getParameter('fields'); if (isset($data['ID'])) { unset($data['ID']); } if (!isset($data['CREATED_BY'])) { global $USER; $data['CREATED_BY'] = is_object($USER) ? (int)$USER->GetID() : 1; } if (!isset($data['DATE_CREATE'])) { $data['DATE_CREATE'] = new Type\DateTime(); } $result->modifyFields($data); return $result; } public static function onBeforeUpdate(Entity\Event $event) { $result = new Entity\EventResult(); $data = $event->getParameter('fields'); global $USER; $data['DATE_MODIFY'] = new Type\DateTime(); $data['MODIFIED_BY'] = is_object($USER) ? (int)$USER->GetID() : 1; $result->modifyFields($data); return $result; } }