Вход | Регистрация
 

Запись в набор записей регистра сведений

Запись в набор записей регистра сведений
Я
   NurSagen
 
14.01.22 - 13:32
Есть непереодический независимый регистр сведений, с одним измерением. Он имеет уже некоторые записи. Нужно массово в него добавить еще записей.

Я сделал примерно так:

    НаборЗаписей = РегистрыСведений.РС.СоздатьНаборЗаписей();
    НаборЗаписей.Прочитать();
    
    Для Каждого Документ Из МассивДокументов Цикл
        
        НовЗапись = НаборЗаписей.Добавить();
        НовЗапись.Измерение1 = Документ;
        
    КонецЦикла;
    
    НаборЗаписей.Записать(Истина);

И получаю ошибку, что запись с такими ключевыми полями уже существует. Логично, один из записываемых документов уже есть в регистре, но как тогда переписать код?
Писать через менеджер записей - вроде неправильно, ведь массив большой, записей осуществляется много.

P.S. я честно говоря, думал, что в "НаборЗаписей.Записать(Истина)" параметр Истина как-раз таки и будет замещать повторяющиеся записи..
   NurSagen
 
1 - 14.01.22 - 13:33
Делать каждый раз отбор по документу и прочитывать в цикле заново и проверять есть ли что-то уже тоже мне не нравиться, кажется что будет долго.
   Галахад
 
2 - 14.01.22 - 13:37
В массиве-то дублей нет?
   hhhh
 
3 - 14.01.22 - 13:38
(1) делай в транзакции, тогда будет быстро
   NurSagen
 
4 - 14.01.22 - 13:40
(2) нет
   youalex
 
5 - 14.01.22 - 14:44
А Прочитать() зачем?
   Ёпрст
 
6 - 14.01.22 - 14:46
(0) выкинуть прочитать, добавить отбор
   Kassern
 
7 - 14.01.22 - 14:47
(0)
НаборЗаписей = РегистрыСведений.РС.СоздатьНаборЗаписей();
НаборЗаписей.Загрузить(ПодготовленнаяТаблицаСДокументами);
НаборЗаписей.записать();
   Kassern
 
8 - 14.01.22 - 14:48
(7) Запросом получаете все необходимые записи для РС и пихаете в таблицу значений
   timurhv
 
9 - 14.01.22 - 15:01
(8) И через 0.05 сек другой сеанс загружает свои данные, удаляя изменения предыдущего? Блокировки тогда ставить на весь регистр.
   Kassern
 
10 - 14.01.22 - 15:04
(9) надо с пониманием к этому способу подходить. Актуален, когда надо перезаполнить львиную долю регистра

Список тем форума
 
начал читать тему и понял, что как всегда - вместо того, чтобы поддержать или научить, человеку рассказывают о том, как отмазаться или не делать mikecool
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.