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