Как можно скрыть элементы справочника?

Тема в разделе "1C и всё что с ней связано", создана пользователем Manhone, 24 апр 2007.

Статус темы:
Закрыта.
  1. Manhone

    Manhone Гость

    Доброго времени суток!
    Есть справочник, нужно в форме скрыть элементы у которых есть определенный родитель, тоесть нужно чтобы пользователь их не видел. Можно как-то это сделать?
    P. S. ИспользоватьСписокЭлементов не подходит потому что справочник большой и при поиске начинаются тормоза.
     
  2. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    а запретить пользователю входить в определенные группы не прокатит?
     
  3. Manhone

    Manhone Гость

    непрокатит, потому что пользователи часто пользуются сменой иерархии
     
  4. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Тогда для начала давайте определимся с понятием "скрыть элементы"...
    В принципе, если пользователю не стоит показывать элементы определенной группы, можно это обрабатывать и не давать входить в группу.
    Опишите задачу подробней - будем думать, что можно сделать. Штатными средствами в 7.7 этого сделать никак.
     
  5. Manhone

    Manhone Гость

    Нужно только чтобы элементы справочника не отображались в режиме без иерархии
     
  6. LSH

    LSH Гость

    Для: Manhone

    ЖКК: ИспользоватьСписокЭлементов(<СписокЗначений>)

    Задумка такая:

    0. При открытии - запрещаем отключение отбора.
    1. При открытии формы списка справочника, если иерархический список был отключен - включаем его
    2. Формируем список значений, состоящий из групп и элементов данного уровня иерархии и применяем вышеназванный метод.
    3. При смене иерархии - анализируем уже новый уровень, строим список значений и применяем метод.
    и т.д.

    Плюс:
    Полный контроль за отображением всех элементов справочника
    Минус:
    Тормоза при большом количестве элементов на одном уровне и сложных алгоритмах обработки занчений и совсем жууткие тормоза при отключении иерархического списка.
     
  7. vitfil

    vitfil IT-интегратор

    Регистрация:
    2 апр 2004
    Сообщения:
    2.070
    Симпатии:
    0
    Для: LSH
    В вопросе написано, что элементов куча и ИспользоватьСписокЗначений никак не получится из-за тормозов.
    <!--QuoteBegin-Manhone+24:04:2007, 18:25 -->
    <span class="vbquote">(Manhone @ 24:04:2007, 18:25 )</span><!--QuoteEBegin-->Нужно только чтобы элементы справочника не отображались в режиме без иерархии
    [snapback]63356" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Запретите режим без иерархии и отслеживайте смену родителя с запретом входить в определенные папки.
     
  8. LSH

    LSH Гость

    Для: vitfil

    Сорь, читал как всегда невнимательно :)
     
  9. Manhone

    Manhone Гость

    <!--QuoteBegin-vitfil+25:04:2007, 09:41 -->
    <span class="vbquote">(vitfil @ 25:04:2007, 09:41 )</span><!--QuoteEBegin-->Запретите режим без иерархии и отслеживайте смену родителя с запретом входить в определенные папки.
    [snapback]63380" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    Самое смешное это то, что пользователи хотят чтобы режим без иерархии остался. Но спасибо за идею, надеюсь я смогу их переубедить. :)
     
  10. Гость

    Можно сделать нескольких реквизитов с отбором (1/0 - признак доступности/недоступности элемента для разных полномочий), и при открытии справочника пользователем - отбор по соответствующему реквизиту. При таком подходе удастся обойтись без списка элементов и полностью сохранить структуру групп. Ресурсоемкость - это конечно минус.
     
  11. Manhone

    Manhone Гость

    <!--QuoteBegin-Рыбка+2:05:2007, 14:55 -->
    <span class="vbquote">(Рыбка @ 2:05:2007, 14:55 )</span><!--QuoteEBegin-->Можно сделать нескольких реквизитов с отбором (1/0 - признак доступности/недоступности элемента для разных полномочий), и при открытии справочника пользователем - отбор по соответствующему реквизиту.
    [snapback]64294" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Уже делал что-то похожее, но к сожалению при сохранении изменений 1с вылетает - база очень большая :)
     
  12. Гость

    Была такая проблема.
    Можно реструктуризировать MD на пустой базе, а в SC***, соответствующие нужным справочникам, внести изменения руками в DBF-редакторе.
    На копии конечно ))
     
  13. Manhone

    Manhone Гость

    Для Рыбка
    Я конешно дико извиняюсь, но вчера у меня ничего не получилось.
    Нашел я справочник, добавил поле и начались ошибки. Но сначала, конечно, внес изменения в MD на пустой базе.
    Может еще в каких нибудь справочниках сделать изменения?
     
  14. Pro

    Pro Гость

    Для: Manhone
    попробуй после появления ошибок сделать тестирование и исправление ИБ, оно должно все выставить наместо...
     
  15. Гость

    "Добавил поле" - каким образом?
     
  16. Manhone

    Manhone Гость

    "добавил поле" - добавил столбец
     
  17. Гость

    Каким DBF-редактором?
    Если чем-то вроде Excel - то ничего не выйдет ))

    Если не боишься прямых запросов к базам 1С - то можно решение еще интереснее придумать ))
     
  18. Manhone

    Manhone Гость

    не ексель конечно :rolleyes: . Какой-то встроенный в тотале. Там есть Файл->Изменение структуры. Я добавил поле Number.

    прямых запросов на Sql?
     
  19. Гость

    Собственно идея решения - запустить 1С "без справочника" (уж в реструктуризированном виде) - SC** будет нужной структуры. Из "покалеченного тоталом" - выбрать все и вставить в этот самый SC**
    что-то вроде INSERT INTO SCYYYY SELECT * FROM SCXXXX

    Потом только тестирование и исправление...
     
  20. Manhone

    Manhone Гость

    Базу дома оставил :rolleyes: Попробую и после выходных поделюсь впечатлениями.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей