1С бухгалтерия

Суть проблемы: необходимо ограничить досуп к справочнику (например Номенклатура) для разных пользователей. Т.е. тот или иной пользователь видит только элементы в назначенной ему папке.

Сначала все делал с помощью конструкции типа:

Форма = ПолучитьФорму("Справочник.Номенклатура.Форма.ХА_ФормаПодбора",ПараметрыПодбора,Элементы.Товары);
Форма.Элементы.Товары.РодительВерхнегоУровня = ПолучитьГруппуНоменклатуры();
Форма.Открыть();

Это такую форму подбора в документе делал. Вроде нормально. Но потом всплыл справочник Номенклатура в панели навигации. Не хотелось трогать типовую форму списка, поэтому пришлось все таки ковырять RLS. Полез в роли и для справочника номенклатура написал ограничение на чтение. В принципе криво косо получилось (криво-косо из-за того что нельзя применять В ИЕРАРХИИ).

"Номенклатура ГДЕ (Номенклатура.Родитель В
				(ВЫБРАТЬ
					ХА_Поставщики.ГруппаНоменклатуры КАК ГруппаНоменклатуры
				ИЗ
					Справочник.ХА_Поставщики КАК ХА_Поставщики
				ГДЕ
					ХА_Поставщики.Пользователь = &ТекущийПользователь)
			ИЛИ Номенклатура.Ссылка В
				(ВЫБРАТЬ
					ХА_Поставщики.ГруппаНоменклатуры КАК ГруппаНоменклатуры
				ИЗ
					Справочник.ХА_Поставщики КАК ХА_Поставщики
				ГДЕ
					ХА_Поставщики.Пользователь = &ТекущийПользователь)
			ИЛИ Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.номенклатура.пустаяссылка))"

Но при этом в форме подбора номенклатуры как-будто перестала работать команда РодительВерхнегоУровня.
Элементы.Товары - Это у меня динамический список. И вот в этом динамическом списке у меня было условие

Номенклатура.Родитель В ИЕРАРХИИ &Родитель.

Когда не накладывал условия RLS, то это нормально проходило и номенклатура открывалась в заданной в паке. А вот с RLS список открывался уже в корне справочника. Убрал из запроса это лишнее условие и все заработало.

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <1c7>, <drupal5>, <drupal6>, <javascript>, <php>. Beside the tag style "<foo>" it is also possible to use "[foo]".