Задать вопрос
  • Yandex поиск пагинация странная i++?

    yous
    @yous Автор вопроса
    да это понятно, я имею ввиду почему вывод такой именно по запросу "bitrix поиск"
  • Bitrix ограничение поиска 250 элементов?

    yous
    @yous Автор вопроса
    Ярослав Александров, решение Aspro, но компонент поиска работает на стандартном Bitrix
  • Умная розетка в выключенном состоянии светятся прожекторы?

    yous
    @yous Автор вопроса
    paran0id, позвонил электрику знакомому, он сказал самое быстрое решение это повесить на вилку конденсатор 400-600в 16мкф. А проблема это типа грязный ноль(на их жаргоне)
  • Bitrix письма о статусах заказа?

    yous
    @yous Автор вопроса
    Артем Житник, у меня при retun false; записывается 0 в событие (типа не отправилось) После чего крон запускается ещё раз и у меня начинают дублироваться PHP_CLI процессы, они начинают создаваться при каждом запуске крон, а крон выставлен на 15сек. и получаю я следующее ПРОЦЕССОР 100% забит PHP_CLI
    Если поставить всем тем событиям которые не отправились N то будет то же самое, пока им не поставить статус Y ситуация не меняется.
  • Bitrix письма о статусах заказа?

    yous
    @yous Автор вопроса
    Артем Житник,
    if($order->getField('STATUS_ID') == "F" && (MakeTimeStamp($order->getField('DATE_STATUS'), "DD.MM.YYYY HH:MI:SS")+120>time())){
          retun false;
        }


    При таком раскладе, событие не отправляется, но SUCCESS_EXEC переходит из N в 0, и соответственно больше не отправится...
  • Bitrix письма о статусах заказа?

    yous
    @yous Автор вопроса
    а вот дачу чего проверять, разве есть дата смены статуса? Заказ может обновляться ещё несколько раз после смены статуса, например табличная часть или документы
  • Как выбрать текст задав исключения?

    yous
    @yous Автор вопроса
    dodo512, да можно, проблема в том, что не всегда есть L D H V да ещё и вот такое в названии 18*14,5*5,5 см, 580 мл,

    спс буду пробовать
  • Как выбрать текст задав исключения?

    yous
    @yous Автор вопроса
    dodo512, вот пример, смысл такой что,
    [19.3см] [19.3 см] [d 19.3 см] [d=19.3 см] [D=19.3] могут стоять вообще в любом порядке и смешаны с другими параметрами. Задача выцепить из названия Высоту, Диаметр, Объём итд... я показал пример только на Диаметре...
    https://regex101.com/r/fGBeGq/1

    PHP для разбора, потом всё в excel и там уже наводить порядок по всем позициям
  • Как выбрать текст задав исключения?

    yous
    @yous Автор вопроса
    нужно универсальное, эта строка как пример я показал
  • Вопрос для программистов bitrix: как вы решали проблемы с Cross-Site Scripting?

    yous
    @yous
    оберни переменные так

    $ym_uid = ($_COOKIE['_ym_uid']?$_COOKIE['_ym_uid']:false);
  • Bitrix как убить обмен между БУС и 1С?

    yous
    @yous Автор вопроса
    1. у нас в основном оптовики (
    2. думали, то разбивать заказ на 1000 позиций хотябы по 100, будет 10 заказов, клиенту это ненужно, да и как он потом оплатит онлайн, 10 раз ходить в эквайринг не очень интересно... или 10 счетов
    3. на стороне 1с уже переписан штатный обмен с бус, но мы пропихивали именно 1 заказ, т.е. сначала убрали его из обмена, пропустили все нормальные и потом воевали с ним отдельно. Любое движение этого заказа в 1С приводит к выгрузке его на сайт, а это опять тупняк.
    1С приняла этот заказ без проблем, а вот в обратную БУСу со стандартным обменом его тяжело изменить.
  • Bitrix таблица b_sale_fuser сильно растет?

    yous
    @yous Автор вопроса
    Ярослав Александров, Нет в логах нет от ботов добавления в корзину, есть только "POST /ajax/basket_fly.php HTTP/1.0" 200 но от реальных пользователей да и не такое кол-во как пишется в базу, за 1 день в b_sale_fuser добавляется около 90 000 записей...
  • Bitrix таблица b_sale_fuser сильно растет?

    yous
    @yous Автор вопроса
    Роман Грицук,
    Добавил сюда
    //    CSaleUser::Add()
    //    /bitrix/modules/sale/mysql/basket.php:991
    
        public static function Add()
        {
        ...
    
    }
    
    file_put_contents($_SERVER['DOCUMENT_ROOT']."/temp/logs/CSaleUser/add_".$ID.".txt", json_encode(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)));
    ...
    		return $ID;
    }


    спам идёт активный, куча файлов за короткое время за 3 минуты почти 108 файлов создал, т.е. 108 INSERT в базу

    60e577611377f434083921.jpeg

    добавил $_SERVER['REMOTE_ADDR'] в этот файл, и вот что заметно сразу, есть кучу совпадений IP.
    b_stat_session сделал фильтр по этим Ip и вот что получилось.

    60e57ce06ba6b540133242.jpeg

    debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) в файле
    [
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/sale/general/basket.php",
        "line": 3818,
        "function": "Add",
        "class": "CSaleUser",
        "type": "::"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/sale/general/basket.php",
        "line": 1798,
        "function": "GetID",
        "class": "CAllSaleUser",
        "type": "::"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/sale/general/basket.php",
        "line": 1810,
        "function": "Init",
        "class": "CAllSaleBasket",
        "type": "::"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/include/footer/comp_viewed.php",
        "line": 18,
        "function": "GetBasketUserID",
        "class": "CAllSaleBasket",
        "type": "::"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/local/templates/aspro_next/components/bitrix/main.include/basket/template.php",
        "line": 17,
        "args": [
          "/home/bitrix/ext_www/test.com/include/footer/comp_viewed.php"
        ],
        "function": "include"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/component_template.php",
        "line": 790,
        "args": [
          "/home/bitrix/ext_www/test.com/local/templates/aspro_next/components/bitrix/main.include/basket/template.php"
        ],
        "function": "include"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/component_template.php",
        "line": 885,
        "function": "__IncludePHPTemplate",
        "class": "CBitrixComponentTemplate",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/component.php",
        "line": 766,
        "function": "IncludeTemplate",
        "class": "CBitrixComponentTemplate",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/component.php",
        "line": 714,
        "function": "showComponentTemplate",
        "class": "CBitrixComponent",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/components/bitrix/main.include/component.php",
        "line": 280,
        "function": "includeComponentTemplate",
        "class": "CBitrixComponent",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/component.php",
        "line": 605,
        "args": [
          "/home/bitrix/ext_www/test.com/bitrix/components/bitrix/main.include/component.php"
        ],
        "function": "include"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/component.php",
        "line": 682,
        "function": "__includeComponent",
        "class": "CBitrixComponent",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/main.php",
        "line": 1068,
        "function": "includeComponent",
        "class": "CBitrixComponent",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/local/templates/aspro_next/footer.php",
        "line": 66,
        "function": "IncludeComponent",
        "class": "CAllMain",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/include/epilog_before.php",
        "line": 93,
        "args": [
          "/home/bitrix/ext_www/test.com/local/templates/aspro_next/footer.php"
        ],
        "function": "include_once"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/include/epilog.php",
        "line": 2,
        "args": [
          "/home/bitrix/ext_www/test.com/bitrix/modules/main/include/epilog_before.php"
        ],
        "function": "require"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/footer.php",
        "line": 4,
        "args": [
          "/home/bitrix/ext_www/test.com/bitrix/modules/main/include/epilog.php"
        ],
        "function": "require_once"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/404.php",
        "line": 37,
        "args": [
          "/home/bitrix/ext_www/test.com/bitrix/footer.php"
        ],
        "function": "require"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/iblock/lib/component/tools.php",
        "line": 66,
        "args": [
          "/home/bitrix/ext_www/test.com/404.php"
        ],
        "function": "require"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/components/bitrix/catalog/component.php",
        "line": 111,
        "function": "process404",
        "class": "Bitrix\\Iblock\\Component\\Tools",
        "type": "::"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/component.php",
        "line": 605,
        "args": [
          "/home/bitrix/ext_www/test.com/bitrix/components/bitrix/catalog/component.php"
        ],
        "function": "include"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/component.php",
        "line": 682,
        "function": "__includeComponent",
        "class": "CBitrixComponent",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/classes/general/main.php",
        "line": 1068,
        "function": "includeComponent",
        "class": "CBitrixComponent",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/catalog/index.php",
        "line": 579,
        "function": "IncludeComponent",
        "class": "CAllMain",
        "type": "->"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/modules/main/include/urlrewrite.php",
        "line": 160,
        "args": [
          "/home/bitrix/ext_www/test.com/catalog/index.php"
        ],
        "function": "include_once"
      },
      {
        "file": "/home/bitrix/ext_www/test.com/bitrix/urlrewrite.php",
        "line": 2,
        "args": [
          "/home/bitrix/ext_www/test.com/bitrix/modules/main/include/urlrewrite.php"
        ],
        "function": "include_once"
      }
    ]
  • Bitrix подмена статуса заказа при изменении заказа?

    yous
    @yous Автор вопроса
    PetrPo, всё как есть убрал save() и событие изменил на OnSaleOrderBeforeSaved
  • Bitrix подмена статуса заказа при изменении заказа?

    yous
    @yous Автор вопроса
    PetrPo, ты понимаешь что такое зависание?? какой может быть ответ если всё висит... срабатывает timeout 504 getway.. в логе тоже нет ошибок ни в битриксе ни в nginx

    я уже сделал что мне нужно, немного по другому
  • Bitrix подмена статуса заказа при изменении заказа?

    yous
    @yous Автор вопроса
    PetrPo, висит при

    $order->setField('STATUS_ID', 'PQ');
    $order->save();
  • Bitrix подмена статуса заказа при изменении заказа?

    yous
    @yous Автор вопроса
    PetrPo, вот полная версия

    \Bitrix\Main\EventManager::getInstance()->addEventHandler('sale', 'OnSaleStatusOrderChange', ['Handler', 'OnSaleStatusOrderChange']);
    
    class Handler {
      function OnSaleStatusOrderChange(Bitrix\Main\Event $event)
      {
        /** @var \Bitrix\Sale\Order $order */
        $order = $event->getParameter("ENTITY");
        $value = $event->getParameter("VALUE");
        $oldValue = $event->getParameter("OLD_VALUE");
        $paymentCollection = $order->getPaymentCollection();
        $isPaid = $paymentCollection->isPaid();
    
    
        if ($value === 'PA' && $isPaid === true) {
          $order->setField('STATUS_ID', 'PQ');
          $order->save();
    
        }
  • Bitrix подмена статуса заказа при изменении заказа?

    yous
    @yous Автор вопроса
    мне и нужно при смене статуса
  • Bitrix подмена статуса заказа при изменении заказа?

    yous
    @yous Автор вопроса
    PetrPo, так висит

    \Bitrix\Main\EventManager::getInstance()->addEventHandler('sale', 'OnSaleStatusOrderChange', ['Handler', 'OnSaleStatusOrderChange']);
    
    class Handler {
      function OnSaleStatusOrderChange(Bitrix\Main\Event $event)
      {
    
          $order->setField('STATUS_ID', 'PQ');
          $order->save();
      }
  • Bitrix подмена статуса заказа при изменении заказа?

    yous
    @yous Автор вопроса
    PetrPo, я же говорю, мне нужно не менять статус, а подменить входящие данные