<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0">
 <channel>
	<title>Дебри торгового каталога</title>
	<link>http://dev.1c-bitrix.ru/community/blogs/vws/</link>
	<description></description>
	<language>ru</language>
	<docs>http://backend.userland.com/rss2</docs>
	<pubDate>Thu, 23 Apr 2026 09:56:20 +0300</pubDate>

    <item>
      <title>Долгое время сохранения элемента в админской форме или Нормальные герои всегда идут в обход</title>
      <description><![CDATA[Периодические обращения с проблемой, означенной в заголовке, и одинаковая причина, вылились в публикацию этого поста.<br /><br />Итак, симптомы следующие: долгое (60 сек и выше) сохранение элемента/товара через админскую форму редактирования. При импорте и выполнении из консоли проблем не наблюдается. Клиент недоволен, техподдержка в панике. Анализ на стороне хостера выявляет долгий запрос вида:
====code====
<pre>UPD ATE b_iblock_element SE T 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TIMESTAMP_X = TIMESTAMP_X,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SHOW_COUNTER_START = ifnull(SHOW_COUNTER_START, now()),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SHOW_COUNTER =&nbsp;&nbsp;ifnull(SHOW_COUNTER, 0) + 1
WH ERE ID=ИД_сохраняемого_элемента
</pre>
=============
В тяжелых случаях изменения не сохраняются вообще. В чем же причина?<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/39320.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/39320.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/39320.php</guid>
      <pubDate>Thu, 24 Sep 2020 12:41:52 +0300</pubDate>
    </item>

    <item>
      <title>Кастомизированный умный фильтр и main 20.5.x</title>
      <description><![CDATA[Коллеги, недавно в коробку были выгружены обновления Главного модуля (<b>main</b>) <b>20.5.x</b>. Текущий статус - бета. В этих обновления существенно переработан план выполнения страницы для повышения производительности и уменьшения времени отдачи контента браузеру.<br /><br />Для поддержки этих возможностей был доработан компонент умного фильтра каталога (<b>catalog.smart.filter</b>). Измененный компонент доступен после установки обновления инфоблоков <b>iblock 20.0.900</b>. Однако, если на конкретном проекте компонент фильтра был кастомизирован (скопирован или перенесен в свое пространство имен), необходимо будет внести изменения в код самостоятельно.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/39268.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/39268.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/39268.php</guid>
      <pubDate>Thu, 17 Sep 2020 19:43:04 +0300</pubDate>
    </item>

    <item>
      <title>Связка iblock-catalog 19.0.0 - что нового</title>
      <description><![CDATA[Свежая связка обновлений закрыла несколько кейсов, по которым у нас было достаточно много &quot;хотелок&quot;. Часть из них возникла после миграции магазина на Б24, часть - &quot;старые долги&quot; по БУС. Здесь вкратце обрисую то, что выпущено.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/36914.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/36914.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/36914.php</guid>
      <pubDate>Wed, 27 Nov 2019 11:43:21 +0300</pubDate>
    </item>

    <item>
      <title>Магазин. Часть II. Товары и CIBlockElement::GetList</title>
      <description><![CDATA[Исторически метод модуля <b>iblock</b> <b>CIBlockElement::GetList</b> может работать с данными товара (при наличии модуля <b>catalog</b>). Это подробно описано в <noindex><a href="https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getlist.php" target="_blank" rel="nofollow" >документации</a></noindex> и активно используется как в публичных компонентах, так и на административных страницах и скриптах. Однако архитектурные особенности реализации, равно как и неразумное (чаще всего) использование этих возможностей, приводят к резкому падению производительности.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/34505.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/34505.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/34505.php</guid>
      <pubDate>Wed, 03 Apr 2019 16:59:40 +0300</pubDate>
    </item>

    <item>
      <title>Настройка скидок - проблемы и падение производительности</title>
      <description><![CDATA[Эта публикация написана после неоднократных обращений как клиентов, так и (к горести моей) партнеров. Темы обращений были разные, но причиной в итоге оказывался один и тот же сценарий, реализуемый как через админку, так и через api.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/32569.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/32569.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/32569.php</guid>
      <pubDate>Thu, 08 Nov 2018 10:52:11 +0300</pubDate>
    </item>

    <item>
      <title>Магазин. Часть I. О бедном товаре замолвите слово</title>
      <description><![CDATA[Самый частый вопрос, задаваемый начинающим разработчиком - &quot;как&quot;. Как создать цены, как добавить в корзину, как вывести... Вопрос &quot;почему&quot; задается гораздо реже. Сдав три-четыре, а лучше пять-десять проектов, разработчик уже чувствует себя уверенней - есть стандартные наработки и приемы, стереотипные ходы, можно браться за реализацию задач поинтересней. Самое время для &quot;почему&quot;. Но - те самые стереотипы, опыт (руль - он одинаковый и у легковушки, и у фуры), формирующий картину мира, время, которое деньги. Тем более, что все работает. &quot;Почему&quot; может и не прозвучать. А может прозвучать, но остаться без ответа.<br /><br />Эта статья открывает серию &quot;почему&quot; и &quot;зачем&quot; для разработчиков магазинов. Темы будут определяться исходя из вопросов на форуме и в блогах, обращений в техподдержку, предложений сайта идей. За рамками публикаций сознательно будут оставлены вопросы, касающиеся причин тех или иных архитектурных решений.<br /><br />Итак, поговорим о товарах.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/14238.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/14238.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/14238.php</guid>
      <pubDate>Wed, 08 Feb 2017 12:00:00 +0300</pubDate>
    </item>

    <item>
      <title>Работа в паре</title>
      <description><![CDATA[В продолжение тем <noindex><a href="https://dev.1c-bitrix.ru/community/blogs/vws/looping-event-handlers.php" target="_blank" rel="nofollow" >Зацикливание обработчиков событий</a></noindex>, <noindex><a href="https://dev.1c-bitrix.ru/community/blogs/vws/data-before-and-after-update.php" target="_blank" rel="nofollow" >Данные до и после update...</a></noindex> и <noindex><a href="https://dev.1c-bitrix.ru/community/blogs/vws/data-before-and-after-update.php" target="_blank" rel="nofollow" >событий каталога</a></noindex> рассмотрим использование пары обработчиков событий на примере событий метода CCatalogProduct::GetOptimalPrice.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/19783.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/19783.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/19783.php</guid>
      <pubDate>Tue, 18 Oct 2016 15:09:10 +0300</pubDate>
    </item>

    <item>
      <title>Новый внешний вид BX.PopupWindow в 16.5 - правки кастомизированных шаблонов компонент магазина</title>
      <description><![CDATA[В обновлении <b>main 16.5.0</b> выпущен обновленный класс BX.PopupWindow. В нем полностью изменена верстка всплывающего окна и частично изменены входные параметры. К сожалению, полную совместимость сохранить не удалось - слишком велики изменения, необходимость в которых назрела давно.<br /><br />Изменения базовых шаблонов компонент магазина, использующих этот класс, выходят в обновлениях 16.5.0 модулей iblock, catalog, sale. Тем же, кто кастомизировал шаблоны нижеперечисленых компонент под свои нужды, необходимо будет внести небольшие правки в script.js (естественно, если после кастомизации остались вызовы BX.PopupWindow или BX.PopupWindowManager.create).<br /><br />Правки затрагивают шаблоны следующих компонент:<br /><b>iblock</b><br /><ul><li>catalog.element<li>catalog.section<li>catalog.top<li>catalog - вложенные шаблоны простых компонент (catalog.element, catalog.section, catalog.top)<br /></ul><b>catalog</b><br /><ul><li>catalog.bigdata.products<li>catalog.recommended.products<li>catalog.viewed.products<br /></ul><b>sale</b><br /><ul><li>sale.bestsellers<li>sale.gift.basket<li>sale.gift.product<li>sale.gift.section<li>sale.recommended.products<br /></ul>Во всех js-классах шаблонов правки вносятся в 3 метода - <b>InitPopupWindow</b>, <b>BasketResult</b>, <b>CompareResult</b>.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/18281.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/18281.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/18281.php</guid>
      <pubDate>Wed, 15 Jun 2016 12:18:09 +0300</pubDate>
    </item>

    <item>
      <title>Тактический обвес GetOptimalPrice</title>
      <description><![CDATA[Есть такой замечательный метод - CCatalogProduct::GetOptimalPrice. Его задача - выдать минимальную цену на товар. Начиная с обновления catalog 15.0.2 разработчикам доступны новые возможности изменения результатов этого метода. Рассмотрим их подробно.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/14239.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/14239.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/14239.php</guid>
      <pubDate>Sat, 25 Jul 2015 14:53:36 +0300</pubDate>
    </item>

    <item>
      <title>Данные до и после update...</title>
      <description><![CDATA[Задача выполнения произвольного кода при изменении данных встречается сплошь и рядом. Это и разноообразные оповещения, и синхронизация таблиц, и сброс кеша - все, что угодно. При наличии событий, вызываемых после успешного обновления, задача решается достаточно тривиально. Все хорошо ровно до того момента, когда требуется выполнить код только тогда, когда данные ДЕЙСТВИТЕЛЬНО изменились (значения полей элемента таблицы до и после записи различаются). Этот момент почему-то порождает массу вопросов на форуме, не говоря уж об идеях перед обновлением записи подымать из базы старые значения внутри api ядра. Постараюсь закрыть эту тему.<br /><br /><a href="http://dev.1c-bitrix.ru/community/blogs/vws/11888.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/vws/11888.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/vws/11888.php</guid>
      <pubDate>Fri, 24 Jul 2015 19:02:00 +0300</pubDate>
    </item>

  </channel>
</rss>