Имя: Пароль:
1C
1С v8
Как программно удалить часть записей регистра сведений, подчиненных регистратору
0 awbyk
 
10.10.14
11:23
В БГУ в 2013 году часть основных средств организации была списана и принята на забалансовый счет. В конце 2013 года база была свернута. Сейчас получена команда снова принять эти основные средства на баланс, что и было сделано, но в регистре сведений "События ОС" , зарегистрированных документом "корректировки записей регистров", сформированных при свертке базы, остались сведения о списании этих объектов, которые надо удалить. Эти записи можно выбрать по дате, измерению "Событие" и реквизиту "Причина списания".Каким набором операторов или готовой обработкой это можно сделать?
1 sky2010
 
10.10.14
11:25
(0) для начало сделай запрос, по таким критериям и подключаешься к строчку и удалить.
2 AlekseyMista
 
10.10.14
11:26
Набор  = РегистрыСведений.СобытияОс.СоздатьНаборЗаписей();
набор.Отбор.событие.Установить(НашеСобытие);
Набор.Отбор.причинаСписания.Установить(НашаПричина);
... (устанавливаем все отборы)
Набор.Записать(Истина);
3 AlekseyMista
 
10.10.14
11:26
только сначала архивную копию сделайте :)
4 AlekseyMista
 
10.10.14
11:28
Кстати, может перед методом "Записать" надо будет использовать методы "Прочитать" и "Очистить" (хотя должно и так сработать)
5 Мыш
 
10.10.14
11:29
Регистр то подчиняется регистратору, так шта отбор тока один.
6 Михаил Козлов
 
10.10.14
12:19
(0) Почему не удалить движения самого документа корректировки записей? Очень много?
7 rozer76
 
10.10.14
12:23
(4)
>>методы "Прочитать"
ну как бы да, надо же вроде скорректировать данные а не перезаписать все нафиг
8 Krolik Bezobraznik
 
10.10.14
12:27
(0) Отмени проведение документов за период, которые делали движение в регистре.
9 AlekseyMista
 
10.10.14
12:44
(5) Да, что-то я насоветовал не того :)

Надо делать один отбор по регистратору, потом читать набор и в цикле, идущем с конца в начало удалять ненужные записи. Потом делать запись набора с замещением.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.