Рейтинг: 3.7804  
Новая
Предложил Русак Денис 17.07.2019 10:47:36

Дубликаты элементов в списках при создании

Если в списках при создании элемента нажать n раз на кнопку "сохранить", то мы получим n элементов. Это в корне неправильно!

У нас более 600 сотрудников и множество форм заявок реализованным на списках.
И всегда находятся  ̶н̶е̶люди, которые нажмут несколько раз (доходило до 6) на кнопку "сохранить", в результате получаем дубли, много дублей!

Реализуйте, пожалуйста, блокер на кнопку "сохранить" (после нажатия) или хотя бы анимацию выполнения действия.  
Рейтинг: 0  
Новая
Предложил Озерский Игорь 10.04.2019 14:33:33

Выборочная установка индексов Fulltext при использовании новых engines Mysql для ssd

В mysql с версии 5.6.  есть новый перспективный движок RocksDB, который оптимизирован для работы на ssd дисках.


Но у данного движка есть отличия от innoDB какие как отсутствие индексов  Fulltext и FOREIGN KEY.

https://www.percona.com/doc/percona-server/LATEST/myrocks/limitations.html

Предлагается при  создании и модификации таблиц БИТРИКС проверять возможность добавления  типа индексов FULLTEXT , в частности в поисковом модуле есть такие таблицы  

например, так выборка таблиц в которые нельзя добавить эти индексы;
SEL ECT TABLE_NAME FR OM information_schema.TABLES where TABLE_SCHEMA =DATABASE() and ENGINE = 'ROCKSDB'
Рейтинг: 10.0118  
На голосовании
Предложил Джакинов Алдар 05.04.2019 14:39:45

Добавить блок для загрузки PDF на сайт

Приветствую всех!

Сделал сайт на Б24.Сайтах, привязал к домену presentationfit.ru, все было отлично, пока не захотел добавить маркетинг-кит в PDF. В итоге сломал код (попытался ч/з блок "Добавить собственный HTML"), теперь выводится ошибка об отключении домена. Я хотел, чтобы мой PDF индексировался в итоге в поиске.

Теперь свой код пытаться даже не буду вставлять, я обычный пользователь, не программист)

1) Хотелось бы видеть в функционале блок загрузки PDF (на других конструкторах я видел подобную функцию). Чтобы он индексировался в поиске и сразу скачивался, просматривался, как и на самом сайте

2) Идея починить сайт:

Платить ли мне 1000 руб. за тариф с Тех. поддержкой (я на бесплатном тарифе) просто, чтобы починить сайт, и то непонятно, получится ли так у меня? Или Вы сможете из этой среды починить? Буду очень благодарен)
Файлы:
й.jpg (44.74 КБ)
Рейтинг: 4.7804  
В работе
Предложил Павлов Иван 27.03.2019 14:46:03

Возможность фильтрации по ценам из админки

Было бы здорово иметь возможность фильтровать товары в торговых каталогах по ценам из админки. Скрин: https://yadi.sk/i/bADhKTiiSFI_5A

Идея предложена на основании обращения в техподдержку №2300013 от 27.03.2019
Рейтинг: 1  
На голосовании
Предложил МАКС-Сервис 12.12.2018 16:18:04

Периодическая активность инфоблока

Сделать возможность настраивать активность инфоблока для периодической активации как это делают в программаторах (таймерах) времени.


Например: инфоблок активен в определенные дни года, месяца или недели. Идеально на календаре помечать периоды (дни) когда блок активен.


Позволит выводить инфоблоки с нужной (установленной) периодичностью.


Реальный пример: Инфоблок - режим работы в библиотеке - информация о санитарном дне - отображается в последний четверг месяца и день перед ним.

Рейтинг: 12.6706  
На голосовании
Предложил Веневцев Павел 02.12.2018 00:29:55

Админский итерфейс: свойство HTML/TEXT

Уже лет 5 стесняюсь спросить.. А почему у свойства html/тест все смещено вправо?

А давайте как-нибудь придумаем сложную комбинацию, не знаю. Может быть какое-то условие. Хотя не уверен, что можно его придумать, оно же такое сложное.

Но все же, если постараться, сделать такое условие, чтобы заголовок свойства, обозначенного как html/text, располагалось по центру.
А само окошко редактора.. ТОЖЕ располагалось по центру?

Я не слишком много прошу? Раз уж редактор не можете сделать нормальный, то, может быть, хотя бы.. вот это.. немного же прошу. Христа ради. Поможите?
Файлы:
Рейтинг: 3.8902  
На голосовании
Предложил Федоренко Анастасия 06.11.2018 01:31:54

iblock.element.add.form drag and drop

Дать возможность загрузки файлов, а именно картинок в поля для картинок анонса, детальной картинки и картинка свойством которое передается методом drag and drop в компоненте iblock.element.add.form как сделано это в админ-панели.
Если есть такая возможность уже, то как реализовать.  
Рейтинг: 1  
Новая
Предложил Ефименко Евгений 04.07.2018 07:09:22

Фасетная индексация - оптимизация кода

Дело в том, что у нас проект разделен по серверам, на одном сервере крутится php, на другом сервере полноценный MySql. Общая локальная сеть. То есть данные от MySql в PHP приходят по сети. Как только мы разделили по серверам работу сайта столкнулись с очень долго работой создания индексов.
Виной этому, при создании индекса $index->continueIndex(); происходит циклическая беготня по элементам и формирования для отдельно каждого индекс. В итоге мы получаем огромное количество запросов к MySql и задержку из-за работы протокола сети TCP.
Если бы, во время индексации не производить обмен данными с PHP, и уменьшать тем самым количество запросов, было бы гораздо быстрее и красивее.

Поясню на примере:
Сейчас создание индекса занимает: Elements: 124 Query count: 4912 Time: 9.2134962081909 сек.
Было до разъединения PHP и MySql в секундах 2.91 s при том же количестве элементов и количестве запросов.

Я прекрасно понимаю, что это наша проблема, что мы решили разделить, но теоретически ваш код тоже можно было бы оптимизировать. Даже у вас в документации и рекомендациях четко написано придерживаться правила - не делать запросов в цикле, однако сами нарушили свои рекомендации: https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=32&LESSON_ID=3594

public function continueIndex($interval = 0)
{
   if ($interval > 0)
      $endTime = microtime(true) + $interval;
   else
      $endTime = 0;

   $indexedCount = 0;

   if ($this->lastElementId === null)
      $lastElementId = $this->storage->getLastStoredElementId();
   else
      $lastElementId = $this->lastElementId;

   $elementList = $this->getElementsCursor($lastElementId);
   while ($element = $elementList->fetch())
   {
      $this->indexElement($element["ID"]);   <-----------
      $indexedCount++;
      $this->lastElementId = $element["ID"];
      if ($endTime > 0 && $endTime < microtime(true))
         break;
   }
   return $indexedCount;
}
public function indexElement($elementId)
{
   $element = new Element($this->iblockId, $elementId);
   $element->loadFromDatabase();

   $elementSections = $element->getSections();
   $elementIndexValues = $this->getSectionIndexEntries($element);
   
   foreach ($element->getParentSections() as $sectionId)        <-------------
   {
      foreach ($elementIndexValues as $facetId => $values)      <-------------
      {
         foreach ($values as $value)                            <-------------
         {
            $this->storage->addIndexEntry(
               $sectionId,
               $elementId,
               $facetId,
               $value["VALUE"],
               $value["VALUE_NUM"],
               in_array($sectionId, $elementSections)
            );
         }
      }
   }

   foreach ($elementIndexValues as $facetId => $values)
   {
      foreach ($values as $value)
      {
         $this->storage->addIndexEntry(
            0,
            $elementId,
            $facetId,
            $value["VALUE"],
            $value["VALUE_NUM"],
            empty($elementSections)
         );
      }
   }
}
public function addIndexEntry($sectionId, $elementId, $facetId, $value, $valueNum, $includeSubsections)
{
   $connection = \Bitrix\Main\Application::getConnection();

   try
   {
      $connection->query("                                      <-----------
         INS ERT IN TO ".$this->getTableName()." (
            SECTION_ID
            ,ELEMENT_ID
            ,FACET_ID
            ,VALUE
            ,VALUE_NUM
            ,INCLUDE_SUBSECTIONS
         ) VALUES (
            ".intval($sectionId)."
            ,".intval($elementId)."
            ,".intval($facetId)."
            ,".intval($value)."
            ,".doubleval($valueNum)."
            ,".($includeSubsections > 0? 1: 0)."
         )
      ");
   }
   catch (\Bitrix\Main\DB\SqlException $e)
   {
      return false;
   }

   return true;
}

В этом случае необходимо собрать все элементы в кучу, обработать что надо, и потом разом воткнуть в MySql
Спасибо за внимание, возможно учтете это в разработке.
Рейтинг: 5  
На голосовании
Предложил Kirill 22.05.2018 04:46:24

Функционал модуля asd.iblock в коробку

Прошу перенести функционал самого популярного модуля Маркетплейс, asd.iblock, в состав коробки.

Данный модуль уже много лет является самым устанавливаемый, что подтверждает массовый недочет разработчиков Битрикс.

Ответ "устанавливайте из Маркетплейс сторонний модуль" считаю неприемлемым – для меня коробочные функции, это прежде всего гарантия того, что они будут поддерживаться Битриксом всегда. А партнерский модуль – сегодня он есть, завтра разработчик его удалил из Маркетплейс или перестал поддерживаться и обновляться. Или вообще оставит всем вот такой "привет":
http://marketplace.1c-bitrix.ru/solutions/scrollup.bxd/
https://github.com/ancorp/bitrix-debug/
http://olegorestov.ru/this/bitrix_debug_module/

Тем более, asd.iblock бесплатный и Антон уже работает в команде Битрикс.

Рейтинг: 12.8902  
На голосовании
Предложил Рычков Иван 15.12.2017 15:50:56

Шаблоны настроек форм редактирования в инфоблоках

Не хватает возможности сохранять не только один вариант настроек форм редактирования элементов/разделов. Например, сохранять несколько вариантов шаблонами, а затем менять выбором. При этом иметь возможность задавать шаблон для каждого элемента в отдельности.

Например:

Рейтинг: 0.1682  
Внедрено
Предложил Земцова Юлия 09.11.2017 08:27:23

Создание элемента в форме подбора

 ловлю себя на мысли, что при выборе http://prntscr.com/h6f4fi, допустим, какого-то значения св-ва (с типом = привязка к элементу) нужного в списке не создано - нельзя ли добавить кнопку "создать" в форме сразу? http://prntscr.com/h6f4jz как-то так
чтоб не идти в раздел инфоблоков с контентом и не создавать сначала элемент, а потом возвращаться на этап подбора..
Рейтинг: 1.2518  
Ответил Жуков Евгений 09.11.2017 11:07:51
Используйте свойство типа "Привязка к элементам с автозаполнением"
Рейтинг: 1  
Новая
Предложил PSV2017 30.10.2017 10:23:17

Свойство ИБ в URL

Добавьте пожалуйста как стандартную возможность подстановки свойства ИБ в УРЛ.
Идеально, если в настройках инфоблока где настраивается путь к детальной странице можно было бы выбрать #SVOISTVO_IB# как указывается ID элемента или раздела.
Есть страницы: Сайт/раздел1/раздел2/раздел3/раздел4
На странице раздел1 выводится детальное описание инфоблока 1 и заменой через ЧПУ получаем красивый путь
Сайт/Europa/
На странице с разделом 2 из второго инфоблока делаем замену так же через ЧПУ но раздел уже получается не очень красивым и правильным
Сайт/раздел1/Russia/
Если во втором инфоблоке сделать привязку к элементу инфоблока 1 и подставлять как свойства в УРЛ то можно получить красивый путь без сложной кастомизации:
сайт/erope/russia/samara
Рейтинг: 2.2629  
Новая
Предложил Наниев Валентин 12.10.2017 16:36:44

Ссылка в сделки на привязанный к ней инфоблок

В CRM сделки есть возможность добавлять пользовательское поле привязка к инфоблоку, было б неплохо чтобы была возможность перейти по ссылке к выбранному инфоблоку.

Сейчас просто отображается названия: