Имя: Пароль:
1C
1C 7.7
v7: Права доступа
, , ,
0 bagira
 
05.08.11
12:25
Вопрос в следующем. Есть пользователи Кладовщики, в наборе прав у них закрыт доступ на редактирование проведенного документа "Расходная накладная", но при этом мне надо чтобы на форме документа они могли менять один реквизит "Отгружено/Не отгружено". Уже как только код не переписывала, не дает править этот реквизит. Подкиньте пожалуйста идею.
1 Guk
 
05.08.11
12:26
(0) меняй из журнала...
2 Попытка1С
 
05.08.11
12:27
Сделай им кнопку, да.
3 bagira
 
05.08.11
12:29
в смысле? чтобы они не заходя в форму документа из журнала "Товары" этот реквизит меняли? Так можно? И если можно то скелет кода можно?

Точно. Если выложить кнопу, и она будет менять значение с одного на другое. Это идея, спасибо.....
4 Rie
 
05.08.11
12:34
(3) Можно и не кнопку. Можно текстовую колонку с пиктограммой в списке журнала. И ПриНачалеРедактированияСтроки проверять - если щёлкнуто по этой колонке, то у текущего документа реквизитик - того-с.
5 bagira
 
05.08.11
12:37
колонка в журнале есть, можно конечно и из журнала попробовать. Сейчас попробую оба варианта, потом выберу тот который будет удобнее кладовщикам, надо им внутрь заходить накладной чтобы номенклатуру сверить или достаточно зная номер менять признак отгрузки. Всем спасибо.
6 Cthulhu
 
05.08.11
12:44
У меня кладовщикам дуракоустойчивый интерфейс выдан.
Строго только одна обработка, вообще без меню и панелей. Обработка - многозакладочная, "Отправка", "Доставка", "Инвентарка-размещения". На закладках - ТЗ со списками документов только этого склада, по даблкликам на списках - только ограниченный набор операций понятным им языком, по которым программно нужные действия.
Ибо - кладовщики.
7 bagira
 
05.08.11
13:06
у меня не кладовщики а цирк ходячий, я уже не знаю как с ними бороться, доступ надо везде и на все, а потом виноватых ищут.
8 bagira
 
05.08.11
13:39
с кнопкой не получается.......... под пользователем у которого есть права редактирования все работает, а кладовщикам по кнопке не меняет признак
9 fedoss
 
05.08.11
13:43
(8) Дай им права, в Расходная накладная, ПриОткрытии:
Если (Проведен() = 1) И (НазваниеНаборАПрав() = "Кладовщик") Тогда
 Форма.ТолькоПросмотр(1);
КонецЕсли

И кнопочка заработает и менять ничего не смогут
10 __Se24
 
05.08.11
13:44
(8) Видать в коде что-то не так , раз не работает
11 bagira
 
05.08.11
13:48
да прямо в коде,..... тогда ни под одним пользователем не работало бы, под собой я же все правлю. Тут именно права....
У меня была мысль в ПриОткрытии сделать как (9) предложил, но хотелось как то правильнее..
12 __Se24
 
05.08.11
13:53
при работе через код , права на объекты игнорируются
13 bagira
 
05.08.11
13:55
Вариант (9) сработал
14 bagira
 
05.08.11
13:56
Т.е. получается что программно я не могу дать доступ и потм его отменить, да? Хотя наверное нельзя, потому что даже когда набор прав меняешь сохранять конфу надо.
15 bagira
 
05.08.11
13:59
Спасибо всем..... так и оставлю.
16 __Se24
 
05.08.11
14:02
(14) ну скажем так :

спр=СоздатьОбъект("Справочник.Номенклатура");
спр.ВыбратьЭлементы();
Пока спр.ПолучитьЭлемент()=1 Цикл
   спр.Наименование="";
   спр.Записать();
КонецЦикла;

отработает в любом случае , есть у набора прав пользователя доступ к данному справочнику или нет . Так что осторожнее ))
17 Cthulhu
 
05.08.11
14:07
(7): Исправляй. Служебная. На тему "Регламент работы кладовщика" с разделом "перечень и краткое описание отчетов, необходимых кладовщику в процессе выполнения должностных обязанностей" с обязательным указанием "зачем?".
18 bagira
 
05.08.11
14:09
А вот этот код повешенный на кнопу не отрабатывает при отсутствии права на редактирование проведенного документа. А при полных правах меняет признак как миленький
Процедура ПоменятьПризнак()
   
   Если ПризнакОтгрузки = Перечисление.ЗакрытиеТТН.Отгружено Тогда
       ПризнакОтгрузки = Перечисление.ЗакрытиеТТН.НеОтгружено;
       
   ИначеЕсли ПризнакОтгрузки = Перечисление.ЗакрытиеТТН.НеОтгружено Тогда
       ПризнакОтгрузки = Перечисление.ЗакрытиеТТН.Отгружено;
       
       Записать();
   КонецЕсли;
19 __Se24
 
05.08.11
14:25
(18) откуда этот код ?
Это форма документа , журнала ?
20 bagira
 
05.08.11
14:27
форма документа, код повешен на кнопу, которая меняет значение реквизита с Отгружена на Не отгружено и наоборот
21 __Se24
 
05.08.11
14:31
попробуй вот так :

Процедура ПоменятьПризнак()
Док=СоздатьОбъект("Документ.КакойтоДокумент");
Если Док.НайтиДокумент(ТекущийДокумент())=1 Тогда
  Если Док.ПризнакОтгрузки=Перечисление.ЗакрытиеТТН.Отгружено Тогда
     Док.ПризнакОтгрузки=Перечисление.ЗакрытиеТТН.НеОтгружено;
       Док.Записать();
     ИначеЕсли Док.ПризнакОтгрузки=Перечисление.ЗакрытиеТТН.НеОтгружено Тогда
       Док.ПризнакОтгрузки=Перечисление.ЗакрытиеТТН.Отгружено;
       
       Док.Записать();
   КонецЕсли;
КонецЕсли;

кстати , у тебя второй "Записать" потерялся
22 bagira
 
05.08.11
14:34
Думаешь в этом случае 1Су не важны будут права доступа?
23 __Se24
 
05.08.11
14:34
и наверное нужно открывать документ только на чтение , чтобы блокировки не сработала ..
24 __Se24
 
05.08.11
14:35
апсолютно уверен , что неважны
25 bagira
 
05.08.11
14:36
я попробую конечно и твой вариант, самой интересно. Вроде пустяк, а бьюсь с этой ерундой с обеда уже,
26 __Se24
 
05.08.11
14:37
у меня както бухи случайно добрались до "групповой обработки справочников" , и удалили всех контрагентов . хотя у них доступ к справочнику "только чтение".
27 bagira
 
05.08.11
14:40
:-)
Я бы рученьки то всем повыдергивала, хотя у меня это желание и так часто возникает....))
28 __Se24
 
05.08.11
15:02
(27) та плевать ))
восстановили базу из бекапа ,а обработку убрали из свободного доступа
29 catena
 
05.08.11
15:07
(20)А кнопочка-то нажимается?
У меня на 7 складовщики не имели прав на РН, но прекрасно пользовались обработкой "Отгрузка", которая меняла реквизит дока.
30 __Se24
 
05.08.11
15:10
(29) насколько я помню Форма.ТолькоПросмотр(1) блокирует толкьо реквизиты диалога . кнопки нет .
31 catena
 
05.08.11
15:15
(30)А отсутствие прав?
Давно это было, но помнится мне, в 7.7 права как-то оооочень легко обходились, постоянно приходилось дырки подзатыкать. И действия обработок в ЖР не писались...
32 bagira
 
05.08.11
15:16
кнопа жмется, доступность ее я прописала кодом, кому и что можно жать, так что усе работает
33 bagira
 
05.08.11
15:18
Но я завтра еще проэкспериментирую с вариантом (21). Самой интересно, так по крайней мере проще обходить этот набор прав,
34 bagira
 
05.08.11
15:18
мало ли где еще сгодится..........)) Все в копилочку
35 __Se24
 
05.08.11
15:21
на самом деле (18) вполне себе рабочий вариант . только нада перед  "ИначеЕсли" поставить "Записать();"
ну и проверку реквизита "ПризнакОтгрузки" на пустое значение ... а-то всякое бывает .
36 __Se24
 
05.08.11
15:23
к (35) с перечислениями в этом плане проблема , если реквизит не заполнен принудительно , то на форме в него подставится первое значение перечисления , но если смотреть отладчиком , значение будет пустым .