Дикие ягоды и подводные камни… (опыт интеграции 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