Права доступа к контрагентам
16.10.2008
00:27
#1
Здравствуйте.
Ситуация следующая: 1с7.7 комплексная. есть пачка пользователей meneger1,meneger2...meneger10
В справочнике контрагентов все контрагенты разбросаны по папкам meneger1,meneger2 итд соответственно.
Каждыдый манагер понятное дело имеет доступ только к своим контрагентам, а при попытки открыть чужого получает сообщение "Контрагент не из вашей группы"
не подскажите где вообще настраиваются права доступа пользователей к этому справочнику,в частности нужно открыть доступ для meneger8 к контрагентам meneger1 и meneger2
Заранее спасибо !
Ситуация следующая: 1с7.7 комплексная. есть пачка пользователей meneger1,meneger2...meneger10
В справочнике контрагентов все контрагенты разбросаны по папкам meneger1,meneger2 итд соответственно.
Каждыдый манагер понятное дело имеет доступ только к своим контрагентам, а при попытки открыть чужого получает сообщение "Контрагент не из вашей группы"
не подскажите где вообще настраиваются права доступа пользователей к этому справочнику,в частности нужно открыть доступ для meneger8 к контрагентам meneger1 и meneger2
Заранее спасибо !
16.10.2008
07:07
#2
> Каждыдый манагер понятное дело имеет доступ только к своим контрагентам, а при попытки открыть чужого получает сообщение "Контрагент не из вашей группы"
>
По умолчанию таких функции в Комплексной, да и в других конфах, нет. Это творчество вашего программиста. Пригласите его - пусть поправит. Если его найти не представляется возможным - пригласите другого. Думаю, что ничего сложного там нет, но не видя, что там наделал программист в справочнике Контрагенты, конкретный совет дать сложно.
>
По умолчанию таких функции в Комплексной, да и в других конфах, нет. Это творчество вашего программиста. Пригласите его - пусть поправит. Если его найти не представляется возможным - пригласите другого. Думаю, что ничего сложного там нет, но не видя, что там наделал программист в справочнике Контрагенты, конкретный совет дать сложно.
16.10.2008
12:46
#3
А если не конкретный ? Просто я там за сисадмина,вся эта каша досталась в наследство от людей которых уже тяжело найти, а найм сторонних 1с'ников не вписывается в бюджет =).Впринципе с исходниками я наверное разберусь,единственное что я не знаю какими вообще методами организовываются такие вещи, я с 1с почти не работал.Не подскажите где вообще копать ?
16.10.2008
13:00
#4
"Обычно проверки на разрешения доступа организуются в форме конкретного объекта. Код проверки вставляется обычно в предопределенную процедуру ПриОткрытии()
В вашем случае смотрите форму элемента справочника Контрагенты. Но форму списка тоже стоит посмотреть.
там должно быть что-то вроде (условие конечно может быть другое),
Процедура ПриОткрытии()
.....
Если ДоступЕсть = 0 Тогда // не разрешено
СтатусВозврата(0);
Предупреждение("Низзя!!!");
Возврат;
КонецЕсли;
.....
КонецПроцедуры
в случае срабатывания форма элемента не открывается, а появляется предупреждение...
ключевым будет СтатусВозврата(0); его и ищите...
Еще можно искать где хранятся права доступа. Потом по имени реквизита определяющего права устроить поиск во всех текстах.
"
В вашем случае смотрите форму элемента справочника Контрагенты. Но форму списка тоже стоит посмотреть.
там должно быть что-то вроде (условие конечно может быть другое),
Процедура ПриОткрытии()
.....
Если ДоступЕсть = 0 Тогда // не разрешено
СтатусВозврата(0);
Предупреждение("Низзя!!!");
Возврат;
КонецЕсли;
.....
КонецПроцедуры
в случае срабатывания форма элемента не открывается, а появляется предупреждение...
ключевым будет СтатусВозврата(0); его и ищите...
Еще можно искать где хранятся права доступа. Потом по имени реквизита определяющего права устроить поиск во всех текстах.
"
16.10.2008
13:04
#5
Копаться в Конфигураторе рабочей базы без опыта чревато тем, что найм стороннего специалиста может показаться сущей мелочью, тем более, что данная работа скорее всего и так не дорого обойдется. Но если очень хочется попробовать, то
1. Сделай архивную копию.
2. Лучше вообще сделать копию информационной базы и в ней тренироваться.
3. Открываешь Конфигуратор. Справочник Контрагенты. Открываешь модуль элемента и ищешь эту фразу "Контрагент не из вашей группы" или как она там у тебя. Находишь, узучаешь, исправляешь. Можешь также запустить Поиск по всей конфигурации, так как изменения могут быть и в других связанных местах. Вообще, порядочные программисты, в модулях, которые правили, оставляют свои пометки типа
//Фамилия, кликуха, инициалы и т.п. здесь погадил
Если увидишь нечто подобное, то это и есть работа твоего предшественника.
1. Сделай архивную копию.
2. Лучше вообще сделать копию информационной базы и в ней тренироваться.
3. Открываешь Конфигуратор. Справочник Контрагенты. Открываешь модуль элемента и ищешь эту фразу "Контрагент не из вашей группы" или как она там у тебя. Находишь, узучаешь, исправляешь. Можешь также запустить Поиск по всей конфигурации, так как изменения могут быть и в других связанных местах. Вообще, порядочные программисты, в модулях, которые правили, оставляют свои пометки типа
//Фамилия, кликуха, инициалы и т.п. здесь погадил
Если увидишь нечто подобное, то это и есть работа твоего предшественника.
16.10.2008
20:28
#6
"Круто, нашёл! Спасибо =)
это вот собсно тот самы кусок
Если Найти(глПользователь.Наименование, "Meneg") > 0 Тогда
Если СокрЛП(Родитель)<> "Общая группа" Тогда
//sos 05/03/2007 для определения принадлежности контрагента тому или иному менеджеру, выделим его из полного наименования
Если Найти(Родитель.ПолноеНаименование(),СокрЛП(глПользователь.Наименование)) = 0 Тогда
Предупреждение("Этот контрагент не из вашей группы!",5);
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
>>Если Найти(глПользователь.Наименование, "Meneg") > 0
Это я так понимаю проверка на имя юзера, типа Meneger он или нет
>>Родитель
- это я так понимаю переменная содержащая имя пользователя который создал эллемент.
>>глПользователь.Наименование
- глПользователь это типа объект с набором свойств , одно из которых "Наименование" это собсно имя пользователя (???)
т.е впринципе простейщая проверка
Надо перед проверкой типа "а ты ли родитель ?",сделать проверку типа "если ты meneger8 и родитель элемента meneger1 или meneger2" то выкидываем за скобки всех этих "Если"(Криво, я знаю,но на безрыбье...)
Непонятно только
что возвращает "СокрЛП(Родитель)" и "СокрЛП(глПользователь.Наименование)"
"
это вот собсно тот самы кусок
Если Найти(глПользователь.Наименование, "Meneg") > 0 Тогда
Если СокрЛП(Родитель)<> "Общая группа" Тогда
//sos 05/03/2007 для определения принадлежности контрагента тому или иному менеджеру, выделим его из полного наименования
Если Найти(Родитель.ПолноеНаименование(),СокрЛП(глПользователь.Наименование)) = 0 Тогда
Предупреждение("Этот контрагент не из вашей группы!",5);
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
>>Если Найти(глПользователь.Наименование, "Meneg") > 0
Это я так понимаю проверка на имя юзера, типа Meneger он или нет
>>Родитель
- это я так понимаю переменная содержащая имя пользователя который создал эллемент.
>>глПользователь.Наименование
- глПользователь это типа объект с набором свойств , одно из которых "Наименование" это собсно имя пользователя (???)
т.е впринципе простейщая проверка
Надо перед проверкой типа "а ты ли родитель ?",сделать проверку типа "если ты meneger8 и родитель элемента meneger1 или meneger2" то выкидываем за скобки всех этих "Если"(Криво, я знаю,но на безрыбье...)
Непонятно только
что возвращает "СокрЛП(Родитель)" и "СокрЛП(глПользователь.Наименование)"
"
16.10.2008
23:50
#7
> Непонятно только
> что возвращает "СокрЛП(Родитель)" и "СокрЛП(глПользователь.Наименование)"
Родитель и Наименование - это атрибуты объекта Справочник
глПользователь - это глобальная переменная конфигурации
СокрЛП - это системная функция встроенного языка
Вообще-то в комплесной конфигурации где-то тысячи атрибутов объектов, процедур и функций и глобальных пременных.
Вы намерены о ВСЕХ их расспрашивать на форуме?
Вам уже дали разумный совет: позовите программиста 1с.
Обучаться программированию на форуме - нелепо!
Для этого существуют ДРУГИЕ способы.
> что возвращает "СокрЛП(Родитель)" и "СокрЛП(глПользователь.Наименование)"
Родитель и Наименование - это атрибуты объекта Справочник
глПользователь - это глобальная переменная конфигурации
СокрЛП - это системная функция встроенного языка
Вообще-то в комплесной конфигурации где-то тысячи атрибутов объектов, процедур и функций и глобальных пременных.
Вы намерены о ВСЕХ их расспрашивать на форуме?
Вам уже дали разумный совет: позовите программиста 1с.
Обучаться программированию на форуме - нелепо!
Для этого существуют ДРУГИЕ способы.
Появляется новая валюта с кодом 643 привыгрузке из ЗУПа в бухуобновление регламентированной отчетности в 1С Бухгалтерии 8.1
Читают тему
(гостей: 1)