Я бы посмотрел сюда ----->>>>
Общий модуль "УправлениеДоступомПереопределяемый"
// доступа в модулях менеджеров или переопределяемом модуле.
//
// В модулях менеджеров указанных списков должна быть размещена процедура обработчика,
// в которую передаются следующие параметры.
//
// Ограничение - Структура - со свойствами:
// * Текст - Строка - ограничение доступа для пользователей.
// Если пустая строка, значит доступ разрешен.
// * ТекстДляВнешнихПользователей - Строка - ограничение доступа для внешних пользователей.
// Если пустая строка, значит доступ запрещен.
// * ПоВладельцуБезЗаписиКлючейДоступа - Неопределено - определить автоматически.
// - Булево - если Ложь, то всегда записывать ключи доступа,
// если Истина, тогда не записывать ключи доступа,
// а использовать ключи доступа владельца (требуется,
// чтобы ограничение было строго по объекту-владельцу).
/// * ПоВладельцуБезЗаписиКлючейДоступаДляВнешнихПользователей - Неопределено, Булево - см.
// описание предыдущего параметра.
//
// Далее пример процедуры для модуля менеджера.
//
//// См. УправлениеДоступомПереопределяемый.ПриЗаполненииСписковСОграничениемДоступа.
//Процедура ПриЗаполненииОграниченияДоступа(Ограничение) Экспорт
//
// Ограничение.Текст =
// "РазрешитьЧтениеИзменение
// |ГДЕ
// | ЗначениеРазрешено(Организация)
// | И ЗначениеРазрешено(Контрагент)";
//
//КонецПроцедуры
//
// Параметры:
// Списки - Соответствие - списки с ограничением доступа:
// * Ключ - ОбъектМетаданных - список с ограничением доступа.
// * Значение - Булево - Истина - текст ограничения в модуле менеджера.
// - Ложь - текст ограничения в этом переопределяемом
// модуле в процедуре ПриЗаполненииОграниченияДоступа.
//
Процедура ПриЗаполненииСписковСОграничениемДоступа(Списки) Экспорт
//******************
И "УправлениеДоступомБП" Процедура ПриЗаполненииСписковСОграничениемДоступа(Списки)