<?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/507/" />
	<updated>2015-10-21T10:45:08Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.readyscript.ru/topic/507/rezervirovanie-tovara/</id>
		<entry>
			<title type="html"><![CDATA[Re: Резервирование товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2127/#p2127" />
			<content type="html"><![CDATA[<p>Сообщение о том, что товара не хватает, можно убрать настройками модуля магазин. Просто убрав проверку на наличие остатка.</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-10-21T10:45:08Z</updated>
			<id>http://forum.readyscript.ru/post/2127/#p2127</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Резервирование товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2126/#p2126" />
			<content type="html"><![CDATA[<p>Благодарю за ответ. Пока использую конструктор запросов. <br />Возникла такая ситуация, что мне нужно знать сколько товара в резерве лежит и у кого. Так же нужна возможность уходить остатками в минус т.к. некоторые товары производятся по заказу.<br />Пока реализовал движения по складам в отдельный справочник и пересмотрел код, когда учитываются остатки. Получается нам нужен справочник резервов для каждой комплектации и обновление в нем записей при изменении остатков, что можно сделать хуками. Для того, чтобы уходить в минус по остаткам нужно очистить сообщение об ошибке, что товара не достаточно на складе. Это же можно сделать хуками или придется жестко править?</p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>http://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-10-21T10:04:22Z</updated>
			<id>http://forum.readyscript.ru/post/2126/#p2126</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Резервирование товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2125/#p2125" />
			<content type="html"><![CDATA[<p>Вы если укажите какие данные хотите получить, мы можем подсказать как это сделать программно более корректно, если Вы недавно работаете с движком. Поэтому обращайтесь.</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-10-21T06:50:31Z</updated>
			<id>http://forum.readyscript.ru/post/2125/#p2125</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Резервирование товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2119/#p2119" />
			<content type="html"><![CDATA[<p>Всё достаточно просто.<br />Все данные по остаткам на складам они хранятся в таблице <strong>product_x_stock</strong> и содержит информацию по наличию и складу где лежит товар.</p><p>У комплектаций(объект \Catalog\Model\Orm\Offer) есть поле num, оно хранит общее количество наличия по всем складам для данной одной комлектации. По сути это сводная информация по всем складам для данной комплектации<br />У товара есть поле num оно хранит общее наличие по всем комплектациям и складам для данного товара.</p><p>У комлектаций есть поле stock_num, которого на самом деле не существует. Оно является виртуальным. Это возможно за счёт того, что все записи в БД представленны в виде ORM класса Offer, куда собственно можно дописать и просто виртуальное поле.</p><p>ORM объект в свою очередь хранит одну запись из БД обёрнутую в соответствующий класс.<br />Это поле используется для того, чтобы передать массив с остатками по складам для данной комплектации. А при сохранении комплектации срабатывает код, который разносит по таблице product_x_stock все остатки, которые вы указали у комплектации.<br />Это возможно благодаря тому, что у каждого товара, можно вызвать функцию beforeWrite и afterWrite. Как понятно из названия одна срабатывает перед записью, вторая после. <br />Посмотреть на функцию afterWrite Вы можете в /modules/catalog/model/orm/offer.inc.php</p><p>Но мне больше интересен вопрос как Вы работаете с БД, при помощи ORM запросов или нет?</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-10-20T13:16:29Z</updated>
			<id>http://forum.readyscript.ru/post/2119/#p2119</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Резервирование товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2118/#p2118" />
			<content type="html"><![CDATA[<p>По таблицам:<br />product (num - здесь общий остаток товара, кэш поле) <br />product_offers (num - здесь общий остаток комплектации на всех складах, кэш поле)<br />product_x_stock (stock - остаток комплектации на конкретном складе)</p><p>В момент когда происходит изменение остатка в product_x_stock должны пересчитываться все поля вверх по дереву.</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>http://forum.readyscript.ru/user/2/</uri>
			</author>
			<updated>2015-10-20T11:54:05Z</updated>
			<id>http://forum.readyscript.ru/post/2118/#p2118</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Резервирование товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2116/#p2116" />
			<content type="html"><![CDATA[<p>Тогда объясните пожалуйста, в какой именно таблице у вас хранятся остатки? Возьмем например таблицу product_offers в которой есть поле num и доп. поле stock_num. Я так понял это и есть остатки, только что за что отвечает? Так же есть таблица product_x_stock. За что она отвечает и как связана с таблицей product_offers?</p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>http://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-10-20T09:35:13Z</updated>
			<id>http://forum.readyscript.ru/post/2116/#p2116</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Резервирование товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2111/#p2111" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Здравствуйте. Есть ли у вас в планах реализация функционала резервирования товара?</p></blockquote></div><p>Вы имеете ввиду функционал типа избранного или отложить, или же резервирование с удержанием остатков?<br />Просто у нас когда оформляется заказ товары из остатка списываются и остаются в заказе. Если заказ будет удалён, количество заказанного товара вернётся.</p><p>Какую задачу Вы хотите реализовать и как работаете с БД. Просто у нас все данные можно подгружать через ORM запрос или ORM объект. Может я Вам могу подсказать.</p>]]></content>
			<author>
				<name><![CDATA[Александр]]></name>
				<uri>http://forum.readyscript.ru/user/20/</uri>
			</author>
			<updated>2015-10-20T08:17:40Z</updated>
			<id>http://forum.readyscript.ru/post/2111/#p2111</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Резервирование товара]]></title>
			<link rel="alternate" href="http://forum.readyscript.ru/post/2109/#p2109" />
			<content type="html"><![CDATA[<p>Здравствуйте. Есть ли у вас в планах реализация функционала резервирования товара? Не совсем понятно в каких таблицах у вас хранятся данные, а в каких агрегируются.</p>]]></content>
			<author>
				<name><![CDATA[Дмитрий]]></name>
				<uri>http://forum.readyscript.ru/user/38/</uri>
			</author>
			<updated>2015-10-20T07:25:45Z</updated>
			<id>http://forum.readyscript.ru/post/2109/#p2109</id>
		</entry>
</feed>
