При настройке обмена между конфигурацией 1С:Управление торговлей (редакция 11) и веб-сайтом разработчики и администраторы периодически сталкиваются с ситуацией, когда в выгружаемом XML-файле обмена (обычно offers.xml) присутствуют два разных числовых значения цен, однако тег <ИдТипаЦены> содержит один и тот же уникальный идентификатор. Из-за этого CMS на стороне сайта не может корректно разделить прайс-листы и перезаписывает ценники одной позицией.
Рассмотрим подробнее причины возникновения этой проблемы и проанализируем доступные способы ее решения.
Проанализируем ситуацию, почему платформа 1С может подставлять одинаковый GUID для разных типов цен при формировании файла CommerceML:
ВидЦены, 1С подставляет GUID этого общего вида цены для обеих выгружаемых колонок.ВидыЦен, у объектов базы может сохраниться дублирующийся идентификатор или некорректная ссылка в служебных регистрах.Разберем по шагам наиболее быстрое и практическое решение, если штатный модуль обмена объединяет типы цен в рамках одного процесса выгрузки:
Посмотрим на алгоритм проверки и настройки соглашений, если выгрузка осуществляется по правилам продаж:
ВидыЦен (раздел CRM и маркетинг) и убедимся, что в системе созданы два абсолютно независимых элемента с уникальными наименованиями.УстановкаЦенНоменклатуры.ТиповыеСоглашенияСКлиентами.Если для интеграции с сайтом (например, Magento или Bitrix) требуется передавать не стандартный уникальный идентификатор 1С (GUID), а конкретное наименование или символьный код типа цены:
В настройках узла обмена или в свойствах самого вида цены определим специальный идентификатор для сайта. В этом случае модуль выгрузки заменяет системный УИД на заданный строковый код, что позволяет внешнему скрипту на стороне CMS правильно сопоставить прайс-листы по их наименованию или внутреннему коду сайта.