Имя: Пароль:
1C
1С v8
КД - как перенести иерархию элементов в иерархию групп
0 RomaH
 
naïve
15.08.12
09:44
Если у объекта справочника есть подчиненные элементы - надо присвоить "ЭтоГруппа" = Истина

вот как такое в КД реализовать?
1 ZanderZ
 
15.08.12
09:46
родителя смотреть
2 RomaH
 
naïve
15.08.12
09:48
(1) понятно что родителя смотреть
я вот вижу два способа
при обработке ПКС каждый раз делать запрос на наличие подчиненных

либо выгружать по произвольному запросу
3 ZanderZ
 
15.08.12
09:48
(2) быстрее по произвольному конечно
4 Рэйв
 
15.08.12
09:49
Как вариант.
В ПослеЗагрузки

//-------
Если ЗначениеЗаполнено( Объект.Родитель) Тогда
   Род=Объект.Родитель.ПолучитьОбъект();
   Род.ЭтоГруппа=Истина;
   Род.Записать();
КонецЕсли;
//--------
5 RomaH
 
naïve
15.08.12
09:49
либо два ПКО - Группа и Элемент

ПВД - только элементы, а в ПКС Родителя  - правило "Группа", а в группе "ЭтоГруппа" = Истина всегда
6 Ursus maritimus
 
15.08.12
09:51
(0) Добавь в базе источнике реквизит "ЭтоГруппа", заполни и ниипи мозги людям
7 RomaH
 
naïve
15.08.12
09:52
(6) нельзя
8 ZanderZ
 
15.08.12
10:01
произвольный запрос + ВыгрузитьПоПравилу с передачей структуры + ПКС с галкой "получить из входящих данный" на ЭтоГруппа
9 RomaH
 
naïve
15.08.12
11:58
остановился на (5) варианте, вроде работает, ИМХО из всех предложеных наиболе простой и оптимальный
(4) - ЭтоГруппа - Записать()?
10 RomaH
 
naïve
15.08.12
12:02
и в качестве памятки и справки - свойство "ЭтоГруппа" "переносится" только если оно помечено для поиска объекта
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший