Имя: Пароль:
1C
1С v8
Как удалить записи регистра сведений, с отбором по ресурсу?
0 lanc2233
 
04.09.12
01:12
Регистр сведений не подчинен регистратору.

Все примеры по удалению, которые видел - создается НаборЗаписей с отбором, по нему цикл и удаление.

В НабореЗаписей, по ресурсу нельзя установить отбор. (индексировать стоит)

Как удалить записи РС, по значению ресурса?
1 hhhh
 
04.09.12
01:21
никак, чтение и запись набора существует только для комбинации измерений регистра.
2 dauster
 
04.09.12
01:22
Прочитать набор записей без отбора, удалить из него лишние записи, записать.
Если записей много (миллионы) - то тоже самое, но порционно (сначала по одному значению измерения, потом по второму и тд)
3 petrowsky
 
04.09.12
01:23
(0) запросом с отбором по ресурсу получаешь выборку всех интересующих записей (обязательно выводить значения всех измерений)
дальше в цикле удаляешь записи по одной
4 lanc2233
 
04.09.12
01:28
(3) а как запись из выборки получить? в запросе только названия измерений и ресурсов?
5 petrowsky
 
04.09.12
01:35
(4) для регистра сведений РС, у которого 2 измерения: Измерение1, Измерение2 и ресурс: Ресурс1

Запрос = Новый Запрос;
Запрос.Текст = "выбрать РС.Измерение1, РС.Измерение2 из РегистрСведений.РС как РС где РС.Ресурс1 = &Ресурс1";
Запрос.УстановитьПараметр("Ресурс1", ЗначениеРесурса1);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
   НаборЗаписей = РегистрыСведений.РС.СоздатьНаборЗаписей();
   НаборЗаписей.Отбор.Измерение1.Установить(Выборка.Измерение1);
   НаборЗаписей.Отбор.Измерение2.Установить(Выборка.Измерение2);
   НаборЗаписей.Записать(Истина);
КонецЦикла;

писал по памяти, возможны ошибки
6 lanc2233
 
04.09.12
01:38
Спасибо!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.