<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум ReadyScript &mdash; Нужен хук в модуле обмена 1С]]></title>
	<link rel="self" href="https://forum.readyscript.ru/feed/atom/topic/1410/" />
	<updated>2017-11-10T15:05:12Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.readyscript.ru/topic/1410/nuzhen-khuk-v-module-obmena-1s/</id>
		<entry>
			<title type="html"><![CDATA[Re: Нужен хук в модуле обмена 1С]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8011/#p8011" />
			<content type="html"><![CDATA[<p>Спасибо, отличное решение!</p>]]></content>
			<author>
				<name><![CDATA[Oleksii]]></name>
				<uri>https://forum.readyscript.ru/user/682/</uri>
			</author>
			<updated>2017-11-10T15:05:12Z</updated>
			<id>https://forum.readyscript.ru/post/8011/#p8011</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Нужен хук в модуле обмена 1С]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8008/#p8008" />
			<content type="html"><![CDATA[<p>Мы очень аккуратно стараемся добавлять хуки, так как огромное количество хуков - это самая большая беда многих систем.</p><p>В данном случае можно обойтись без добавления новых хуков. Вам необходимо, как вы правильно заметили, отключить в настройках обмена &quot;обнуление остатков у товаров, которых не было в выгрузке&quot;.&nbsp; </p><p>Далее, в обработчике exchange.task.afterimport.products реализовать свою логику обнуления остатков.</p><p>А чтобы никто случайно не включил данную функцию, вы можете её убрать из списка на странице настроек модуля exchange.</p><p>Это делается путем обработки события orm.init.exchange-config-file, вот так:</p><div class="codebox"><pre><code>&lt;?php
namespace ModuleName\Config;
use \RS\Orm\Type;
use \Exchange\Config\File as ExchangeConfig;

/**
* Класс предназначен для объявления событий, которые будет прослушивать данный модуль и обработчиков этих событий.
*/
class Handlers extends \RS\Event\HandlerAbstract
{
   function init()
   {
       $this-&gt;bind(&#039;orm.init.exchange-config-file&#039;);
   }

   public static function ormInitExchangeConfigFile($config)
   {
       $config[&#039;__catalog_element_action&#039;]-&gt;setListFromArray(array(
               ExchangeConfig::ACTION_NOTHING      =&gt; t(&#039;Ничего&#039;),
               ExchangeConfig::ACTION_DEACTIVATE   =&gt; t(&#039;Деактивировать&#039;),
               ExchangeConfig::ACTION_REMOVE       =&gt; t(&#039;Удалить&#039;)
               //Убрали отсюда пункт с обнулением остатков
           )
       );
   }
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://forum.readyscript.ru/user/2/</uri>
			</author>
			<updated>2017-11-10T10:19:32Z</updated>
			<id>https://forum.readyscript.ru/post/8008/#p8008</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Нужен хук в модуле обмена 1С]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8004/#p8004" />
			<content type="html"><![CDATA[<p>По идее я могу подцепиться к хуку &quot;exchange.task.afterimport.products&quot;, но как это обычно бывает, кто-то когда-то снова включит галочку &quot;Обнулять остаток&quot;, хотелось бы чтоб все было логично.</p>]]></content>
			<author>
				<name><![CDATA[Oleksii]]></name>
				<uri>https://forum.readyscript.ru/user/682/</uri>
			</author>
			<updated>2017-11-09T13:27:41Z</updated>
			<id>https://forum.readyscript.ru/post/8004/#p8004</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Нужен хук в модуле обмена 1С]]></title>
			<link rel="alternate" href="https://forum.readyscript.ru/post/8003/#p8003" />
			<content type="html"><![CDATA[<p>На сайте имеются 2 типа товара, загруженные с 1С и загруженные со стороннего источника (обмен через API).<br />При обмене 1С, если установлен пункт &quot;Обнулять остаток&quot; - обнуляются остатки всех товаров. Мне нужно как-то вклиниться, чтоб не трогало товары со стороннего апи.</p><p>Файл <strong>modules/exchange/model/task/afterimport/products.inc.php</strong><br /><span class="postimg"><img src="http://joxi.ru/MAjeV0DFv7kqN2.jpg" alt="http://joxi.ru/MAjeV0DFv7kqN2.jpg" /></span></p><p>Отлично бы подошла возможность добавить свое условие в запрос, чтоб исключить нужные мне товары. Есть возможность сюда встроить хук?</p>]]></content>
			<author>
				<name><![CDATA[Oleksii]]></name>
				<uri>https://forum.readyscript.ru/user/682/</uri>
			</author>
			<updated>2017-11-09T13:19:27Z</updated>
			<id>https://forum.readyscript.ru/post/8003/#p8003</id>
		</entry>
</feed>
