Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Удаление записей из регистра сведений

Удаление записей из регистра сведений
Я
   1snik_d
 
29.01.20 - 10:55
Привет. Есть непериодический, независимый регистр сведений. Мне нужно удалить из него ряд записей с определенным условием по ресурсам регистра. Как правильнее это сделать?
У меня такие варианты:
1) Выгрузить набор записей в таблицу значений, там удалить лишнее, загрузить обратно
2) Перебрать все записи регистра из набора, удалить лишние, записать набор. Тут есть сомнения, что при удалении записей будет сбиваться выборка.
 
 
   Aleksey
 
1 - 29.01.20 - 10:59
запрос?
   1snik_d
 
2 - 29.01.20 - 11:01
(1) а удалять как?
   Волшебник
 
Модератор
3 - 29.01.20 - 11:02
Нужно использовать МенеджерЗаписи и его метод Удалить.
Никаких наборов!
   olegves
 
4 - 29.01.20 - 11:05
+(3) а можно еще и набор записей с отбором использовать. Отбор по измерениям. Если надо удалять целыми наборами (в разрезе отборов), то так быстрее, чем (3)
   Волшебник
 
Модератор
5 - 29.01.20 - 11:06
(4) И очень рискованно. Можно удалить лишнее или всё. Отбор может по какой-то причине не установиться, а платформа промолчит
   1snik_d
 
6 - 29.01.20 - 11:06
(3) Скорость работы будет атас конечно ((
   Волшебник
 
Модератор
7 - 29.01.20 - 11:06
(6) Лучше медленно, но верно
   1snik_d
 
8 - 29.01.20 - 11:06
(4) Отбор не работает по ресурсам к сожалению
   1snik_d
 
9 - 29.01.20 - 11:08
(7) А через таблицу значений плохой вариант?
   Волшебник
 
Модератор
10 - 29.01.20 - 11:19
(9) Нет такого варианта. Удалять можно или набором, или менеджером записи.
   Aleksey
 
11 - 29.01.20 - 11:20
(8) поэтому запрос
   1snik_d
 
12 - 29.01.20 - 11:22
(10) Понятно, что там получается через набор записей. Ладно, я понял, спасибо всем.
   1snik_d
 
13 - 29.01.20 - 11:22
(11) Да нельзя через запрос манипулировать данными, вопрос не в том, как отобрать, а как удалить
   1ctube
 
14 - 29.01.20 - 11:29
(5) Такое уже случалось? Просто когда нужно удалить какую-либо инфу из РС, то всегда использую отбор. Получается это не правильный подход?
   olegves
 
15 - 29.01.20 - 11:42
(14) у меня такого небыло никогда - отбор всегда устанавливался. Да и массовые удаления записей регистра нужны редко, поэтому их сначала на копии базы пробую
   inkvizitr
 
16 - 29.01.20 - 13:49
Рабочий пример с набором, переделать под твой пару минут, где сотрудник это ссылка на элемент справочника, чтобы в последующем устанавливать отбор по измерению регистра    

НаборДанных = РегистрыСведений.КадроваяИсторияСотрудниковИнтервальный.СоздатьНаборЗаписей();
    НаборДанных.Отбор.Сотрудник.Установить(Сотрудник);
    НаборДанных.Прочитать();
    Если НаборДанных.Количество() Тогда
        НаборДанных.Очистить();
        НаборДанных.Записать();
    Иначе
        Сообщить("Ничего не нашел");
    КонецЕсли;
   1snik_d
 
17 - 29.01.20 - 18:09
(16) Спасибо. Это я и сам умею )). Тем более в моем случае не так надо, мне отбор по ресурсам нужен. Хотел просто оптимально по скорости сделать, но получилось как всегда.
   ам794123
 
18 - 29.01.20 - 20:04
(0) В обработке создать динамически список: основная таблица - твой регистр. штатными средствами УФ накладываешь отбор, cntr+A и Del. Профит.
   runoff_runoff
 
19 - 29.01.20 - 20:27
(17) набор записей – это набор с отбором по измерениям, следовательно, твой случай – не набор записей, а просто заместит весь регистр содержимым таблицы значений
   МимохожийОднако
 
20 - 29.01.20 - 20:34
(17) Тогда запросом получай записи по отдельности и далее по (3)
   1snik_d
 
21 - 29.01.20 - 20:42
(20) Уже так и сделал


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