Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
-1 / 1 / 0
Регистрация: 24.02.2020
Сообщений: 175

Про модуль и события ORM

28.07.2022, 18:21. Показов 5302. Ответов 56

Студворк — интернет-сервис помощи студентам
Всем привет! Я написал тестовый модуль который добавляет к полю NAME эллемента восклицательный знак(не без помощи людей с данного форума),конечный код выглядит вот так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    public function exclamationPoint(): void
    {
        Loader::includeModule('iblock');
        $params = [
            '=IBLOCK_ID' => 167,
            '=ACTIVE' => 'Y',
        ];
        $query = new Entity\Query(Iblock\ElementTable::getEntity());
 
        try {
            $query->addSelect('NAME')
                ->registerRuntimeField(
                    'NameWithExclam',
                    new ExpressionField(
                        'NameWithExclam',
                        "CASE WHEN RIGHT ( %s, 1)<> '!' THEN CONCAT( %s,'!') ELSE %s END",
                        ['NAME', 'NAME', 'NAME']
                    )
                )
                ->addSelect('NameWithExclam')
                ->setFilter($params)
                ->fetchCollection()
            ;
        } catch (ArgumentException|SystemException $e) {
        }
 
        $elements = $query->exec();
        foreach ($elements as $item) {
            echo '<br><br>', sprintf(
                '%s',
                $item['NameWithExclam']
            );
        }
    }
1)а могу ли я непосредственно с орм сохранить результат NameWithExclam в поле NAME для каждого элемента чтобы они пошли в БД?
2)Увидел в одной статье что в модулях часто используют обработчики событий,но что это чёткого объяснения не увидел,от этого другой вопрос, что значит регистрация события добавления элемента?
Заранее спасибо всем и каждому
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.07.2022, 18:21
Ответы с готовыми решениями:

Модуль express-orm-mvc
Нашел модуль express-orm-mvc, он организует паттерн mvc. Вопросы: 1) Насколько он быстрый? Посмотрел исходник увидел, что модели и...

Webkit модуль настройки и события
Всем привет. Пытаюсь разобраться с webkit модулем, но что-то никак не могу найти упорядоченную и концентрированную информацию по данному...

Django ORM запрос с подзапросом или переведите SQL в запрос Django ORM
В общем весь вопрос был в заголовке! Есть запрос на SQL он работает нормально вот только не знаю как заставить Django-mptt корректно на...

56
3061 / 1465 / 265
Регистрация: 16.03.2008
Сообщений: 6,512
Записей в блоге: 2
05.08.2022, 11:42
Студворк — интернет-сервис помощи студентам
т.е. исходя из вашего кода у строки есть публичный метод?
0
-1 / 1 / 0
Регистрация: 24.02.2020
Сообщений: 175
05.08.2022, 11:45  [ТС]
Речь же сейчас о 10 строке? я думал я таким образом обновил через ORM
0
3061 / 1465 / 265
Регистрация: 16.03.2008
Сообщений: 6,512
Записей в блоге: 2
05.08.2022, 11:51
Орм это не магия от которой у строки внезапно появляются методы. Это набор классов, которые можно использовать в работе. Но работать нужно именно с объектами, а не "присобачивая" методы из ОРМ сущностей к чему угодно.

Мой вам совет: отложите пока изучение Битрикс в сторону. А прокачайте базовые знания по PHP и ООП. Вам нужно понимать, что "происходит" когда вы что то пишите, а так у вас получается "метод научного тыка"... Для хороших проектов такой уровень подготовки не подойдет - не справитесь. А для плохих - эти знания что вы ковыряете - не нужны.
0
-1 / 1 / 0
Регистрация: 24.02.2020
Сообщений: 175
05.08.2022, 11:55  [ТС]
Уже начал читать книгу и дополнять свои знания,но к сожалению существует потребность выполнения именно этого кейса,обратиться мне больше некуда,поэтому я и хочу разобраться,я понимаю что знаю ещё очень не много,но я правда стараюсь развиваться. Не могли бы вы дать крайнюю рекомендацию по исправлению(или же по правильному написанию)
0
3061 / 1465 / 265
Регистрация: 16.03.2008
Сообщений: 6,512
Записей в блоге: 2
05.08.2022, 11:57
Я рекомендацию дал. уже несколько раз выше. В обработчике события до вставки работа с ОРМ не нужна вообще. Т..е если выкинуть лишнее то обработчик уже должен работать.
0
-1 / 1 / 0
Регистрация: 24.02.2020
Сообщений: 175
05.08.2022, 11:58  [ТС]
выкинул,но ошибка всё таже Unknown entity value (100)
0
3061 / 1465 / 265
Регистрация: 16.03.2008
Сообщений: 6,512
Записей в блоге: 2
05.08.2022, 12:00
читайте логи, там как правило есть строка в которой ошибка.
0
-1 / 1 / 0
Регистрация: 24.02.2020
Сообщений: 175
05.08.2022, 12:07  [ТС]
я всё равно не понимаю,вот лог
Bitrix\Main\ORM\EventManager->addEventHandler(string, string, array)
/var/www/html/local/php_interface/init.php:25
это регистрация обработчика
0
3061 / 1465 / 265
Регистрация: 16.03.2008
Сообщений: 6,512
Записей в блоге: 2
05.08.2022, 13:09
Вы вроде говорили, что делали модуль. Если вы делаете модуль почему в php.ini регистрируете обработчик?
0
-1 / 1 / 0
Регистрация: 24.02.2020
Сообщений: 175
05.08.2022, 13:25  [ТС]
потому что смотрел примеры,и было именно так
0
3061 / 1465 / 265
Регистрация: 16.03.2008
Сообщений: 6,512
Записей в блоге: 2
05.08.2022, 14:05
Нет.. Не так. В примерах были обработчики не из модулей.
0
-1 / 1 / 0
Регистрация: 24.02.2020
Сообщений: 175
05.08.2022, 15:44  [ТС]
а как я должен был это понять? ошибку выбивать перестало,но по прежнему ничего не работает,пишет что класс не обнаружен
[Error]
Class 'Fckin\Module\Main' not found (0)
/var/www/html/linux-soft/index.php:27
0
3061 / 1465 / 265
Регистрация: 16.03.2008
Сообщений: 6,512
Записей в блоге: 2
05.08.2022, 16:25
вероятно модуль не подключили
0
-1 / 1 / 0
Регистрация: 24.02.2020
Сообщений: 175
05.08.2022, 16:26  [ТС]
подключил
0
3061 / 1465 / 265
Регистрация: 16.03.2008
Сообщений: 6,512
Записей в блоге: 2
05.08.2022, 16:27
Цитата Сообщение от chistiy18 Посмотреть сообщение
а как я должен был это понять?
Ну я все расписал,"если модуль так, если не модуль эдак"... Ну а доку читать.... ну тут уж последовательное изучение любого инструмента - дает все необходимое

и, то что кажется дольше, оказывается быстрее
0
-1 / 1 / 0
Регистрация: 24.02.2020
Сообщений: 175
05.08.2022, 16:29  [ТС]
лан понял видимо ещё дней 5 посижу
0
3061 / 1465 / 265
Регистрация: 16.03.2008
Сообщений: 6,512
Записей в блоге: 2
05.08.2022, 16:29
Значит не правильно модуль размещен (или его файлы). Или именование каталогов где то не соответсвтует
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.08.2022, 16:29

Посоветуйте что почитать про события
Всем привет))!! Посоветуйте мне пожалуйста, статью про события, и делегаты где подробно про них расписана, и как с ними работать. P.S....

Про модуль hc-05
Можно ли в этом модуле поменять mac адрес?

Задача про игральный кубик - найти вероятность события
Добрый день, форумчане. Помогите пожалуйста, кому не безразлично, решить такую задачу:

Как передать параметр Cancel, из события Выгрузка в стандартный модуль?
Хочу перенести эту процедуру в стандартный модуль, поскольку к ней будут обращаться несколько форм. В общем столкнулся с тем, что параметр...

Програмное копирование кода из стандартного модуля в модуль листа (код события)
После создания листа sheet(2) на нем програмно помещается кнопка &quot;ПЕРЕСЧИТАТЬ под другую КАЛОРИЙНОСТЬ&quot; Цель внедрить в этот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
57
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru