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

<rss version="2.0">
 <channel>
	<title>Василий Дудник</title>
	<link>http://dev.1c-bitrix.ru/community/blogs/wasil/</link>
	<description></description>
	<language>ru</language>
	<docs>http://backend.userland.com/rss2</docs>
	<pubDate>Tue, 28 Apr 2026 05:14:31 +0300</pubDate>

    <item>
      <title>Создание обработчиков служб доставок. Рекомендации.</title>
      <description><![CDATA[<i>"Если труд, то труд такой уж, чтоб и польза была, и честь."<br />(Луцилий Гай)</i><br /><br /><br />Для того чтобы создаваемый обработчик <noindex><a href="https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=42&amp;CHAPTER_ID=03071&amp;LESSON_PATH=3912.4580.4828.3071" target="_blank" rel="nofollow" >службы доставки</a></noindex> был универсальным, мог работать независимо от конкретного сайта, как в публичной части так и в административной, использовал все возможности системы - необходимо чтобы он был создан в соответствии с новой архитектурой (начиная с версии 15.0.0 модуля "Интернет-магазин") механизма служб доставок. Класс обработчика должен являться наследником класса &nbsp;<noindex><a href="https://dev.1c-bitrix.ru/api_d7/bitrix/sale/delivery/services/base/index.php" target="_blank" rel="nofollow" >\Bitrix\Sale\Delivery\Services\Base</a></noindex>.<br /><br />На тему создания собственного обработчика служб доставок есть следующая документация: <br /> - <noindex><a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&amp;LESSON_ID=7847&amp;LESSO..." target="_blank" rel="nofollow" >кастомизация платежных систем и служб доставок</a></noindex><br /> - <noindex><a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&amp;LESSON_ID=8415" target="_blank" rel="nofollow" >пример создания собственной службы доставки</a></noindex><br /><br />Есть возможность ограничить использование службы доставки по каким - либо параметрам. Например, по максимальному весу или размеру.<br />Для этого можно воспользоваться <noindex><a href="https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=42&amp;LESSON_ID=7330&amp;LESSON_PATH=3912.4580.4828.3071.7330" target="_blank" rel="nofollow" >стандартными ограничениями</a></noindex>, которые могут быть заданы через административный раздел - настройку службы доставки. <br />Если же необходимо что - то особенное, например, ограничить использование службы доставки в зависимости от фазы луны, то можно создать собственный тип ограничений. О создании таких ограничений можно почитать здесь: <noindex><a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&amp;LESSON_ID=7352&amp;LESSON_PATH=3913.4776.7351.7352" target="_blank" rel="nofollow" >пользовательские ограничения</a></noindex>.<br /><br />В системе есть также возможность задавать для службы доставки <noindex><a href="https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=42&amp;LESSON_ID=7302" target="_blank" rel="nofollow" >дополнительные услуги.</a></noindex><br />Про создание собственного типа дополнительных услуг можно почитать здесь: <noindex><a href="https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&amp;LESSON_ID=7849" target="_blank" rel="nofollow" >кастомизация типов дополнительных услуг</a></noindex><br /><br />При создании службы доставки необходимо учитывать тот факт, что сайт может быть как в кодировке utf-8 так и в кодировке cp-1251.<br />Если производится обмен данными со службой доставки - необходимо при этом правильно менять кодировку данных при отправлении и получении данных.<br />Здесь может помочь метод \Bitrix\Main\Text\Encoding::convertEncoding().<br /><br />В качестве примера служб доставок лучше всего подходят следующие:<br />\Sale\Handlers\Delivery\SimpleHandler (/bitrix/modules/sale/handlers/delivery/simple/handler.php) простейший пример обработчика.<br />\Sale\Handlers\Delivery\SpsrHandler (/bitrix/modules/sale/handlers/delivery/spsr/handler.php) вариант посложнее с использованием всех возможностей текущей архитектуры.<br /><br />Для служб доставок существует механизм автоматического отслеживания идентификаторов отправления (трэкинг-номеров). Пример, как это реализовано для службы доставки СПСР: \Sale\Handlers\Delivery\SpsrTracking<br /><br />Для запросов к сервису службы доставки рекомендуется использовать встроенный класс \Bitrix\Main\Web\HttpClient вместо сторонних расширений, например curl.<br />Оптимальный формат обмена - json, так как возможно использовать встроенный класс \Bitrix\Main\Web\Json.<br /><br />При обмене информацией с сервисами служб доставок зачастую необходимо передавать идентификаторы местоположений. &nbsp;Сопоставление идентификаторов местоположений интернет магазина с идентификаторами местоположений служб доставок - задача нетривиальная. Как пример можно использовать \Sale\Handlers\Delivery\Spsr\Location::mapStepless();<br /><br />Чтобы не порождать лишних запросов к службе доставки и не замедлять работу сайта желательно при возможности кэшировать информацию полученную от сервисов служб доставок. Однако делать это надо аккуратно во избежание побочных эффектов. Как пример: \Sale\Handlers\Delivery\Spsr\Cache<br /><br />В случае возникновения ошибок и для отладки желательно иметь возможность записывать события связанные с получением информации от служб доставок в системный журнал. Для этого можно воспользоваться классом \CEventLog.<br /><br />И конечно же в случае обмена информацией со службой доставки необходимо предусмотреть корректную обработку случаев, когда по каким - то причинам сервер службы доставки недоступен или выдаёт неверный ответ.<br /><a href="http://dev.1c-bitrix.ru/community/blogs/wasil/26249.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/wasil/26249.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/wasil/26249.php</guid>
      <pubDate>Thu, 07 Dec 2017 14:17:03 +0300</pubDate>
    </item>

    <item>
      <title>Горячие клавиши</title>
      <description><![CDATA[<i>&quot;Жизнь коротка, скорость необходима,<br /> чтобы достичь желаемого в ограниченное<br />время, которым мы располагаем.&quot;<br /> (Соитиро Хонда)</i><br /> <br /> &nbsp; <br /> &nbsp; Во время работы с порталами часто возникает необходимость выполнять различные действия, для которых надо переходить из одного раздела в другой, заходить в различные меню, подменю &nbsp;и т.п. мышь под рукой плавится, поверхность стола под мышью дымится... Каждый переход - загрузка страницы, переход в разделы, подразделы, &nbsp;загрузка меню, прицеливание мышью по кнопке или ссылке - забирает драгоценные мгновения складывающиеся в секунды, часы, дни .... что в конечном итоге влияет на сроки сдачи проектов...<br /><br />	В новых версиях продукта начиная с 11.5 стали доступны &quot;горячие клавиши&quot;, которые могут помочь выполнять действия без помощи мышки, простым нажатием заранее настроенных сочетаний клавиш.<br /><br />О том что это за &quot;горячие клавиши&quot; и как их можно использовать в своей работе я сейчас и расскажу.<br /><br />После установки продукта, или обновления в правом верхнем углу появляется иконка в виде клавиатуры:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/a66/1-icon.jpg" title="" alt="" border="0"style=" width:316px; height:222px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6080" /><br /><br />	Нажав на неё, Вы можете увидеть окно настройки горячих клавиш, доступных Вам на данной странице. На разных страницах состав клавиш может различаться, в зависимости от элементов интерфейса, подгруженных на данной странице. К некоторым из элементов интерфейса можно задать горячие клавиши, к некоторым нет.<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/93f/2-settings.jpg" title="" alt="" border="0"style=" width:578px; height:657px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6079" /><br /><br />	По умолчанию задано всего несколько комбинаций, которые Вы (как и любой другой авторизованный пользователь, имеющий доступ к администраторской панели) можете попробовать в действии. Если заданные сочетания Вас не устраивают Вы можете их поменять на те, которые Вам больше нравятся. Задать комбинации, которые подходили бы Всем, мешают как субъективные факторы личных предпочтений, так и объективные, связанные с тем, что в разных операционных системах, разных браузерах могут быть назначены свои горячие клавиши.<br /><br />	Чтобы назначить горячую клавишу необходимо нажать на надпись &quot;не назначена&quot;, либо на уже назначенную комбинацию клавиш, например &quot;Ctrl+Alt+O&quot;:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/e98/3-click.jpg" title="" alt="" border="0"style=" width:650px; height:75px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6081" /><br /><br />	После того, как появилась строка ввода нажмите комбинацию клавиш, которую хотите задействовать для данной операции:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/73a/4-combi.jpg" title="" alt="" border="0"style=" width:232px; height:50px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6082" /><br /><br /><br />Когда Вы закроете окно, Вы сможете использовать данную комбинацию клавиш.<br /><br />В окне настроек есть возможность освободить комбинацию клавиш. Для этого необходимо нажать на красный крестик справа.<br />	<br />Внизу окна настроек есть три кнопки:<br /><br />&quot;Закрыть&quot; - закрывает окно;<br />&quot;По умолчанию&quot; - удаляет все клавиши назначенные пользователем и назначает клавиши по умолчанию;<br />&quot;Удалить все&quot; - просто удаляет все назначенные горячие клавиши.<br /><br />Функционал горячих клавиш можно полностью отключить/подключить в настройках &quot;Главного модуля&quot;:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/8d3/5-onoff.jpg" title="" alt="" border="0"style=" width:630px; height:740px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6083" /><br /><br />При необходимости Вы сами можете добавлять необходимые именно Вам действия, что бы назначить на них горячие клавиши. Делается это в разделе Администрирование -&gt; Настройки продукта -&gt; Горячие клавиши:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/resize_cache/491172/04dbd6b4c314fe48f655aad84339ad15/blog/602/6-admin.jpg" title="" alt="" border="0"style=" width:800px; height:462px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6085" /><br /><br />	Здесь список некоторых заданных действий, для которых пользователь может задать горячие клавиши.<br />Двойным щелчком мыши можно зайти в каждое из действий и посмотреть для примера как они делаются.<br /><br />	Для того, что бы добавить своё действие необходимо нажать кнопку &quot;Добавить&quot;. После этого заполнить форму создания для горячих клавиш:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/e55/7-add.jpg" title="" alt="" border="0"style=" width:706px; height:547px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6086" /><br /><br />	Необходимо заполнить как минимум два поля: &quot;Наименование&quot;, которое будет выводиться у пользователей в окне настроек горячих клавиш и поле &nbsp;&quot;Выполняемый JavaScript код&quot;.<br />	&quot;Наименовании класса&quot; можно оставить пустым. Оно необходимо для Вызова функционала горячих клавиш из кода PHP. (Об использовании API Горячих клавиш будет написана дополнительная статья).<br />	&quot;Комментарий&quot; - необходимо заполнить, если требуются дополнительные, более развёрнутые сведения о выполняемом действии.<br />	&quot;Объект для привязки title&quot; - так же как и &quot;Наименование класса&quot; используется для PHP - кода.<br />	&quot;Адрес (URL) где будет работать&quot; Если оставить поле пустым, то действие для привязки к горячим клавишам будет доступно везде, где есть администраторская панель. Если необходимо что бы действие выполнялось на какой - то конкретной странице, или в конкретном разделе то их можно указать в данном поле, например: <br /><br />
====code====
<pre>http://127.0.0.1:84/bitrix/admin/hot_keys_list.php 
или 
/bitrix/admin/ </pre>
=============
<br />После заполнения всех необходимых полей нажимаем кнопку &quot;Сохранить&quot;. В окне настроек горячих клавиш можно видеть &nbsp;только что созданное действие:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/38e/8-testset.jpg" title="" alt="" border="0"style=" width:592px; height:96px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6087" /><br /><br />	Остается назначить на это действие комбинацию горячих клавиш, нажав на ссылку &quot;не назначена&quot;, закрыть окно настроек и можно проверять нажатием заданных клавиш:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/e87/9 -testwind.jpg" title="" alt="" border="0"style=" width:304px; height:185px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6088" /><br /><br />	Вы, например, &nbsp;можете назначить по горячей клавише переход в наиболее часто используемый раздел. Что бы перейти в раздел администрирования горячих клавиш код JavaScript будет выглядеть так: <br /><br />
====code====
<pre>location.href='/bitrix/admin/hot_keys_list.php'; </pre>
=============
<br />	По умолчанию горячие клавиши можно назначать на действия, выполняемые через основные кнопки &quot;Эрмитажа&quot; и Администраторской панели.<br /><br />	При добавлении в избранное, в окне настроек горячих клавиш появляется добавленный адрес. Для перехода на него &nbsp;можно задать комбинацию клавиш:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/587/10-fav.jpg" title="" alt="" border="0"style=" width:647px; height:186px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6089" /><br /><br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/562/11-favset.jpg" title="" alt="" border="0"style=" width:602px; height:164px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6090" /><br /><br />	При наведении мышки на только что созданный &quot;список пользователей&quot; в меню &quot;Избранное&quot;, как и любой другой пункт меню в администраторской панели или &quot;Эрмитаже&quot; на который назначена горячая клавиша появится title с указанием горячей клавиши, которая сюда назначена:<br /><br /><img src="https://site-cloud-files.bitrix24.tech/blog/772/12-title.jpg" title="" alt="" border="0"style=" width:231px; height:186px;" data-bx-image="http://dev.1c-bitrix.ru/bitrix/components/bitrix/blog/show_file.php?fid=6092" /><br /><br />	Таким образом, все, что может быть выполнено с помощью JavaScript - кода - можно выполнить простым нажатием сочетания горячих клавиш... а это почти все, что может понадобиться при работе с порталом. Осталось определиться с потребностями, настроить нужные действия и можно делать больше, за ограниченное время, которым мы располагаем.<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><table class="data-table"> </table><br /><a href="http://dev.1c-bitrix.ru/community/blogs/wasil/4938.php">Подробнее...</a>]]></description>
      <link>http://dev.1c-bitrix.ru/community/blogs/wasil/4938.php</link>
      <guid>http://dev.1c-bitrix.ru/community/blogs/wasil/4938.php</guid>
      <pubDate>Thu, 26 Apr 2012 18:14:56 +0400</pubDate>
    </item>

  </channel>
</rss>