|
Условие на установку значений перечисления двум пользователям | ☑ | ||
---|---|---|---|---|
0
NIGHTHUNTER
17.06.22
✎
10:28
|
Необходимо что бы только 2 пользователя могли устанавливать статус равный согласованно.
Попытался сделать это в процедуре при изменении. Задал условие и если оно выполняется, меняю значение на пустую ссылку. Проверил, под собой, работает, не могу установить значение согласованно. Сейчас захожу под одним из нужных пользователей, но под ним тоже не удается установить значение. Что не так с условием? &НаКлиенте Процедура СтатусПриИзменении(Элемент) СтатусПриИзмененииНаСервере(); КонецПроцедуры // Процедура СтатусПриИзмененииНаСервере() Если Объект.Статус = Перечисления.ХХХ_ВидыВнутреннихПеремещений.Согласованно И (Не ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь 1", 1) ИЛИ Не ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь 2", 1)) Тогда Объект.Статус = ПредопределенноеЗначение("Перечисление.ХХХ_ВидыВнутреннихПеремещений.ПустаяСсылка"); КонецЕсли; КонецПроцедуры Пользователь находится, посмотрел в табло. Захожу под Пользователем 2. Почему под пользователем 2, так же перетирается значение поля? |
|||
1
NIGHTHUNTER
17.06.22
✎
10:34
|
(0) Как я понимаю, что то не так я сделал в условии.
Хотел сделать так, - Если статус согласованно, и текущий пользователь не равен ни Пользователь 1 ни Пользователь 2, то не дать ему выбрать статус согласованно. Установить статус согласованно в пустую ссылку. |
|||
2
Kigo_Kigo
17.06.22
✎
10:35
|
то есть при открытии доступностью нас не научили пользоваться да?
|
|||
3
Kigo_Kigo
17.06.22
✎
10:36
|
Нахрена этот огород городить?
Ты изменить можешь, но не дам так что ле? Что за бред? |
|||
4
Kigo_Kigo
17.06.22
✎
10:37
|
И сидит пользак тыкает и нихрена не понимает, а что не так то?
|
|||
5
NIGHTHUNTER
17.06.22
✎
10:39
|
(2) В этом поле перечисление 4 значения.
По заданию, одно из значений, согласованно, могут выбирать только 2 пользователя. (4) Такая задача!!!!! Я узнаю почему не срабатывает условие? Перепишу его на 2 , 3 ветки отдельные ? |
|||
6
Kigo_Kigo
17.06.22
✎
10:45
|
А так?
Если Объект.Статус = Перечисления.ХХХ_ВидыВнутреннихПеремещений.Согласованно Тогда Если Не ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь 1", 1) ИЛИ Не ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь 2", 1) Тогда Объект.Статус = ПредопределенноеЗначение("Перечисление.ХХХ_ВидыВнутреннихПеремещений.ПустаяСсылка"); КонецЕсли; КонецЕсли; |
|||
7
NIGHTHUNTER
17.06.22
✎
10:47
|
Пробую так
Если Объект.Статус = Перечисления.ХХХ_ВидыВнутреннихПеремещений.Согласованно И Не ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь 1", 1) И Не ПользователиКлиентСервер.ТекущийПользователь() = Справочники.Пользователи.НайтиПоНаименованию("Пользователь 2", 1) Тогда Объект.Статус = ПредопределенноеЗначение("Перечисление.ХХХ_ВидыВнутреннихПеремещений.ПустаяСсылка"); КонецЕсли; |
|||
8
Kigo_Kigo
17.06.22
✎
10:48
|
(6)отрабатывает?
(7) Во ты огород городишь |
|||
9
arsik
гуру
17.06.22
✎
10:49
|
(0) Используй событие ОбработкаВыбора
|
|||
10
NIGHTHUNTER
17.06.22
✎
10:49
|
(8) Это работает (7)
Где там огород? зашел под Пользователем 2, может выбрать Согласованно . Зашел под собой, выбрать не могу Согласованно. |
|||
11
Kigo_Kigo
17.06.22
✎
10:52
|
(10) огород в том что 2 раза сравниваешь то что не надо, логика
если Согласовано, проверим имя пользователя и на этом основании меняешь |
|||
12
arsik
гуру
17.06.22
✎
10:54
|
+(9) Примерно так
&НаСервереБезКонтекста
|
|||
13
Dmitrii
гуру
17.06.22
✎
10:59
|
(5) >> По заданию, одно из значений, согласованно, могут выбирать только 2 пользователя. Такая задача!
Задача понятна. Но решение ты выбрал неверное. Решается она несколькими способами. На форме документа можно, например, рулить списком выбора поля Статус в ПриСозданииНаСервере. Для нужных пользователей список будет полным, а для всех остальных - сокращенным. Или ещё вариант см.(12). А для того, чтобы пользователи не могли изменить этот реквизит групповой обработкой (в списке документов, например) или ещё как-либо програмно, всё равно придётся делать делать проверку в событии (или подписке на событие) ПередЗаписью. Что-то типа Если Объект.Статус = Согласовано И Объект.Статус <> Ссылка.Статус и ПользователюНельзяСогласовывать() Тогда Отказ = Истина; Сообщить("Тебе низзя согласовывать!"); КонецЕсли. |
|||
14
hhhh
17.06.22
✎
14:04
|
(11) вы прикалываетесь? И надо, а не ИЛИ.
|
|||
15
Мультук
гуру
17.06.22
✎
14:30
|
(0)
Просто прелестно (с) Справочники.Пользователи.НайтиПоНаименованию("Пользователь 2", 1)) Ответь на вопрос. Что будешь делать, если а) "Пользователь 2" внезапно выйдет замуж и поменяет фамилию б) Окажется, что таких спец-пользователей на два, а три, может больше |
|||
16
Ненавижу 1С
гуру
17.06.22
✎
14:31
|
(0) что это вообще?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |