Имя: Пароль:
1C
1C 7.7
v7: Как разграничить права доступа к колоке документа
,
0 max805
 
17.05.13
05:59
Полскажите как можно орагнизовать:
Есть документ,  в нем есть колонка "количество". Нужно дать определенному пользвателю запретить редактирование данной колонки в ручную (количество он может только вводить только отсчелкивая со сканера штрих-кода)а остальным пользователям 1с оставить полные права к колонке. Условие по пользователю  я знаб а как ограничить колонку не знаю..помогите плиз
1 Escander
 
17.05.13
06:02
(0) управлять свойством "СделатьНедоступным" колонки "Количество" при открытии документа.
2 Ganiev
 
17.05.13
06:03
В табличной части документа у колонки есть вызываемая процедура! там напиши если твой пользователь то бла бла бла иначе статусвозврата(0); возврат; по поводу сканера это предопределенная процедура "ОбработкаВнешнегоСобытия"
3 Ganiev
 
17.05.13
06:05
пордон не в процедуре у колонки а в предопределенной "приНачалеВыбораЗначения"
4 Godofsin
 
17.05.13
06:09
Доступность и видимость можно определять ПриОткрытии() на основе пользователя
5 Ganiev
 
17.05.13
06:16
(4) приНачалеВыбораЗначения Будет удачнее можно поругатся на юзверя! "Ай Ай Ай тебе нельзя этого делать!"
6 Godofsin
 
17.05.13
06:19
(5) Или чонить в типе: "Внимание!!! Вы пытаетесь получить доступ к секретным данным! Ваш компьютер будет уничтожен через 3 минуты! Отсчет пошел. За вами уже выехали!"
7 Ganiev
 
17.05.13
06:20
(6) И картинку с атомным взрывом показать!)))
8 Godofsin
 
17.05.13
06:22
(7) Мля, идея !!! =)
9 Ganiev
 
17.05.13
06:23
И еще .Vbs можно запустить, чтобы монитор мигал клавиатура и сд-ром выезжал-заезжал! во паника будет у юзверя!
10 max805
 
17.05.13
06:24
При открытии ()
прописал
Если НРег(глПользователь.Наименование)="проверка"    Тогда
       Форма.Количество.Доступность(0);
       КонецЕсли;
И нифига..редактировать может((
11 Ganiev
 
17.05.13
06:27
Посмотри процедурку приВыбореЗакладки или может еще где после выполняется обратное действие "Форма.Количество.Доступность(1)" а лучше сделай как написано в (5) тогда пофигу будет!
12 max805
 
17.05.13
06:31
Процедура ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтандОбр)    
   Если ИдентЭлемДиалога = "Цена" Тогда
       Если Склад.РозничныйСклад = 1 Тогда
           ФлагСтандОбр = 0;
           // регистры рассчитываем, только если хочется редактировать цены вручную
           Если глПересчетРегистров(Контекст, СписокПараметров) = 0 Тогда
               Возврат;
           КонецЕсли;
           ТовЦена = "";
           глПолучитьРозничныйОстатокЦену(Номенклатура, Номенклатура.ОсновнаяЕдиница, ОстаткиТМЦ, , ТовЦена);
           СписокЦен = ЗначениеИзСтроки(ТовЦена);
           СписокЦен.ВыбратьЗначение(Цена,,, 60,2);
           глПересчетТаблЧасти(Контекст,"Цена");
       КонецЕсли;
   КонецЕсли;
   Если НРег(глПользователь.Наименование)="проверка"    Тогда
       Форма.Факт.Доступность(0);
   КонецЕсли;
КонецПроцедуры // ПриНачалеВыбораЗначения()
13 max805
 
17.05.13
06:31
Не помогает((
14 Ganiev
 
17.05.13
06:37
Если НРег(глПользователь.Наименование)="проверка"    Тогда
      Если ИдентЭлемДиалога = "Количество" Тогда          
         ФлагСтандОбр = 0;
          СтатусВозврата(0);
          Возврат;
      КонецЕСли;
 КонецЕсли;

Что то типо такого!
15 Ganiev
 
17.05.13
06:39
Если НРег(глПользователь.Наименование)="проверка"    Тогда
      Если ИдентЭлемДиалога = "Количество" Тогда          
         ФлагСтандОбр = 0;
         Предупреждение("Не тени руки а то протянешь ноги!",6)
          СтатусВозврата(0);
          Возврат;
      КонецЕСли;
 КонецЕсли;
16 max805
 
17.05.13
06:42
непомогло(
17 Ganiev
 
17.05.13
06:43
отладчик запусти поставь точку останову и посмотри где косяк!
18 Ganiev
 
17.05.13
06:46
проверь условия на правильность возможно у тебя реквизит формы как нить по другому называется или пользователь!
19 max805
 
17.05.13
06:47
Надо было так :
   Если НРег(глПользователь.Наименование)="проверка"    Тогда
      Если Форма.ТекущаяКолонка() = "Количество" Тогда          
         ФлагСтандОбр = 0;
         Предупреждение("Не тени руки а то протянешь ноги!",6);
          СтатусВозврата(0);
          Возврат;
      КонецЕСли;
 КонецЕсли;

Спасибо помогло
20 Ganiev
 
17.05.13
06:48
Ну вот! НЗ!
21 max805
 
17.05.13
06:55
не рано порадовался(( теперь колока недоступна и для других пользвтаелей
22 Ganiev
 
17.05.13
06:57
Проверь по другим пользователем в отладчике!
23 max805
 
17.05.13
07:15
блин никак разобраться не могу почему у других пользтователей не работает при том у них вот это окно не выскакивает  Предупреждение("Не тени руки а то протянешь ноги!",6); просто тупо не дает ничего туда ввести
24 Bigbro
 
17.05.13
07:16
(23) убери то что прописал в (10)
того что в (3) достаточно
25 max805
 
17.05.13
07:17
(24) от туда я давно уже убрал
26 Bigbro
 
17.05.13
07:19
посмотри где еще стоит доступность(0)
ну и снова отладчик в руки.
27 max805
 
17.05.13
07:21
сделал спасибо большое за помощь