Перейти к содержанию
Официальный форум поддержки Simpla

Синхронизации с Мой Склад особенности реализации в Симпле


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

Магазин не отправляет в МС количество товара на складе (смотрите протокол),
согласен
отправляется количество купленных товар. Так что это вопрос к МС почему он не списывает товар со склада
так вы написали что работает синхронизация заказов с МС и заказчик поверил, а теперь говорите, что МС виноват, встает вопрос почему вы не проверили это перед тем как писать
Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 99
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

т.е. можно предположить что какие-то поля в импорте заказа из магазина в МС не заполнены, поэтому статусы не проходят.
Потом написали что товар синхронизируется с МС я дал ссылку как по мнению МС выглядит синхронизация (с переименованием), вашей версии нигде в документации нет

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

> так вы написали что работает синхронизация заказов с МС и заказчик поверил, а теперь говорите, что МС виноват, встает вопрос почему вы не проверили это перед тем как писать

Я не говорил что МС виноват, я говорил спросить МС когда должны списываться товары и почему они не списываются когда вы хотите. Возможно там нужно нажать "зарезервировать" в заказе, или что-то в этом роде

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

> т.е. можно предположить что какие-то поля в импорте заказа из магазина в МС не заполнены, поэтому статусы не проходят.
У меня проходят http://cl.ly/102y1d0C0N2F0N2O0532/Image%202012.07.02%2021:35:42.png Проверьте еще раз. Если действительно не работает, нужен будет доступ к вашему сайту и МС для решения этой проблемы

> Потом написали что товар синхронизируется с МС я дал ссылку как по мнению МС выглядит синхронизация (с переименованием), вашей версии нигде в документации нет
Там нет ничего про переименование

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

1) В МС сказали, что статус заказа для них просто комментарий, так что тут вы правы. Хотя, была бы инструкция, вопросов не было бы: "Что значат [F] [N] в статусах заказов?"
2) Внешний идентификатор объектов в МС никак не сбрасывается, он ими генерится если пытаются загрузить заказ без него.
3) По поводу, что в документации МС ничего не сказано, что имена при синхронизации данных должны синхронизироваться, так для меня это следует из определения синхронизации данных. Если какие-то данные вами исключаются по своим соображениям, то об этом нужно предупреждать. Может какому то бухгалтеру в 1С и удобно называть товар по своему, а публиковать с др именем, но мне не понятно как уследить за товаром, который в разных местах по разному называется и еще в разных разделах оказывается и для чего тогда вообще нужна синхронизация?!
4) Хотя товары в МС можно организовывать в серии (аналог товара в Симпле) при синхронизации это никак не реализовано.

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

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

> 1) В МС сказали, что статус заказа для них просто комментарий, так что тут вы правы. Хотя была бы инструкция вопросов не было бы. Что значат [F] [N] в статусах заказов?
Сам не знаю это значит, в документации не нашел, но в примере в документации к протоколу пишется так. Наверное какое-то указание для 1С

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

3) По поводу, что в документации МС ничего не сказано, что имена при синхронизации данных должны синхронизироваться, то для меня это следует из определения синхронизации данных и если вы какие-то данные вами исключаются по своим соображениям, то скорее вам об этом нужно писать. Может какому то бухгалтеру в 1С и удобно как то по своему называть товар (не так как можно публиковать на сайте), но мне не понятно как уследить за товаром, который в разных местах по разному называется и еще в разных разделах оказывается и для чего тогда вообще нужна синхронизация.

Я приводил вам несколько комментариев назад строчку которую нужно вставить чтобы названия тоже обновлялись

4) Хотя товары в МС можно организовывать в серии аналог вариантов для товара в Симпле при синхронизации это никак не реализовано.

Возможно серии это что-то другое. В 1С варианты с симплой синхронизируются:

foreach ($xml->Предложения->Предложение as $xml_variant)	{		$variant = null;		//  Id товара и варианта (если есть) по 1С		@list($product_1c_id, $variant_1c_id) = explode('#', $xml_variant->Ид);		if(empty($variant_1c_id))			$variant_1c_id = '';				$simpla->db->query('SELECT v.id FROM __variants v WHERE v.external_id=? AND product_id=(SELECT p.id FROM __products p WHERE p.external_id=? LIMIT 1)', $variant_1c_id, $product_1c_id);		$variant_id = $simpla->db->result('id');		$variant->price = $xml_variant->Цены->Цена->ЦенаЗаЕдиницу;		$variant->stock = $xml_variant->Количество;		$simpla->variants->update_variant($variant_id, $variant);	}


Спросите у поддержки МС что у них является аналогом ПакетПредложений->Предложения->Предложение
Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Хочу извинится, ваш вариант реализации синхронизации (без синхронизации названия и изменения раздела) в конечном итоге полностью подошел заказчику.
По остальному в синхронизации с Мой склад есть нюансы.
- скидку (она передается в деньгах, не в процентах) МС хочет видеть за единицу товара, а не по позиции заказа (при текущей реализации увеличивает скидку во столько, сколько товара заказано по данной позиции)

- можно передавать данные контрагента (идентифицировать клиентов по имени, которое они ввели IMHO не лучший способ), способ доставки (если предварительно настроить на МС)

// Дополнительные реквизиты            $d1 = $doc->addChild ( "ЗначенияРеквизитов" );            $d1_1 = $d1->addChild ( "ЗначениеРеквизита" );            $d1_1->addChild ( "Наименование", "Способ доставки" );            $d1_1->addChild ( "Значение", $simpla->delivery->get_delivery($order->delivery_id)->name);            $d1_2 = $d1->addChild ( "ЗначениеРеквизита" );            $d1_2->addChild ( "Наименование", "Источник" );            $d1_2->addChild ( "Значение", "Сайт" );            // Контрагенты            $k1 = $doc->addChild ( 'Контрагенты' );            $k1_1 = $k1->addChild ( 'Контрагент' );            $k1_1_1 = $k1_1->addChild ( "Ид", ($order->user_id)?"shop_user_id_".$order->user_id:rand(1,1000000000));   //TODO если при оформлении заказа пользователь незарегистрирован, то зарегистрировать, rand  убрать            $k1_1_2 = $k1_1->addChild ( "Наименование", $order->name);            $k1_1_3 = $k1_1->addChild ( "Роль", "Покупатель" );            $k1_1_4 = $k1_1->addChild ( "ПолноеНаименование", $order->name );            $k1_1_5 = $k1_1->addChild ( "АдресРегистрации");            $k1_1_5_1 = $k1_1_5->addChild ( "Представление", "777777, г.Москва, ул.Киевская, д.1, корп.1, кв.23");            $k1_1_5_2 = $k1_1_5->addChild ( "АдресноеПоле");            $k1_1_5_2_1 = $k1_1_5_2->addChild ( "Тип", "Почтовый индекс");            $k1_1_5_2_2 = $k1_1_5_2->addChild ( "Значение", "777777");            $k1_1_6 = $k1_1->addChild ( "Контакты");            $k1_1_6_1 = $k1_1_6->addChild ( "Контакт");            $k1_1_6_1_1 = $k1_1_6_1->addChild ( "Тип", "Почта");            $k1_1_6_1_2 = $k1_1_6_1->addChild ( "Значение", "sale@upwear.ru");            $k1_1_6_2 = $k1_1_6->addChild ( "Контакт");            $k1_1_6_2_1 = $k1_1_6_2->addChild ( "Тип", "Телефон");            $k1_1_6_2_2 = $k1_1_6_2->addChild ( "Значение", "8-555-222-22-22");
Ссылка на сообщение
Поделиться на другие сайты

Контрагенты в версии 2.1.4 уже передаются, можете взять из нее файл simpla/cml/1c_exchange.php
На счет скидки - буду изучать

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

Со скидкой проблема решается изменением строки 220 файла /simpla/cml/1c_exchange.php:

$t1_4 = $t1_3->addChild ( "Сумма", $purchase->amount*$purchase->price*$order->discount/100);заменить на$t1_4 = $t1_3->addChild ( "Сумма", $purchase->price*$order->discount/100);
Ссылка на сообщение
Поделиться на другие сайты

Всплыл еще глюк.
1) получили заказ в Симплу (ИМ)
2) нажали загрузить заказы в МойСклад (МС)
=> загрузился заказ => ok
3) загрузить заказы в МС
=> нет новых => ok
4) правим заказ в МС
5) загрузить => получаем список всех заказов ИМ, хотя в магазине ну ничего не правили => все изменения в МС затерлись
Error!!!

Вопрос, когда Симпла вдруг решает выслать все заказы, даже те которые уже высылались и в Симпле не правились?

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

При этом выгружает только те заказы, которые изменились или добавились с прошлой выгрузки

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

Проверьте через phpmyadmin что храниться в поле s_settings.ast_1c_orders_export_date

В этом поле храниться дата последней выгрузки в 1С, заказы ранее этой даты никогда не выгружаются

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

Все чудесатее и чудесатее.
В МС пишут, что запросы одни и теже.


Юлия, 23 авг 14:20 (MSK):
Добрый день, Александр.
Описание обмена данными по ссылке http://v8.1c.ru/edi/edi_stnd/131/#2
Специально отправили запрос разработчикам, с Симплой работает именно по сценарию из статьи.

Но факт налицо:
- пришел заказ в Симплу
- синхронизировали
- изменили заказ в МС (в Симпле НИЧЕГО НЕ МЕНЯЛИ)
- синхронизировали => !!! пришел файл со всеми заказами и затер все изменения в МС
Как Денис вы описываете, этого не может быть, но оно есть и причем стабильно

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

Проверьте через phpmyadmin что храниться в поле s_settings.ast_1c_orders_export_date

В этом поле храниться дата последней выгрузки в 1С, заказы ранее этой даты никогда не выгружаются

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

last_1c_orders_export_date 2012-08-23 12:47:22
смотрю файл с заказами который выгрузился в МС:

<?xml version="1.0" encoding="UTF-8"?>-<КоммерческаяИнформация ДатаФормирования="2012-08-23" ВерсияСхемы="2.04">-<Документ><Ид>155</Ид><Номер>155</Номер><Дата>2012-08-23</Дата><ХозОперация>Заказ товара</ХозОперация><Роль>Продавец</Роль><Курс>1</Курс><Сумма>1210.00</Сумма><Время>12:42:26</Время>...</Товары></Документ>

и далее еще 12 документов с датой ранее чем в базе
Ссылка на сообщение
Поделиться на другие сайты

а зачем эта ветка, если ин-фа о заказах не шлется из МС в Симплу

if($simpla->request->get('type') == 'sale' && $simpla->request->get('mode') == 'file')
?
Ссылка на сообщение
Поделиться на другие сайты

Пожалуйста, посмотрите свою выгрузку по этой ссылке
http://вашсайт.ru/simpla/cml/1c_exchange.php?type=sale&mode=query

И посмотрите какую дату и время имеют выгруженные заказы.

Затем посмотрите через phpmyadmin значение переменной s_settings.ast_1c_orders_export_date

И напишите пожалуйста сюда результаты.

Через минутку повторите то же самое, и посмотрите обновилась ли переменная s_settings.ast_1c_orders_export_date

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

послал запрос
http://вашсайт.ru/simpla/cml/1c_exchange.php?type=sale&mode=query

даты в ответе:
2012-08-23 15:36:53
2012-08-23 14:29:43
...
2012-08-22 22:07:39
...
s_settings.ast_1c_orders_export_date 2012-08-23 16:37:02

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

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

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

Гость
Ответить в этой теме...

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

  Разрешено использовать не более 75 эмодзи.

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

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

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

Загрузка...
×
×
  • Создать...