<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум ReadyScript &mdash; Дата изменения товара]]></title>
	<link rel="self" href="http://forum.readyscript.ru/feed/atom/topic/635/" />
	<updated>2016-07-04T11:43:30Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.readyscript.ru/topic/635/data-izmeneniya-tovara/</id>
		<entry>
			<title type="html"><![CDATA[Re: Дата изменения товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3767/#p3767" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Закусило Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2016-07-04T11:43:30Z</updated>
			<id>http://forum.readyscript.ru/post/3767/#p3767</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Дата изменения товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/3765/#p3765" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ярослав пишет:</cite><blockquote><p>Попробуйте со стороны 1с сделать доработку.</p></blockquote></div><p>Подскажите если сделать характеристику с типом дата и название &quot;Дата поступления&quot;. можно ли импортировать в поле &quot;Дата поступления&quot; на сайте?</p>]]></content>
			<author>
				<name><![CDATA[Андрей]]></name>
				<uri>http://forum.readyscript.ru/user/299/</uri>
			</author>
			<updated>2016-07-04T10:50:17Z</updated>
			<id>http://forum.readyscript.ru/post/3765/#p3765</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Дата изменения товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2835/#p2835" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Ярослав пишет:</cite><blockquote><p>Попробуйте со стороны 1с сделать доработку.</p></blockquote></div><p>Мы думали сделать через характеристики, но это как говорится &quot;костыль&quot;</p>]]></content>
			<author>
				<name><![CDATA[Андрей]]></name>
				<uri>http://forum.readyscript.ru/user/299/</uri>
			</author>
			<updated>2016-03-16T14:15:02Z</updated>
			<id>http://forum.readyscript.ru/post/2835/#p2835</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Дата изменения товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2834/#p2834" />
			<content type="html"><![CDATA[<p>Попробуйте со стороны 1с сделать доработку.</p>]]></content>
			<author>
				<name><![CDATA[Ярослав]]></name>
				<uri>http://forum.readyscript.ru/user/74/</uri>
			</author>
			<updated>2016-03-16T13:29:06Z</updated>
			<id>http://forum.readyscript.ru/post/2834/#p2834</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Дата изменения товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2799/#p2799" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Андрей]]></name>
				<uri>http://forum.readyscript.ru/user/299/</uri>
			</author>
			<updated>2016-03-10T11:15:31Z</updated>
			<id>http://forum.readyscript.ru/post/2799/#p2799</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Дата изменения товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2796/#p2796" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Ярослав]]></name>
				<uri>http://forum.readyscript.ru/user/74/</uri>
			</author>
			<updated>2016-03-10T10:08:53Z</updated>
			<id>http://forum.readyscript.ru/post/2796/#p2796</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Дата изменения товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2795/#p2795" />
			<content type="html"><![CDATA[<p>Здравствуйте!</p><p>Подскажите как можно отфильтровать (отсортировать) по дате изменения<br />Т.е.<br />Необходимо следующее:<br />После обмена с 1С, товары вновь созданные, которых ещё не было и товары у которых произошли изменения (цена) необходима возможность на сайте выводить эти товары в отдельный блок. Например &quot;Новые поступления&quot;, как это сделать?</p>]]></content>
			<author>
				<name><![CDATA[Андрей]]></name>
				<uri>http://forum.readyscript.ru/user/299/</uri>
			</author>
			<updated>2016-03-10T08:51:34Z</updated>
			<id>http://forum.readyscript.ru/post/2795/#p2795</id>
		</entry>
</feed>
