Skip to content

Instantly share code, notes, and snippets.

View SeRGei93's full-sized avatar

Sergei Stefanovich SeRGei93

View GitHub Profile
query
{
"query": {
"bool": {
"must": [
{
"terms": {
"active": [
true
]
query
{
"query": {
"bool": {
"must": [
{
"terms": {
"active": [
true
]
Mapping
{
"properties": {
"id": {
"type": "integer"
},
"active": {
"type": "keyword"
},
@SeRGei93
SeRGei93 / Bitrix fakeEntity
Last active August 29, 2022 13:59
Bitrix Фейковая сущность для получения данных из любой таблицы
use Bitrix\Main\ORM\Entity;
use Bitrix\Main\ORM\Fields\IntegerField;
use Bitrix\Main\ORM\Fields\StringField;
use Bitrix\Main\ORM\Query\Filter\ConditionTree;
use Bitrix\Main\ORM\Query\Query;
// Создаём фейковую сущность только с нужными нам полями
$fakeEntity = Entity::compileEntity(
'MY_ORDER_PROPS_VARIANT',
[
@SeRGei93
SeRGei93 / Archer T2U Plus driver for Linux Fedora 36
Last active May 11, 2022 19:16
Archer T2U Plus driver for Linux Fedora 36
sudo dnf groupinstall "Development Tools"
sudo dnf groupinstall "C Development Tools and Libraries"
sudo dnf install dkms elfutils-libelf-devel unzip
git clone https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au
@SeRGei93
SeRGei93 / delete empty prop
Last active November 4, 2021 11:06
Чистка не используемых свойств инфоблока
\Bitrix\Main\Loader::includeModule('iblock');
$getCountValues = function ($propId){
$res = \Bitrix\Iblock\ElementPropertyTable::getList([
'select' => ['*'],
'filter' => ['ELEMENT.IBLOCK_ID' => 23, 'IBLOCK_PROPERTY_ID' => $propId],
'count_total' => true,
]);
return $res->getCount();
@SeRGei93
SeRGei93 / bitrix mass update
Created August 15, 2021 22:27
Обновление через коллекцию
\Bitrix\Main\Loader::includeModule('iblock');
$iblock = \Bitrix\Iblock\Iblock::wakeUp(3);
$class = $iblock->getEntityDataClass();
$arResult = [];
$elements = $class::getList([
'select' => ['ID', 'IBLOCK_ID', 'XML_ID', 'ARTICLE'],
//'limit' => 5000,
'order' => ['ID' => 'ASC']
@SeRGei93
SeRGei93 / _attention.md
Created August 10, 2021 17:12 — forked from sukhikh18/_attention.md
Получение списка элементов инфо-блока, их свойства и раздел (D7) #Bitrix #ORM

ElementTable

Заметка 1

При использовании множественных связей (1:N, M:N) параметр limit ограничивает количество связей.

Заметка 2

fetch и fetchAll получают все результаты, в то время как fetchObject может получать несколько результатов объекта (при множественныъ связях). При незнании этого conunt($rs->fetchAll()) - может возвращать неожиданный результат

Заметка 3

Метод getFieldname работает только для описанных в getMap полей. Используйте $rs->fetchObject()->get('FIELD_NAME') для runtime reference (или $entity->addField вместо runtime)

@SeRGei93
SeRGei93 / bitrix import\export users
Last active April 16, 2024 08:12
перенос пользователей битрикс
Если перед вами встала задача по переносу пользователей из одного Битрикс в другой, то сделать это достаточно просто.
Для начала составьте таблицу соответствия групп пользователей, где ключи - id группы пользователей на первом сайте, а значения id соответствующей ему группы пользователей на втором. Примерно так:
$tableOfGroups = [
'1' => 1,
'2' => 2,
'3' => 3,
'4' => 4,
'5' => 9,
@SeRGei93
SeRGei93 / bitrix remove all orders
Created August 6, 2021 10:40
Битрикс удалить все заказы
<?
if (!isset($_SERVER['DOCUMENT_ROOT']) || !$_SERVER['DOCUMENT_ROOT']) {
$_SERVER['DOCUMENT_ROOT'] = dirname(__DIR__);
}
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
\Bitrix\Main\Loader::includeModule('sale');
use Bitrix\Sale;