"Хочу все, как на дикой ягоде (как на wildberries.ru)" - над таким незамысловатым заданием заказчика нам недавно довелось поработать (нам - это в данном случае мне и моей помощнице Юлии Ханусяк). Уточнив, что именно заказчик хочет "как на дикой ягоде", я поняла, что он хочет такую же организацию каталога и карточки товаров, как там и чтобы каталог наполнялся на стороне 1С и уже не требовал дозаполнения на стороне сайта. Несколько разработчиков до меня благоразумно отказались от этой задачи, я же изначально не увидела в ней всех подводных камней. Мы определились, какие задачи заказчик хочет видеть решенными до запуска магазина, а какие мы оставим на будущее, и я приступила к реализации. 
Тут следует упомянуть об особенностях организации каталога на wildberries.ru. 
Каждый товар (предмет одежды) имеет торговые предложения, обладающие характеристиками цвета и размера. И к каждому цвету привязано свое фото, и если пользователь в карточке товара кликает по определенному цвету, то картинка этого цвета становится на место большой картинки.

Как известно, подготовить структуру инфоблоков для такой задачи на стороне сайта - не составляет большого труда. Об организации каталога с торговыми предложениями хорошо написано в учебных курсах для разработчиков, и я не буду пересказывать их. Привязать картинки к торговым предложениям в Битрикс тоже вполне возможно.

На стороне 1С (у клиента стандартная 1С УТ 11.0) - тоже, казалось бы, нет проблемы - включаем учет по характеристикам. Создаем характеристики "цвет" и "размер" для нужных номенклатурных групп, правильно заводим документы прихода на склад и документы установки цен, создаем профиль обмена с фильтром по наличию на складе и делаем выгрузку.

И вот тут и всплыл большой и жирный подводный камень: на стороне 1С Предприятия в стандартной конфигурации УТ нет никакой возможности указать, к какому цвету относится та или другая прикрепленная к номенклатурной позиции картинка.

1С программиста у заказчика не было, и заказчик искренне полагал, что, взявшись делать интеграцию, я должна делать ее с обеих сторон. "Что же, Юля, в следующий раз ты будешь тщательнее продумывать текст договора" - сказала я себе и вспомнила о замечательном 1С Франчайзи, интеграторе и внедренце, с которым я имею честь быть знакомой, а именно об Анатолии Полякове (Skype: tolpolyakov). К нему я и обратилась за консультацией по указанной проблеме. Анатолий проконсультировал меня и, кстати, отказался от денег, попросив взамен дружбу и аналогичные дружеские консультации по Битриксу, если они понадобятся. Анатолий, я не забываю добро и помню о своих обещаниях. Но я отвлеклась от темы.

Анатолий предложил мне следующий способ решения задачи привязки конкретной картинки к конкретному цвету: на стороне 1С отказаться от учета по характеристике "цвет", вести учет только по характеристике "размер", на стороне 1С считать, что разные цвета одного товара - это разные товары, но иметь некое объединяющее поле, и на стороне сайта, кастомизируя импорт, сливать несколько товаров, различающихся цветом, в один товар с торговыми предложениями, обладающими и цветом, и размером.

Этот способ мне не очень понравился... и не только из-за его трудоемкости. Мне нравится сама идея ведения учета товара в 1С Предприятии по характеристикам, и отказ от полноценного использования такого учета ради реализации маленькой фичи показался мне неадекватно большой потерей, хотя заказчик был готов на нее пойти.

Я думала, думала и решила, что правильным вариантом будет добавить на стороне 1С свойство к сущности файла, позволяющее назначать файлу привязку к конкретному элементу из справочника цветов, а так же свойство, отвечающее за то, является ли фото - главным видом или видом сзади, и еще одного свойство, отвечающее за то, является ли картинка картинкой по-умолчанию. Я была готова реализовать это на стороне 1С самостоятельно, освежив навыки 6-ти летней давности, но, поговорив с заказчиком, мы решили остановиться на менее изящном, но более простом варианте.

Мы решили использовать в 1С стандартное поле "Описание файла" для хранения нужных нам признаков картинки - цвета и того, является ли она "мордочкой" или "спинкой".

Договорились, что в описании файла заказчик будет писать, к примеру, "красный№1" если это главная картинка красного цвета, "красный" - если это картинка красного цвета, но не главная, "красный№0" - если это картинка красного цвета, к-я должна быть использована как картинка по-умолчанию, если для какого-то цвета нет картинки.

При импорте в файле обмена описания файлов картинок выгружаются 1С в составе реквизитов товара.

О том, как их можно обработать на стороне сайта - я тоже умолчу в данном посте - я уже опубликовала несколько постов с описанием того, как я кастомизирую импорт. А то, что у нас получилось - можно увидеть на сайте luckyfamily.ru

Конечно, пройдет еще не мало итераций разработки, пока этот проект приблизится к своему идеалу - "диким ягодам". Но каталог успешно наполняется на стороне 1С, регулярно импортируется на сайт и мы знаем, какая фотка - какого цвета, на какой - мордочка, а на какой - спинка.

Возврат к списку