Обновить регистр сведений по отбору

1. sys1c 25.01.19 08:51 Сейчас в теме
Необходимо в регистре сведений - Штрихкоды, обновить значения штрихкодов по списку.

в таблицаЗначенийСНовымиШтрихкодами у меня хранятся новые значения. Колонки Штрихкод и Номенклатура.
в СписокЗначенийСНужнымиШтрихкодами у меня хранится список Штрихкодов, которые нужно обновить.

	НаборШ = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();
	НаборШ.Отбор.Штрихкод.ВидСравнения = ВидСравнения.ВСписке;
	НаборШ.Отбор.Штрихкод.Установить(СписокЗначенийСНужнымиШтрихкодами);
	НаборШ.Загрузить(таблицаЗначенийСНовымиШтрихкодами);
	НаборШ.Записать();


вот этот код не работает, ругается "Недопустимый тип сравнения"
если убрать отборы, то Регистр Сведений - Штрикоды, понятно затирается полностью, т.е. затирает те штрихкоды, которые не выходят в отбор.
Как быть?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dhurricane 25.01.19 09:23 Сейчас в теме
Обойти список штрихкодов в цикле. На каждой итерации создать набор записей, загрузить в него соответствующие строки из таблицы с новыми значениями и записать.
3. SedovSU@mail.ru 298 25.01.19 09:39 Сейчас в теме
а у вас регистр сведений состоит из двух измерений: Номенклатура и Штрих код?
4. SedovSU@mail.ru 298 25.01.19 09:45 Сейчас в теме
Вот так не подойдет?

Для Каждого НовыйШтрихКод Из таблицаЗначенийСНовымиШтрихкодами  Цикл

 НаборШ = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();
 НаборШ.Отбор.Номенклутар.Установить(НовыйШтрихКод.Номенклатура);
 НаборШ.Отбор.ШрихКод.Установить(НовыйШтрихКод.Шрихкод);
 НаборШ.Прочитать();
 Если НаборШ.Количество() = 0 Тогда
     Запись = НаборШ.Добавить();
 ИНаче
      Запись = НаборШ[0];
Конецесли

Запись.Номенклатура = НовыйШтрихКод.Номенклатура;
Запись.Шрихкод = НовыйШтрихКод.Шрихкод;

НаборШ.Записать()

КонецЦикла;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот