<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум ReadyScript &mdash; Дата изменения товара]]></title>
		<link>http://forum.readyscript.ru/topic/635/data-izmeneniya-tovara/</link>
		<atom:link href="http://forum.readyscript.ru/feed/rss/topic/635/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Дата изменения товара».]]></description>
		<lastBuildDate>Mon, 04 Jul 2016 11:43:30 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Дата изменения товара]]></title>
			<link>http://forum.readyscript.ru/post/3767/#p3767</link>
			<description><![CDATA[<div class="quotebox"><cite>Андрей пишет:</cite><blockquote><div class="quotebox"><cite>Ярослав пишет:</cite><blockquote><p>Попробуйте со стороны 1с сделать доработку.</p></blockquote></div><p>Подскажите если сделать характеристику с типом дата и название &quot;Дата поступления&quot;. можно ли импортировать в поле &quot;Дата поступления&quot; на сайте?</p></blockquote></div><p>Можно добавить такое свойство в 1С и дополнительным модулем перед записью объекта товара, записывать в нужное Вам поле из характеристики.</p>]]></description>
			<author><![CDATA[null@example.com (Закусило Александр)]]></author>
			<pubDate>Mon, 04 Jul 2016 11:43:30 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/3767/#p3767</guid>
		</item>
		<item>
			<title><![CDATA[Re: Дата изменения товара]]></title>
			<link>http://forum.readyscript.ru/post/3765/#p3765</link>
			<description><![CDATA[<div class="quotebox"><cite>Ярослав пишет:</cite><blockquote><p>Попробуйте со стороны 1с сделать доработку.</p></blockquote></div><p>Подскажите если сделать характеристику с типом дата и название &quot;Дата поступления&quot;. можно ли импортировать в поле &quot;Дата поступления&quot; на сайте?</p>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Mon, 04 Jul 2016 10:50:17 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/3765/#p3765</guid>
		</item>
		<item>
			<title><![CDATA[Re: Дата изменения товара]]></title>
			<link>http://forum.readyscript.ru/post/2835/#p2835</link>
			<description><![CDATA[<div class="quotebox"><cite>Ярослав пишет:</cite><blockquote><p>Попробуйте со стороны 1с сделать доработку.</p></blockquote></div><p>Мы думали сделать через характеристики, но это как говорится &quot;костыль&quot;</p>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Wed, 16 Mar 2016 14:15:02 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2835/#p2835</guid>
		</item>
		<item>
			<title><![CDATA[Re: Дата изменения товара]]></title>
			<link>http://forum.readyscript.ru/post/2834/#p2834</link>
			<description><![CDATA[<p>Попробуйте со стороны 1с сделать доработку.</p>]]></description>
			<author><![CDATA[null@example.com (Ярослав)]]></author>
			<pubDate>Wed, 16 Mar 2016 13:29:06 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2834/#p2834</guid>
		</item>
		<item>
			<title><![CDATA[Re: Дата изменения товара]]></title>
			<link>http://forum.readyscript.ru/post/2799/#p2799</link>
			<description><![CDATA[<div class="quotebox"><cite>Ярослав пишет:</cite><blockquote><p>Решается просто.&nbsp; В моделе надо навесить обработку события на сохранение товара и на окончание импорта 1с (чтобы раскидать по спецкатегориям, например).</p><div class="codebox"><pre><code>  function init()
    {
        $this
            
            -&gt;bind(&#039;exchange.gate.afterimport.all&#039;)//событие после импорта 1c
            -&gt;bind(&#039;orm.beforewrite.catalog-product&#039;);//перехватываем сохранение товара
                           
    }
       </code></pre></div><p>Пример для простановки даты создания товара. Аналогично тут можно сравнить старую и новую цену и сделать еще что-либо<br /></p><div class="codebox"><pre><code>public static function ormBeforewriteCatalogProduct(array $params, \RS\Event\Event $event)
    {
        if ($params[&#039;flag&#039;] == \RS\Orm\AbstractObject::INSERT_FLAG) { //Если это добавление товара
            /**
            * Получаем из параметра ORM объект
            * @var \Catalog\Model\Orm\Product
            */
             $product = $params[&#039;orm&#039;];
             if (!isset($product-&gt;dateof)) $product-&gt;dateof=date(&#039;Y-m-d H:i:s&#039;) ;
                         
           }
    }    </code></pre></div><p>Вот пример того, как раскидать товары по спецкатегориям:<br /></p><div class="codebox"><pre><code> 
     public static function exchangeGateAfterimportAll()

    {  
        $router = \RS\Router\Manager::obj();
       
    
         if (\Setup::$INSTALLED) {
           $config = \RS\Config\Loader::byModule(&#039;users&#039;);
            $new_days  = 20;//$config[&#039;new_days&#039;]; пусть будет 20 дней
            $dir_new=2;//id спецкатегории &quot;новинки&quot;
    
             ///добавляем товары в спецкатегории
               //удалим связи с новинками 
              \RS\Orm\Request::make()
                    -&gt;delete()              
                    -&gt;from(new \Catalog\Model\Orm\Xdir()) 
                    -&gt;where(&quot;dir_id in (&quot;.$dir_new.&quot;)&quot;)
                    -&gt;exec();

             $xdir_table =  \RS\Orm\Tools::getTable( new \Catalog\Model\Orm\Xdir() ); 
                      $product_table = \RS\Orm\Tools::getTable( new \Catalog\Model\Orm\Product() );
            

                      \RS\Db\Adapter::sqlExec( &quot;INSERT IGNORE INTO {$xdir_table} (product_id, dir_id) SELECT wp.id,{$dir_new} FROM {$product_table} wp WHERE  TO_DAYS(NOW()) - TO_DAYS(wp.dateof) &lt;= &quot;.$new_days);
             
         
                                    
            
        }
      
    }</code></pre></div></blockquote></div><br /><p>У нас сайт в облаке. Получается нельзя?</p>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Thu, 10 Mar 2016 11:15:31 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2799/#p2799</guid>
		</item>
		<item>
			<title><![CDATA[Re: Дата изменения товара]]></title>
			<link>http://forum.readyscript.ru/post/2796/#p2796</link>
			<description><![CDATA[<p>Решается просто.&nbsp; В моделе надо навесить обработку события на сохранение товара и на окончание импорта 1с (чтобы раскидать по спецкатегориям, например).</p><div class="codebox"><pre><code>  function init()
    {
        $this
            
            -&gt;bind(&#039;exchange.gate.afterimport.all&#039;)//событие после импорта 1c
            -&gt;bind(&#039;orm.beforewrite.catalog-product&#039;);//перехватываем сохранение товара
                           
    }
       </code></pre></div><p>Пример для простановки даты создания товара. Аналогично тут можно сравнить старую и новую цену и сделать еще что-либо<br /></p><div class="codebox"><pre><code>public static function ormBeforewriteCatalogProduct(array $params, \RS\Event\Event $event)
    {
        if ($params[&#039;flag&#039;] == \RS\Orm\AbstractObject::INSERT_FLAG) { //Если это добавление товара
            /**
            * Получаем из параметра ORM объект
            * @var \Catalog\Model\Orm\Product
            */
             $product = $params[&#039;orm&#039;];
             if (!isset($product-&gt;dateof)) $product-&gt;dateof=date(&#039;Y-m-d H:i:s&#039;) ;
                         
           }
    }    </code></pre></div><p>Вот пример того, как раскидать товары по спецкатегориям:<br /></p><div class="codebox"><pre><code> 
     public static function exchangeGateAfterimportAll()

    {  
        $router = \RS\Router\Manager::obj();
       
    
         if (\Setup::$INSTALLED) {
           $config = \RS\Config\Loader::byModule(&#039;users&#039;);
            $new_days  = 20;//$config[&#039;new_days&#039;]; пусть будет 20 дней
            $dir_new=2;//id спецкатегории &quot;новинки&quot;
    
             ///добавляем товары в спецкатегории
               //удалим связи с новинками 
              \RS\Orm\Request::make()
                    -&gt;delete()              
                    -&gt;from(new \Catalog\Model\Orm\Xdir()) 
                    -&gt;where(&quot;dir_id in (&quot;.$dir_new.&quot;)&quot;)
                    -&gt;exec();

             $xdir_table =  \RS\Orm\Tools::getTable( new \Catalog\Model\Orm\Xdir() ); 
                      $product_table = \RS\Orm\Tools::getTable( new \Catalog\Model\Orm\Product() );
            

                      \RS\Db\Adapter::sqlExec( &quot;INSERT IGNORE INTO {$xdir_table} (product_id, dir_id) SELECT wp.id,{$dir_new} FROM {$product_table} wp WHERE  TO_DAYS(NOW()) - TO_DAYS(wp.dateof) &lt;= &quot;.$new_days);
             
         
                                    
            
        }
      
    }</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Ярослав)]]></author>
			<pubDate>Thu, 10 Mar 2016 10:08:53 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2796/#p2796</guid>
		</item>
		<item>
			<title><![CDATA[Дата изменения товара]]></title>
			<link>http://forum.readyscript.ru/post/2795/#p2795</link>
			<description><![CDATA[<p>Здравствуйте!</p><p>Подскажите как можно отфильтровать (отсортировать) по дате изменения<br />Т.е.<br />Необходимо следующее:<br />После обмена с 1С, товары вновь созданные, которых ещё не было и товары у которых произошли изменения (цена) необходима возможность на сайте выводить эти товары в отдельный блок. Например &quot;Новые поступления&quot;, как это сделать?</p>]]></description>
			<author><![CDATA[null@example.com (Андрей)]]></author>
			<pubDate>Thu, 10 Mar 2016 08:51:34 +0000</pubDate>
			<guid>http://forum.readyscript.ru/post/2795/#p2795</guid>
		</item>
	</channel>
</rss>
