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