Search
Write a publication
Pull to refresh

Настройка обмена данными между 1С и django проектом

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

Для обмена информацией между 1С и интернет-магазином в формате XML мы будем использовать единый стандарт обмена - CommerceML 2 standard. Для работы с CommerceML 2 standard я cмог найти единственную работающую библиотеку django-cml. Подробное описание установки библиотеки можно найти по ссылке Github репозитория библиотеки.

После установки библиотеки необходимо настроить 1С на обмен данных с интернет-магазином.

Заходим в 1С и переходим по следующему пути: "НСИ и администрирование" -> "обмен с сайтом".

Дальше переходим в "Настройки обмена с сайтом".

Дальше нажимаем на "создать", чтобы создать новый обмен.

Дальше необходимо заполнить раздел "Способ обмена данными". В полях "Имя пользователя" и "Пароль" вы указываете логин и пароль от админ панели django. В поле "Адрес сайта" необходимо указать строку в следующем формате:

"http://<сайт>/cml/exchange?type=catalog&mode=checkauth".

Дальше вы заполняете остальные разделы, указывая номенклатуры которые необходимо выгрузить на сайт. После заполнения всех разделов и успешного создания обмена необходимо нажать на "Выполнить обмен".

После завершения обмена с сайтом 1С выдаст сообщение. Я запрашивал у 1С номенклатуры, содержащие описание товаров и картинки. Описание товаров было выгружено в файле "import0_1.xml", а рядом картинки этих товаров.


Надеюсь мой туториал окажется кому-то полезным. Буду рад адекватной критике.

telegram: @makesense0

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.