Имя: Пароль:
1C
1С v8
Удаление регистрации изменений набора записей
0 Slon747
 
06.03.19
12:00
Регистр сведений имеет 2 измерения: Объект и Свойство.
Удаляю регистрацию изменений набора:

НаборЗаписей = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Объект.Установить(Выборка.Объект);    
НаборЗаписей.Отбор.Свойство.Установить(Выборка.Свойство);    
НаборЗаписей.Прочитать();
ПланыОбмена.УдалитьРегистрациюИзменений(УзелСсылка, НаборЗаписей);


В отладчике вижу, что у набора записей Объект и Свойство заполнены.
Но записи остаются зарегистрированы для изменения на этом узле.
Что не так?
1 Фрэнки
 
06.03.19
12:12
Там при сохранении записей в таблицу регистрации изменений пишутся не наборы записей, а непосредственно сами записи.
Вангую, что если заморочиться с перебором, то будет удаляться при перебором циклом записей и набор, в котором будет по одной следующей записи.

Думаю, что быстрей один раз удалить ВСЮ регистрацию по узлу и отметить заново нужные объекты, чем по одной записи перебирать этот регистр в регистрацию
2 Slon747
 
06.03.19
12:22
(1) А как все таки правильно удалить регистрацию записей регистра сведений?

Я выгружаю данные на сайт. Если удалить всю регистрацию регистра, то удалятся и те изменения, что делали другие пользователи во время выгрузки данных и при следующей выгрузке они не перенесутся.
3 Фрэнки
 
06.03.19
12:35
(2) там практически баг имеется в регистрации измененных записей РС. Выглядит этот баг так, что пишутся туда все-таки записи по одной, хотя везде в документации рассуждается о Наборах.

Если переделка всей схемы обработки данных для выгрузки на сайт еще возможна, то я бы рекомендовал снять с этого РС авторегистрацию - в плане обмена сам регистр оставить, но с авторегистрации его убрать.
Поиск изменившихся записей в этом регистре построить на костылях, не нагружая свой код излишествами, по этому РС.

Вот откуда стало известно, что данный Выборка.Объект и Выборка.Свойство необходимо убирать? Этот код вообще работает?
4 Slon747
 
06.03.19
12:53
(3)
Спасибо. Буду выгружать свойства при выгрузке товара, подразумевая, что свойства меняются через карточку товара при его записи.

>Вот откуда стало известно, что данный Выборка.Объект и Выборка.Свойство необходимо убирать? Этот код вообще работает?
Не понял. Что значит "убирать" и почему код не должен работать?
5 Фрэнки
 
06.03.19
14:11
(4) да, так будет проще всего - можно зарегистрировать изменение самого объекта, даже если вводится только какое-то отдельное свойство и обрабатывать выгрузку свойств при выгрузке объекта. А из плана обмена регистрацию изменений у этого регистра сведений вообще отключить, чтоб база не пухла
6 Ёпрст
 
гуру
06.03.19
14:55
(0) код верный, у меня всё снимает.
Где проверяете, что регистрация есть ?
7 Ёпрст
 
гуру
06.03.19
14:55
После прочитать, в наборе записей есть чего ?