В качестве платформы для сайта, Битрикс используется во многих интернет-магазинах. На сегодняшний день многофункциональность данного продукта просто удивляет, пожалуй, одной из весомых особенностей в данной системе является несложная для клиента возможность реализации интеграции с продуктами 1C. Но на фоне всего — это лишь часть того что есть в данной системе. В общем, рассказывать про весь функционал и особенности здесь мне не предстоит, хотелось поговорить об одной полезной возможности.
Начиная с 12-й версии Битрикса для интернет-магазинов (редакция «Бизнес», «Веб-кластер») есть возможность вести учет остатков по складам, показывать посетителям наличие товара индивидуально по каждому складу. Эта концепция непосредственно связана с интеграцией с 1C, так же есть можно работать с данным функционалом и вручную. Функционал позволяет более гибко и информативно использовать данные об остатках на складах. Для покупателя в интернет-магазине информация о наличии остатков товара на складах может быть весьма полезной.
В админке Битрикса настройки складов находятся тут:
При первой же успешной выгрузке из 1C, склады создаются автоматически. Создавать их вручную при должной интеграции с 1C не придется.
Для тех, кто пользовался системой Битрикс более ранней версии можно произвести обновление продукта непосредственно в администраторской части сайта. Обратите внимание, что для этого у вас должна быть активная лицензия. Кроме того, необходимо обновить модули выгрузки в самой 1C, ссылки на готовые модули есть на странице блога Битрикс (см. ссылку выше).
Для отдельного взятого склада предусмотрено множество данных, к примеру, мне приглянулось поле с возможностью указать GPS координаты склада, изображения, контактные данные, и др.
Образец формы с параметрами для склада:
При правильной интеграции с 1C основная информация о складах выгружается автоматически. Таким образом, основной складской учет будет находиться в самой 1C. Информация, которая будет находиться на самом сайте, будет носить чисто информационный характер. Это оптимальная реализация, хотя в некоторых случаях может потребоваться вести учет непосредственно на сайте. Функционал позволяет делать это как вам удобнее.
В элементе каталога на кладке «Склады» находятся данные об остатках товара на складах. Здесь всё интуитивно понятно, имя склада, количество товара на складе. При надобности здесь же и редактируется количество товара по каждому из складов, но как уже говорилось немного выше, при интеграции с 1С в этом обычно не возникает необходимости.
В программной части так же появились кое-какие дополнения. Что касается выгрузки остатков по складам, то для работы со складами в API был реализован класс CCatalogStore, который содержит методы необходимые для работы с данными. Таким же образом, посредством API можно реализовать показ остатков по складам в публичной части сайта, в карточке товара.
Пример выборки записей из таблицы складов для конкретного товара:
# id элемента $elementID = 4672; $storeRes = CCatalogStoreProduct::GetList( array("SORT" => "ASC"), # сортировка array("PRODUCT_ID" => $elementID), # отбор по фильтру false, # группировка по полям false, # параметры выборки array("*") # поля для выборки ); while($arStoreParam = $storeRes->Fetch()){ echo '<pre>'; print_r ($arStoreParam); echo '</pre>'; }
В результате получим массив с данными о складах и остатке данного товара на каждом из складов. Если вы создавали ранее свои компоненты для показа элементов каталога, то вы можете добавить в них дополнительные возможности выборки и показа остатков к товару, в общем, дело желания.
Пользуйтесь документацией, в документации по API вы сможете найти более подробную информацию, ссылка на документацию указана перед примером.