|   |   | 
| 
 | 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) Можно делать по-частям, то есть сначала возможность что-то посмотреть, а потом всякие мелочи прикручивать - по порядку важности для клиентов.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |