Как очистить большой регистр

1. starjevschik 22.03.17 12:15 Сейчас в теме
Есть УТ 10 SQL, в ней есть самопальный регистр сведений, независимый. В нем одно измерение и одно значение этого измерения.
Регистр занимает примерно 6 Гб. Его надо очистить, но если я делаю обычное НаборЗаписей.Очистить(), то 1с вылетает с ошибкой "Недостаточно памяти". Разбить на кусочки по значениям измерений не получается, т.к. значение одно.
Как быть?
По теме из базы знаний
Найденные решения
13. japopov 68 22.03.17 13:27 Сейчас в теме
(1)
А так не пойдёт?
	Рег = РегистрыСведений.ИмяВашегоРегистра.Выбрать();
	Пока Рег.Следующий() Цикл
		Рег.ПолучитьМенеджерЗаписи().Удалить();
	КонецЦикла;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alex-l19041 8 22.03.17 12:18 Сейчас в теме
(1)
(1)
по значениям измерений не получается, т.к. значение одно.
- можете уточнить ? Столько занимает ОДНА запись регистра ?
4. DmitriyPopow 33 22.03.17 12:20 Сейчас в теме
(2)
можетее уточнить ? Столько занимает ОДНА запись регистра ?

сначала не въехал.. может там фильм...периодический может тогда у него?!
9. starjevschik 22.03.17 13:06 Сейчас в теме
(2) ну в регистре примерно 600 000 записей, т.е. одна запись с десяток байт

(5) аналогично не хватает памяти


(7) тоже вариант, но это монопольно надо, люди работают. Архитектура не моя и вообще этот регистр не используется давно, это логи каких-то обменов, чистить надо регулярно, конечно. Если знаете таких Зета Софт, то это к ним :)


(8) проще, но я не очень люблю лазить прямо в базы 1с, т.к. мало ли что о)

(6) нельзя ли чуть подробнее. Запись из набора не удаляется, метода Удалить у нее нет вроде как.
5. TODD22 18 22.03.17 12:21 Сейчас в теме
(1)Попробуй не очищать а записать пустой набор.
11. kolya_tlt 86 22.03.17 13:19 Сейчас в теме
(1) сделайте транзакцию по удалению по 1к записей используя менеджер записи
корум; +1 Ответить
13. japopov 68 22.03.17 13:27 Сейчас в теме
(1)
А так не пойдёт?
	Рег = РегистрыСведений.ИмяВашегоРегистра.Выбрать();
	Пока Рег.Следующий() Цикл
		Рег.ПолучитьМенеджерЗаписи().Удалить();
	КонецЦикла;
17. starjevschik 22.03.17 15:35 Сейчас в теме
(13) спасибо большущее, помогло ))
14. корум 287 22.03.17 13:36 Сейчас в теме
(1) пока ЗаписиЕсть цикл
Выбрать первые 999
Удалить
конецЦикла
3. DJDUH 17 22.03.17 12:18 Сейчас в теме
6. DrBlack 23 22.03.17 12:22 Сейчас в теме
Как вариант, массив со ссылками на строки крутить в цикле, удаление как в таблице значений по одной записи через менеждер/набор, пробовали?
7. ipoloskov 162 22.03.17 12:27 Сейчас в теме
Сохранить конфигурацию в файл.
Удалить регистр в конфигураторе.
Обновить конфигурацию БД.
Загрузить конфигурацию из файла.

Подумать над архитектурой данных, чтобы не было такого безобразия.
orfos; collider; roman77; alex-l19041; +4 Ответить
12. kolya_tlt 86 22.03.17 13:22 Сейчас в теме
(7) вы как определили что это безобразие? полно задач, где проектировать один ресурс и документ в качестве измерения (вместо реквизита документа) оправдано
8. ditp 91 22.03.17 12:28 Сейчас в теме
А в скуле delete from ххх не проще?
ImHunter; +1 Ответить
10. ditp 91 22.03.17 13:16 Сейчас в теме
й = РегистрыСведений.ИмяРег.СоздатьНаборЗаписей();
й.Записать(Истина);
15. DenisCh 22.03.17 13:43 Сейчас в теме
16. sommid 22.03.17 13:50 Сейчас в теме
Очищайте средствами sql, на инфостарте есть соответствующие разработки
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот