Size: a a a

Bitrix24 для разработчиков

2021 November 21

BK

Boris Khmelev in Bitrix24 для разработчиков
/*
* Комментарии к изменению глобальных переменных через БП PHP блок
* Если указывать из БП глобальную переменную с _ будет ошибка исполнения (просто флоу до конца не дойдет, без каких то ошибок в логи)
* Если \Bitrix\Bizproc\Workflow\Type\GlobalVar::getById возвращает пустоту, значит глобальная переменная в недопуступом имени
* Если в \Bitrix\Bizproc\Workflow\Type\GlobalVar::upsert отдать что-то недопустимое, будет ошибка без логов
* Если создать произвольный массив типа $var['idGlobVar'] = ['Name'=>'Имя глобальной переменной','Description'=>'','Type'=>bool,'Required'=>'','Multiple'=>'','Options'=>'','Default'=>'Y'];
*   а после скормить этот массив в \Bitrix\Bizproc\Workflow\Type\GlobalVar::upsert то создастся ещё одна глобальная переменная idGlobVar несмотря на то, что она уже будет (да, две переменные будут, с одинаковыми идентификаторами)
* Изменение значения происходит через изменение Default параметра
*/

$var = \Bitrix\Bizproc\Workflow\Type\GlobalVar::getById('orderVacancy');
$var['Default'] = 'Y';
if($var)
{
 \Bitrix\Bizproc\Workflow\Type\GlobalVar::upsert('orderVacancy', $var);
}
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
В общем...прорыл сорсы, посмотрел как что работает...наткунулся на баги, на определенную логику. Но в целом работает ) Интересно сделано.
источник

A

Andrey DEV in Bitrix24 для разработчиков
я не про то
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
Всем спасибо за участие )
источник

A

Andrey DEV in Bitrix24 для разработчиков
$dbResult = \CBPWorkflowTemplateLoader::GetList(
           [],
           [
               'ID'      => [
                   9,
                   10,
                   11,
                   12,
                   13,
                   14,
                   15,
                   16,
                   39,
                   38,
                   37,
                   36,
                   35,
                   34,
                   18
               ]
           ]
       );
источник

A

Andrey DEV in Bitrix24 для разработчиков
вот тут он вернет все БП
источник

A

Andrey DEV in Bitrix24 для разработчиков
со всей структурой
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
да я понял, что ты имел ввиду )
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
просто отвечал тебе как последнему написавшему ) солюшин, если кто-то захочет поюзать изменение глобальных переменных из БП
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
кстати, если кому-нужно будет тему дальше порыть, в /home/bitrix/www/bitrix/modules/bizproc/lib/workflow/type основные методы работы с глобальными переменными/константами из БП, ну и основной файл /home/bitrix/www/bitrix/modules/bizproc/classes/general/activity.php
источник
2021 November 22

Н

Никита in Bitrix24 для разработчиков
Добрый вечер!

Не подскажите, при аякс запросе методом get получаю ответ 500. В ajax.php вызывается метод загрузки данных из 1с и все дело из-за него. Метод рабочий, но с аяксом работать не хочет. Куда копать? Коробка
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
вызов ajax покажи
источник

Н

Никита in Bitrix24 для разработчиков
function getId(clicked_id) {
               monthId = clicked_id;
           BX.ajax({
               url: "ajaxhandler.php?month="+monthId,
               method: 'GET',
               dataType: 'text',
               timeout: 2000,
               async: true,
               processData: true,
               scriptsRunFirst: true,
               emulateOnload: true,
               start: true,
               cache: false,
               onsuccess: function (data) {
                   console.log(data);
               },
               onfailure: function () {

               }
           });
       }
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
а если   async: true убрать?
источник

Н

Никита in Bitrix24 для разработчиков
попробую сейчас
источник

Н

Никита in Bitrix24 для разработчиков
тоже самое
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
<script>
   var $sendAjax = $.ajax({
       type: "GET",
     url: "ajaxhandler.php?month="+monthId,
       dataType: 'text',
       data: $strTosend,
       beforeSend: function( xhr ) {}
   }).done(function(data) {
       console.log(data)
   }).fail(function (jqXHR, textStatus, errorThrown,event,exception) {
       alert('Ошибка. Просьба обратиться к администратору');
       console.log(['---ERROR---', jqXHR, textStatus,errorThrown,event,exception])
   });
</script>
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
что выведет?
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
в data своё подставить не забудь
источник

BK

Boris Khmelev in Bitrix24 для разработчиков
т.е поэкспериментируй не с BX.ajax( а просто с ajax jquery темже. может проблема в параметрах при передачи в BX.ajax
источник