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