8.х ОБМЕН Обмен заказами сайта с 1с Управление торговлей, редакция 11.1

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем Dmitriy_jew, 28 сен 2014.

  1. TopicStarter Overlay
    Dmitriy_jew
    Offline

    Dmitriy_jew

    Регистрация:
    28 сен 2014
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Коллеги, здравствуйте!


    Есть пара вопросов по формату передачи заказов с сайта в 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с или редактировать код обработки.

    Вложения:

    • 1.png
      1.png
      Размер файла:
      45 КБ
      Просмотров:
      17
    • 2.png
      2.png
      Размер файла:
      58,9 КБ
      Просмотров:
      17
    • 3.png
      3.png
      Размер файла:
      48 КБ
      Просмотров:
      17
    • 1cExport.xml
      Размер файла:
      3,5 КБ
      Просмотров:
      16
  2. TopicStarter Overlay
    Dmitriy_jew
    Offline

    Dmitriy_jew

    Регистрация:
    28 сен 2014
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Получилось вытащить файл обмена с 1с, который генерится самим Битриксом. Он в приложении.

    В нем видно, что артикул передается вот так:

    <ЗначениеРеквизита>

    <Наименование>Артикул</Наименование>

    <Значение>188-16-02</Значение>

    </ЗначениеРеквизита>

    У меня эта конструкция не срабатывает.


    Статусы заказов видимо идут так:

    Для отмененного:

    <ЗначениеРеквизита>

    <Наименование>Отменен</Наименование>

    <Значение>true</Значение>

    </ЗначениеРеквизита>


    Для закрытого:

    <ЗначениеРеквизита>

    <Наименование>Финальный статус</Наименование>

    <Значение>true</Значение>

    </ЗначениеРеквизита>


    Опять же, у меня это не работает.

    Каких-то особенностей по передаче ИД товара не заметил.



    Дополнительно заметил, что в заказе в 1с не проставляются скидки, передаю также как это делает битрикс:

    <Скидки>

    <Скидка>

    <Наименование>Скидка на товар</Наименование>

    <Сумма>120.00</Сумма>

    <УчтеноВСумме>true</УчтеноВСумме>

    </Скидка>

    </Скидки>



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

    Возникает вопрос, я не до конца настроил обмен, есть какие-то хитрости? Или стандартный обмен с сайтом от 1с в принципе не способен решать эти задачи и нужна отдельная обработка внутри 1с?

    Вложения:

  3. Andy13
    Offline

    Andy13 Опытный в 1С

    Регистрация:
    1 мар 2010
    Сообщения:
    244
    Симпатии:
    2
    Баллы:
    29
    Обмен с сайтом ведется по правилам обмена (XML). Именно там всё и прописано. И поля синхронизации и передаваемые реквизиты. Оттуда и начинайте.
  4. TopicStarter Overlay
    Dmitriy_jew
    Offline

    Dmitriy_jew

    Регистрация:
    28 сен 2014
    Сообщения:
    3
    Симпатии:
    0
    Баллы:
    1
    Если вы про CommerceML описанный тут http://v8.1c.ru/edi/edi_stnd/90/92.htm , то он действительно описывает стандарт довольно подробно. Только вот конфигурация 1с упорно, а именно "узел обмена с сайтом" в плане заказов видимо просто игнорирует добрую половину этого формата, а берет узкий набор полей.
    Ни скидки, ни налог, ни артикулы ни т.п. не принимается и в заказ не переносится. Даже ИД товаров преобразованный в GUID, не закрепляется за созданной номенклатурой в 1с, а 1с просто присваивает свой.
    В целом ничего из самой темы мне так и не передалось сделать ни руководствуясь стандартом, ни копируя выгрузку заказов самой 1с.

    Или вы о каких-то других правилах?

Поделиться этой страницей