|
8.2, УФ, Работа с периодической иерархией - нужны советы | ☑ | ||
---|---|---|---|---|
0
Humandra
09.01.12
✎
05:46
|
Прошу совета по выбору структуры объектов в 8.2.
Решаю задачу: есть справочник элементов, которые могут быть подчинены друг другу. Но подчинение в иерархии непостоянное, а изменяется с течением времени, и необходимо хранить историю изменения родителя, собирая и отображая дерево по состоянию на дату. Думаю решить задачу так: 1) справочник "Элементы" 2) периодический регистр сведений, измерение Элемент (СправочникСсылка.Элементы), ресурс ЭлементРодитель того же типа 3) Документ-регистратор, пишет в регистр сведений. На одну дату таким образом в регистре не может быть двух разных родителей у одного элемента. 4) Форма регистра, отображающая данные в иерархическом виде Вопросы: 1) может в 8.2 есть более типовые механизмы для реализации данной задачи, которые я не знаю? 2) как лучше отобразить СрезПоследних из регистра? Хотелось бы построить запросом иерархию и вывести уже готовую иерархию в ДеревоЗначений, но вроде бы 1С-запросы ее умеют строить только по справочнику. Это так? Если так, то получается единственный выход - сортировать строки по иерархии рекурсивно вручную, и только потом записывать в дерево? Хотелось бы, чтобы были визуальные компоненты, которые смогут визуально отсортировать по иерархии данные сами, лишь бы указать поля Индекса и Родителя, не сортируя строки запроса. Слишком многого хочу? Такого нет? |
|||
1
Чайник Рассела
09.01.12
✎
07:08
|
смотри Версионирование
|
|||
2
Humandra
09.01.12
✎
07:28
|
(1) Посмотрела. Но ИМХО эта фича скорее для отслеживания косяков и злоупотреблений пользователей. Судя по описанию технологии, обратное получение значения после сериализации - это парсинг XML. Если я правильно поняла.
У меня от структуры дерева зависят финансовые расчеты и многие отчеты, и считать надо более-менее шустро... Так что мне кажется, что не подойдет. Чтобы попонятнее стала задача - предметка - построение сети объектов энергоснабжения - т.е. иерархия Крутая подстанция - > Подстанция поменьше - > Трансформаторная будочка - Квартира. Сегодня Трансформаторная будочка питается от Подстанции поменьше №1, а завтра - от Подстанции поменьше №2. Со всеми вытекающими :) |
|||
3
Humandra
09.01.12
✎
14:56
|
Так как, придется реализовывать алгоритм построения дерева?
Кстати, может у кого есть готовый написан? |
|||
4
Reaper_1c
09.01.12
✎
15:08
|
Родителей хранить в периодическом регистре сведений. СКД позволит строить отчеты по произвольному источнику иерархии.
|
|||
5
Filin
09.01.12
✎
15:14
|
+4 А Управляемая форма позволит выводит список с иерархией по произвольному реквизиту. Так что особо мудрить не придется.
|
|||
6
Humandra
09.01.12
✎
15:38
|
(4) ок, я так и подумала
(5) а вот об этом поподробнее! Как? Нужно вывести не в отчет, а на форму. |
|||
7
Humandra
09.01.12
✎
15:39
|
(6) Если через ДеревоЗначений - то его вроде как заполнять самому же надо, т.е. выполнять построение дерева из плоской таблицы.
А если что другое - то я пока не в курсе, жду советов :) |
|||
8
Filin
09.01.12
✎
15:46
|
Есть такая замечательная штука, как динамический список. Источником данных для него можно сделать либо произвольный запрос, либо твой регистр.
|
|||
9
Humandra
09.01.12
✎
16:00
|
(8) Т.е. он может быть иерархическим? ок, поняла, попробую.
|
|||
10
Filin
09.01.12
✎
16:11
|
Может конечно. Сделай форму списка своего справочника "Элементы" и замени стандартный запрос на произвольный, где поле родитель будет брать из твоего регистра на какую-то дату.
|
|||
11
Humandra
09.01.12
✎
16:43
|
(10) Сделала. А как сделать, чтобы данные отображались иерархически в этом динамическом списке?
|
|||
12
Humandra
09.01.12
✎
16:45
|
(11) Сделала алиас в запросе - ЭлементыРодитель КАК Родитель итп. По имени не сечет, что данные иерархические. Группировка тут не поможет. Где копать? Я с 8.2 еще 2-й день копаюсь, звиняйте хлопцы :)
|
|||
13
Humandra
09.01.12
✎
16:56
|
(12) В инете пишут, что надо установить свойство "Иерархический". Где это свойство? Не могу найти :(
|
|||
14
Filin
09.01.12
✎
17:03
|
Для начала у тебя должен получиться динамический список с двумя колонками - "Элемент" и "Родитель". Потом в настройках УФ открываешь свойства динамического списка, нажимаешь "настроить список" и добавляешь группировку по родителю.
|
|||
15
Humandra
09.01.12
✎
17:08
|
(14) Это сделала. Но при таком подходе получается так:
Предположим, данные такие: Элемент Родитель РП-1 0 ТП-1 РП-1 ТП-2 РП-1 Фидер-1 ТП-1 При группировке по Родителю получается: Пусто - РП-1 РП-1 - ТП-1 - ТП-2 ТП-1 - Фидер-1 А надо: Пусто - РП-1 - ТП-1 - Фидер-1 - ТП-2 |
|||
16
Humandra
09.01.12
✎
17:10
|
Вот, нашла в инете топик:
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=576540 про свойство Отображение. Но где его искать? |
|||
17
Humandra
09.01.12
✎
17:11
|
(16) А, дошло. Это свойство будет существовать только при ОсновнойТаблице - иерархической. Но у меня она обычная
|
|||
18
Filin
09.01.12
✎
17:15
|
Отображение - это свойство таблицы формы. Оно должно существовать для любого списка.
|
|||
19
Humandra
09.01.12
✎
17:18
|
(18) *Задумчиво* У меня нет такого свойства :( От чего это может зависеть? Платформа 1С:Предприятие 8.2 (8.2.15.289)
|
|||
20
Filin
09.01.12
✎
17:19
|
В конфигураторе нет?
|
|||
21
Humandra
09.01.12
✎
17:20
|
(20) Да. Это может зависеть от вида формы?
|
|||
22
Torquader
09.01.12
✎
17:20
|
А сложные подключения, когда часть мощности от одной подстанции, а вторая часть - от другой - мы не рассматриваем ? Думаю, что, во-первых, на "веточках" надо бы писать потребляемую мощность, а во-вторых, предусмотреть возможность создания нескольких веточек.
|
|||
23
Filin
09.01.12
✎
17:20
|
В конфигураторе открываешь свойства списка, который элемент на форме, то-есть в настройках формы в левой части расположен.
|
|||
24
Humandra
09.01.12
✎
17:22
|
(22) Спасибо за совет! Это пока просто тренировочная конфа, дойдет и до более сложных вещей...
(23) Свойства списка? У меня элемент - Таблица, ее свойства. Это оно или не оно? |
|||
25
Torquader
09.01.12
✎
17:26
|
(24) Так если потом всё переделывать, зачем писать иерархию.
Лучше сразу начинать с работы с графом - будет проще понять, что нужно и как его хранить. |
|||
26
Filin
09.01.12
✎
17:28
|
(24)Ну да, это оно вроде.
|
|||
27
Humandra
09.01.12
✎
17:28
|
(23) Вот что у меня видно: http://imageshost.ru/photo/119494/id1229077.html
Я вообще там, где надо? :))) (25) Хм, может вы и правы. Но все равно эту тему добить надо тоже. Хотя в общем-то переделывать все равно все будем, когда пойму как работать с 8-й. Ибо по любому по началу будут косяки. |
|||
28
Humandra
09.01.12
✎
17:32
|
(25) А в 8-ке есть средства для отображения честных графов? В 7-ке у нас в обычном дереве отображалось все, просто действительно несколькими ветками...
|
|||
29
Reaper_1c
09.01.12
✎
17:35
|
(28) Вот и в восьмерке деревом. Не доросли еще дин. списки до иерархии произвольного уровня вложенности.
|
|||
30
Humandra
09.01.12
✎
18:40
|
(27) А можно скрин экрана, где настройка "Отображение" есть?
|
|||
31
Dethmont
09.01.12
✎
18:53
|
||||
32
Humandra
09.01.12
✎
19:03
|
О! Сенкс! Нашла причину разницы :) У меня была включена кнопка фильтра - "Показывать только важные" :)
|
|||
33
Humandra
09.01.12
✎
19:14
|
(32) Легче не стало. Сменила тип отображения на Дерево, все равно деревом данные не отображаются :(
Где еще может быть косяк? |
|||
34
Humandra
09.01.12
✎
19:26
|
И все же у меня такое ощущение, что Дерево в динамическом списке предназначено таки только для иерархических справочников...
|
|||
35
Torquader
09.01.12
✎
20:39
|
Дерево на сайте рисуется Ajax-ом через вложенные списки на ура, а сокрытие определённых ветвей делается через css - может ну её эту 1С и писать на нормальном движке, если уж о многопользовательском доступе через Web идёт разговор и не мучить ни себя ни программу ?
|
|||
36
Humandra
09.01.12
✎
20:50
|
(35) А для этого действительно у нас разработка на Java запланирована, уже даже почти ведется :) Просто решение еще не принято, вот я и узнаю аргументы для разговора с руководством.
Скорее всего будет 2 системы. Одна на 1С - для внутренних расчетов и расчетов с юрлицами, другая на Java - для расчетов с физлицами и публичного веба. И интеграция между ними. 1C просто будет быстрее разработать за небольшие деньги, а Java зато будет гибче. |
|||
37
Torquader
09.01.12
✎
20:56
|
(36) Тогда в 1С у вас будет только бухгалтерия, то есть номера договоров, оплаты и услуги по ним, и что и куда подключено - бухгалтеру не так уж и важно.
Так что лучше сразу избавится от "почти" в Java-разработке и радоваться жизни. |
|||
38
Humandra
09.01.12
✎
21:00
|
(38) Не выйдет, все же система начислений за электроэнергию юрлицами нужна чем скорее тем лучше. Есть внутренние причины. При всех достоинствах - Java разработка быстрее чем за полгода не справится. Так что расчеты с юриками - точно 1С. А там и технологический баланс нужен и все такое.
|
|||
39
Humandra
09.01.12
✎
21:01
|
(38) к (37)
(38) Ну а потом уже как 1С УФ себя покажет. Переведем на Java или оставим. Я думаю, все же оставим. |
|||
40
Torquader
09.01.12
✎
21:02
|
(38) Можно делать по-частям, то есть сначала возможность что-то посмотреть, а потом всякие мелочи прикручивать - по порядку важности для клиентов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |