Имя: Пароль:
1C
 
Структура подчиненности объектов с нотками извращения
,
0 mzelensky
 
29.11.17
08:31
Доброго времени суток!

Конфа старая УТ на обычных формах, под 8.2. Имеется:

1) Справочник "Архив", в нем табличная часть, в ней один реквизит "Документ" с типом "ДокументСсылка.ЗаказНаПеремещение"

2) Документ "ЗаказНаПеремещение". В документе ссылок на справочник из пункта №1 нет.

Логика работы в том, что пользователь работает в соответствующем АРМе, нажимает кнопочку - создаются документы "ЗаказНаПеремещение" + элемент справочника "Архив", куда заносятся параметры и настройки АРМа, а так же документы, которые в результате были созданы.

ХОТЕЛКА - необходимо вывести в структуре подчиненности следующую иерархию:

"Архив" - "Заказ на перемещение" - "Документы перемещения"

Я добавил реквизит табличной части справочника в критерий отбора. Дописал типовой механизм вывода структуры подчиненности, чтобы он учитывал не только документы, но и другие метаданные. В результате нужный мне справочник в структуре подчиненности выводится, НО не в той вложенности!!! Система выводит как (из-за того, что ссылки на док находятся в справочнике и система думает, что это справочник подчинен документу):

"Заказ на перемещение" - "Архив"

ВОПРОС - как красиво извратиться (без сильных костылей и колхоза), чтобы вывести данную цепочку в виде:

"Архив" - "Заказ на перемещение"
1 mzelensky
 
29.11.17
08:33
(0) + Вариант - сделать структуру при которой не документы хранятся в справочнике, а ссылка на элемент справочника в документе мне не нравится, т.к. нарушает логику создания объектов и общую концепцию механизма.

Правильное хранение именно - в справочнике ссылки на документы
2 mzelensky
 
29.11.17
09:35
.
3 Волшебник
 
модератор
29.11.17
09:46
Месье знает толк в извращениях!
4 Ёпрст
 
29.11.17
09:55
(0)
Посмотри, че кажет это
https://cloud.mail.ru/public/HL8t/jRNDHGeB3
5 mzelensky
 
29.11.17
10:14
(3) "Не мы такие, жизнь такая" (С)
6 mzelensky
 
29.11.17
10:21
(4) Я так понял - идея в том, чтобы сперва собрать верхние доки, потом собрать нижние доки, обработать все это и потом только вывести.

Собственно говоря тоже к этой идеи иду, только нужно красиво сделать, чтобы иерархия нужным образом менялась. И только у нужных метаданных
7 Ёпрст
 
29.11.17
10:37
(6) кажет то че ?
;)
8 Ёпрст
 
29.11.17
10:37
как надо ?
9 mzelensky
 
29.11.17
10:52
(7) Кажет, то, что не кажет. Там общие модули задействованы, которых у меня нет.

Я алгоритм глазами пробежал. Он от типового не сильно отличается в плане определения иерархии элементов.
10 Ёпрст
 
29.11.17
10:59
(9) заремь лишнее.
11 mzelensky
 
29.11.17
11:16
(10) Как бы не заремаешь тут, тода вообще работать не будет:

Таблица = ПолныеПрава.ПолучитьСписокПодчиненныхДокументов(ТекущийДокумент,мКэшПраваДоступаКМетаданным);
12 Ёпрст
 
29.11.17
11:34
(11) ща, переделаю без общих модулей.
13 Ёпрст
 
29.11.17
11:39
14 mzelensky
 
29.11.17
12:55
(13) Так же он выводит. Сперва "Заказ" потом "Архив"
15 Ёпрст
 
29.11.17
13:08
(14) ну, мне лень смотреть. Знаю одно, что (13) покажет то, что типовая структура подчиненности не кажет :)
16 Ёпрст
 
29.11.17
13:08
И это, можешь скриншот показать, че кажет ?
17 h-sp
 
29.11.17
16:34
(14) не знаю как в ут 10, в БП 2.0 механизм с критериями отбора не используется. Они его просто выбросили. Поэтому наверно нужно просто поправить в коде то, что нужно, без лишней религиозности, всё равно в 8.2 механизмов нет никаких.