Печатаю текст готового алгоритма (который можно добавить через справочник произвольных алгоритмов и выбрать в загрузке прайса в 1С. Задача алгортма сопоставить номенклатуру прайса поставщика с базой 1С по дополнительному реквизиту номенклатуры (в прайсе поставщика есть свойство). Дополнительный реквизит имеет какие то уникальные значения (при необходимости код алгоритма можно усложить).
Нужно обратить внимание: 1) "Ваше наименование свойства" - заменить на ваше наименование свойства. 2) В настройках колонок прайса, установить номер колонки со значениями свойств на строке Идентификатор номенклатуры. 3) Данный алгоритм будет работать намного медленнее других (так как идет обращение к табличной части номенклатуры,а также значения свойств тоже отдельный справочник). Все это вместе влияет на скорость.
ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("Номенклатура", ПустаяСсылка); ПараметрыОтбора.Вставить("ЭтоГруппа", Ложь);
ТектЗапроса = "ВЫБРАТЬ | ВременнаяДанныеПоиска.НомерСтроки КАК НомерСтроки, | ВременнаяДанныеПоиска.Поле_ИдентификаторНоменклатуры КАК Поле_ИдентификаторНоменклатуры |ПОМЕСТИТЬ ВременнаяДанныеПоиска |ИЗ | &ДанныеПоиска КАК ВременнаяДанныеПоиска |ГДЕ | ВременнаяДанныеПоиска.Поле_ИдентификаторНоменклатуры<> """" |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВременнаяДанныеПоиска.НомерСтроки КАК НомерСтроки, | СпрНоменклатура.Ссылка КАК Номенклатура |ИЗ | ВременнаяДанныеПоиска КАК ВременнаяДанныеПоиска | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СпрНоменклатураРеквизиты.Ссылка КАК Ссылка, | СпрНоменклатураРеквизиты.Значение.Наименование КАК НаименованиеЗначения | ИЗ | Справочник.Номенклатура.ДополнительныеРеквизиты КАК СпрНоменклатураРеквизиты | ГДЕ | СпрНоменклатураРеквизиты.Свойство = &ВыбСвойство | И СпрНоменклатураРеквизиты.Ссылка.ПометкаУдаления = ЛОЖЬ) КАК СпрНоменклатура | ПО ВременнаяДанныеПоиска.Поле_ИдентификаторНоменклатуры = СпрНоменклатура.НаименованиеЗначения";
Запрос = Новый Запрос(); Запрос.Текст = ТектЗапроса; Запрос.УстановитьПараметр("ДанныеПоиска", ДанныеПоиска); Запрос.УстановитьПараметр("ПустаяСсылка", ПустаяСсылка); Запрос.УстановитьПараметр("ВыбСвойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Ваше наименование свойства"));