Имя: Пароль:
1C
1С v8
Добавление прав для пользователя
,
0 Singenor
 
08.11.12
14:23
Столкнулся с проблемой, добавил права в ПВХ, теперь в обработчике события для него пишу условия:

Разрешено = УправлениеПользователями.ПолучитьЗначениеПраваДляТекущегоПользователя(ПланыВидовХарактеристик.ПраваПользователей.РазрешитьПроведениеБезСерий, Ложь);
      Если Разрешено = Ложь  Тогда
           
   Если ТипЗнч(Источник) = Тип("ДокументОбъект.КомплектацияНоменклатуры") Тогда
       Товары = Источник.Комплектующие;

........
КонецЕсли;

И вот если Разрешено = Истина, то отладчик сразу прыгает на последний конецесли, но если Разрешено = Ложь происходит тоже самое, почему? разве при условии Разрешено = Ложь (тип у разрешено тоже ложь когда попадается) не должен происходить код написанный далее? а не прыгать на последний конецЕсли;?
1 mikecool
 
08.11.12
14:24
прочитал 2 раза, ни..я не понял
2 Нуф-Нуф
 
08.11.12
14:25
(1) +1
3 Singenor
 
08.11.12
14:26
Если Разрешено = Ложь Тогда

выполняется код

КонецЕсли;



То есть если у Разрешено будет тип = ложь (Ложь = Ложь) будет выполнение кода, так понятнее?)
4 Singenor
 
08.11.12
14:26
Если Разрешено = Ложь, и у разрешено значение Истина, соответственно код выполняться не будет, так? и сразу попадает в конец тела функции?
5 Nina2005
 
08.11.12
14:27
я так поняла, что даже когда Разрешено=ложь, то не заходит в условие, сразу уъходит на КонецЕсли.
6 Singenor
 
08.11.12
14:27
(5) да, девушка права)
7 Нуф-Нуф
 
08.11.12
14:28
(5) значит Разрешено не =ложь
8 Nina2005
 
08.11.12
14:28
(7) +1
9 salvator
 
08.11.12
14:28
Чудес не бывает. Проверь значение переменной.
10 Singenor
 
08.11.12
14:30
в том то и дело, что вроде элементарно, но не работает, щас скрин выложу
11 Singenor
 
08.11.12
14:35
http://pikucha.ru/i9udQ - при Истина
http://pikucha.ru/i9udS - при Ложь
оба слетают на КонецЕсли;
12 salvator
 
08.11.12
14:36
(11) Посмотри на колонку "Тип" в табло
13 Nina2005
 
08.11.12
14:37
тип должен быть БУЛЕВО
14 Singenor
 
08.11.12
14:37
Список значений
15 Nina2005
 
08.11.12
14:37
а у тебя почему список значений?
16 Singenor
 
08.11.12
14:38
это для меня пока загадка)
17 Singenor
 
08.11.12
14:39
Хотя в ПВХ стоит тип булево
18 salvator
 
08.11.12
14:40
(17) Причем тут ПВХ? У тебя функция возвращает это значение. Исходя из типа этого значения и пиши условие.
19 Singenor
 
08.11.12
14:42
ну тут условие или Если Разрешено = Ложь или если ЗначениеЗаполнено(Разрешено), но и ито и другое не правильно
20 Singenor
 
08.11.12
14:47
или передать переменной тип данных булево?
21 Singenor
 
08.11.12
14:54
и гугл не знает как передать условия выбора в списке значений(
22 Singenor
 
08.11.12
15:04
неужели никто не знает как прописать условия для списка значений?)
23 salvator
 
08.11.12
15:05
(22) Посмотри какие значения функция может возвращать.
24 Singenor
 
08.11.12
15:08
(23) так у меня это все в процедуре
25 salvator
 
08.11.12
15:10
(24) Ты вызываешь функцию ПолучитьЗначениеПраваДляТекущегоПользователя. Что она может возвращать?
26 Singenor
 
08.11.12
15:10
(23) не то написал, функция может возвращать значения:

Функция ПолучитьЗначениеПраваДляТекущегоПользователя(Право, ЗначениеПоУмолчанию = Неопределено) Экспорт
27 Singenor
 
08.11.12
15:11
/ Возвращаемое значение:
//  Список всех значений, установленных наборам прав (ролям), доступных пользователю
28 Singenor
 
08.11.12
15:15
вот и возвращается список значений, который мы в дальнейшем видим, так?
29 Singenor
 
08.11.12
15:16
а как сделать чтобы возвращался булев тип?
30 YF
 
08.11.12
15:17
(29) Переписать Функцию?
31 Singenor
 
08.11.12
15:18
(30) как вариант кстати)
32 Singenor
 
08.11.12
15:24
Функция РазрешитьПроводитьБезСерий () Экспорт
Разрешено = УправлениеПользователями.ПолучитьЗначениеПраваДляТекущегоПользователя(ПланыВидовХарактеристик.ПраваПользователей.РазрешитьПроведениеБезСерий, Ложь);
   Если Разрешено = Ложь  Тогда
       Возврат ложь;
   Иначе
       Возврат Истина;
   КонецЕсли;
   КонецФункции

Потом вызываю эту функцию в процедуре:
Если НЕ РазрешитьПроводитьБезСерий ()  Тогда
......
КонецЕсли;
Но результат такой же, как и в начале этой ветки + он не заходит в эту функцию отладчиком(
33 salvator
 
08.11.12
15:25
(32) На (25) ответ увижу, нет?
34 Singenor
 
08.11.12
15:26
(33) / Возвращаемое значение:
//  Список всех значений, установленных наборам прав (ролям), доступных пользователю
разве не то? где посмотреть тогда?
35 salvator
 
08.11.12
15:27
(34) Меня не интересует комментарии к этой функции. Что в коде функции может возвращаться в зависимости от условий?
36 Singenor
 
08.11.12
15:28
37 Singenor
 
08.11.12
15:28
(35)-(36)
38 Singenor
 
08.11.12
16:13
как условия для Сз прописать то?)
39 Singenor
 
08.11.12
16:55
пока проблема еще актуальна)
40 Singenor
 
08.11.12
17:16
Разрешено = УправлениеПользователями.ПолучитьЗначениеПраваДляТекущегоПользователя(ПланыВидовХарактеристик.ПраваПользователей.РазрешитьПроведениеБезСерий, Ложь);
   КЧ = Новый КвалификаторыЧисла(12,2);
   КС = Новый КвалификаторыСтроки(25);
   Массив = Новый Массив;
   Массив.Добавить(Тип("Булево"));
   ОписаниеТиповС = Новый ОписаниеТипов(Массив, ,КС);
   Разрешено = ОписаниеТиповС;
Делаю так, только теперь в тип при отладке пишется ОписаниеТипов, но я ведь задал в описании типов тип данных булево, почему не работает все равно?
41 Singenor
 
08.11.12
17:26
все вымерли?)
42 drcrasher
 
08.11.12
17:30
божечкай, дай этим людям хотя бы мозжечок. чтоб в голове кроме ниточки у них ещё что-нибудь было...
43 Singenor
 
08.11.12
17:32
(42) у тебя то походу и ниточки нету
44 Singenor
 
08.11.12
17:40
(42) агрошколота вернулась со школы, и пытается давать дельные советы?)
45 drcrasher
 
08.11.12
17:40
(43) ниточки у меня нет. У меня там мозг.
46 drcrasher
 
08.11.12
17:41
(44) ок, я агрошколота.
47 Singenor
 
08.11.12
17:41
(45) ответь мозг на вышепоставленный вопрос, посмотрим на сколько процентов он у тебя там работает
48 drcrasher
 
08.11.12
17:43
отвечает агрошколота:
Разрешено = УправлениеПользователями.ПолучитьЗначениеПраваДляТекущегоПользователя(ПланыВидовХарактеристик.ПраваПользователей.РазрешитьПроведениеБезСерий, Ложь)[0];

всего хорошего, неагрошклота
49 Singenor
 
08.11.12
17:43
у меня уже еба*** мозг кипит от этого тупого задания, я как только типы эти уже не менял, все равно не работает
50 drcrasher
 
08.11.12
17:44
+48 ...].Значение
51 Singenor
 
08.11.12
17:45
(48) и что? как то твой вариант новых результатов не принес)
52 drcrasher
 
08.11.12
17:46
и?
53 Singenor
 
08.11.12
17:46
блин чел, ты крут)
54 Singenor
 
08.11.12
17:47
да ядерный хеядерный, че за бред, я 4 часа е**** с этой галиматьей, а оказалось нужно дописать [0].Значение, пффф
55 Singenor
 
08.11.12
17:47
(52) беру свои слова назад)
56 Singenor
 
08.11.12
17:48
[0].Значение - можете объяснить, что это за поворот сюжета?
57 Singenor
 
08.11.12
18:05
(56) преобразование к какому то типу я так понял?