|
Условия условного оператора Если | ☑ | ||
---|---|---|---|---|
0
NIGHTHUNTER
30.08.22
✎
05:30
|
При создании на сервере, есть некое условие. По первой его части понятно, что устанавливать отказ в истина,
если текущий пользователь, не является инициатором документа. Но вот, остальные 2 условия, по ИЛИ. Сколько я не смотрел на них, они мне кажутся совершенно бесполезными. Так ли это? Если НЕ (ПользователиКлиентСервер.ТекущийПользователь() = Объект.Инициатор ИЛИ ПользователиКлиентСервер.ТекущийПользователь() = Объект.Ответственный ИЛИ ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь Ирина", 1)) Тогда Сообщить("Текущий пользователь не является инициатором документа!"); Отказ = Истина; КонецЕсли; |
|||
1
DEVIce
30.08.22
✎
05:53
|
У тебя там НЕ стоит в самом начале, что значительно меняет ситуацию с условием внутри скобок.
|
|||
2
Ёпрст
30.08.22
✎
06:03
|
(0) ё..
алгебру логики в школе не проходили что ле ? |
|||
3
Ёпрст
30.08.22
✎
06:05
|
раскрой скобки, будет:
ЗЫ: >>>Пользователь Ирина" тут даже сразу понятно, кто автор сего чуда. У вас там точно, заповедник |
|||
4
NIGHTHUNTER
30.08.22
✎
06:18
|
(3) Если текущий пользователь не инициатор (создатель) документа, он уже не сможет его открыть.
О чем следующие 2 условия???? Тут либо он создатель, и открывает документ, или нет, и не откроет. Я вот не пойму последующие 2 уловия, о чем они. Кажется что лишние. |
|||
5
Ёпрст
30.08.22
✎
06:22
|
(4) Пользователь Ирина всегда может
|
|||
6
Ёпрст
30.08.22
✎
06:23
|
Тебя не Ира зовут, случаем?
|
|||
7
Йохохо
30.08.22
✎
06:23
|
(4) они не лишние, они заложены в логику.
|
|||
8
Ёпрст
30.08.22
✎
06:23
|
Или она у вас супер-босс ?
|
|||
9
DEVIce
30.08.22
✎
06:24
|
(2) У нас в школе не было, но было на первом курсе универа, правда я один фиг все эти конъюнкции и дизъюнкции не помню. :)
|
|||
10
NIGHTHUNTER
30.08.22
✎
06:37
|
(7) Ясно, только я не пойму как почему то (((.
(5) То есть если, я через ИЛИ, добавляю новых пользователей, как Пользователь Ирина, то они все так же могут всегда открывать документы? Я недопонимаю, логику. этой всей связки. Первая строка понятна. Если пользователь не создатель документа. то он не откроет документ. Если создатель. то откроет. |
|||
11
Ёпрст
30.08.22
✎
06:40
|
(10) фарш невозможно прокрутить назад, и тебя по-ходу за парту не загонишь.
Попроси Ирину, она добавит тебя, будешь тоже, открывать документы. По-ходу только она у вас там шарит. |
|||
12
NIGHTHUNTER
30.08.22
✎
06:54
|
(11) Я у пользователя, просто на просто сменил фамилию.
А этот код делал сам, но сейчас вот встретил не допонимаемость его. Добавлю через ИЛИ остальных пользователей, кому нужно снять ограничения. А то я их вынес в условие выше ещё. Что если они. то ничего не делается. иначе эта ветка. |
|||
13
NIGHTHUNTER
30.08.22
✎
06:56
|
(11) я с удовольствием бы сел за парту. Это единственное в жизни, что было мое.
Но у меня возраст не тот уже. Время ушло мое. |
|||
14
Ёпрст
30.08.22
✎
07:04
|
(12) ТоварищЪ, это делается ролями, а не именем пользователя, хотя-бы.
Иначе, тебя затра..ют с этими исправлениями, а того, кто написал "Пользователь Ирина" в коде, отпизд..ить стальной линейкой по пальчикам, чтоб не повадно было. |
|||
15
Гипервизор
30.08.22
✎
07:11
|
(4) Похоже автор что-то слышал про логику ленивых вычислений, но не понял сути. Это не так работает. Посмотрите внимательно на выражение в (3).
Если текущий пользователь не инициатор (создатель) документа, эта часть выражения будет Истина. А вот если будет Ложь, тогда дальнейшие вычисления уже не нужны. |
|||
16
DEVIce
30.08.22
✎
07:27
|
(10) Нет, ты не правильно понимаешь, у тебя НЕ относится не к первому элементу условия, а ко всему что в скобках, т.е. ко всему условию.
|
|||
17
NIGHTHUNTER
30.08.22
✎
07:43
|
(16) Я понимаю что ко всему что в скобках.
|
|||
18
Bigbro
30.08.22
✎
08:01
|
почему создает эти ветки найтхантер а читать их стыдно мне? ((
|
|||
19
Фантазер
30.08.22
✎
08:19
|
(0) Это условие на доступ к документу?
По условию проверяется текущий пользователь с инициатором (это видно поле в документе) текущий пользователь с ответственным (это тоже поле в документе) текущий пользователь с пользователем Ирина (у Ирины видно полный доступ) Если хоть одно условие не сработало - в документ не пустят/не покажут. неужели ты еще в операторах не разобрался? Или тролишь? |
|||
20
АгентБезопасной Нацио
30.08.22
✎
08:23
|
(18) наверное, ты испанец...
(14) уточняй сразу - бить по таким пальцам нужно ребром линейки... |
|||
21
NIGHTHUNTER
30.08.22
✎
08:28
|
(19) Не тролю.
Вот что мне было нужно. Если НЕ (ПользователиКлиентСервер.ТекущийПользователь() = Объект.Инициатор ИЛИ ПользователиКлиентСервер.ТекущийПользователь() = Объект.Ответственный ИЛИ ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь первый", 1) ИЛИ ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь второй", 1) ИЛИ ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь третий", 1)) Тогда Сообщить("Текущий пользователь не является инициатором документа!"); Отказ = Истина; КонецЕсли; Если это инициатор, текущий пользователь. Документ открывается. Если это Пользователь первый, второй или третий, документ так же открывается. Вне зависимости от того инициатор он или нет. Что тогда делает условие по Ответственному? |
|||
22
NIGHTHUNTER
30.08.22
✎
08:35
|
(21) Увидел, ПользователиКлиентСервер.ТекущийПользователь() = Объект.Ответственный
так же может открыть документ. |
|||
23
Bigbro
30.08.22
✎
08:36
|
ты не поверишь но делает то же самое - если ответственный то открывается независимо что он не пользователь 123 или инициатор
|
|||
24
NIGHTHUNTER
30.08.22
✎
08:36
|
(23) Да, я понял. спасибо. Проверил под всеми.
|
|||
25
ufufu
30.08.22
✎
08:37
|
(14) у нас в нашей нетленке на клюшках, все права прописаны по именам пользователей (((
и трогать это я не собираюсь. |
|||
26
Гипервизор
30.08.22
✎
08:59
|
(25) Ох, знакомая ситуация, видел такие "шедевры". Начинается с робких высказываний: "Ну там всего один пользователь такой, исключительный, чего ради одиночного случая огород c ролями городить?"
А потом появляются подобные монстры: Если Найти("Ivanov Ivanov123 Petrov Petrov321 Sidorov Zelepukin Peredrishev", ТекущийПользователь.Имя) = 0 Тогда |
|||
27
Kassern
30.08.22
✎
09:11
|
(0) Стыдно должно быть подобные вопросы задавать человеку с многолетним стажем программирования. Это ведь школьный курс булевой логики, с нее начинается информатика и изучение программирования.
|
|||
28
Фантазер
30.08.22
✎
09:17
|
(22) Так тебе нужно чтобы что?
Документ мог открыть только владелец? Опиши свою ситуацию словами, а не кодом - что ты хочешь? (Блин, дежавю, вчера только такое же объяснял своему клиенту, тоже хотел по коду пользователей по правам раскидать) |
|||
29
unbred
30.08.22
✎
09:58
|
Если ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию ("NIGHTHUNTER") Тогда
Отказ = Истина; Сообщить("пшёл на*** отседа"); Возврат; КонецЕсли; |
|||
30
АгентБезопасной Нацио
30.08.22
✎
10:47
|
(26) Кстати, у нас был пользователь Етров. Его то Петровым, то Ветровым записывали постоянно...
(29) Только вот это надо в конфигураторе... Или в домене. Или вообще в операционке. причем захардкодить. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |