Links

МойСклад

Для начального наполнения магазина и синхронизации остатков из МойСклад включите обмен по CommerceML. Если ваш тариф в МойСклад не дает эту возможность, используйте импорт csv и наш модуль МойСклад.

Первичный импорт и обмен по CommerceML

Настройте обмен данными по стандарту CommerceML, используемый типовым обменом с 1С. Для обмена по CML, устанавливать модуль МойСклад не требуется.

Настройка

  1. 1.
    В панели управления магазина в меню Настройки - Документооборот - CommerceML выберите:
Ключ обновления - Внешний код
Авторизация - Имя файла,
Имя файла - придумайте имя и введите в поле, например secretcml (ссылка будет иметь вид https://имя_сайта/1cManager/secretcml.php):
Настройки CML для связи с МойСклад
2. Для авторизации CML по имени файла у администратора должны быть права доступа по API и сформирован токен.
В меню 👤 - Профиль в закладке Права в нижней строке Доступ по API проверьте, что стоят права у Администратора и есть Токен. Если нет прав, проставьте галки и на вкладке Основное нажмите Сгенерировать новый пароль, поставьте Сменить логин и пароль, чтобы создался Токен.
Получение токена
Теперь, после повторного входа, вы увидите Токен:
3. На стороне Мойсклад зайдите в меню Настройки - Интернет-магазины, выберите CommerceML.
Связь по CML есть не на всех тарифах МойСклад. В этом случае, выберите загрузку данных через csv и последующую синхронизацию через наш модуль МойСклад.
В открывшемся окне введите:
Наименование магазина - ссылку на сайт
Адрес магазина - ссылку, которую берем из настроек PHPShop Имя файла https://имя_сайта/1cManager/secretcml.php.
Логин и пароль подставляются автоматически.
Настройки CML на стороне МойСклад
Нажмите Проверить соединение - должна появиться надпись Соединение прошло успешно.

Склады

По умолчанию выгружаются общие остатки.
Если складов несколько, заведите склады в PHPShop в меню Настройки - Склады и укажите внешний код из Мойсклад:
Добавление складов
В настройке выгрузке укажите требуемые склады. В МойСклад проверьте, чтобы Отдел в выгрузке и отдел склада совпадали (либо стояла галка Общий склад):
Правильный выбор складов в МС для корректной выгрузки в магазин

Выгрузка товаров

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

Первичный импорт из МойСклад в магазин через CSV

Рассмотрим вариант, когда есть пустой магазин, база товаров в МойСклад. Ваш тариф МойСклад не позволяет включить СommerceML.
Через CSV или YML файлы из МойСклад не выгрузятся Модификации товаров (это подтипы PHPShop), используйте CommerceML.

Настройка в МойСклад:

  1. 1.
    Для переноса товаров из МойСклад в PHPShop, перейдите в Настройки - Приложения и установите приложение Выгрузка цен и остатков.
  2. 2.
    После установки, перейдите в меню Приложения - Выгрузка цен и остатков.
  3. 3.
    В настройке экспорта выберите формат .CSV, разделитесь - ;.
  4. 4.
    Выберите нужные для выгрузки данные. Обязательным является поле ID.
  5. 5.
    Нажмите Сохранить, появится постоянная ссылка на прайс-лист, по нажатию на которую скачиваем полученный Прайс-лист:

Настройка в PHPShop:

Если Вы установили демо-версию с тестовой базой товаров, сделайте резервную копию базы (База - Резервное копирование - +) и затем Очистку базы (База - SQL запрос к базе - Очистка базы).
6. В PHPShop перейдите в меню База - Импорт данных.
Настройки
Файл - выбираем файл на компьютере, или указываем URL поставщика;
Действие - создание;
CSV-разделитель - точка с запятой;
Разделитель для характеристик - Колонка;
Разделитель значений хар-к - в нашем примере это точка с запятой;
Обработка изображений - при включенной опции, размер, указанный в меню Настройки - Изображения - Основные, будет применяться к загруженным фото.
Загрузка изображений - загрузка фото на сервер автоматически.
Разделитель для изображений – пробел (т.к. в МойСклад выбрана переменная фото с пробелом) или оставить Автоматический;
Кодировка текста - выбираем UTF-8.
Ключ обновления - т.к. мы загружаем с нуля, ключ нам не нужен.
Проверка уникальности – опция нам не нужна.
7. В закладке Сопоставление полей, выберите соответствие колонок Прайс-листа полям PHPShop:
Вкладка Сопоставление полей
8. В закладке Сохраненные настройки придумайте название Импорту:
Вкладка Сохраненные настройки
Сохраненную настройку можно использовать с модулем Задачи для автоматизации загрузки по расписанию или актуализации остатков:
Сохраненный импорт доступен в модуле Задачи
9. После заполнения всех полей, нажмите Выполнить. Зайдите в раздел Товары и проверьте корректность импорта. При необходимости, вернитесь в меню База - Импорт данных, выберите сохраненную настройку и внесите нужные корректировки.
Проверка импорта

Превью товаров

Превью товаров создаются автоматически при загрузке, если опция включена. Можно выполнить команду вручную, если превью нет у товаров. Зайдите в меню База - SQL запрос к базе и вставьте строку, нажмите Выполнить.
update phpshop_products set pic_small=pic_big
Для загрузки прайс-листов по URL-ссылке в настройках php.ini на хостинге должна быть разрешена директива allow_url_fopen

Первичный экспорт из PHPShop в МойСклад через YML

Рассмотрим вариант, когда у вас новый аккаунт в МойСклад и есть наполнение в PHPShop. Требуется перенести товары из магазина в МойСклад.
  1. 1.
    В МойСклад откройте меню Настройки - Интернет-магазины.
  2. 2.
    Добавьте новый Магазин, и в открывшемся меню выберите Импорт товаров из YML.
3. В магазине PHPShop включите модуль Яндекс.Маркет, меню Модули - Управление модулями - Яндекс.Маркет. При экспорте выгружаются характеристики и подтипы товаров, если включен модуль Яндекс.Маркет, выбрана опция Выгружать характеристики и в самих характеристиках во вкладке Модули стоит Вкл. выгрузку в YML.
4. В Мойсклад в поле адрес магазина укажите свой адрес YML файла: http://shopname.ru/yml/?getall. Логин и пароль от админпанели магазина. Нажмите Сохранить.
4. После обработки выгрузки, товары появятся в разделе Товары - Товары и услуги с ценами и изображениями.
5. Для дальнейшей корректной синхронизации товаров, нужно получить код товаров, который назначается в МойСклад и привязать его к товарам в PHPShop. Без этой процедуры, при передаче заказа в МойСклад, будут создаваться новые товары (дубли), т.к. не будет известен код товара.
  • В системе МойCклад выгрузите полученный каталог – нажмите кнопку Экспорт в Exсel, откройте полученный файл в Excel и пересохраните в CSV:
  • В PHPShop включите модуль МойСклад в меню Модули.
  • В PHPShop в меню База - Импорт данных выберите полученный csv файл, на вкладке Сопоставление полей укажите:
Колонка BМойСклад Id
Колонка D Id.
Нажмите Выполнить.
Импорт данных, вкладка Настройки
Импорт данных, вкладка Сопоставление полей
После успешной загрузки появится надпись:
Проверим привязку товара – зайдем в любой товар и в закладке Модули увидим уникальный код из МойСклад:

Выгрузка остатков из магазина в МойСклад

Складские остатки не выгружаются из магазина в МойСклад, т.к. склад ведется на стороне учетной системы. Остатки загружаются в магазин из МойСклад, а не наоборот.
После загрузки товаров, нужно сделать Оприходование товаров на склад в меню Товары - Оприходования - Создать, либо загрузить остатки из PHPShop (см. далее).
Если нужно загрузить остатки в МойСклад, через Экспорт данных выгрузите поля: наименование, id, количество на складах. Полученный файл загрузите в Мойсклад.
id ⇢ Код Склад ⇢ Остаток

Синхронизация остатков и заказов:

Через обмен по CommerceML
Через наш модуль МойСклад
Синхронизация через CSV