Имя: Пароль:
1C
1С v8
Запись в непериодический регистр сведений
0 lirt82
 
27.06.25
10:56
В конфе есть непериодический регистр сведений ШтрихкодыНоменклатуры, в регистре только одно измерение Штрихкод и один ресурс Номенклатура. Задача необходимо обновить штрихкоды номенклатуры из файла эксель. Проблема в том что запросом получаю запись регистра через параметр запроса ресурс = Номенклатура, но запись не замещается а добавляется, тоже самое если программно обратиться к регистру, так как регистр непериодический то отбор работает только по измерениям и запись добавляется.
1 Волшебник
 
27.06.25
10:58
Надо выбрать существующие штрихкоды и удалить их через МенеджерЗаписи.Удалить()
2 lirt82
 
27.06.25
11:04
(1) правильно понимаю
1 шаг. Формирую таблицу значении из базы, 2 колонки, Номенклатура и штрихкод, обхожу таблицу и удаляю записи из регистра.
2 шаг. Загружаю данные из эксель.
МенеджерЗаписи = РегистрыСведений.ШтрихкодыНоменклатуры.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Штрихкод = ПолеШтрихкодИзЭксель;
МенеджерЗаписи.Номенклатура = ВыборкаДетальныеЗаписи.НашлиТовар;
МенеджерЗаписи.Записать();
3 Волшебник
 
27.06.25
11:05
(2) да, вполне.
Бэкап не забудьте
4 Tarlich
 
27.06.25
11:10
(0) взять универсальную загрузку , загрузить и забыть -))
5 lirt82
 
27.06.25
11:18
(4) кстати да :-)
6 Eiffil123
 
27.06.25
11:24
(5) не кстати и не да. как она удалит то старые записи?
7 Мультук
 
гуру
27.06.25
11:52
(0)

После удаления окажется, что "неправильные" (те что есть) это были штрихкоды упаковок.
И они нужны.

А те что загружаются из Эксель это штрихкоды "шт" и они тоже нужны.

Вот будет веселуха.

ИЛИ

{еще что-нибудь}
8 Михаил Козлов
 
27.06.25
15:24
(6) Удаляет.