Имя: Пароль:
1C
1С v8
Удаление подчинённых объектов
0 Bon Jovi
 
18.05.20
16:05
Добрый день. Подскажите пожалуйста. У меня есть справочник ЗначенияХарактеристик, также есть справочник Характеристики (который в свою очередь является владельцем справочника ЗначенияХарактеристик). Сделал обработку, с помощью которой я могу выбрать характеристику и удалить (пометить на удаление) её и её значения (пометить на удаление в справочнике ЗначенияХарактеристик и также очистить записи по нужным регистрам). Появилась нужда доработать обработку таким способом, чтобы можно было выбрать характеристику и удалить (пометить) только её значения, а саму характеристику не трогать. Раньше удалял (помечал) характеристики таким способом:
УдаляемаяХарактеристика = Выборка.Характеристика.ПолучитьОбъект();
УдаляемаяХарактеристика.УстановитьПометкуУдаления(Истина, Истина);
УдаляемаяХарактеристика.Записать();

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

Элемент значения характеристик помечается, но связь между ним и характеристикой всё же остаётся, так как при повторном добавлении через обработку такого же значения той же характеристики, значение не добавляется, так как в базе он есть, но он помечен и в этом загвоздка. Пробовал так:
УдаляемаяХарактеристика = Выборка.Характеристика.ПолучитьОбъект();
УдаляемаяХарактеристика.УстановитьПометкуУдаления(Ложь, Истина);
УдаляемаяХарактеристика.Записать();
В таком случае пометок вообще нет.
1 hhhh
 
18.05.20
16:33
(0) так вы же в Ложь пометку устанаваливаете, поэтому ее и нет.

а вообще-то

УстановитьПометкуУдаления() само записывает,

поэтому строчка записать() нахрен не нужна. Получается, 2 раза пишете, Выбросьте эту строчку, не позорьтесь.
2 Bon Jovi
 
18.05.20
16:35
(1) я не думаю, что в этом проблема. Но да, спасибо за уточнение, в синтаксисе читал об этом, но почему то забыл и не применил.
3 hhhh
 
18.05.20
21:43
(2) конфа какая? если ут11, то там вообще подчинение по-другому
4 Bon Jovi
 
19.05.20
10:27
(3) Пришёл к тому, что достаточно просто почистить РС на основании которого заполняются данные характеристик в форме элемента характеристики, а значения характеристик (в справочнике) нисколько не мешают, поэтому и помечать их на удаление нет смысла. Но ещё раз спасибо за напоминания о всех возможностях метода [code]УстановитьПометкуУдаления[/code] .