gifts2017

Дерево справочника

Опубликовал Анатолий Питерский (Favour) в раздел Обработки - Обработка справочников

Представляю Вам пример обработки, позволяющей любой справочник показать в виде интерактивного дерева (проводника).

"Дерево справочника"

 

 Доброго времени суток!

 

         Разработка "Дерево справочника", создана с целью предложения пользователю интерактивного выбора необходимой информации из справочника. В связи с тем, что многие пользователи хорошо знакомы с  Операционной Системой Windows, была выбрана форма реализации решения - проводник.

         Разработку можно внедрить во многие другие обработки, или дополнив эту разработку получить желаемый результат. Чтобы каждый раз не ходить за пользователем в поисках истины (в моем случае это был список всевозможных частей справочника, причем данные нужны были из различных групп), можно предоставить пользователю выбирать, что и откуда брать.

      

Основные возможности:

  1. Пользователю вначале виден весь справочник в свернутом виде                
  2. Пользователь может открыть любую ветку, выделить необходимые элементы и группы (элементы внтури группы будут выделены автоматически);               
  3. Если элемент внутри группы выделен галочкой, то и группа (группы) в которых он состоит, будут выделены автоматически;  
  4. Если внутри группы нет выделенных элементов, группа атоматически теряет выделение;
  5. Максимальный уровень вложенности справочника - 10, при желании большего, необходимо добавить секции с соответствующимии именами в "Таб_Дерево".                

Дополнительные возможности:

  1. Присутсвует возможность не включать в конечный список помеченные на удаление элементы справочника (на форме предусмотрен переключатель) .                  


Достоинства:       

  1. Кушает любые справочники (контроль уникальности не важен)                
  2. Разработка работает с любой конфигурацией платформы 7.7;              
  3. При желании может может быть модифицирована для любого уровня вложенности справочника;
  4. Неважно есть ли название у элемента или группы (работает верно) ;
  5. Никаких внешних компонент не требуется (реализовано стандартными средствами 1С 7.7).                                     

      Недостатки:     

  1. Без модификаций не работает для справочников с уровнем вложенности выше 10 (уровни выше просто не показываются);         
  2. Это подобие проводника, без таких возможностей как: серый фон галочки, если выделены не все элементы в заданной группе, также нет пунктира до элементов. Если создать эти дополнительные возможности, разработка будет сильно усложнена, а также станет более медлительна, это моё предположение;
  3. Если группа не содержит элементов и она отмечена/неотмечена галочкой, тогда это никак не отражается на группах в которых она содержится.               

                                
P.S  Чтобы разработка работала с определенным справочником, достаточно закоментировать процедуру "ф_ИзменениеСправочника()", и в процедуре "ПриОткрытии()" задать переменную пл_ПервыйСправочник, и удалить поле со списком ф_СписокСправочников.

Спасибо за внимание :)      

                    

Скачать файлы

Наименование Файл Версия Размер
ДеревоСправочника.ert 7
.ert 183,50Kb
03.04.13
7
.ert 183,50Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Александр Лыткин (TrinitronOTV) 03.04.13 17:22
оригинальная идея показать справочник в таком виде, только вот возник один вопрос, посмотрев скриншоты, почему никак не отображен факт пометки на удаление элемента справочника?
2. Анатолий Питерский (Favour) 04.04.13 13:16
Добрый день TrinitronOTV!

Разработка "Дерево справочника" на текущий момент работает для общего случая.
Категорично скрывая помеченные на удаление объекты справочника, можно нарваться на ошибку (в рабочей базе данных, в справочнике с которым я работал, оказался элемент помеченный на удаление, но на который ссылаются некоторые документы, потеря этого элемента явилась бы искажением конечных данных). В связи с этим, решено было не реализовывать возможности для уникальных случаев. На скриншоте 2 (Справочник "Проверочный", включение помеченных на удаление) и 3 (Справочник "Проверочный", не включать помеченные на удаление) продемонстрирована, для примера, одна возможность (описанная в пункте "дополнительные возможности") включения в конечный список только элементов без пометки на удаление. Другие возможности, можно реализовать так как душа пожелает и как потребуется в отчете :).
3. Александр Лыткин (TrinitronOTV) 04.04.13 14:42
(2) Favour, спасибо, я просто говорю к тому, может как-то показать, что элемент помечен на удаление, чтобы пользователь выдел это
4. Анатолий Питерский (Favour) 05.04.13 13:44
(3) TrinitronOTV, приветствую.
Сделать так, чтобы пользователь видел элементы помеченные на удаление (например, в открытой ветке) можно. Вначале предполагалось, что элементы и группы (помеченные на удаление) будут выделены красным цветом (это даже было реализовано), но этот вариант был отвергнут по ряду причин: пользователь обширного справочника будет тратить очень много времени на поиск таких элементов; даже если пользователь уберет с каждого такого объекта "галочку", может оказаться, что среди убранных будет "подводный камень". Поэтому, оказалось проще обрабатывать все выбранные пользователем данные (отмеченные в дереве справочника).
В одном из своих отчетов (использующих данную разработку) наименования помеченных на удаление элементов (во всем справочнике), сообщались в табло, с иерархией (происходило это при открытии формы). Но ведь могут быть другие случаи, когда в этом нет необходимости (например, такие элементы необходимо записать в другой список на форме). Решения такого плана подбираются для каждого конкретного справочника отдельно с учетом соответствующих требований (надежность, пожелания пользователей, простота программирования и возможностей модификаций). Спасибо за Ваш вопрос =).