Имя: Пароль:
1C
1C 7.7
v7: Как установить пометку удаления группы справочника, не затрагивая её содержимое?
0 Chai Nic
 
03.05.24
15:11
Есть справочник с иерархией. И если на группе программно сделать Удалить(0), то пометка на удаление дополнительно проставится на всех её элементах и подгруппах. О такой "фиче" нет ни слова ни в СП, ни в ЖКК.

Интересно, можно ли отключить такое поведение?
1 Кондер
 
03.05.24
15:14
УстановитьПометкуУдаления (SetDeletionMark)
Синтаксис:
УстановитьПометкуУдаления(<ПометкаУдаления>, <ВключаяПодчиненные>)
Параметры:
<ПометкаУдаления> (обязательный)
Тип: Булево.
Признак установки / снятие пометки на удаление.
Истина - пометка будет установлена; Ложь - пометка будет снята.
<ВключаяПодчиненные> (необязательный)
Тип: Булево.
Если параметр установлен в Истина, то будут помечены на удаление, кроме данного элемента, все его подчиненные элементы в данном справочнике и во всех подчиненных справочниках.
2 Кондер
 
03.05.24
15:15
Это я про то что в 8ке сделали парметром, если в 7ке нет, то значит нет
3 Optan
 
03.05.24
15:20
Здесь посмотри:
https://forum.infostart.ru/forum9/topic43699/
4 Chai Nic
 
03.05.24
15:26
(3) (2) Прикольно. То есть только костылями, а штатно никак.
5 АгентБезопасной Нацио
 
03.05.24
16:41
Поведение действительно не описано. Но и желание странное...
6 ChMikle
 
03.05.24
16:47
(0) А зачем ???
7 Chai Nic
 
03.05.24
16:58
(5) (6) Для задачи чистки справочника от неактуальных данных после срезки базы надо пометить на удаление все элементы и группы справочника подряд (для последующего "удаления помеченных", если на них нет ссылок), при этом четко фиксируя, что именно помечено обработкой, чтобы потом восстановить. Эта особенность усложняет задачу, потому что элементы помечаются самопроизвольно.
8 Злопчинский
 
03.05.24
18:48
Не неси бред.
Элементы самопроизвольно не помечаются.
И при ручной/программной пометке группы автоматически помечаются подчинённые, ибо наличие подчинённого без родителя не бывает.
Так что делай просто. Помечай группу. Подчинённые пометятся автоматом.
Потом штатное удаление помеченных.
Если остались помеченные группы - значит внутри остались помеченные элементы, тупо снимаешь с них групп и/или элементов пометки.
.
При этом важно иметь в виду что при таком подходе запросто могут остаться неудалённые элементы, но будут удалены ВСЁ подчинённые элементам дочерние справочники (на примере ТИС сгинут все цены, свойства, неиспользоварнеиспользованняе партии и прочее аналогичнон
9 Злопчинский
 
03.05.24
18:49
Ещё раз отдельно: при по етке ра удаление элемента автоматом ставятся на удаление всё дочерние справочники
10 Chai Nic
 
04.05.24
20:44
(8) "но будут удалены ВСЁ подчинённые элементам дочерние справочники"
Они тоже автоматически(раз уж вам не нравится слово "самопроизвольно") пометятся? Тогда да, не вариант так чистить.. Спасибо за предупреждение!

Значит, тогда лучше прямым запросом пометить, тогда при удалении помеченных удалятся только те, у кого нет подчиненных справочников.
11 victuan1
 
06.05.24
04:43
(10) В таких случаях я делаю удаление всех помеченных в копии базы. Затем анализируя список не удалившихся объектов делаю пометку на удаление объектов в реальной базе, в итоге подч. спр. (типа цены и свойства) у меня не удаляются у остающихся элементов.
12 Злопчинский
 
06.05.24
10:02
Удалено, фигню написал.