Права доступа к контрагентам

Новая тема
Здравствуйте.
Ситуация следующая: 1с7.7 комплексная. есть пачка пользователей meneger1,meneger2...meneger10
В справочнике контрагентов все контрагенты разбросаны по папкам meneger1,meneger2 итд соответственно.
Каждыдый манагер понятное дело имеет доступ только к своим контрагентам, а при попытки открыть чужого получает сообщение "Контрагент не из вашей группы"
не подскажите где вообще настраиваются права доступа пользователей к этому справочнику,в частности нужно открыть доступ для meneger8 к контрагентам meneger1 и meneger2
Заранее спасибо !
> Каждыдый манагер понятное дело имеет доступ только к своим контрагентам, а при попытки открыть чужого получает сообщение "Контрагент не из вашей группы"
>
По умолчанию таких функции в Комплексной, да и в других конфах, нет. Это творчество вашего программиста. Пригласите его - пусть поправит. Если его найти не представляется возможным - пригласите другого. Думаю, что ничего сложного там нет, но не видя, что там наделал программист в справочнике Контрагенты, конкретный совет дать сложно.
А если не конкретный ? Просто я там за сисадмина,вся эта каша досталась в наследство от людей которых уже тяжело найти, а найм сторонних 1с'ников не вписывается в бюджет =).Впринципе с исходниками я наверное разберусь,единственное что я не знаю какими вообще методами организовываются такие вещи, я с 1с почти не работал.Не подскажите где вообще копать ?
"Обычно проверки на разрешения доступа организуются в форме конкретного объекта. Код проверки вставляется обычно в предопределенную процедуру ПриОткрытии()
В вашем случае смотрите форму элемента справочника Контрагенты. Но форму списка тоже стоит посмотреть.
там должно быть что-то вроде (условие конечно может быть другое),
Процедура ПриОткрытии()
.....
Если ДоступЕсть = 0 Тогда // не разрешено
  СтатусВозврата(0);
  Предупреждение("Низзя!!!");
  Возврат;
КонецЕсли;
.....
КонецПроцедуры
в случае срабатывания форма элемента не открывается, а появляется предупреждение...
ключевым будет СтатусВозврата(0); его и ищите...
Еще можно искать где хранятся права доступа. Потом по имени реквизита определяющего права устроить поиск во всех текстах.
"
Копаться в Конфигураторе рабочей базы без опыта чревато тем, что найм стороннего специалиста может показаться сущей мелочью, тем более, что данная работа скорее всего и так не дорого обойдется. Но если очень хочется попробовать, то
1. Сделай архивную копию.
2. Лучше вообще сделать копию информационной базы и в ней тренироваться.
3. Открываешь Конфигуратор. Справочник Контрагенты. Открываешь модуль элемента и ищешь эту фразу "Контрагент не из вашей группы" или как она там у тебя. Находишь, узучаешь, исправляешь. Можешь также запустить Поиск по всей конфигурации, так как изменения могут быть и в других связанных местах. Вообще, порядочные программисты, в модулях, которые правили, оставляют свои пометки типа
//Фамилия, кликуха, инициалы и т.п. здесь погадил
Если увидишь нечто подобное, то это и есть работа твоего предшественника.
"Круто, нашёл! Спасибо =)
это вот собсно тот самы кусок

Если Найти(глПользователь.Наименование, "Meneg") > 0 Тогда
    Если СокрЛП(Родитель)<> "Общая группа" Тогда
//sos 05/03/2007 для определения принадлежности контрагента тому или иному менеджеру, выделим его из полного наименования
         Если Найти(Родитель.ПолноеНаименование(),СокрЛП(глПользователь.Наименование)) = 0 Тогда
              Предупреждение("Этот контрагент не из вашей группы!",5);
              СтатусВозврата(0);
              Возврат;
         КонецЕсли;  
     КонецЕсли;
КонецЕсли;

>>Если Найти(глПользователь.Наименование, "Meneg") > 0
Это я так понимаю проверка на имя юзера, типа Meneger он или нет

>>Родитель
- это я так понимаю переменная содержащая имя пользователя который создал эллемент.

>>глПользователь.Наименование
- глПользователь  это типа объект с набором свойств , одно из которых "Наименование" это собсно имя пользователя (???)

т.е впринципе простейщая проверка
Надо перед проверкой типа "а ты ли родитель ?",сделать проверку типа "если ты meneger8 и родитель элемента meneger1 или meneger2" то выкидываем за скобки всех этих "Если"(Криво, я знаю,но на безрыбье...)

Непонятно только
что возвращает "СокрЛП(Родитель)" и "СокрЛП(глПользователь.Наименование)"
"
> Непонятно только
> что возвращает "СокрЛП(Родитель)" и "СокрЛП(глПользователь.Наименование)"

Родитель и Наименование - это атрибуты объекта Справочник

глПользователь - это глобальная переменная конфигурации

СокрЛП - это системная функция встроенного языка

Вообще-то в комплесной конфигурации где-то тысячи атрибутов объектов, процедур и функций и глобальных пременных.

Вы намерены о ВСЕХ их расспрашивать на форуме?

Вам уже дали разумный совет: позовите программиста 1с.
Обучаться программированию на форуме - нелепо!
Для этого существуют ДРУГИЕ способы.
Возможно
Читают тему
(гостей: 1)

Быстрый переход