Имя: Пароль:
1C
1C 7.7
v7: Блокировка вывода строки в списке справочника
0 Евгений Береза
 
30.10.11
13:05
Здравствуйте, коллеги!

ПОдскажите, есть ли в 7.7 какой-нибудь механизм, позволяющий на программном уровне отменять вывод на экран в списке (справочника) тотй или иной элемент справочника?
1 Рэйв
 
30.10.11
13:08
ИспользоватьСписок
2 Grusswelle
 
30.10.11
13:09
ХЗ, но, как вариант, я когда-то настраивал подобное на уровне SQL Server'а.
3 andrewks
 
30.10.11
13:10
(1)+1
ИспользоватьСписокЭлементов()
4 Евгений Береза
 
30.10.11
13:10
ага... т.е. сначала сканишь справочник, заполняешь списокзначений, а потом его аргументом суешь... А не тормозит, при неSQL Доступе?
5 SnarkHunter
 
30.10.11
13:14
Зачем его сначала "сканить"?
6 Евгений Береза
 
30.10.11
13:18
А СПисокЗначений как заполнять? :)
7 Рэйв
 
30.10.11
13:20
(6)По запросу исключая ненужные.
8 Евгений Береза
 
30.10.11
13:22
Ну то есть создаешь запрос, и результат предеаешь аргументом в эту функцию?
9 Рэйв
 
30.10.11
13:23
(8)Типа того, хотя вполне возможен и более экономичный финт ушами.
10 viktor_vv
 
30.10.11
13:29
Может тебя отбор спасет ? По какому принципу отбираешь элементы ?
11 Евгений Береза
 
30.10.11
13:30
Сорри... Заполнил списокзначений элементами, применил функцию, а выводятся в списке синенькие с вопросиками и без намиенований.... :) Правильно ли я применил вызов - в предопределенной ПриОткрытии?
12 Евгений Береза
 
30.10.11
13:31
Нет, отбор не спасет, нужно отбирать так, чтобы к этому отбору никто доступа не имел...
13 andrewks
 
30.10.11
13:32
отбор отключи вообще
14 viktor_vv
 
30.10.11
13:34
(11) Ты там еще и группы загнал кажется в список. В запосе без групп добавь.
15 Евгений Береза
 
30.10.11
13:35
Ага, отключил иерархически список - показало то, что нужно было... Отбираю по значению Родителя... показывает только в неирархическом списке.... щас попробую две группы...
16 Евгений Береза
 
30.10.11
13:36
я пока извините без запроса сделал - просто прогоном справочника :) а группы исключены...
17 viktor_vv
 
30.10.11
13:38
Тогда включи группы, не помню точно.
18 viktor_vv
 
30.10.11
13:38
(17)+ В список.
19 Евгений Береза
 
30.10.11
13:39
:) Да, скорей наверное надо включить. Ща попробую
20 Евгений Береза
 
30.10.11
13:51
С доьавлением группы получилось, теперь наименования в группе (фильтр как раз делаю по наименованию группы) - но почему-то все равно выводится дополнительный список с красными вопросиками и без наименований...
21 Евгений Береза
 
30.10.11
13:51
КонтрыФ = создатьобъект("СписокЗначений");
                   
       КОнтры = создатьобъект("Справочник.КОнтрагенты");
       КОнтры.ВыбратьЭлементы();
       пока КОнтры.получитьэлемент() = 1 цикл      
           
           если контры.этогруппа() = 1 тогда
               если КОнтры.ТекущийЭлемент().наименование = "РОЗНИЧНЫЕ" тогда    
                   КонтрыФ.добавитьзначение(Контры.ТекущийЭлемент());
               конецесли;    
           конецесли;
           
               если контры.этогруппа() = 0 тогда
               если (КОнтры.РОдитель.наименование = "РОЗНИЧНЫЕ") тогда                          
                    состояние(КОнтры.ТекущийЭлемент().наименование);
                    КонтрыФ.добавитьзначение(Контры.ТекущийЭлемент());
               конецесли;
           
               конецесли;

   
   
       конеццикла;    
       
   ИСпользоватьСписокЭлементов(КОнтрыФ);
22 viktor_vv
 
30.10.11
14:03
Слушай, в таком варианте тебе достаточно отбора. Добавь реквизит с перечислением и по нему отбор, возможность отключить отбор убрать. Это и быстрее и правильнее.
23 Ёпрст
 
30.10.11
14:04
(21) одним словом, дерево
24 Евгений Береза
 
30.10.11
14:07
Единственный нюанс - не совсем владею этим моментом - отбор можно делать опять же программно? ЧТобы пользователь без прав не залез в изменение отбора? Т.е. один пользователь должен видеть всю ном-ру, а другой - только ее часть, например , только одну группу? Это связано с ведением холдинга с применением УРИБ
25 viktor_vv
 
30.10.11
14:08
Или тогда использоватьРодителя() и немного поковырться с закрытием возможности открытия других грпп.
26 viktor_vv
 
30.10.11
14:08
(24) Конечно можно.
27 Евгений Береза
 
30.10.11
14:11
А про ИспользоватьРодителя() - это делать при открытии группы делать?
28 Евгений Береза
 
30.10.11
14:14
И еще бы заблокировать возможность изменения отбора...
29 viktor_vv
 
30.10.11
14:17
ИспользоватьРодителя() в ПриОткрытии(). Запрет : ПриСменеИерархии() СтатусВозврата(0).
Запрет смены отбора ПриУстановкеОтбора() СтатусВозврата(0) .
30 Ёпрст
 
30.10.11
14:27
(29) ёпта, достаточно ИспользоватьРодителя() в ПриОткрытии() в форме списка справочника и ВСЁ..
31 viktor_vv
 
30.10.11
14:30
(30) Да я ему оба варианта написал :). Понятно, что по отдельности применять, может я немного запутал :).
32 Евгений Береза
 
30.10.11
15:18
Коллеги, огромное спасибо, завтра попробую варианты!!!