Почему Tilda не видит второй тип цен (старую цену) при выгрузке из 1С:УТ 10.3?

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

Синхронизация данных между 1С:Управление торговлей 10.3 и конструктором сайтов Tilda часто преподносит сюрпризы, особенно когда речь заходит о выгрузке дополнительных типов цен. Распространенная ситуация: в программе 1С настроена выгрузка двух типов цен (например, «Розничная» и «Старая цена»), в формируемом XML-файле offers.xml оба типа присутствуют, но на самом сайте отображается только одна цена. Проанализируем, почему так происходит и как заставить Tilda корректно обрабатывать эти данные.

Проверка корректности формирования файла offers.xml

Первым делом нам необходимо убедиться, что проблема не на стороне 1С. Разберем структуру узла цен в стандарте CommerceML 2.05, который используется при обмене. Мы должны открыть файл offers.xml (обычно он находится во временной папке обмена или выгружается локально для теста) и найти блок Цены внутри каждого предложения Предложение.

Рассмотрим пример того, как должен выглядеть корректный блок с двумя типами цен:


<Цены>
    <Цена>
        <Представление> 500 руб. за шт</Представление>
        <ИдТипаЦены>fa873330-192a-11e1-9e20-0015e9b8c48d</ИдТипаЦены>
        <ЦенаЗаЕдиницу>500</ЦенаЗаЕдиницу>
        <Валюта>руб</Валюта>
        <Единица>шт</Единица>
        <Коэффициент>1</Коэффициент>
    </Цена>
    <Цена>
        <Представление> 700 руб. за шт</Представление>
        <ИдТипаЦены>40d7c718-283d-11e2-8924-0015e9b8c48d</ИдТипаЦены>
        <ЦенаЗаЕдиницу>700</ЦенаЗаЕдиницу>
        <Валюта>руб</Валюта>
        <Единица>шт</Единица>
        <Коэффициент>1</Коэффициент>
    </Цена>
</Цены>

Если в вашем файле присутствуют оба блока Цена с разными ИдТипаЦены, значит, 1С:УТ 10.3 отрабатывает штатно. Обратите внимание, что в сообщении форума №9 ошибочно упоминается Enterprise Data — на самом деле типовой обмен с сайтом в УТ 10.3 базируется исключительно на CommerceML.

Настройка сопоставления цен в личном кабинете Tilda

Выясним причину, по которой Tilda игнорирует второй блок. В отличие от CMS Bitrix, которая часто умеет автоматически подтягивать типы цен, Tilda требует жесткого ручного сопоставления. Даже если выгрузка настроена идеально, сайт «не узнает» вашу старую цену, пока вы не укажете её идентификатор в настройках.

Разберем по шагам, что нужно сделать в панели управления Tilda:

  1. Перейдите в раздел Магазин → Настройки.
  2. Найдите пункт Экспорт/Импорт данных и выберите 1С.
  3. В открывшихся настройках найдите поля для сопоставления цен.
  4. В поле Идентификатор типа цены для основной цены нужно вписать ИдТипаЦены из XML-файла, соответствующий вашей розничной цене.
  5. В поле Идентификатор типа цены для старой цены (зачеркнутой) нужно вписать ИдТипаЦены для типа «Старая цена».

Важный нюанс: часто разработчики пытаются вписать в эти поля текстовое название («Розничная», «Старая цена»). Однако Tilda лучше всего работает именно с уникальными идентификаторами (GUID). Возьмите значение из тега ИдТипаЦены в вашем offers.xml и вставьте его в настройки Tilda. Это гарантирует однозначную связь.

Проверка логических условий отображения цен

Проанализируем ситуацию, когда идентификаторы прописаны верно, но цена все равно не отображается. У Tilda есть встроенная логика обработки данных, которую нельзя игнорировать:

Настройка выгрузки в 1С:УТ 10.3

Посмотрим на настройки самой 1С. В типовой торговле 10.3 настройка обмена с сайтом находится в меню Сервис — Обмен данными с WEB-сайтом — Настройка обмена данными с WEB-сайтом.

Рассмотрим шаги для правильной подготовки выгрузки:

  1. Откройте вашу настройку обмена и перейдите на закладку Выгрузка товаров.
  2. В табличной части Настройка соответствия типов цен убедитесь, что выбраны именно те два типа цен, которые вы хотите видеть на сайте.
  3. Если вы используете отбор по категориям или видам номенклатуры, проверьте, что выбранные типы цен вообще назначены для данных товаров и по ним установлены значения документом Установка цен номенклатуры.
  4. В поле Версия CommerceML лучше использовать значение 2.05 или выше, так как Tilda оптимизирована под этот формат.

Отображение на сайте (Front-end)

Если данные успешно попали в базу данных Tilda, но «Старая цена» все еще не видна в карточке товара, проблема может заключаться в настройках самого компонента каталога. Разберем, что нужно проверить в редакторе страниц:

Перейдите в настройки блока «Список товаров» или «Корзина». Убедитесь, что там включена опция «Показывать старую цену». Часто бывает так, что импорт проходит успешно, данные в системе есть, но шаблон вывода просто скрывает поле со старой ценой по умолчанию.

Также имейте в виду фактор кэширования. Tilda может не обновлять данные мгновенно для всех товаров. После изменения настроек сопоставления GUID рекомендуется выполнить полную выгрузку из 1С (сняв флаг «Выгружать только изменения»), чтобы принудительно обновить все карточки товаров на стороне сайта.

Подводя итог, можно сказать: связка 1С:УТ 10.3 и Tilda вполне работоспособна в плане передачи нескольких цен, если отказаться от сопоставления по именам в пользу GUID и внимательно проверить настройки импорта в личном кабинете магазина на стороне Tilda.

← На главную