Идеи пользователя

Рейтинг: 0  
Новая
Предложил Пользователь 6573068 06.09.2022 20:36:38

Просмотр вложений в диалоги в приложении

Добавьте вы уже наконец возможность просмотра всех вложений в диалоги в мобильном приложении
Рейтинг: 1  
Новая
Предложил Пользователь 205667 17.02.2022 15:47:43

bash-completion для bitrix vm

Было бы хорошо уметь автокомплит для консольных команд в vm из коробки.

Устанавливать по дефолту пакеты:
bash-completion
bash-completion-extras
Рейтинг: 0  
Новая
Предложил Пользователь 5991800 04.02.2022 15:04:35

Как считать галочку "готова для шеринга" в карточке компании?

У меня возник вопрос. Через вебхук и свойство crm.company.get я получаю информацию о компании. Но как мне считать галочку "готова к шерингу".
Нужны ли вебхуку отдельные права для этого?
Буду очень благодарен.
Рейтинг: 2.7804  
Новая
Предложил Пользователь 1813807 17.01.2022 13:09:35

Добавление своего источника

Хотелось бы иметь возможность через REST_API добавить свой источник сквозной аналитики с возможностью передачи туда Действий, Просмотров, Расходов
Рейтинг: 1.7804  
Новая
Предложил Пользователь 4888506 04.05.2021 21:25:51

Реализация API для подписки

Было бы удобно, будь возможность работать с сущностью: Email-маркетинг.
А точнее возможность с помощью REST через веб-хук отправлять заявку на подписку клиента.
Рейтинг: 3.7804  
Новая
Предложил Пользователь 170340 20.03.2021 13:59:21

Сообщать об объединении с дублем через REST api

если в битриксе объединить 2 компании - то через REST api об этом никак не узнать.

При этом если выполнить запрос по crm.company.get по удаленному id то в ответ получим только {"error":"","error_description":"Not found"}

Если бы в этом ответе было еще одно поле merged_with id то счастье бы наступило немедленно в области синхронизации.

Я получу этот ид и повторю операцию объединения в базе 1С.
Если этого не сделать - то при следующем обмене 1С увидит "нового" не синхронизированного контрагента и выдавит его в битрикс. и опять придется бороться с дублями.

добавьте в crm.company.get и crm.contact.get поле с информацией о выжившем после объединения id
Рейтинг: 0  
Новая
Предложил Пользователь 235306 27.11.2020 14:47:20

Передача файлов в/из облака в фоне

Сейчас для передачи файлов в/из облака нужно держать постоянно браузер открытым. Если у вас в облаке картинки, например 500k шт, то при скорости передачи 1шт/сек процесс длится очень долго (6 дней, круглосуточно). При этом если браузер закрыть, то он прерывается. На cron не посадить. Крайне неудобно и долго.

Рейтинг: 2  
Новая
Предложил Пользователь 93386 20.11.2020 14:18:26

BX.ajax.runComponentAction - добавить параметр start

Реализовал загрузку файлов на форме через AJAX-действия, хотелось бы подписаться на прогресс upload'а, но в методе BX.ajax.runComponentAction такой возможности нет. Зато в BX.ajax (который по сути вызывается для Ajax-действия) есть параметр  start - можно было бы получить var xhr = BX.ajax.runComponentAction, подписаться на нужные события и после запустить запрос xhr.send. Но параметр  start для BX.ajax.runComponentAction отсутствует. Предлагаю добавить такой параметр.
Рейтинг: 1  
Новая
Предложил Пользователь 287674 19.08.2020 12:22:22

Возможность изменения массива полей перед возвращением результата методе getMap

В ядре D7 было б не плохо внедрить обработчик "OnBeforGetMap", в котором можно было б добавлять свои зависимости после формировании результата но перед его возвратом в методе getMap. Для модуля report это панацея на сегодняшнее время)
Рейтинг: 6.6706  
Новая
Предложил Пользователь 291336 31.07.2020 10:03:08

Реализовать аналог laravel livewire для компонентов bitrix

Компоненты Bitrix уже поддерживает ajax режим, но можно пойти дальше

Реализовать аналог laravel livewire - Fullstack web технология которая избавляет от необходимости трогать js код руками и изменяет вашу жизнь к лучшему

https://laravel-livewire.com/

https://laravel-livewire.com/screencasts/
Рейтинг: 0  
Новая
Предложил Пользователь 259645 13.12.2019 10:16:13

Изменить тип поля LID в таблице b_sale_basket на varchar 200

Сейчас основываясь на поле LID таблицы b_sale_basket можно создавать на сайт возможности многокорзинности, когда покупателю может быть доступно несколько корзин для товаров. Это очень удобно с точки зрения покупателя, можно создать 1-у корзину, 2-ю, 3-ю где покупатель может хранить товары и переключатсья между корзинами и в тоже время в заказ отправить любую из корзин, а другие просто будут хранится дальше. Есть небольшой пример этого здесь https://coderun.ru/blog/neskolko-korzin-pokupatelya-v-bitrix-redakciya-bizness/

Но хотелось бы увеличить длину поля LID в таблице что бы можно было туда писать не 2-а символа а осмысленную строку, например клиент имеет уникальный ид и можно к примеру писать запись ид_клиента_префикс_корзины.
Рейтинг: 2  
Новая
Предложил Пользователь 17890 04.10.2019 15:53:59

Сделать возможность кешировать данные в различных местах под одним ядром

Например, некоторые части приложения кешировать в APCu а остальные - в файлы.

use \Bitrix\Main\Data\Cache;
// получаем экземпляр класса c конфигурацией cache_config_name
$cache = Cache::createInstance('cache_config_name'); 


файл /bitrix/.settings.php по аналогии с несколькими connections для бд

'cache' => [
   'value' =>
      [
         'default' => [
            'type' => [
               'class_name' =>
                  '\\Bitrix\\Main\\Data\\CacheEngineFiles'
            ]
         ],
         'cache_config_name' => [
            'type' => [
               'class_name' =>
                  '\\Bitrix\\Main\\Data\\CacheEngineRedis',
               'extension' => 'redis'
            ],
            'redis' => [
               'host' => '127.0.0.1',
               'port' => '6379'
            ]
         ],
         'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
      ]   
Рейтинг: 1.7804  
Новая
Предложил Пользователь 280846 02.10.2019 09:43:56

Приложения Битрикс24: возможность программно закрыть системный диалог

При разработке приложений для Битрикс24 можно пользоваться методами js-библиотеки, среди которых есть несколько методов для показа системных диалогов. Например, метод BX24.selectUser позволяет открыть системный диалог выбора пользователей. Проблема в том, что нет соответствующих методов, чтобы программно закрыть показанный системный диалог.

Поэтому хотелось бы, чтобы js-библиотека Б24 была дополнена методами закрытия показанных системных диалогов.
Рейтинг: 4.8902  
Новая
Предложил Пользователь 136059 10.04.2019 13:09:54

JS core_condtree вынести в main

В модуле catalog есть красивое js-расширение core_condtree, на основании которого можно строить сложные условия для правил корзины (модуль sale) и т.п.
Он регистрируется как extension core_condtree и его классы напрямую никак не связаны с каталогом товаров.
То же и со стороны php - в модуле каталога лежит CGlobalCondCtrl, который из названия с самим каталогом никак не связан.

Предложение: вынести эти классы в Главный модуль (main) чтобы можно было использовать их в своих проектах, когда нет (или не требуется подключения) модуля Каталог
Рейтинг: 0  
Новая
Предложил Пользователь 145201 22.03.2019 14:14:01

Событие в методы CompareFields сущностей CRM

Хотелось быть иметь  событие в методах CompareFields сущностей CRM. Например CCrmCompany::CompareFields, чтобы добавлять свою логику, например обработчик сверки пользовательских свойств.  
Рейтинг: 5  
Новая
Предложил Пользователь 183717 22.01.2019 18:45:26

Агрегирующие поля в объектах

Раньше чтоб получить, например, список групп пользователя я мог выполнить запрос
$arUser = \Bitrix\Main\UserTable::getList([
  'select' => ['ID', 'LOGIN', 'GROUP_LIST'],
  'runtime' => [
      new \Bitrix\Main\Entity\ReferenceField(
          'GROUP_REF',
          \Bitrix\Main\UserGroupTable::getEntity(),
          [
              '=this.ID' => 'ref.USER_ID'
          ]
      ),
      new \Bitrix\Main\Entity\ExpressionField(
          'GROUP_LIST',
          'GROUP_CONCAT(DISTINCT %s SEPARATOR "[#]")',
          'GROUP_REF.GROUP_ID',
          [
              'fetch_data_modification' => function () {
                  return [
                      function ($val) {
                          if (empty($val)) {
                              return [];
                          }

                          return explode("[#]", $val);
                      }
                  ];
              }
          ]
      )
  ]
])->fetch();

и в $arUser['GROUP_LIST'] был список идентификаторов групп.
В парадигме объектов агрегирующие поля запрещены - при fetchObject бросается исключение "Result of query with aggregation could not be fetched as an object". Хотя если в файле bitrix/modules/main/lib/orm/query/result.php в методе initializeFetchObject закомментировать проверку на наличие в запросе агрегирующих полей [if (!empty($this->query->getGroupChains()))] и ExpressionField'у задать тип ArrayField, то в результате fetchObject прекрасно возвращается поле содержащее массив значений.
Идея: разрешить использование агрегирующих полей, либо доработать АПИ так, чтоб можно было получать нечто подобное без лишних запросов.