Имеем справочник Контрагенты с табличной частью содержащую поля МенеджерПокупателя и Статус, для ввода менеджеров и их помощников, которые работают с этим контрагентом. Поле Статус с типом перечисление, основной и помощник.
Перво-наперво нужно было чтобы менеджер и его помощники видели только своих контрагентов, для этого в роли МенеджерПоПродажам в правах на чтение поставил ограничение.
Следующим шагом в журнале "Документы контрагентов" оставляем документы контрагетов данного менеджера. Также в роли МенеджерПоПродажам в правах на чтение поставил ограничение.
После поправил отчет Продажи, чтобы не отображались продажи контрагентов для которых данный пользователь не является менеджером, сделал следующим образом:
- отчет оставил в списке справочника Контрагенты, в списке справочника Номенклатуры и в меню Отчеты.
- в модуле объекта отчета Продажи, в процедуре УстановитьНачальныеНастройки, дописал следующее.
Функция ЭтоМенеджер() вызывается из общего модуля МенеджерПоПродажам. Условились что пользователь имеющий роль МенеджерПоПродажам является менеджером, все остальные пользователи не должны иметь этой роли.
Установкой начальных настроек устанавливается отбор по контрагенту "В списке" по списку контрагентов для которых пользователь является менеджером. Чтобы пользователь не менял настройку отчета "заблокировал" кнопку "Настройка".
Таким образом, если менеджер хочет получить отчет по контрагенту, он запускает отчет из списка справочника Контрагенты, если хочет получить отчет по номенклатуре - из списка справочника Номенклатура, если по всем его контрагентам и номенклатуре из меню Отчеты.
Еще убрал "лишние" кнопки из командной панели списка справочника Контрагенты.
В роли на чтение журнала «Документы Контрагентов» добавил условие, чтобы были видны документы только «его» контрагентов.