Страница 1 из 1
Накладные на отпуск в произв-во: разграничение прав доступа
Добавлено: 25 авг 2015, 17:00
zna
Доброго дня, коллеги.
Попытался включить механизм разграничения прав доступа к НОС: УПЛ => Настройка => Настройка прав доступа к документам => выбираю НОС => ставлю галочку, настраиваю для себя доступы для всех статусов. Во всех настройках имею административные права.
Но: при входе в любую накладную система закрывает документ для редактирования. Открывается документ только снятием галочки.
Кто- нибудь настраивал?
Была здесь уже такая тема про НПГ- та же проблема.
8.1, MS SQL, временные файлы чистил.
Re: Накладные на отпуск в произв-во: разграничение прав дост
Добавлено: 25 авг 2015, 22:44
edward_K
я настраивал но для договоров. Вы на всех закладках все пометили? И там еще режим можно установить для каждого статуса.
Re: Накладные на отпуск в произв-во: разграничение прав дост
Добавлено: 26 авг 2015, 08:12
zna
Да, пометил всё, что можно на всех вкладках.
Для договоров и заявок в МТС разграничение прав у нас работает нормально. Не хотелось бы мастерить эту же функциональность в докомпиляции интерфейса..
Re: Накладные на отпуск в произв-во: разграничение прав дост
Добавлено: 27 авг 2015, 13:34
zna
Собрал разграничение прав доступа на JavaScript:
1. Пользователям назначил группы;
2. На событие "перед сменой статуса" запускается алгоритм, сохраняющий исходный статус в dsk- файле:
Код: Выделить всё
KatSopr.setPosition(CurDoc());
if(SaveMyDsk(KatSopr.Statt, 'KatSoprStatt')) {}
3. На событие "после смены статуса" запускается алгоритм, проверяющий допустимость нового статуса:
Код: Выделить всё
var UserDesgr, StatusOld, StatusNew, Check = false;
KatSopr.setPosition(CurDoc());
if(ReadMyDsk('KatSoprStatt'))
{
if(KatSopr.PodrToo == BazaTeplopribor || KatSopr.PodrToo == BazaTeplopribor2) //Если отпуск идёт на базу Теплоприбор(2)
{
UserDesgr = sGetTune('USER.DESGR');
StatusOld = Buf;
StatusNew = KatSopr.Statt;
if(UserDesgr == '06' && StatusNew == Zakryt) Check = true; // Кладовщики могут установить статус "Закрыт"
if(UserDesgr == '01' || UserDesgr == '02') Check = true; // Администраторы и управление могут любой статус установить
if(UserDesgr == '072' && StatusNew == Soglasovannyi) Check = true; // Начальник производства может установить статус "Согласованный"
if(UserDesgr == '10' && StatusNew == Oformlyaemyi) Check = true; // ПТО может установить статус "Оформляемый"
Debug.print('НОС => ' + KatSopr.Nomer+' от '+KatSopr.DateDoc+': '+UserDesgr+'; '+UserName()+'; StatusOld = '+ StatusOld+'; StatusNew = '+StatusNew+'; Check = '+Check);
if(Check == false)
{
KatSopr.Statt = StatusOld;
KatSopr.rewrite();
Debug.print('Вы не можете установить этот статус. Выполнен откат к исходному статусу.');
}
else Debug.print('Новый статус сохранён.');
}
}
else Debug.print('Ошибка чтения исходного статуса!');
и если условия допустимости не выполняются, происходит возврат к исходному статусу.
Всё работает, если нужны подробности об объектах- спросите, отвечу.
Re: Накладные на отпуск в произв-во: разграничение прав дост
Добавлено: 07 сен 2015, 17:58
andy29
zna писал(а):Да, пометил всё, что можно на всех вкладках.
Для договоров и заявок в МТС разграничение прав у нас работает нормально. Не хотелось бы мастерить эту же функциональность в докомпиляции интерфейса..
Посмотрите настройку "Производство и планирование->Управление производственной логистикой->Для накладных считать запрещенными помеченные статусы на закладке "Доступ к документам". Если стоит значение "ДА", то помеченные статусы являются закрытыми для редактирование а не наоборот. Измените настройку на "НЕТ" и все должно работать как в договорах и в складском учете.
Re: Накладные на отпуск в произв-во: разграничение прав дост
Добавлено: 08 сен 2015, 08:24
zna
Да, есть такая настройка, поставил "нет".. Но поздно уже, всё работает как надо. Благодарю, плюсую.