Для Windows удалить все ветки в гите, кроме main. Находясь в ветке main вызвать команду git branch -D $(git branch).Trim(). Держите Git в чистоте

ORM битрикс предоставляется уже готовые методы для выборки данных. В документации есть информация как добавить свое поле в SELECT, но нет информации как связать две таблицы. Поэтому разработчики пишут сначала Getlist для одной таблицы, потом, в цикле или через массив одним запросом, выбирают из другой таблицы. Так делать не нужно, когда есть простой JOIN таблиц в самом ORM. К сожалению, в документации про это нет ни слова. Ниже пример как связать две таблицы — выбираем все комментарий из сделки b_crm_timeline , также ФИО их автора из таблицы b_user

Все делается через runtime , его также можно использовать, чтобы добавит любое поле в SELECT (об этом упоминается в документации), но …

Как найти файл по содержимому в Linux?

команда

поможет вам.

Пример. У программы есть куча конфигов и предыдущий программист изменил содержимое одного из ста конфигов. Вы не знаете в каком конфиге, но знаете измененное значение.

Нижняя команда ищет в всех конфигах Астериска содержимое «content»

Битрикс24 - создание контроллера

Задача создать свой собственный REST используя контроллеры в Битрикс. Создам ресурс GET bitrix-domain.local/almat/su/user/, который будет возвращать все ФИО всех пользователей. Также туда можно будет передать фильтрь params, по которому можно будет отфильтровать пользователей. Для создания своих контроллеров понадобится сначала создать каркас собственного модуля. Как это сделать описано здесь: Создание собственного модуля в Битрикс

Логирование в БД Битрикс24

По умолчанию логирование ошибок в Битрикс отключено, она полагается на внутренний механизм логирования PHP. Без дополнительного написания кода можно включить запись в файл, так как в Битрикс уже есть класс для записи в файл  FileExceptionHandlerLog . Для записи в БД нужно наследовать класс ExceptionHandlerLog. Я следовал инструкции https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&CHAPTER_ID=02795&LESSON_PATH=3913.3516.5062.2795#exception_handling и вот что у меня получилось: