При обмене данными между 1С:Управление торговлей (УТ) и 1С-Битрикс пользователи часто сталкиваются с ситуацией, когда стоимость доставки, рассчитанная на сайте, не соответствует или вовсе игнорируется при загрузке заказа в 1С. Вместо фактической стоимости из CMS в документ заказа 1С может подставляться фиксированное значение, например, 200 рублей, или же поле цены остается пустым. Давайте рассмотрим, почему это происходит и как можно настроить корректную синхронизацию.
Предположим, клиент оформляет заказ на сайте Битрикс, и система рассчитывает стоимость доставки, например, 350 рублей. При загрузке этого заказа в 1С:УТ мы видим, что в документе "Заказ клиента" или "Реализация товаров и услуг" стоимость доставки почему-то оказывается 200 рублей или вовсе отсутствует. Эта проблема связана с настройками обмена в модуле интеграции 1С-Битрикс.
Основная причина такого поведения кроется в настройках модуля обмена между 1С и Битрикс, а именно в разделе, отвечающем за соответствие реквизитов загружаемых документов. Чтобы исправить эту ситуацию и обеспечить корректную подстановку стоимости доставки из Битрикс, нам необходимо выполнить следующие шаги:
Перейдем в настройки модуля обмена. Откройте вашу базу 1С:Управление торговлей. Обычно доступ к настройкам обмена с интернет-магазином находится в разделе 1С-Битрикс или Администрирование -> Настройки обмена данными -> Обмен с сайтами.
Найдем раздел "Соответствие реквизитов". В окне настроек обмена необходимо перейти на вкладку или раздел, который называется Настройка реквизитов загружаемых в 1С документов или просто Соответствие реквизитов. Этот раздел предназначен для определения того, как данные из XML-файла, получаемого от Битрикс, будут маппироваться на реквизиты документов 1С.
Изменим способ заполнения стоимости доставки. В этом разделе нам нужно найти реквизит, отвечающий за стоимость доставки. Он может называться Цена услуги доставки, Стоимость доставки или как-то аналогично. Для этого реквизита существует настройка способа заполнения. Типовые варианты включают:
Нам необходимо убедиться, что для реквизита, отвечающего за стоимость доставки, установлено значение "По данным XML".
Настроим вид цен для доставки. В некоторых случаях, помимо самой цены, важно также корректно определить вид цен, по которому эта услуга доставки будет учтена в 1С. Если поле вида цен для доставки тоже настроено на фиксированное значение (например, "Розничный"), это может привести к тому, что при загрузке заказа из Битрикс, даже если цена из XML будет взята, система 1С попытается применить к ней "Розничный" вид цен, который может быть не определен для этой услуги, или же цена будет искажена. В таком случае рекомендуется установить вид цен для услуги доставки на "Произвольная", что позволит системе брать цену так, как она пришла из XML, без привязки к жестко заданному виду цен 1С, или же настроить соответствующий вид цен в 1С.
Сохраним настройки и протестируем. После внесения изменений обязательно сохраните настройки модуля обмена и выполните повторную загрузку заказа из Битрикс. Теперь стоимость доставки должна корректно подставляться из данных сайта.
Таким образом, основной причиной проблемы было принудительное заполнение стоимости доставки фиксированным значением в настройках модуля обмена, игнорирующее данные из XML-файла Битрикс.
Для обеспечения полной и бесперебойной синхронизации цен и стоимости доставки между 1С:Управление торговлей (УТ) и 1С-Битрикс важно учитывать ряд других настроек и особенностей обмена данными. Мы проанализируем ключевые моменты, которые могут повлиять на корректность выгрузки и загрузки информации.
Правильная настройка ценообразования в 1С является фундаментом для адекватного отображения цен на сайте Битрикс. Разберем шаги, которые мы должны предпринять в 1С:УТ (версий 11.3 - 11.4 и выше):
Включение использования соглашений с клиентами. Первым делом, убедимся, что в 1С активировано использование соглашений. Для этого перейдем в раздел Администрирование -> Продажи -> Оптовые продажи и установим флаг Использовать соглашения с клиентами.
Создание типовых соглашений для каждого вида цен. Для каждого вида цен, который мы планируем выгружать на сайт, необходимо создать отдельное типовое соглашение. Например, если у нас есть "Розничные цены", "Оптовые цены", "Цены со скидкой", для каждого из них создаем соглашение:
CRM и маркетинг -> Соглашения с клиентами.Типовое соглашение.Вид цены обязательно укажем соответствующий вид цен (например, "Розничные цены").Прочие условия установим флаг "Доступно внешним пользователям для обмена с сайтом". Это критически важная настройка, которая позволяет системе обмена "видеть" и выгружать цены, связанные с этим соглашением.Настройка обмена с сайтом для выгрузки цен. После создания соглашений, перейдем к настройкам обмена с сайтом в 1С:
1С-Битрикс -> Настройки обмена с интернет магазином.Цены обязательно отметим опцию "Выгружать цены". Без этого действия цены просто не будут передаваться на сайт.Общие настройки в разделе Отбор по соглашениям выберем все типовые соглашения, которые мы создали для выгрузки видов цен на сайт. Система будет выгружать только те цены, которые связаны с выбранными соглашениями и имеют флаг "Доступно внешним пользователям".Проверка наличия цен в регистре сведений. Важно помнить, что если цена не задана для конкретного товара в регистре сведений 1С (например, CRM и маркетинг -> Цены (прайс-лист) в УТ 11), она не выгрузится на сайт. Это также относится к ценам, которые вычисляются по формуле при каждом обращении – они должны быть корректно рассчитаны и сохранены для выгрузки.
Мы должны учитывать, что возможности обмена данными с 1С могут различаться в зависимости от используемой лицензии 1С-Битрикс. Это напрямую влияет на то, сколько видов цен и складов мы сможем синхронизировать:
"1С-Битрикс: Малый бизнес". Эта лицензия имеет ограничения: она позволяет выгружать только один вид цен и остатки по одному складу. Если у нас есть потребность в отображении разных цен (например, розничных и оптовых) или остатков с нескольких складов, эта лицензия будет недостаточной.
"1С-Битрикс: Бизнес" или выше. Для выгрузки нескольких типов цен и остатков по нескольким складам нам потребуется лицензия уровня "Бизнес" или более старшие редакции. Прежде чем планировать сложную ценовую политику на сайте, убедимся, что наша лицензия Битрикс поддерживает необходимый функционал.
Вопрос обработки стоимости доставки является одним из самых частых при интеграции. Разберем его более детально:
Поле "Номенклатура доставки" в настройках обмена. В настройках обмена с сайтом в 1С существует специальное поле Номенклатура доставки. В этом поле мы можем указать номенклатуру-услугу (например, "Доставка курьером", "Почтовая доставка"), которая будет использоваться в документах 1С для определения стоимости доставки. Если это поле остается незаполненным, такая номенклатура-услуга может быть автоматически создана в 1С при первой загрузке заказа с услугой доставки.
Детальная настройка реквизитов загружаемых документов. Как мы уже обсуждали в основном решении, этот раздел является ключевым для корректной подстановки данных. Повторимся, что именно здесь в Настройке реквизитов загружаемых в 1С документов мы можем детально настроить, как будут заполняться данные, включая стоимость доставки. Мы имеем возможность выбирать источник данных:
Соответствие служб доставки. Важно также настроить соответствие служб доставки между 1С и сайтом в модуле обмена. Если на сайте у нас есть "Курьерская доставка" и "Самовывоз", убедимся, что они корректно сопоставлены с соответствующими видами доставки или номенклатурой услуг в 1С. Это поможет избежать путаницы и ошибок при обработке заказа.
Иногда проблема с ценами может быть связана не только с настройками обмена, но и с более общими настройками учета в самой 1С. Мы должны проверить:
Настройки видов цен. Если цена не заполняется (например, подставляется "Розничный" вид цен, но сама цена при этом пуста), нам необходимо проверить настройки видов цен в 1С. Возможно, для данного вида цен не установлен метод расчета или источник данных. Убедимся, что для выбранного вида цен существуют актуальные установки цен на номенклатуру доставки или на товары.
Настройки учета и склада. Как было упомянуто в одном из сообщений форума, если цена не заполняется (например, подставляется "Розничный" вид цен без самой цены), то необходимо проверить настройки учета и склада в 1С. Возможно, розничная цена является единственной, или склад не настроен как оптовый, что влияет на доступные виды цен и их автоматическое заполнение.
В завершение, предлагаем несколько общих рекомендаций, которые помогут нам поддерживать стабильный и корректный обмен данными между 1С и Битрикс:
Обновление до последних версий. Перед началом или при возникновении проблем с обменом всегда рекомендуется обновить до последних версий как конфигурацию 1С, так и модуль обмена 1С-Битрикс. Разработчики постоянно выпускают обновления, исправляющие ошибки и улучшающие функциональность.
Проверка логов обмена. Модуль обмена 1С-Битрикс поддерживает протокол CommerceML 2.0 и предоставляет подробные логи обмена. Мы должны регулярно проверять эти логи для выявления ошибок, предупреждений и некорректных данных. Логи могут содержать ценную информацию о том, почему те или иные данные не были выгружены или загружены.
Соответствие полей. При возникновении проблем с выгрузкой или загрузкой цен и доставки, всегда следует проверять соответствие полей между системами. Убедимся, что поле, отвечающее за цену в 1С, корректно сопоставлено с соответствующим полем в Битрикс, и наоборот. Взаимодействие происходит по открытым протоколам обмена данными, но правильное сопоставление полей критически важно.
Совместимость версий. Необходимо убедиться, что версии 1С и Битрикс совместимы друг с другом. Ознакомимся с документацией к модулю обмена, чтобы узнать требования к минимальным версиям обеих систем.
Следуя этим рекомендациям и тщательно настраивая модуль обмена, мы сможем добиться точной и бесперебойной синхронизации цен и стоимости доставки между 1С:Управление торговлей и 1С-Битрикс, обеспечивая корректное отображение информации на сайте и правильный учет в учетной системе.