Имя: Пароль:
1C
1С v8
Обычное Приложение. Видимость реквизита в зависимости от условия и пользователя. ☑
0 salih020292
 
14.12.13
✎
11:25
Есть БП 2.0 . Есть Справочник Подразделения Организаций.
Задача такая: Чтобы в форме списка был дополнительный реквизит СекретноеПодразделение(булево, флажок Да/Нет) - Добавил в форму списка и в форму элемента. Вроде как связал с данными все ок. Отображается.

Теперь нужно в зависимости от рекзвита СекретноеПодразделение отоборажать те элементы у которых есть флажок или нету. Также Видеть флажок должен пользователь ГлавныЙ бУХГЛАЕТр, пользователь НеГлавныйБухгалетр видеть не должен.

Нужно реализовать отбор в форме. Где копать? в форме списка или в форме элемента? какой обработчик? ПриОткрытии?..Не имею опыт с формами в обычном приложении.
1 ДенисЧ
 
14.12.13
✎
11:27
в приотркытии проверяй
2 zak555
 
14.12.13
✎
11:28
в чём оно секретное ?
3 salih020292
 
14.12.13
✎
11:29
(1) а с пользователями где работать? там же?
Типа Если ИмяПользователя()=Справочник.тра-та-та.НайтиПоНаименованию("такой то") Тогда ЭлементыФормы... = вИДИМОСТЬ Иначе Видимость = ЛОжь.
4 salih020292
 
14.12.13
✎
11:30
(2) нивчем) просто тестовоеЗадание дали
5 salih020292
 
14.12.13
✎
11:35
(2) я его так назвал. Вместо Видимость, СекретноеПодразделение
6 ОбычныйЧеловек
 
14.12.13
✎
11:42
(3) Считай, что тестовое задание ты только, что провалил :)
7 salih020292
 
14.12.13
✎
11:43
(6) почему?(
8 salih020292
 
14.12.13
✎
11:46
(6) скажи)))
9 ОбычныйЧеловек
 
14.12.13
✎
11:48
(8) За "НайтиПоНаименованию" и "ИмяПользователя" обычно сразу увольняют :) вот посомтри для пример сюда http://infostart.ru/public/73954/ - добавь туда пользователя - вот тебе и решение )
10 salih020292
 
14.12.13
✎
11:52
(9) там все что нужно в описании есть? или мне её скачать надо ещё?
11 salih020292
 
14.12.13
✎
11:53
(9) я так предварительно понял,это все решение моей проблемы.
12 salih020292
 
14.12.13
✎
11:54
(9) и почему уврольняют? )
13 salih020292
 
14.12.13
✎
11:54
(9) СпасибоБольшое. Если получится сделать, думаю начальник удивится.
14 salih020292
 
14.12.13
✎
11:56
(9) у меня 8.2 стоит, для 8.2 пойдет?
15 ОбычныйЧеловек
 
14.12.13
✎
11:59
(12) потому, что гладиолус.
(14) конвертнется автоматически в 8.2
Вот еще http://infostart.ru/public/88987/
16 salih020292
 
14.12.13
✎
12:01
(15) второе что-то большое))) первое попробую.
17 salih020292
 
14.12.13
✎
12:02
(15) а вообще хорошо будет если и простым кодом сделаю и попробую статью.
18 ОбычныйЧеловек
 
14.12.13
✎
12:13
(17) ссылки для того, что бы ты понимал как надо реализовывать подобные задания - тестовое задание тебе для того и дается, что бы понять как в будущем ты будешь писАть - "Если ИмяПользователя...НайтиПоНаименование....НайтиПоКоду...и т.д." или все таки будешь реализовывать как указано по ссылкам
19 salih020292
 
14.12.13
✎
12:15
(18) Спасибо. Вразумили.
20 salih020292
 
14.12.13
✎
12:17
(18) только вот, не понимаю, в результате сам список подразделений же сократится? то есть строки сами, а не колонки.
21 salih020292
 
14.12.13
✎
12:18
(18) хотя как я понял - да
22 salih020292
 
14.12.13
✎
14:41
все-таки требуется первое мое собственное решение, второе как дополнительная.
23 salih020292
 
14.12.13
✎
14:43
Хочу проанализировать в обработчике ПриОткрытии значение строки СекретноеПодразделение на истину, если истина то не показывать текущую строку, если ложь то показывать.
Не могу найти нужный метод чтоб вытащить это значение.
24 salih020292
 
14.12.13
✎
14:43
У СекретногоПодраздления
25 salih020292
 
14.12.13
✎
14:43
Не подскажет кто-нибудь?
26 salih020292
 
14.12.13
✎
14:46
ищу ЭлементыФормы.СправочникСписок В ВычислитьВыражение, пока черт ногу сломит
27 salih020292
 
14.12.13
✎
14:47
нужный метод
28 salih020292
 
14.12.13
✎
14:51
up
29 salih020292
 
14.12.13
✎
14:55
up2)
30 salih020292
 
14.12.13
✎
14:57
ЭлементыФормы.СправочникСписок.Колонки.СекретноеПодразделение ? может это, но что -то не получалось
31 salih020292
 
14.12.13
✎
15:09
ЭлементыФормы.СправочникСписок.Колонки.СекретноеПодразделение.ЭлементУправления.Значение или это?
32 salih020292
 
14.12.13
✎
15:18
мм
33 ОбычныйЧеловек
 
14.12.13
✎
15:37
(23) Значение какой строки ты собрался анализировать??? Секретное подразделение - это реквизит - вот его значение и анализируй...
Судя по следующим коментам ты мягко говоря не совсем понимаешь, что пытаешься сделать.
34 salih020292
 
14.12.13
✎
15:51
(33) ну ,реквизит. он же в каждой строке. В цикле перебрать его?
35 salih020292
 
14.12.13
✎
15:51
(33) всех строк
36 salih020292
 
14.12.13
✎
15:53
(33) то есть нужно так, если в такой-то строке реквизит секретное подразделение равен истина то эту строку показывать нельзя, то есть отключить у этой строки видимость
37 Wobland
 
14.12.13
✎
16:17
(36) ветку не читал, это называется ограничением доступа на уровне записей
38 Wobland
 
14.12.13
✎
16:18
+(37) в БСП реализована довольно мощная система этого дела
39 Wobland
 
14.12.13
✎
16:20
и уйди от реквизита и приди к ролям
40 salih020292
 
14.12.13
✎
16:28
(39) все бы хорошо, да роу левел секьюрити использовать нельзя
41 salih020292
 
14.12.13
✎
16:29
(37) таковы условия
42 Wobland
 
14.12.13
✎
16:37
(41) аллах запрещает?
а я бы запретил использование номенклатуры с наименованием на букву П. ну не нравится она мне
43 salih020292
 
14.12.13
✎
16:44
(42) нет, начальник с именем Константин)
44 salih020292
 
14.12.13
✎
16:45
))))))))))))))))(42)
45 salih020292
 
14.12.13
✎
16:45
(18) делаю по той статье которую Вы указывали.
46 Wobland
 
14.12.13
✎
16:46
вот мне уже лет под сраку, а находятся такие люди, которые говорят мне, как нужно работать (техзадание). я им за это весьма благодарен: есть что-то структурированное вместо невнятных мычаний пользователей. и у меня совсем нет проблем с тем, чтобы взять и переформулировать какую-то часть техзадания, я аргументирую свой взгляд. в основном этого не требуется, т.к. меня окружают умные люди. завидуй мне ;)
47 salih020292
 
14.12.13
✎
16:51
(46) Если вы опытный и умный человек я Вас уважаю.
Завидовать нечему, так как не с неба Вы получили это,а трудились.
А так, люблю здоровую конкуренцию.

Я тоже иногда аргументирую, оспариваю или предлагаю решения когда есть что сказать.

Это задание , скажем так тестовое.. не для пользователей..( хотя мыслить нужно всегда для пользователя и клиента))..
48 salih020292
 
14.12.13
✎
16:52
(46) меня тоже окружают не глупые люди. хотя таковых и мало.
49 Wobland
 
14.12.13
✎
16:55
(47) та я ж говорю, что эмулирование РЛС только потому, что Константину так захотелось, есть лишнее
50 salih020292
 
14.12.13
✎
22:57
Сделал, задача решается через отборы.
51 salih020292
 
14.12.13
✎
23:44
Если ПараметрыСеанса.ТекущийПользователь.ИдентификаторПользователяИБ = ПользователиИнформационнойБазы.НайтиПоИмени("НЕГлавныйБухгалтер)").УникальныйИдентификатор Тогда
       СправочникСписок.Отбор.СекретноеПодразделение.Значение = Ложь;
       СправочникСписок.Отбор.СекретноеПодразделение.Использование = Истина;                                  
      ЭлементыФормы.СправочникСписок.Колонки.СекретноеПодразделение.Видимость = Ложь;                  
   КонецЕсли;
52 Wobland
 
15.12.13
✎
00:32
а там никак не залезть в настройки отбора и не выключить установленный отбор?
53 Armando
 
15.12.13
✎
00:54
Тему не читал.
(51) Надо ролями это разруливать.
Во-первых, RLS
Во-вторых, видимость в зависимости от ролей в обычном приложении можно вот так устанавливать:

ЕстьПравоПросмотраРеквизита = ПравоДоступа("Просмотр", Метаданные.Справочники.Подразделения.Реквизиты.СекретноеПодразделение);
ЭлементыФормы.СправочникСписок.Колонки.СекретноеПодразделение.Видимость = ЕстьПравоПросмотраРеквизита;
54 Armando
 
15.12.13
✎
00:59
+(53) То есть в конфигураторе надо пройтись по всем ролям и отключить право "Видимость", а для роли ПравоГлавногоБухгалтера включить. И для всех, кроме ПравоГлавногоБухгалтера прописать текст ограничения (RLS).
55 Wobland
 
15.12.13
✎
01:06
(53) ещё один.. автору Константин запрещает РЛСы
56 Armando
 
15.12.13
✎
01:15
(55) Ясно. Берем универсальный отчет и алга.
57 Wobland
 
15.12.13
✎
01:25
58 salih020292
 
15.12.13
✎
11:40
ахах))(55)
59 salih020292
 
15.12.13
✎
11:42
как он ( Константин ) начал задавать задачу, я тоже сразу Р...
Нееет, это мы не будем использовать)
60 salih020292
 
15.12.13
✎
11:42
(57) он просил меня ограничиться одной строчкой кода.
61 salih020292
 
15.12.13
✎
11:44
(52) моожноооо. ) но это не суть, ему нужен был код просто.
62 salih020292
 
15.12.13
✎
11:45
(52) плюс, условились что я типовые я не знаю. а я их ивправду мало знаю. так что не анализировал типовые возможности. может решение в справке какой-нибудь есть типового решения..этакий анализ от розетки..
63 salih020292
 
15.12.13
✎
11:46
(52) отборы нельзя выключить на форме ,то есть скрыть на хер?
ну это как вариант, дальше я делать уже не буду
64 salih020292
 
15.12.13
✎
11:47
(51) +  // Арбуханов Салих код тра-та-та
    Если ПараметрыСеанса.ТекущийПользователь.ИдентификаторПользователяИБ = ПользователиИнформационнойБазы.НайтиПоИмени("НЕГлавныйБухгалтер)").УникальныйИдентификатор
        Тогда    ЭлементыФормы.СекретноеПодразделение.Доступность=Ложь;
    Иначе   ЭлементыФормы.СекретноеПодразделение.Доступность=Истина;
    КонецЕсли;
               // Арбуханов Салих код тра-та-та
65 salih020292
 
15.12.13
✎
11:53
(64)это в форме элемента
66 Wobland
 
15.12.13
✎
13:43
(64) доступность=текущий=небухгалетр
67 salih020292
 
19.12.13
✎
22:19
потом пришлось по Ролям проверять , РольДоступна()