Как настроить обмен заказами между 1С:Управление торговлей 11 и сайтом?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Настройка обмена данными между 1С:Управление торговлей 11 и интернет-магазином — это комплексная задача, которая часто сопровождается неочевидными трудностями. В процессе настройки узла обмена администраторы и программисты сталкиваются с тем, что нужные поля (например, дата и номер заказа на сайте) не выбираются, а списки складов остаются пустыми. В этой статье мы подробно разберем, как правильно сконфигурировать систему, чтобы все данные передавались корректно.

Настройка дополнительных реквизитов для идентификации заказов

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

Разберем по шагам, как правильно добавить эти реквизиты, чтобы они стали доступны в плане обмена ОбменССайтом:

  1. Перейдем в раздел НСИ и администрирование, далее выберем пункт Администрирование и найдем Общие настройки.
  2. В открывшемся окне развернем группу Дополнительные реквизиты и сведения. Убедимся, что установлена галочка "Дополнительные реквизиты и сведения".
  3. Нажмем на ссылку Дополнительные реквизиты.
  4. В левой части окна представлен список наборов. Нам необходимо найти набор, относящийся к документам заказов. В зависимости от версии УТ (11.2, 11.4 или 11.5) он может называться по-разному: "Заказ клиента" или "Список заказов клиентов".
  5. Выделим этот набор и в правой части нажмем кнопку Добавить -> Новое.
  6. Создадим первый реквизит:
    • Наименование: Дата заказа на сайте.
    • Тип значения: Дата.
  7. Создадим второй реквизит:
    • Наименование: Номер заказа на сайте.
    • Тип значения: Строка.

Проанализируем ситуацию: почему важно создавать их именно здесь? План обмена с сайтом ищет реквизиты не по всей базе, а строго внутри объекта ПланВидовХарактеристик.ДополнительныеРеквизитыИСведений, которые привязаны к конкретному владельцу — документу ДокументОбъект.ЗаказКлиента. Если вы создали реквизит через общую форму, он мог попасть в общую категорию, которая не связана с заказами, и поэтому остался невидимым для модуля обмена.

Решение проблемы пустого списка складов

Часто при настройке узла обмена поле "Склад" остается пустым, даже если в системе создано несколько складов (оптовый, розничный и т.д.). Это происходит потому, что в современных редакциях УТ 11 логика выбора склада и условий продаж жестко завязана на механизмы соглашений и прав доступа.

Выясним причину и устраним ее, выполнив следующие действия:

  1. Активация прав доступа: Перейдем в настройки пользователей и прав (НСИ и администрирование -> Администрирование -> Настройки пользователей и прав). Нам необходимо включить опцию "Разрешить доступ внешним пользователям". Без этой настройки система ограничивает возможности взаимодействия с внешними системами (сайтами).
  2. Настройка типового соглашения: Обмен с сайтом обычно работает через механизмы типовых соглашений.
    • Перейдем в раздел CRM и маркетинг -> Типовые соглашения с клиентами.
    • Создадим новое соглашение или откроем существующее, которое планируется использовать для заказов с сайта.
    • На вкладке Основное обязательно установим галочку "Доступно внешним пользователям".
    • На вкладке Условия продаж выберем конкретный Склад. Именно этот склад будет подставляться в заказы, приходящие с сайта.
  3. Выбор соглашения в узле обмена: После настройки соглашения вернемся в настройки узла обмена. Теперь в поле "Соглашение" появится возможность выбора созданного нами типового соглашения, а поле "Склад" заполнится автоматически или станет доступным для выбора.

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

Проблема выгрузки статуса "Отменен"

Иногда возникает специфическая проблема: все статусы заказов передаются на сайт корректно (Выполнен, Согласован, В резерве), но статус "Отменен" не синхронизируется. В конфигурациях 11.4 и 11.5 это часто связано с логикой работы триггеров регистрации изменений.

Проанализируем техническую сторону вопроса. В 1С статус отмены заказа — это не просто изменение значения в перечислении, а установка признака Отменено в табличной части Товары. Чтобы этот признак корректно интерпретировался модулем обмена и попадал в XML-файл, необходимо проверить следующее:

  1. Причины отмены: В настройках системы (НСИ и администрирование -> Продажи) должна быть включена опция "Причины отмены заказов клиентов". Если заказ отменяется без указания причины, некоторые версии модулей обмена не регистрируют это событие как окончательную отмену для сайта.
  2. Регистрация изменений: Проверим, регистрируется ли документ к обмену. Для этого в форме узла обмена нажмем "Параметры обмена данными" -> "Показать зарегистрированные изменения". Если после отмены заказа он не появился в списке, значит, механизм планов обмена не зафиксировал изменение.

Для принудительной регистрации изменений в программном коде (если вы пишете свою обработку или расширение), можно использовать следующий подход:


// Пример программной регистрации заказа для обмена с сайтом
Процедура ЗарегистрироватьЗаказКОбмену(ВыбранныйЗаказ)
    ПланОбмена = ПланыОбмена.ОбменССайтом.НайтиПоНаименованию("Основной обмен");
    Если Не ПланОбмена.Пустая() Тогда
        ПланыОбмена.ЗарегистрироватьИзменения(ПланОбмена, ВыбранныйЗаказ);
    КонецЕсли;
КонецПроцедуры

Технические детали плана обмена в конфигураторе

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

Разберем, на что обратить внимание программисту:

Важный совет: При использовании сторонних модулей (например, от Битрикс), всегда проверяйте версию модуля. Логика работы с дополнительными реквизитами в новых версиях 1С (начиная с БСП 3.0 и выше) существенно изменилась, и старые версии модулей могут искать реквизиты по старым путям метаданных.

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

← На главную