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

  • Автор темы Manhone
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Manhone

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

vitfil

а запретить пользователю входить в определенные группы не прокатит?
 
M

Manhone

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

vitfil

Тогда для начала давайте определимся с понятием "скрыть элементы"...
В принципе, если пользователю не стоит показывать элементы определенной группы, можно это обрабатывать и не давать входить в группу.
Опишите задачу подробней - будем думать, что можно сделать. Штатными средствами в 7.7 этого сделать никак.
 
M

Manhone

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

LSH

Для: Manhone

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

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

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

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

vitfil

Для: 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]
Запретите режим без иерархии и отслеживайте смену родителя с запретом входить в определенные папки.
 
L

LSH

Для: vitfil

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

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]

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

Guest

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

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с вылетает - база очень большая :)
 
G

Guest

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

Manhone

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

Pro

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

Guest

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

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

Manhone

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

прямых запросов на Sql?
 
G

Guest

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

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

Manhone

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!