PDA

Просмотр полной версии : Обмен заказами сайта с 1с Управление торговлей, редакция 11.1



sfairet
28.09.2014, 19:11
Коллеги, здравствуйте!

Есть пара вопросов по формату передачи заказов с сайта в 1с.
Текущая установка 1с:
1С:Предприятие 8.3 (8.3.4.465)
Управление торговлей, редакция 11.1 (11.1.5.16)
Файловый (без сжатия)

Обмен происходит с самописной ЦМС интернет-магазина.
Узел обмена с сайтом в 1с настроен, авторизация проходит, заказы в 1с создаются (в приложении скриншоты).
В приложении пример отдаваемого файла.

Есть несколько проблем, которые никак не удается решить, буду очень благодарен за любую помощь:
1. Если номенклатуры не было, то она создается. Никак не могу понять, как правильно передать артикул, всегда остается пустым в созданной номенклатуре. Пробовал теги в ХМЛ <Артикул>, <ИдентификаторТовара> -> <Арикул>, <ЗначенияРеквизитов> -> <ЗначениеРеквизита> -> <Наименование>Артикул</Наименование>
Ничего не срабатывает, артикул остается пустым. Как его правильно передать?

2. В качестве ИД товара передаю внутренний ИД БД сайта. Но если изменить название номенклатуры на сайте, то создается новая номенклатура в 1с, а нужно чтобы либо обновлялась старая, либо просто не изменялась. Можно ли заставить 1с проводить сравнение не по названию товара, а по ид? (На сайте названия товаров периодически меняются).
При этом при загрузке заказов происходят ошибки (при этом сама загрузка проходит), лог обмена:
---------------------------------
Интерактивный обмен
27.09.2014 16:24:42 Запуск загрузки заказов
Обработано: 1
Загружено: 1. Список документов:
№ W2918 от 25.09.2014 15:50:42 (№ W2918 от 25.09.2014 15:50:42 на сайте)
Пропущено: 0
Обновлено: 1. Список документов:
№ W2918 от 25.09.2014 15:50:42 (№ W2918 от 25.09.2014 15:50:42 на сайте)
Создано: 0
27.09.2014 16:24:43 Завершена загрузка заказов
Дополнительная информация:Не удалось выполнить поиск номенклатуры: W59128
Произошла ошибка:
Не удалось выполнить поиск номенклатуры: W10605
Произошла ошибка:
Не удалось выполнить поиск номенклатуры: ORDER_DELIVERY
Произошла ошибка:
---------------------------------------------

3. Аналогично артикулу, хотелось бы вновь созданную номенклатуру класть в определенную группу номенклатуры, а не сваливать все в одну группу товаров как настроено в узле обмена. Как её можно передать для товара?


4. Все заказы создаются в статусе «Ожидает согласования», хотя я настроил в обмене соответствия статусов заказ (на скриншоте видно). Как бы обновлять статус заказа согласно информации с сайта?

Сразу оговорюсь, я не программист 1с, а разработчик ЦМС сайта. И, к сожалению, не знаю где и как можно дебажить саму процедуру обмена в 1с или редактировать код обработки.

sfairet
28.09.2014, 21:41
Получилось вытащить файл обмена с 1с, который генерится самим Битриксом. Он в приложении.
В нем видно, что артикул передается вот так:
<ЗначениеРеквизита>
<Наименование>Артикул</Наименование>
<Значение>188-16-02</Значение>
</ЗначениеРеквизита>
У меня эта конструкция не срабатывает.

Статусы заказов видимо идут так:
Для отмененного:
<ЗначениеРеквизита>
<Наименование>Отменен</Наименование>
<Значение>true</Значение>
</ЗначениеРеквизита>

Для закрытого:
<ЗначениеРеквизита>
<Наименование>Финальный статус</Наименование>
<Значение>true</Значение>
</ЗначениеРеквизита>

Опять же, у меня это не работает.
Каких-то особенностей по передаче ИД товара не заметил.


Дополнительно заметил, что в заказе в 1с не проставляются скидки, передаю также как это делает битрикс:
<Скидки>
<Скидка>
<Наименование>Скидка на товар</Наименование>
<Сумма>120.00</Сумма>
<УчтеноВСумме>true</УчтеноВСумме>
</Скидка>
</Скидки>


После всего этого я попробовал сделать синхронизацию заказов с самим битриксом и, как не странно, синхронизация прошла, но все те же проблемы остались: артикул не заполнился, скидки не присвоилась, статусы заказов в 1с не выставились (ожидает согласования), товар так же создался в одной папке, в логе синхронизации «Дополнительная информация:Не удалось выполнить поиск номенклатуры: 610#615 Произошла ошибка:».
Возникает вопрос, я не до конца настроил обмен, есть какие-то хитрости? Или стандартный обмен с сайтом от 1с в принципе не способен решать эти задачи и нужна отдельная обработка внутри 1с?