Имя: Пароль:
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
потом пришлось по Ролям проверять , РольДоступна()
AdBlock убивает бесплатный контент. 1Сергей