Перейти к содержимому


Фотография
* * * * * 2 Голосов

JBZOO и 1С

1с 8.3 jbzoo обмен данными

Сообщений в теме: 25

#1 user_brevnov

user_brevnov

Отправлено 27 November 2016 - 19:46

Здравствуйте.

 

Многие спрашивают как скрестить 1С и JBZoo. По просьбе Larus, решил написать этот пост.

Пару дней назад закончил процесс интеграции.

Долго доставал Дениса в посте http://forum.jbzoo.c...reindeksatciya/ на последнем этапе. Скажу сразу легендарного решения которое спасет мир не предложу. Опишу ту часть которую уже сделал.

Стояла задача из торговли УТ 11.2 (Платформа 8.3) синхронизировать каталог с сайтом JbZoo.

Если говорить простым языком нужно данные результата запроса  из 1С переложить в MySQL.

То есть необходимо знать как язык запросов 1С так и SQL.

Но есть проблема 1С не пускает на прямую в базу. Плюс на поддержке у франчайзи, да и лезть с веба в тоговую БД не совсем красиво. Zoo хранит все характеристики в JSON, но в базу пускает без проблем.

Соответственно получилась такая странная архитектура - Пишем внешнюю форму на 1С, а настройки храним в MySQL в том виде в котором хотим.

Итого получилась форма, которая:

1. Подключается к MySQL сайта

2. Выбирает нужную информацию из 1С в запрос.

3. Обходит результаты запроса 1С и формирует Update(Insert) в таблицу MySQL zoo_item

4. Производит обмен файлами по FTP если это нужно (Картинки прайсы еще что нибудь)

5. Форма запускается регламентным заданием в 1С в то время в которое настроим

6. На сайте запускается переиндексация так же по расписанию.

 

Поле JSON для Zoo_item создаем средствами 1С используя настроечные таблицы (связь узлов в Zoo и полей запроса в 1С) которые создадим и заполним в MySQL.

 

Вот выплеснул все что было. Задавайте вопросы, обсудим детали и подробности.


  • 4

#2 CB9TOIIIA

CB9TOIIIA

Отправлено 28 November 2016 - 16:49

Спасибо :) я тож расскажу:

 

Я заказчику предложил вариант иной, в общем у него все там в 1С хранится, в итоге он там кликает выгрузить:

1. В папку images - летит фото (файлы)

2. В папку import - летит CSV (подготовленный в нужном JBZoo формате)

 

Далее по cron'у (планировщику) например 1 раз в час - проверяется наличие файла и если он есть - то CLI - делает импорт через API и reindex поиска, далее файл ложит в др. папку (из коробки). 

 

Вот и все. т.е. интеграция односторонняя, но зато не нарушает целостность экосистемы.

 

https://github.com/JBZoo/CCK-Cli


  • 2

#3 user_brevnov

user_brevnov

Отправлено 28 November 2016 - 17:25

Да у вас очевидный плюс - обмен всегда сработает даже если в какой-то из систем произойдут изменения.

Ну и минус оттуда же - файловый обмен, подготовка, копирование, импорт.

Я просто по жизни противник файлового обмена, когда можно напрямую через БД заходить. В данном случае размер системы и требования позволяют.

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


  • 0

#4 CB9TOIIIA

CB9TOIIIA

Отправлено 28 November 2016 - 17:40

ну CLI это нечто :) как сдам проект окончательно - думаю на Н.Г. каникулах - сделаю видео))


  • 2

#5 user_brevnov

user_brevnov

Отправлено 28 November 2016 - 18:10

Да с CLI точно повезло, переиндексацию руками повторять как-то не очень правильно, хотя формат вроде бы не запредельный.


  • 2

#6 laRus

laRus

Отправлено 28 November 2016 - 20:45

Спасибо, user_brevnov, за тему!! А CB9TOIIIA, за поддержку и обсуждение!

 

Вас слушаю - учусь! Тема нужная.. 

 

Всем лучшего!   :)


  • 1
..minimum effort for maximum effect? - Oh yeah! It's good!..

#7 Александр Иванов VL.

Александр Иванов VL.

Отправлено 29 November 2016 - 08:06

Интересует вопрос id (ядро) - как он синхронизируется в 1с с товаром?


  • 0

#8 CB9TOIIIA

CB9TOIIIA

Отправлено 29 November 2016 - 08:10

Интересует вопрос id (ядро) - как он синхронизируется в 1с с товаром?


Мы договорились, sku = uuid 1c, а простой артикул - поле простое
  • 0

#9 Александр Иванов VL.

Александр Иванов VL.

Отправлено 29 November 2016 - 08:14

тоже пробовал с артикулом (например: 28383737) но джумла его не записывает делает свой (например: 18150)


  • 0

#10 CB9TOIIIA

CB9TOIIIA

Отправлено 29 November 2016 - 08:15

тоже пробовал с артикулом (например: 28383737) но джумла его не записывает делает свой (например: 18150)


В смысле? uuid там примерно: 45664-gfs45-fdse-875s символов 120 - записывает в sku
  • 0





Темы с аналогичным тегами 1с 8.3, jbzoo, обмен данными

Click to return to top of page in style!