Необходимо в регистре сведений - Штрихкоды, обновить значения штрихкодов по списку.
в таблицаЗначенийСНовымиШтрихкодами у меня хранятся новые значения. Колонки Штрихкод и Номенклатура.
в СписокЗначенийСНужнымиШтрихкодами у меня хранится список Штрихкодов, которые нужно обновить.
вот этот код не работает, ругается "Недопустимый тип сравнения"
если убрать отборы, то Регистр Сведений - Штрикоды, понятно затирается полностью, т.е. затирает те штрихкоды, которые не выходят в отбор.
Как быть?
в таблицаЗначенийСНовымиШтрихкодами у меня хранятся новые значения. Колонки Штрихкод и Номенклатура.
в СписокЗначенийСНужнымиШтрихкодами у меня хранится список Штрихкодов, которые нужно обновить.
НаборШ = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();
НаборШ.Отбор.Штрихкод.ВидСравнения = ВидСравнения.ВСписке;
НаборШ.Отбор.Штрихкод.Установить(СписокЗначенийСНужнымиШтрихкодами);
НаборШ.Загрузить(таблицаЗначенийСНовымиШтрихкодами);
НаборШ.Записать();
вот этот код не работает, ругается "Недопустимый тип сравнения"
если убрать отборы, то Регистр Сведений - Штрикоды, понятно затирается полностью, т.е. затирает те штрихкоды, которые не выходят в отбор.
Как быть?
По теме из базы знаний
- Регистры сведений 1С. Как это устроено.
- Версионирование справочников, документов и регистров сведений на SQL-сервере
- Дополнительные сведения в типовых конфигурациях 1С
- Инструменты опытного пользователя для коррекции регистров. ЗУП 3.1
- Выгрузка и загрузка данных XML адаптивная с гибкими отборами 2024
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вот так не подойдет?
Для Каждого НовыйШтрихКод Из таблицаЗначенийСНовымиШтрихкодами Цикл
НаборШ = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьНаборЗаписей();
НаборШ.Отбор.Номенклутар.Установить(НовыйШтрихКод.Номенклатура);
НаборШ.Отбор.ШрихКод.Установить(НовыйШтрихКод.Шрихкод);
НаборШ.Прочитать();
Если НаборШ.Количество() = 0 Тогда
Запись = НаборШ.Добавить();
ИНаче
Запись = НаборШ[0];
Конецесли
Запись.Номенклатура = НовыйШтрихКод.Номенклатура;
Запись.Шрихкод = НовыйШтрихКод.Шрихкод;
НаборШ.Записать()
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот