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

1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка блокировок при очистке регистра сведений

Ошибка блокировок при очистке регистра сведений
Я
   Puzoter
 
27.11.17 - 15:04
Запросом выбираю записи РС, далее:

НаборЗаписей.Загрузить(РезультатЗапроса.Выгрузить());
НаборЗаписей.Очистить();
НаборЗаписей.Записать();

При попытке записать вываливается ошибка:

"Конфликт блокировок при выполнении транзакции".
Регистр не периодический, регистратору не подчинен.

В чем причина ошибки?
 
 
   Puzoter
 
1 - 27.11.17 - 15:05
(0) + В монопольном режиме
   Elatiell
 
2 - 27.11.17 - 15:19
Можно увидеть весь код процедуры?
   Numerus Mikhail
 
3 - 27.11.17 - 15:21
А зачем загружать и очищать сразу после этого?

посмотрите подписки на события, мб там что-то
   Puzoter
 
4 - 27.11.17 - 15:24
(2) НаборЗаписей = РегистрыСведений.ГрафикиРаботы.СоздатьНаборЗаписей();
    Сч = 1;    
    Пока Истина Цикл
        ОбработкаПрерыванияПользователя();        
        
        Запрос = Новый Запрос;
        Запрос.Текст = 
        "ВЫБРАТЬ ПЕРВЫЕ 1000
        |    ГрафикиРаботы.ГрафикРаботы,
        |    ГрафикиРаботы.Месяц,
        |    ГрафикиРаботы.План,
        |    ГрафикиРаботы.ВидУчетаВремени,
        |    ГрафикиРаботы.Дата
        |ИЗ
        |    РегистрСведений.ГрафикиРаботы КАК ГрафикиРаботы
        |ГДЕ
        |    ГрафикиРаботы.Дата > &Дата";
        
        Запрос.УстановитьПараметр("Дата", Дата(2016,12,31));
        
        РезультатЗапроса = Запрос.Выполнить();
        Если РезультатЗапроса.Пустой() Тогда
            Прервать;
        КонецЕсли;    
        
        НаборЗаписей.Загрузить(РезультатЗапроса.Выгрузить());
        НаборЗаписей.Очистить();
        НаборЗаписей.Записать();
        Сообщить(Сч);
        Сч = Сч +1;    
    КонецЦикла;
   Puzoter
 
5 - 27.11.17 - 15:25
(3) Все сразу не получается - не хватает памяти.
   Numerus Mikhail
 
6 - 27.11.17 - 15:33
(5) я к тому, что отбор же не устанавливается? и затрутся в любом случае все записи.
Ну, если верить синтаксис помощнику и здравому смыслу.
   Elatiell
 
7 - 27.11.17 - 15:37
(4) У Вас это откуда запускается?
   Elatiell
 
8 - 27.11.17 - 15:37
(4) Фоновое задание не используется?
   ptiz
 
9 - 27.11.17 - 15:39
(4) А ты понимаешь, что этот код делает?
   Puzoter
 
10 - 27.11.17 - 16:04
(6) Я почему-то был уверен, что отбор применяется только в момент чтения, а записывается соответственно то, что попало в отбор.
 
 Рекламное место пустует
   Puzoter
 
11 - 27.11.17 - 16:04
(8) Запускается из толстого клиента, фоновые задания отключены.
   Puzoter
 
12 - 27.11.17 - 16:16
Ок, тогда вопрос: как удалить записи РС порциями при том, что критерий отбора находится в диапазоне?
   Elatiell
 
13 - 27.11.17 - 16:17
(11) Пришло время Вам научиться пользоваться технологическим журналом...
   Волшебник
 
Модератор
14 - 27.11.17 - 16:23
(12) Используй менеджер записи.
   ptiz
 
15 - 27.11.17 - 16:26
(12) Вариант 1: поштучно удалять из базы.
Вариант 2: большим отбором, покрывающим все записи с запасом, прочитать данные, удалить лишние, записать.
   aleks_default
 
16 - 27.11.17 - 16:37
(10)"Я почему-то был уверен, что отбор применяется только в момент чтения, а записывается соответственно то, что попало в отбор." - где у тебя в коде хоть раз используется слово "отбор"?

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