Манифест веб-студии NeoSeo от 12.10.2020 г. Детальнее

Перейти к публикации
NeoSeo Team

Поддержка модуля Обмен и синхронизация openCart с 1С предприятие УТ, УНФ, Мой склад и тд. Модуль для OpenCart 1.5Х, 2.Х, 3.Х

Рекомендованные сообщения

Настройка синхронизации с системой МойСклад модуля "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

Инструкцию по настройка синхронизации с системой МойСклад модуля “Обмен данными”  на стороне МойСклад ищите на официальном сайте производителя ПО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Порядок обновления модуля "Обмен данными" на версию 121 и больше для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

С версии 121 модуль “Обмен данными”  код модуля был переработан согласно стандартам NeoSeo. В связи с этим названия файлов были изменены. Если у вас ранее была версия модуля меньше 121 и вы хотели бы обновить модуль на свежую версию, необходимо выполнить следующий порядок действий:

UPDATE oc_setting SET `code`='neoseo_exchange1c' WHERE `code` = 'soforp_exchange1c';
UPDATE oc_setting SET `key` = replace(`key`,'soforp_', 'neoseo_') WHERE `key` LIKE 'soforp_exchange1c%';

где oc_ - префикс таблиц БД. Какой префикс используется у вас можно посмотреть в файле config.php;

  1. Выполнить бэкап БД и файлов проекта;
  2. Удалить модификатор модуля (он может располагаться в разделе "Менеджер дополнений" или же в каталоге system на сервере);
  3. Установить модуль из актуального архива модуля (порядок установки указан в файле readme.txt в архиве);
  4. Выполнить запросы в БД;
  5. Удалить все файлы старой версии модуля.

Не забудьте изменить ссылку в модуле "Обмен с сайтом" в 1С:Предприятие.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как синхронизировать мета теги из 1С:Предприятие в модуле "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore?

По стандарту система 1С:Предприятие предназначена исключительно для решения бухгалтерских вопросов. Иногда Клиенты начинают загружать туда контент, добавляя фотографии, мета-теги, описание - в общем все то, что в системе храниться не должно.

Поэтому, в нашем программном решении, модуле “Обмен данными”,  заложена эта функциональность, и в системе 1С:Предприятие можно завести свойство товара с названием seo_title и значение этого свойства автоматически попадет в соответствующее поле в таблице товаров.

Полный перечень поддерживаемых названий атрибутов:

  1. Поле H1 можно указать как: "seo_h1" или "meta_h1"
  2. Поле SEO Title можно указать как: "seo_title", "meta_title" или "html-тег title"
  3. Поле SEO Description можно указать как: "seo_description", "meta_description" или "META Description"
  4. Поле keywords можно указать как: "seo_keyword" или "meta_keyword"
  5. Поле Теги можно указать как: "seo_tags", "meta_tags", "seo_tag" или "meta_tag"

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как выгрузить методы доставки при обмене заказами с системой 1С:Предприятие для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

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

Рассмотрим заказ в котором есть метод доставки "Новая почта". Для того, чтобы метод доставки "Новая почта" был выгружен в 1С:Предприятие, с заказом необходимо выполнить следующие действия:

  1. В системе 1С:Предприятие необходимо создать товар под названием "Новая почта", т.е название товара должно соответствовать методу доставки.
  2. Выполнить обмен товарами с сайтом. Это необходимо для того, чтобы узнать код товара - метод доставки. 
  3. Код товара вы можете определить в редактировании товара на вкладке "Связи" или же в файле import.xml. Например, код - d9da38fa-5767-11da-b506-00508d5ee543

6.1.thumb.png.3f293215e04a0c401f7351c1c2538bc2.png

На данном этапе настройки со стороны 1С:Предприятие окончены. Теперь необходимо настроить модуль “Обмен данными” так, чтобы он выгружал необходимые методы доставки как товар. 

Для настройки необходимо перейти на вкладку "Заказы" в настройках модуля и перейти к полю "Выгрузка методов доставки".

6.2.thumb.png.e880089ea3f4099cf3ec17f21bfc35eb.png

В данном поле необходимо сопоставить код метода доставки из системы ИМ, с кодом товара - метода доставки 1С:Предприятие.

Для того, чтобы узнать код метода доставки в ИМ, необходимо открыть таблицу "oc_order" в БД, найти соответствующий заказ и скопировать значение поля "shipping_code". В рассматриваемом примере это код shipping.shipping1. В конечном итоге запись в поле "Выгрузка методов доставки" должна иметь вид:

6.3.thumb.png.7ddd85940ae6931018b2d356ffbff91e.png

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

6.4.png.7ee4bf9d32a4af472aa1af9c641ad36f.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что делать, если при переходе на протокол https, 1С:Предприятие перестает подключаться к Интернет-магазину {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

Работая над модулем “Обмен данными” мы нашли несколько вариантов решения этой проблемы. 

1. Остаться на http
Нужно оставить http конкретно для ссылки обмена, а весь сайт на https. Но если просто взять и использовать http ссылку в настройке обмена, то ничего не произойдет, поскольку будет выполнена 301-я переадресация на ссылку с https.

Поэтому, нужно добавить исключение на ссылку для обмена на обслуживание по протоколу http.

1.1. Можно самостоятельно добавить исключение на ссылку обмена
На стороне nginx делаем следующее:

server {
   listen *:80;
   server_name www.{domain} {domain};
   location /export/neoseo_exchange1c.php {
      client_max_body_size 132m;
      // тут мы напрямую передаем управление за апач
      proxy_pass http://127.0.0.1:88/export/neoseo_exchange1c.php;
      include /etc/nginx/proxy_params;
   }
   location / {
      return 301 https://$host$request_uri;
   }
}

Вариант для .htaccess выглядит следующим образом:

RewriteEngine On 
RewriteBase / 
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteCond %{REQUEST_URI} !^export/neoseo_exchange1c.php
RewriteRule ^([^?]*) https://demo.neoseo.com.ua/$1 [R=301,L]

Для того, чтобы работали правила прописанные в .htaccess необходимо отключить переадресацию с http на https на хостинге.

1.2. Можно попросить хостера помочь с настройкой исключений
Если вы не разбираетесь в .htaccess или конфигурациях nginx, попросите хостера почитать эту ссылку и настроить ваш хостинг так, чтобы ссылка для обмена не редиректилась на https.

2. Подружиться с https
2.1. Доработать 1С:Предприятие

Если у вас есть возможность заглянуть в конфигуратор 1С:Предприятие, то можете отыскать там такие строчки:

Соединение = Неопределено;
 Попытка
  Соединение = Новый HTTPСоединение(
   ПараметрыПодключения.Сервер,
   ПараметрыПодключения.Порт,
   ПараметрыПодключения.Пользователь,
   ПараметрыПодключения.Пароль,
   ПараметрыПодключения.Прокси,
   ПараметрыПодключения.ЗащищенноеСоединение
  );
 Исключение
  ДобавитьОписаниеОшибки(ОписаниеОшибки,
   ОписаниеИсключительнойОшибки(
    СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
     НСтр("ru = 'Не удалось установить соединение с сервером %1:%2. Проверьте правильность адреса сервера, порт, имя пользователя и пароль.'"),
     ПараметрыПодключения.Сервер,
     ПараметрыПодключения.Порт)));
  Соединение = Неопределено;
 Конецпопытки;

и заменить на эти

Соединение = Неопределено;
 ssl = Новый ЗащищенноеСоединениеOpenSSL(Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows()); //as_не типовое для работы по https
 Попытка
  Соединение = Новый HTTPСоединение(
   ПараметрыПодключения.Сервер,
   ПараметрыПодключения.Порт,
   ПараметрыПодключения.Пользователь,
   ПараметрыПодключения.Пароль,
   ПараметрыПодключения.Прокси,
   ,
   ?(ПараметрыПодключения.ЗащищенноеСоединение, ssl, Неопределено)
  );
 Исключение
  ДобавитьОписаниеОшибки(ОписаниеОшибки,
   ОписаниеИсключительнойОшибки(
    СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
     НСтр("ru = 'Не удалось установить соединение с сервером %1:%2. Проверьте правильность адреса сервера, порт, имя пользователя и пароль.'"),
     ПараметрыПодключения.Сервер,
     ПараметрыПодключения.Порт)));
  Соединение = Неопределено;

После этого ссылка с https должна работать.

2.2. Подложить сертификат в 1С:Предприятие

Также можно попробовать подложить сертификат в саму 1С:Предприятие. Делается это следующим образом:

Для начала надо добавить сертификат в хранилище сертификатов в 1С:Предприятие в папке bin файл cacert.pem . 

1. Качаем подходящий дистрибутив

2. После установки нужно указать переменную, открываем командную строку под админом и вводим команду 

set OPENSSL_CONF=D:\OpenSSL-Win32\bin\openssl.cfg

После этого программа начинает работать 

3. В браузере открываем URL где можно посмотреть сертификат, открываем просмотр цепочки сертификатов.

В нашем случае использовался Firefox, поэтому дальше будут описываться действия для него. 

Открываем сертификат - Подробнее. 

4. Сохраняем каждый сертификат из цепочки по 2 раза в разных форматах 

Лучше использовать короткие понятные пути. 

1й формат 

4.1 Экспортировать, выбираем тип файла Сертификат X.509 в формате PEM (*.crt:*.pem) 

повторяем для всех сертификатов цепочки 

2й формат 

4.1 Экспортировать, выбираем тип файла Сертификат X.509 в формате DER (*.der) 

повторяем для всех сертификатов цепочки 

Далее открываем командную строку 

вводим команду, переходим в папку с Open ssl 

cd c:\OpenSSL-Win64\bin

Далее формируем подпись 

c:\OpenSSL-Win64\bin>openssl x509 -inform der -in D:\p.der -out D:\textcert.pem -text -fingerprint -md5

На экране отображается сгенерированная подпись и сертификат 

Через пометить выбираем полученный результат, копируем и добавляем в конец файла 

C:\Program Files (x86)\1cv8\8.3.5.1460\bin\cacert.pem

Добавленный результат форматируем 

Делаем заголовок 

Имя для заголовка лучше брать из добавляемого сертификата 

Просмотр сертификата - Выбираем сертификат - Внизу поле субъект CN = Symantec Class 3 EV SSL CA - G3 

из него забираем заголовок 

Symantec Class 3 EV SSL CA - G3 

переносим MD под заголовок 

Получается: 

Symantec Class 3 EV SSL CA - G3 

MD5 Fingerprint=DF:51:CE:65:BC:43:F9:1B:3E:1E:CF:48:AB:23:36:25 

остальное оставляем внизу 

Далее блокнотом открываем сохраненный сертификат в формате *.crt, копируем его содержание 

Вставляем в конец файла cacert.pem

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как настроить выгрузку БазовойЕдиницы в заказах в модуле "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore?

Работая с модулем “Обмен данными” при выгрузке заказов, товары указываются следующим образом:

<Товар>
  <Ид/>
  <Наименование>Напиток "Birikino" безалк. с вкусом жевательной резинки 60мл х 28 х 6/RAVAZZI Италия/</Наименование>
  <ЦенаЗаЕдиницу>2808.9600</ЦенаЗаЕдиницу>
  <БазоваяЕдиница></БазоваяЕдиница>
  <Количество>1</Количество>
  <Баллы>0</Баллы>
  <Сумма>2808.9600</Сумма>
</Товар>

При этом, по умолчанию секция БазоваяЕдиница остается пустой и с точки зрения 1С:Предприятие, это означает что вы продали товар в штуках. Но что, если вы продали товар в упаковках? В таком случае, нужно указать соответствующее значение.

Для этого, в первую очередь, вам нужно разобраться какое значение соответствует упаковкам, какое блокам и т.д. Допустим коробка это 13, а блок это 12.

Затем, вам нужно указать этот факт в списке соответствия в настройках выгрузки заказов:

4.1.thumb.png.22face325a39195d65f46eec5dc34df5.png

Теперь при выгрузке заказа будут анализироваться значения опций, которые участвовали в оформлении заказа. И если имя опции совпадает с "коробка", то Базовая Единица будет указана с кодом 13:

4.2.thumb.png.68686451016e175ff2fd08bdee5f7a6e.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как выполнить интеграцию для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore, если у вас нет 1С:Предприятие

При работе с модулем “Обмен данными” синхронизация выполняется по протоколу CommerceML. В обмене участвует 3 типа файлов:

1. Файл с номенклатурой, называется import.xml

Кратко разберем его формат, а точнее ту часть, что существенна:

<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация xmlns="urn:1C.ru:commerceml_2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ВерсияСхемы="2.07" ДатаФормирования="2016-09-03T15:27:28">
    <Классификатор>
        ...
        <Группы>
            <Группа>
                <Ид>f93e1128-c83a-11e2-8026-0015e9b8c48d</Ид>
                <Наименование>Тара</Наименование>
            </Группа>
        ...
            <Группа>
                <Ид>bd72d90d-55bc-11d9-848a-00112f43529a</Ид>
                <Наименование>Обувь</Наименование>
                <Группы>
                    <Группа>
                        <Ид>bd72d90e-55bc-11d9-848a-00112f43529a</Ид>
                        <Наименование>Женская обувь</Наименование>
                    </Группа>
                    <Группа>
                        <Ид>dee6e186-55bc-11d9-848a-00112f43529a</Ид>
                        <Наименование>Мужская обувь</Наименование>
                    </Группа>
                    <Группа>
                        <Ид>dee6e1cf-55bc-11d9-848a-00112f43529a</Ид>
                        <Наименование>Кроссовки</Наименование>
                    </Группа>
                </Группы>
            </Группа>
        ...
        </Группы>
        ...
    </Классификатор>
    <Каталог>
        ...
        <Товары>
            <Товар>
                <Ид>bce2512c-c904-11e2-8026-0015e9b8c48d</Ид>
                <Артикул>Х-67891</Артикул>
                <Наименование>Х-67891 Стинол 205 Завод бытовой техники</Наименование>
                ...
                <Группы>
                    <Ид>cbcf4929-55bc-11d9-848a-00112f43529a</Ид>
                </Группы>
                <Описание>Тут идет полное описание товара</Описание>
                <Изготовитель>
                    <Ид>061e1ea5-e4e9-11e0-af8f-0015e9b8c48d</Ид>
                    <Наименование>Завод бытовой техники</Наименование>
                </Изготовитель>
                <ЗначенияРеквизитов>
                    <ЗначениеРеквизита>
                        <Наименование>Материал</Наименование>
                        <Значение>Ткань</Значение>
                    </ЗначениеРеквизита>
                </ЗначенияРеквизитов>
            </Товар>
        </Товары>
    </Каталог>
</КоммерческаяИнформация>

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

У категории есть два атрибута - Идентификатор и Наименование

<Ид>bd72d90d-55bc-11d9-848a-00112f43529a</Ид>
<Наименование>Обувь</Наименование>

Идентификатор не обязан быть именно GUID, вы можете указать его в любом формате. Например, у системы Класс365 это обычное пятизначное число.

Далее этот идентификатор фигурирует в секции Группы, внутри секции Товар.

<Группы><Ид>cbcf4929-55bc-11d9-848a-00112f43529a</Ид></Группы>

Если система поддерживает указание нескольких групп на один товар, то можете указать несколько:

<Группы>
            <Ид>cbcf4929-55bc-11d9-848a-00112f43529a</Ид>
            <Ид>cbcf4928-55bc-11d9-848a-00112f43529a</Ид>
            <Ид>cbcf4927-55bc-11d9-848a-00112f43529a</Ид>
            <Ид>cbcf4926-55bc-11d9-848a-00112f43529a</Ид>
</Группы>

Изготовитель - это производитель товара. Если он у Вас в системе используется, то можете выгружать именно так. Если нет - просто не создавайте эту секцию.

ЗначенияРеквизитов - это секция с дополнительными характеристиками товара, которые не яляются его модификациями. Например, страна производства, материал изготовления и т.д.

2. Файл с ценами, называется offers.xml

<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация xmlns="urn:1C.ru:commerceml_2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ВерсияСхемы="2.07" ДатаФормирования="2016-09-03T15:27:28">
    <ПакетПредложений>
...
        <ТипыЦен>
            <ТипЦены>
                <Ид>8bf9d3c3-bd52-11e5-b2fc-000c290e6993</Ид>
                <Наименование>интернет магазин</Наименование>
                <Валюта>RUB</Валюта>
                <Налог>
                    <Наименование>НДС</Наименование>
                    <УчтеноВСумме>false</УчтеноВСумме>
                    <Акциз>false</Акциз>
                </Налог>
            </ТипЦены>
        </ТипыЦен>
...
        <Склады>
            <Склад>
                <Ид>5cba3795-f386-11e2-802f-0015e9b8c48d</Ид>
                <Наименование>Склад 1</Наименование>
...
            </Склад>
            <Склад>
                <Ид>5cba3795-f386-11e2-802f-0015e9b8c48d</Ид>
                <Наименование>Склад 2</Наименование>
...
            </Склад>
        <Склады>


        <Предложения>
            <Предложение>
                <Ид>f93e112a-c83a-11e2-8026-0015e9b8c48d</Ид>
                <Наименование>Бутылка </Наименование>
...
                <Цены>
                    <Цена>
                        <Представление> 0 RUB за PCE</Представление>
                        <ИдТипаЦены>8bf9d3c3-bd52-11e5-b2fc-000c290e6993</ИдТипаЦены>
                        <ЦенаЗаЕдиницу>0</ЦенаЗаЕдиницу>
                        <Валюта>RUB</Валюта>
                        <Единица>PCE</Единица>
                        <Коэффициент>1</Коэффициент>
                    </Цена>
                </Цены>
                <Количество>1000</Количество>
                <Склад ИдСклада="5cba3795-f386-11e2-802f-0015e9b8c48d" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="1418c670-7307-11df-b338-0011955cba6b" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="a4212b46-730a-11df-b338-0011955cba6b" КоличествоНаСкладе="0"/>
            </Предложение>


            <Предложение>
                <Ид>bd72d910-55bc-11d9-848a-00112f43529a#cee2c9d6-328c-11e0-aef8-0015e9b8c48d</Ид>
                <Наименование>Женские ботфорты (40, Коричневый, 6, натуральная кожа)</Наименование>


                <ХарактеристикиТовара>
                    <ХарактеристикаТовара>
                        <Наименование>Размер</Наименование>
                        <Значение>40</Значение>
                    </ХарактеристикаТовара>
                    <ХарактеристикаТовара>
                        <Наименование>Полнота</Наименование>
                        <Значение>6</Значение>
                    </ХарактеристикаТовара>
                    <ХарактеристикаТовара>
                        <Наименование>Тип кожи</Наименование>
                        <Значение>натуральная кожа</Значение>
                    </ХарактеристикаТовара>
                    <ХарактеристикаТовара>
                        <Наименование>Цвет</Наименование>
                        <Значение>Коричневый</Значение>
                    </ХарактеристикаТовара>
                </ХарактеристикиТовара>
                <Цены>
                    <Цена>
                        <ИдТипаЦены>8bf9d3c3-bd52-11e5-b2fc-000c290e6993</ИдТипаЦены>
                        <ЦенаЗаЕдиницу>0</ЦенаЗаЕдиницу>
                    </Цена>
                </Цены>
                <Количество>0</Количество>
                <Склад ИдСклада="5cba3795-f386-11e2-802f-0015e9b8c48d" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="08305acc-7303-11df-b338-0011955cba6b" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="1418c670-7307-11df-b338-0011955cba6b" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="a4212b46-730a-11df-b338-0011955cba6b" КоличествоНаСкладе="0"/>
            </Предложение>
            <Предложение>
                <Ид>bd72d910-55bc-11d9-848a-00112f43529a#5720e9d1-e80b-11e0-af90-0015e9b8c48d</Ид>
                <Наименование>Женские ботфорты (45, Синий, 8, натуральная кожа)</Наименование>
                <ХарактеристикиТовара>
                    <ХарактеристикаТовара>
                        <Наименование>Размер</Наименование>
                        <Значение>45</Значение>
                    </ХарактеристикаТовара>
                    <ХарактеристикаТовара>
                        <Наименование>Полнота</Наименование>
                        <Значение>8</Значение>
                    </ХарактеристикаТовара>
                    <ХарактеристикаТовара>
                        <Наименование>Тип кожи</Наименование>
                        <Значение>натуральная кожа</Значение>
                    </ХарактеристикаТовара>
                    <ХарактеристикаТовара>
                        <Наименование>Цвет</Наименование>
                        <Значение>Синий</Значение>
                    </ХарактеристикаТовара>
                </ХарактеристикиТовара>
                <Цены>
                    <Цена>
                        <ИдТипаЦены>8bf9d3c3-bd52-11e5-b2fc-000c290e6993</ИдТипаЦены>
                        <ЦенаЗаЕдиницу>0</ЦенаЗаЕдиницу>
                    </Цена>
                </Цены>
                <Количество>0</Количество>
                <Склад ИдСклада="5cba3795-f386-11e2-802f-0015e9b8c48d" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="cea2d2ce-f388-11e2-802f-0015e9b8c48d" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="6f87e83f-722c-11df-b336-0011955cba6b" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="08305acc-7303-11df-b338-0011955cba6b" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="1418c670-7307-11df-b338-0011955cba6b" КоличествоНаСкладе="0"/>
                <Склад ИдСклада="a4212b46-730a-11df-b338-0011955cba6b" КоличествоНаСкладе="0"/>
            </Предложение>
        </Предложения>
    </ПакетПредложений>
</КоммерческаяИнформация>

Тут представлено 2 вида товаров - штучные и с опциями.

Если товар штучный, то по нему идет всего одна секция с его ценой и количеством.

Если у товара есть опции, то на каждую комбинацию опций идет отдельная секция.

К примеру, есть майки с цветами синий\красный, и размерами S,M,L. Должно быть 6 позиций в выгрузке:

1. S\синий

2. S\красный

3. M\синий

4. M\красный

5. L\синий

6. L\красный

В случае опционного товара, идентификатор товара указывается с учетом идентификатора характеристики, через решетку.

Выглядит это так:

bd72d910-55bc-11d9-848a-00112f43529a#5720e9d1-e80b-11e0-af90-0015e9b8c48d
bd72d910-55bc-11d9-848a-00112f43529a#5720e9d1-e80b-11e0-af90-0015e9b8c482
bd72d910-55bc-11d9-848a-00112f43529a#5720e9d1-e80b-11e0-af90-0015e9b8c483

Вы вполне можете использовать свою систему, главное чтобы решетки были. Например:

11111#00001
11111#00002
11111#00003
11111#00004
11111#00005

До решетки идет идентификатор товара. После решетки - идентификатор характеристики товара.

Если на каждом товаре всего одна цена и нет оптовой или скидочной, то просто выгружаете один тип цен. Если же в вашей системе есть возможность установить разные типы цен на товар, то выгружаете все.

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

Как все это передать на сайт? Продемонстрируем на примере консольных http запросов:

curl -u login:password "http://domain.com/export/soforp_exchange1c.php?type=sale&mode=checkauth"

в ответ придет success, название куки и ее значение.

success

key

1d00fba419bb88f5058a4105d6fae6d5

Передаем файлы, используя cookie:

curl --cookie "key=1d00fba419bb88f5058a4105d6fae6d5" -X POST --data-binary @"import.xml" "http://demo.neoseo.com.ua/export/soforp_exchange1c.php?type=catalog&mode=file&filename=import.xml"
curl --cookie "key=1d00fba419bb88f5058a4105d6fae6d5" -X POST --data-binary @"import.xml" "http://demo.neoseo.com.ua/export/soforp_exchange1c.php?type=catalog&mode=file&filename=offers.xml"

Просим сервер обработать файлы:

curl --cookie "key=1d00fba419bb88f5058a4105d6fae6d5" "http://demo.neoseo.com.ua/export/soforp_exchange1c.php?type=catalog&mode=import&filename=import.xml"
curl --cookie "key=1d00fba419bb88f5058a4105d6fae6d5" "http://demo.neoseo.com.ua/export/soforp_exchange1c.php?type=catalog&mode=import&filename=offers.xml"

Все, сайт получил и обработал информацию по остаткам товаров.

Далее вам остается запросить у него заказы:

curl --cookie "key=1d00fba419bb88f5058a4105d6fae6d5" "http://demo.neoseo.com.ua/export/soforp_exchange1c.php?type=sale&mode=query"

В ответ придет файл orders.xml, это третий тип файла, с которым мы имеем дело в рамках обмена данными с сайтом.

Выглядит он следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="2016-11-04">
<Документ>
    <Ид>34</Ид>
    <Номер>34</Номер>
    <Дата>2016-11-04</Дата>
    <Время>14:26:19</Время>
    <Валюта>грн.</Валюта>
    <Курс>1</Курс>
    <ХозОперация>Заказ товара</ХозОперация>
    <Роль>Продавец</Роль>
    <Сумма>56.7593</Сумма>
    <Комментарий/>
    <ЗначенияРеквизитов>
        <ЗначениеРеквизита>
            <Наименование>Статус</Наименование>
            <Значение>В обработке</Значение>
        </ЗначениеРеквизита>
        <ЗначениеРеквизита>
            <Наименование>Почтовый индекс</Наименование>
            <Значение/>
        </ЗначениеРеквизита>
        <ЗначениеРеквизита>
            <Наименование>Способ доставки</Наименование>
            <Значение>Самовывоз</Значение>
        </ЗначениеРеквизита>
        <ЗначениеРеквизита>
            <Наименование>Способ оплаты</Наименование>
            <Значение>Оплата при получении</Значение>
        </ЗначениеРеквизита>
    </ЗначенияРеквизитов>
    <Контрагенты>
        <Контрагент>
            <Ид>0#alexsoftdev@gmail.com</Ид>
            <Наименование>Сорокин Александр</Наименование>
            <Роль>Покупатель</Роль>
            <ПолноеНаименование>Сорокин Александр</ПолноеНаименование>
            <Фамилия>Сорокин </Фамилия>
            <Имя>Александр</Имя>
            <Адрес>
                <Представление>, Киев, , Украина</Представление>
            </Адрес>
            <Контакты>
                <Контакт>
                    <Тип>ТелефонРабочий</Тип>
                    <Значение>+38 (095) 492-08-23</Значение>
                </Контакт>
                <Контакт>
                    <Тип>Почта</Тип>
                    <Значение>alexsoftdev@gmail.com</Значение>
                </Контакт>
            </Контакты>
        </Контрагент>
    </Контрагенты>
    <Товары>
        <Товар>
            <Ид>000022626</Ид>
            <Наименование>Глобус політичний 110мм (українською)</Наименование>
            <ЦенаЗаЕдиницу>56.7600</ЦенаЗаЕдиницу>
            <БазоваяЕдиница/>
            <Количество>1</Количество>
            <Сумма>56.7593</Сумма>
        </Товар>
    </Товары>
</Документ>
</КоммерческаяИнформация>

Если товар был с характеристикой ( цвет, размер и т.д. ), то идентификатор будет указан в том же формате, что в файле offers.xml. Т.е. составной через решетку. И именно на основании этого, вы должны определить какая именно модификация товара была куплена.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как убрать постоянное переключение статуса заказа в модуле "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

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

3.1.thumb.png.93f2f9c643309bf190d2186d70e1c53e.png

Суть проблемы кроется в том, что вы неправильно настроили выгрузку заказов. Обратите внимание - на вкладке модуля “Обмен данными”есть два поля - какие заказы отбирать для выгрузки, и какой статус им устанавливать после выгрузки в 1С:Предприятие:

3.2.thumb.png.22b5e2bb3d51ab89bf950cb95335897f.png

Значения этих полей не должны быть выделены все подряд, не должны совпадать. т.е. вы выбираете один или несколько статусов для выгрузки и соверешенно другой для уже выгруженных. И тогда никакой постоянной смены статусов, а главное, постоянной выгрузки одних и тех же заказов, не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для продукта с внутренним кодом XXX найдено NNN дубликатов в модуле "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

Обычно данная ошибка выглядит следующим образом:

2017-04-09 18:44:43 - Ошибка!!! Для продукта с внутренним кодом 29042 найдено 1 дубликатов в таблице product_to_1c!
2017-04-09 18:44:43 -  - 9656fb9c-7b0f-11e6-8274-002522bd2fdc
2017-04-09 18:44:43 -  - 47c0cedc-5c8b-11e6-8271-002522bd2fdc

Суть ошибки заключается в том, что у вас 2 или больше одинаковых артикулов. В итоге модуль “Обмен данными” создаст только первый товар, а все остальные будут к нему приклеены. Вторым побочным эффектом будет цена и количество товара, которые фактически будут соответствовать последнему товару в выгрузке.

Если вы столкнулись с этим, то идете в файл выгрузки, находите товары с соответствующим кодом, и смотрите какой у них стоит артикул. После чего, идете в 1С:Предприятие и меняете там артикулы по указанным товарам.

Далее, когда дубликаты в 1С:Предприятии будут устранены, вам нужно нажать кнопку "Очистить связи" на странице "Товары" и выполнить синхронизацию.

Внимание! Если по каким-то причинам вы не можете изменить артикулы в 1С:Предприятие, то у вас есть 3 варианта для решения данной проблемы

1. Включить синхронизацию товаров по наименованию.

Не самый правильный способ, но иногда единственно возможный. Если наименование товаров в 1С:Предприятии и в магазине совпадает, то это будет идеальный вариант. Если нет - смотрите пункт 2.

2. Отключить синхронизацию вообще

В этом случае вам придется вручную проставить идентификаторы товаров из 1С:Предприятия в карточки товаров, на вкладке данные.

3. Включить синхронизацию по коду товара в 1С:Предприятии.

В отличие от артикулов, он будет всегда уникальным. Но для этого придется доработать выгрузку из 1С:Предприятия, чтобы в секции товар, фигурировал параметр Код.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как менять статус наличия товара на складе из 1С:Предприятие в модуле "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

Как всем известно, Opencart свойственно присваивать статус товару “В наличии” до тех пор, пока его остаток не нулевой. Но как только остаток стал нулевым или отрицательным, вместо "В наличии" отображается тот статус, что указан в карточке товара, в графе "Отсутствие на складе".

2.1.thumb.png.975171c73e0f3fffc34547720658fcf8.png

Модуль “Обмен данными” от NeoSeo позволяет передать значение этого статуса прямо из 1С:Предприятия, что будет удобно для тех, кто предпочитает не заглядывать в магазин вовсе.

Для этой цели в реквизитах товара в 1С:Предприятии создайте реквизит с названием Статус и укажите его значение, например “Ожидание 1-2 недели”. Важно чтобы это значение также было создано в интернет магазине. С точки зрения формата выгрузки, это будет выглядеть так:

<Товар>
   <Ид>f93e112a-c83a-11e2-8026-0015e9b8c48d</Ид>
...
   <ЗначенияРеквизитов>
...
      <ЗначениеРеквизита>
         <Наименование>Статус</Наименование>
         <Значение>Ожидание 1-2 недели</Значение>
      </ЗначениеРеквизита>
   </ЗначенияРеквизитов>
</Товар>

Если вы не хотите выгружать статус в реквизитах, и можете доработать конфигурацию 1С:Предприятие, то тогда выгружайте статус, просто статусом товара:

<Товар>
   <Ид>f93e112a-c83a-11e2-8026-0015e9b8c48d</Ид>
...
   <Статус>Ожидание 1-2 недели</Статус>
</Товар>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какие форматы поддерживаются для обработки пометки на удаление товара в модуле "Обмен данными" для Интернет-магазина, OpenCart, ocStore?

Модулем “Обмен данными” предусмотрено, что если товар помечен на удаление, то после выгрузки в магазин он будет автоматически отключен. Поддерживается несколько форматов для пометки товара на удаление:

<Товар ПометкаУдаления="true" >
   <Ид>f93e112a-c83a-11e2-8026-0015e9b8c48d</Ид>
   ...
</Товар>

или

<Товар Статус="удален" >
   <Ид>f93e112a-c83a-11e2-8026-0015e9b8c48d</Ид>
   ...
</Товар>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возможно ли наименование и описание товара на нескольких языках в модуле "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart

Обычно все тексты по товарам ведутся в интернет магазине, но если вы по каким-то причинам хотите хранить все тексты, включая название, описание и их локализованные версии в 1С:Предприятие, то компания NeoSeo в модуле “Обмен данными” предусмотрела для вас такую возможность.

Реализуется все достаточно просто. В карточке товара в 1С:Предприятии вы добавляете реквизиты с наименованием "наименование_код_языка". Например, наименование_ua, наименование_en, наименование_ru.

Код языка вы должны смотреть в админке магазина:

1.1.thumb.png.aa419e0f98607a939734ec78a54f8e6c.png

Вот колонка Код и есть тот код языка, который вам нужен. Итак, вы создаете реквизиты с наименованием и реквизиты с описанием. После этого запускаете обмен и все. Никаких опций включать не надо, модуль обмена автоматически подхватит и обработает локализованные реквизиты.

Как это должно выглядеть в файле import.xml:

<Товар>
      <Ид>f93e112a-c83a-11e2-8026-0015e9b8c48d</Ид>
...
      <ЗначенияРеквизитов>
         <ЗначениеРеквизита>
            <Наименование>наименование_ua</Наименование>
            <Значение>На украинском</Значение>
         </ЗначениеРеквизита>
         <ЗначениеРеквизита>
            <Наименование>наименование_ru</Наименование>
            <Значение>На русском</Значение>
         </ЗначениеРеквизита>
      </ЗначенияРеквизитов>
   </Товар>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как задать разные типы цен в модуле "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore?

Предположим у Вас три группы покупателей - розница, мелкий опт и крупный опт. Допустим есть товар "Кеды", который для розницы стоит 100 рублей, для мелкого опта 90 рублей и для крупного опта - 80 рублей. Как задать разные типы цен для товара с помощью модуля “Обмен данными” в магазине на Opencart вручную?

В карточке товара на вкладке “Данные” вы указываете розничную цену, а на вкладке "Скидки"  вы указываете цены для тех групп покупателей, которые не относятся к рознице. Выглядит все это следующим образом:

1.thumb.png.dc741340b9393c24a2f8a0f65f9278a8.png

Теперь, если покупатель авторизуется и его группа будет "Мелкий опт", то он увидит цену 90 рублей, а не 100. 

Следующий вопрос - как сделать тоже самое посредством модуля обмена с 1С:Предприятие.

Вам нужно в настройках модуля зайти на вкладку “Цены” и в самом низу указать соответствие названий типов цен из 1С:Предприятие тем группам клиентов, что находятся в магазине. При этом розничная цена должна идти в строчке с названием "Цена на сайте".

2.thumb.png.138d986ebf87df513b4ad660e822e01e.png

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как указать несколько категорий для товара в модуле "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore?

Часто бывает так, что один товар должен присутствовать сразу в нескольких категориях. Например, чехол для телефона может быть и в категории чехлы, и в категории аксесуары. 

Есть несколько вариантов решения данного вопроса. 

Вариант 1 - доработать 1С:Предприятие, чтобы можно было установить несколько категорий товару и чтобы дополнительные категории выгружались правильно, а именно, в следующем формате:

<Товар>
   ...
   <Группы>
      <Ид>f93e1128-c83a-11e2-8026-0015e9b8c48d</Ид>
      <Ид>f93e2128-c83a-11e2-8026-0015e9b8c48d</Ид>
      <Ид>f93e3128-c83a-11e2-8026-0015e9b8c48d</Ид>
      <Ид>f93e4128-c83a-11e2-8026-0015e9b8c48d</Ид>
   </Группы>
   ...
</Товар>

В таком случае модуль “Обмен данными” установит сразу 4 категории для товара. 

Если же доработка 1С:Предприятия не подходит по каким-то причинам, то в таком случае можно использовать вариант 2.

Прямо в карточке товара указываем реквизит Категории и указываем в нем через запятую названия категорий на сайте, с указанием полного пути от корня. Например:

Телефоны \ Чехлы, Телефоны \ Аксесуары

В таком случае модуль найдет эти категории на сайте, создаст недостающие, и пропишет в соответствие товару все 3 категории:

  • Телефоны
  • Телефоны \ Чехлы
  • Телефоны \ Аксесуары

Если опция "устанавливать родительские категории" выключена, то пропишутся только те две категории, что заданы.

Также, чтобы сэкономить время обработки, вы можете прописать не названия категорий, а их коды согласно opencart (category_id):

125, 126

Эффект будет полностью аналогичный, но работа модуля будет в несколько раз быстрее за счет того, что он не будет искать категорию в базе по имени.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Совмещаем установку цен на опции и на товары между 1С:Предприятие и модулем "Обмен данными" для Интернет-магазина, OpenCart 2.х, 3.х

Opencart требует отдельной установки цен на опции, и отдельной установки цен на товар. 

Есть два варианта решения проблемы.

Вариант первый:

1. В настройках модуля “Обмен данными” на вкладке “Опции” выбираете параметр "Цена опции" и выставляете значение "Как есть". 

2. Устанавливаете в 1С:Предприятие цену еще и на сам товар, без модификаций, устанавливая там минимальную цену по опциям.

3. Устанавливаете любой модуль, который добавляет к опциям изменение цен со знаком "=". 

4. Добавляете скрипт, который перезаписывает модификатор цен на "=" после обмена. 

В результате у вас и опции с правильными ценами и цена на товар задается через 1С:Предприятие. 

Но иногда такой вариант не подходит, и тогда нужно использовать второй:

1. В настройках модуля обмена на вкладке “Опции” выбираете параметр "Цена опции" и выставляете значение "Товару минимальную цену, опции плюсом к ней". 

Давайте рассмотрим как это работает.

Допустим у вас есть товар кеды:

  • кеды, размер 42 - 100 рублей
  • кеды, размер 44 - 120 рублей
  • кеды, размер 46 - 140 рублей

В таком случае, товару кеды будет установлена цена 100 рублей, а его опции приобретут следующие модификации:

  • кеды, размер 42 - +0 рублей
  • кеды, размер 44 - +20 рублей
  • кеды, размер 46 - +40 рублей

В итоге, если покупатель выбирает 42-й размер, то он получит 100 + 0 рублей за размер 42, фактически те же самые 100 рублей. А если выберет 46 размер, то получил 100 рублей + 40 рублей за размер, фактически те же 140 рублей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как синхронизировать статусы заказов из 1С:Предприятие в модуле "Обмен данными" для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

Если модуль “Обмен данными” с 1С:Предприятие не синхронизирует статусы заказов, то вам нужно доработать конфигурацию, чтобы данные выгружались в следующем формате:

<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="2016-12-09T15:27:13">
    <Документ>
        <Ид>b62b74ec-be09-11e6-b515-0cc47a761275</Ид>
...
        <ЗначенияРеквизитов>
...
            <ЗначениеРеквизита>
                <Наименование>Статус</Наименование>
                <Значение>Сделка завершена</Значение>
            </ЗначениеРеквизита>
        </ЗначенияРеквизитов>
    </Документ>
</КоммерческаяИнформация>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Выгрузка товаров с Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore с помощью модуля «Обмен данными» в 1С:Предприятие

При работе с модулем “Обмен данными” протокол CommerceML не поддерживает загрузку данных по товарам из коробки. Однако, если вы программист 1С:Предприятие или хотите нанять программиста, то вот инструкция как это реализовать:

Со стороны 1С:Предприятие загружаете товары, которые не синхронизированы, по следующей ссылке: 

http://вашдомен/export/neoseo_exchange1c.php?type=catalog&mode=export

Со стороны 1С:Предприятие загружаете все товары по следующей ссылке (с 119 версии модуля): 

http://вашдомен/export/neoseo_exchange1c.php?type=catalog&mode=exportall

Важно! Код модуля до версии 121 - soforp_exchange1c. Если у вас версия меньше 121 используйте в ссылке этот код.

Модуль отдаст все товары, которые еще не синхронизированы с 1С:Предприятие, в следующем формате:

<?xml version="1.0" encoding="UTF-8"?>
<КоммерческаяИнформация xmlns="urn:1C.ru:commerceml_2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ВерсияСхемы="2.07" ДатаФормирования="2016-09-03T15:27:28">
  <Каталог СодержитТолькоИзменения="false">
     <Товары>
     <Товар>
       <Артикул>60327774</Артикул>
       <Наименование><![CDATA[МАЛЬШЁ Тумба под ТВ с раздвижными дверцами, черная морилка черная морилка]]></Наименование>
       <Описание><![CDATA[<cbs><cb><t>Благодаря продуманным деталям создается ощущение, что эта мебель изготовлена вручную искусным мастером.</t></cb><cb><t>Пользоваться пультом дистанционного управления аудиовидеотехники можно через стекло при закрытых дверцах.</t></cb><cb><t>Раздвижные дверцы с интегрированным доводчиком закрываются плавно и бесшумно.</t></cb><cb><t>Отделение для проводов; провода под рукой, но не на виду.</t></cb><cb><t>Съемные полки; устанавливайте на разном уровне в соответствии с необходимостью.</t></cb></cbs>]]></Описание>
<Картинка>Картинка1</Картинка>
<Картинка>Картинка2</Картинка>
       <ЗначенияРеквизитов>
         <ЗначениеРеквизита>
           <Наименование><![CDATA[Ширина]]></Наименование>
           <Значение><![CDATA[160 см]]></Значение>
         </ЗначениеРеквизита>
         <ЗначениеРеквизита>
           <Наименование><![CDATA[Глубина]]></Наименование>
           <Значение><![CDATA[48 см]]></Значение>
         </ЗначениеРеквизита>
         <ЗначениеРеквизита>
           <Наименование><![CDATA[Высота]]></Наименование>
           <Значение><![CDATA[59 см]]></Значение>
         </ЗначениеРеквизита>
         <ЗначениеРеквизита>
           <Наименование><![CDATA[Макс нагрузка]]></Наименование>
           <Значение><![CDATA[30 кг]]></Значение>
         </ЗначениеРеквизита>
         <ЗначениеРеквизита>
           <Наименование><![CDATA[Макс. размер экрана ТВ]]></Наименование>
           <Значение><![CDATA[55 дюйм]]></Значение>
         </ЗначениеРеквизита>
       </ЗначенияРеквизитов>
       <Количество>1</Количество>
       <Цена>8044.0000</Цена>
     </Товар>
     <Товар>
       <Артикул>00252371</Артикул>
       <Наименование><![CDATA[КИЛИНГЕ Светильник точечный встроенный, белый]]></Наименование>
       <Описание><![CDATA[<cbs><cb><t>Благодаря интегрированному защитному кожуху не требуются дополнительные приспособления для изоляции.</t></cb><cb><t>Светильник можно использовать в любом помещении, а также ни улице и ванной.</t></cb><cb><t>Обеспечивает хорошее направленное освещение.</t></cb></cbs>]]></Описание>
       <ЗначенияРеквизитов>
         <ЗначениеРеквизита>
           <Наименование><![CDATA[Высота]]></Наименование>
           <Значение><![CDATA[14 см]]></Значение>
         </ЗначениеРеквизита>
         <ЗначениеРеквизита>
           <Наименование><![CDATA[Диаметр отверстия д/установки]]></Наименование>
           <Значение><![CDATA[7.6 см]]></Значение>
         </ЗначениеРеквизита>
         <ЗначениеРеквизита>
           <Наименование><![CDATA[Макс. диаметр]]></Наименование>
           <Значение><![CDATA[9 см]]></Значение>
         </ЗначениеРеквизита>
       </ЗначенияРеквизитов>
       <Количество>1</Количество>
       <Цена>161.0000</Цена>
        <URL>url</URL>
     </Товар>
     </Товары>
  </Каталог>
</КоммерческаяИнформация>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какие форматы данных по складам должны присутствовать в выгрузке 1С:Предприятие в модуле «Обмен данными» для Интернет-магазина, OpenCart 2.х, 3.х

В выгрузке модуля “Обмен данными” 1С:Предприятие должна присутствовать информация по остаткам по складам. Выглядит это так:

<Предложение>   
    <Ид>83c0903a-0853-11e6-80c6-9c5c8e8e2a06#83c09044-0853-11e6-80c6-9c5c8e8e2a06</Ид>
    ...   
    <Количество>44</Количество>
    <КоличествоНаСкладах>      
       <КоличествоНаСкладе>         
          <ИдСклада>b612d099-44a0-11e4-b653-1c6f65735be7</ИдСклада>
          <Количество>44</Количество>
       </КоличествоНаСкладе>
   </КоличествоНаСкладах>
</Предложение>

или так

<Предложение>   
   <Ид>83c0903a-0853-11e6-80c6-9c5c8e8e2a06#83c09044-0853-11e6-80c6-9c5c8e8e2a06</Ид>
   ...
   <Количество>44</Количество>
   <Склад ИдСклада="b612d099-44a0-11e4-b653-1c6f65735be7" КоличествоНаСкладе="44"/>
</Предложение>

На основании этой информации модуль формирует информацию по перечню складов в админке ( Каталог \ NeoSeo Склады ) и по остаткам по складам в карточке товара. 

Модуль также выводит информацию на витрину, но в простом, а не стилизованном виде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ошибка! Не удается определить опцию по идентификатору в модуле «Обмен данными» для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

Если модуль “Обмен данными” с 1С:Предприятие настроен не верно, может возникнуть следующая ошибка:

Ошибка! Не удается определить опцию по идентификатору 37f282a6-f356-11e6-810f-305a3a4a5c66#ff8067d8-107c-11e7-8138-305a3a4a5c66

Суть ошибки сводится к тому, что 1С:Предприятие выгрузило характеристики товара без указания этих самих характеристик. 

ОБЯЗАТЕЛЬНО характеристики нужно составлять из свойств.

Например, вариант "Синий цвет" не поддерживается. Вместо этого нужно делать свойство “Цвет”, добавлять значения Синий\Красный\Черный и т.д. Затем создавать характеристику, состоящую из одного свойства “Цвет”, и задавать цены\остатки на каждый вариант этого цвета.

В работе модуля будут дальше возникать ошибки, если в файле предложений пришли данные в следующем формате:

<Предложение>
                <Ид>37f282a6-f356-11e6-810f-305a3a4a5c66#7511e008-11a3-11e7-8139-305a3a4a5c66</Ид>
                <Артикул/>
                <Наименование>Стиммунол ЕФ (Упаковка2)</Наименование>
                <БазоваяЕдиница Код="778 " НаименованиеПолное="Упаковка" МеждународноеСокращение="NMP">
                    <Пересчет>
                        <Единица>778</Единица>
                        <Коэффициент>1</Коэффициент>
                    </Пересчет>
                </БазоваяЕдиница>
                <Цены>
                    <Цена>
                        <Представление> 200 RUB за NMP</Представление>
                        <ИдТипаЦены>ea739cbe-f2b2-11e6-810e-305a3a4a5c66</ИдТипаЦены>
                        <ЦенаЗаЕдиницу>200</ЦенаЗаЕдиницу>
                        <Валюта>RUB</Валюта>
                        <Единица>NMP</Единица>
                        <Коэффициент>1</Коэффициент>
                    </Цена>
                </Цены>
                <Количество>0</Количество>
            </Предложение>

Согласно названию "Стиммунол ЕФ (Упаковка2)" речь идет о выгрузке цены\количества для характеристики товара со значением "упаковка 2". Но модуль должен знать название этой характеристики,  а не просто ее значение. А это означает, что секция “Предложение” должна также содержать и секцию "Характеристики Товара"

<Предложение>
                <Ид>37f282a6-f356-11e6-810f-305a3a4a5c66#ff8067d8-107c-11e7-8138-305a3a4a5c66</Ид>
                <Артикул/>
                <Наименование>Стиммунол ЕФ (Упаковка1)</Наименование>
                <БазоваяЕдиница Код="778 " НаименованиеПолное="Упаковка" МеждународноеСокращение="NMP">
                    <Пересчет>
                        <Единица>778</Единица>
                        <Коэффициент>1</Коэффициент>
                    </Пересчет>
                </БазоваяЕдиница>
                <ХарактеристикиТовара>
                    <ХарактеристикаТовара>
                        <Ид>2f2a307e-1191-11e7-8139-305a3a4a5c66</Ид>
                        <Наименование>Упаковка</Наименование>
                        <Значение>1</Значение>
                    </ХарактеристикаТовара>
                </ХарактеристикиТовара>
                <Цены>
                    <Цена>
                        <Представление> 100 RUB за NMP</Представление>
                        <ИдТипаЦены>ea739cbe-f2b2-11e6-810e-305a3a4a5c66</ИдТипаЦены>
                        <ЦенаЗаЕдиницу>100</ЦенаЗаЕдиницу>
                        <Валюта>RUB</Валюта>
                        <Единица>NMP</Единица>
                        <Коэффициент>1</Коэффициент>
                    </Цена>
                </Цены>
                <Количество>1</Количество>
            </Предложение>

Такой вариант будет прочитан модулем корректно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что делать, если не работает авторизация или возникает ошибка "не найден логин" в модуле «Обмен данными» для Интернет-магазина

Прежде чем читать далее, обновитесь на модуль “Обмен данными” версии 87, в котором добавлено несколько обработок такой ситуации и проблема уйдет сама собой. Если у Вас уже версия 87 или выше, то читаем дальше.

Часто проблема возникает в результате работы php в режиме CGI. В этом режиме есть проблемы с передачей данных авторизации HTTP в php. Проблему можно обойти, но необходимо чтобы на сервере была включена обработка .htaccess и поддержка mod_rewrite.

Итак, находим в корне сайта файл .htaccess, находим в нем строчку RewriteEngine on и добавляем после нее следующую инструкцию:

RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]

Если найдете следующие строки в этом же файле, то закоментируйте их, они отключают mod_rewrite, а нам это не нужно.

#<ifmodule mod_rewrite.c=""> # RewriteEngine Off #</ifmodule>

Если у вас все равно не хочет работать авторизация, то дальше нужно обратиться к хостеру и просить его посмотреть что не так. В качестве деталей можете ссылаться на эту статью. 

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

Существует и другой способ. 

В самое начало файла /export/exchange1c.php добавляем следующий код, чтобы получилось следующее:

<?php $remote_user = $_SERVER["REMOTE_USER"] ? $_SERVER["REMOTE_USER"] : $_SERVER["REDIRECT_REMOTE_USER"]; $strTmp = base64_decode(substr($remote_user,6)); if ($strTmp) list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $strTmp); // Version define('VERSION', '1.5.4.1');

Дальше, в конец файла .htaccess, находящегося в корне магазина, дописываем строку:

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

Это позволит организовать HTTP авторизацию, даже если она отключена у хостера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

По какому протоколу работает модуль для Обмена данными 1С для Интернет-магазина {SEO-Mагазин}, OpenCart 2.х, 3.х, ocStore

Протокол, на котором работает модуль “Обмен данными” называется CommerceML. Описание протокола ищите на официальном сайте производителя ПО.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ОПИСАНИЕ ТОВАРА НЕ ОТРАЖАЮТСЯ В КАРТОЧКЕ ТОВАРА (СКРИН 1)..,НА ХОСТИНГЕ ОНИ ОТРАЖАЮТСЯ СЛЕДУЮЩИМ ОБРАЗОМ (СКРИН 2),ВСЕ НАСТРОЙКИ (СКРИН 3,4,5)

ПОДСКАЖИТЕ ЧТО ДЕЛАТЬ ?

Screenshot_1.png

Screenshot_2.png

Screenshot_3.png

Screenshot_4.png

Screenshot_5.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, misteral сказал:

ОПИСАНИЕ ТОВАРА НЕ ОТРАЖАЮТСЯ В КАРТОЧКЕ ТОВАРА (СКРИН 1)..,НА ХОСТИНГЕ ОНИ ОТРАЖАЮТСЯ СЛЕДУЮЩИМ ОБРАЗОМ (СКРИН 2),ВСЕ НАСТРОЙКИ (СКРИН 3,4,5)

ПОДСКАЖИТЕ ЧТО ДЕЛАТЬ ?

Screenshot_1.png

Screenshot_2.png

Screenshot_3.png

Screenshot_4.png

Screenshot_5.png

 

Screenshot_6.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Добрый день. Возникла заминка с выгрузкой номенклатуры с индивидуальными характеристиками, может не правильно что-то делаю? Выгрузка без характеристик работает.
 
Имеется 1с Розница последней ревизии и платформа соответственно.
Создана общая номенклатура — Карандаш KRAUSE
К этой номенклатуре добавлены 3 характеристики со своей ценой и штрихкодом — красный, синий, зелёный.
 
В настройках обмена стоят галочки создавать опции и всё, что связано с опциями.
При выгрузке — на сайте появляется только номенклатура Карандаш KRAUSE без выбора характеристики.
 
Пробовал ставить сторонний модуль Варианты Товаров — https://opencart3x.ru/module/front/product-variants
При выгрузке ничего не поменялось.
 
Может не тот модуль ставлю или с настройками не могу разобраться? Помогите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
15.04.2020 в 18:22, Xaziain сказал:

С 1С все хорошо, в него уже выгружаются заказы с двух сайтов на опенкарт 2, подключаю третий. В файле заказов при кодировке 1251 абаркатабра. Какой грамотный вопрос мне задать администратору хостинга?

Ваш модуль отдает файл в котором в конце дописано <head/> !!!
Если просто скачивать заказы через модуль хеда нигде нет!
Почему так???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


×
×
  • Создать...