При настройке типового веб-обмена в 1С:Управление торговлей 10.3 часто возникает ситуация: в базе ведется учет по нескольким организациям, а выгрузить товары на сайт (например, 1С-Битрикс) нужно от имени конкретной, скажем, «Организации №2». Однако в сформированном файле import.xml владельцем каталога упорно значится «Организация №1», и выгружаются только ее товары (или товары выгружаются независимо от принадлежности к организации, но с неверным владельцем). Разберем подробнее причины такого поведения и способы решения проблемы.
Проанализируем архитектуру типового модуля обмена УТ 10.3 и требования стандарта выгрузки.
import.xml, использует жесткую XSD-схему. Согласно этой схеме, узел <Владелец> в каталоге товаров является строго обязательным. ТоварыОрганизаций) и в документах движения.ТоварыНаСкладах (или ТоварыВРознице), в котором измерение «Организация» вообще отсутствует.Для большинства современных CMS (включая Битрикс) содержимое тега владельца носит исключительно информационный характер и никак не влияет на загрузку товарных позиций на сайт. То есть сайту все равно, какая организация указана владельцем файла.
Если товары «Организации №2» вообще не попадают в файл выгрузки, причина кроется не в теге «Владелец». Посмотрим на основные факторы, блокирующие выгрузку:
Посмотрим на фрагмент кода типовой процедуры регистрации изменений, где видно, что фильтрация по организации отсутствует (регистрируется либо сам объект, либо его владелец):
Процедура ЗарегистрироватьИзменения(Объект)
Если Не ПараметрыСеанса.НаличиеОбменаССайтом Тогда
Возврат;
КонецЕсли;
ТипОбъекта = ТипЗнч(Объект);
Если ТипОбъекта = Тип("РегистрСведенийНаборЗаписей.ЗначенияСвойствОбъектов") Тогда
МассивУзлов = ПолучитьМассивУзловДляРегистрации(Истина);
Для каждого Запись Из Объект Цикл
ТипДанных = ТипЗнч(Запись.Объект);
Если ТипДанных = Тип("СправочникСсылка.Номенклатура") Тогда
ПланыОбмена.ЗарегистрироватьИзменения(МассивУзлов, Запись.Объект);
ИначеЕсли ТипДанных = Тип("СправочникСсылка.ХарактеристикиНоменклатуры") Тогда
ПланыОбмена.ЗарегистрироватьИзменения(МассивУзлов, Запись.Объект.Владелец);
КонецЕсли;
КонецЦикла;
// ... дальнейшая логика для регистров накопления и сведений
КонецПроцедуры
Разберем несколько рабочих способов, как настроить корректную выгрузку товаров и остатков для нужной компании.
Так как типовой обмен УТ 10.3 сильно ограничен, лучшим решением будет установить специализированный модуль обмена с сайтом (например, от 1С-Битрикс). В этих расширенных модулях реализован необходимый функционал:
ТоварыОрганизаций).Если возможности установить внешний модуль нет, мы можем использовать обходной путь. Поскольку встроенный обмен не умеет фильтровать по организациям, но умеет фильтровать по складам и типам цен, сделаем следующее:
Таким образом, в выгрузку попадут только те товары, у которых есть цены или остатки на выбранных складах.
Для устранения проблем с RLS и регистрацией выполним следующие действия:
Номенклатура. Это заставит систему принудительно сформировать XML по выбранным товарам, даже если по ним не было недавних движений.Подводя итоги: Владелец XML-каталога в типовой УТ 10.3 подставляется автоматически и на саму загрузку товаров на сайт не влияет. Если товары не выгружаются, необходимо проверять права пользователя, регистрацию изменений и настройки отборов. Для полноценной и гибкой выгрузки в разрезе организаций настоятельно рекомендуется использовать сторонние модули обмена.