Дикие ягоды и подводные камни… (опыт интеграции 1С Битрикс и 1С ПРедприятия)

«Хочу все, как на дикой ягоде (как на 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С, регулярно импортируется на сайт и мы знаем, какая фотка — какого цвета, на какой мордочка, а на какой спинка.

Об авторе:

Инженер-программист по образованию, web-программист по призванию, Битрикс-программист по любви и 1с-программист по стечению обстоятельств, руководитель команды web-разработчиков, внедренец 1С-Битрикс и Битрикс24, основатель одноименной студии.

bedrosova3

Подпишитесь на рассылку!

Fields marked with an * are required

Комментарии

    • Анонимный
    • Ноябрь 25, 2014

    Этот комментарий был удален администратором блога.

 

Комментировать

 

Подписаться на рассылку:

Fields marked with an * are required