Имя: Пароль:
1C
1С v8
Разграничение прав и RLS. Непонятная ошибка/УТ 10.3
0 Vigor06
 
13.06.13
09:40
День добрый!
Для определенного пользователя установлены роли "Пользователь" и мною созданная роль "ЗАправки"

В "Заправках" установлены ограничения на документ Реализации(на чтение,изменение,добавление и удаление):

РеализацияТоваровУслуг ГДЕ РеализацияТоваровУслуг.Проект.Наименование= "Заправки"

Открываю документы,вижу там единственный ттакой документ,Все гуд.Но после открытия документа при формировании ТЧ получаю ошшибку:
{Документ.РеализацияТоваровУслуг.Форма.ФормаДокумента.Форма(2792)}: Ошибка при получении значения атрибута контекста (Товары)
       Для Каждого СтрокаТовара Из Выборка.ДокументОприходования.Товары Цикл
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.



Код следующий:

Процедура РасчитатьПрибыль(ДанныеСтроки, ОформлениеСтроки)
   
   Ном = ДанныеСтроки.Номенклатура;
   КоличествоДляСписания = ДанныеСтроки.Количество;
   
   ТаблицаПартий = Новый ТаблицаЗначений;
   ТаблицаПартий.Колонки.Добавить("Количество");
   ТаблицаПартий.Колонки.Добавить("Цена");
   
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Номенклатура", Ном);
   Запрос.УстановитьПараметр("Склад", Склад);
   Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                  |    ПартииТоваровНаСкладахОстатки.Номенклатура,
                  |    ПартииТоваровНаСкладахОстатки.КоличествоОстаток,
                  |    ПартииТоваровНаСкладахОстатки.СтоимостьОстаток,
                  |    ПартииТоваровНаСкладахОстатки.ДокументОприходования
                  |ИЗ
                  |    РегистрНакопления.ПартииТоваровНаСкладах.Остатки КАК ПартииТоваровНаСкладахОстатки
                  |ГДЕ
                  |    ПартииТоваровНаСкладахОстатки.Номенклатура = &Номенклатура
                  |    И ПартииТоваровНаСкладахОстатки.Склад = &Склад
                  |
                  |УПОРЯДОЧИТЬ ПО
                  |    ПартииТоваровНаСкладахОстатки.ДокументОприходования.Дата";
   Выборка = Запрос.Выполнить().Выбрать();
   КоличествоПартий = 0;
   Пока Выборка.Следующий() Цикл
       
       Для Каждого СтрокаТовара Из Выборка.ДокументОприходования.Товары Цикл
...бла-бла-бла...


Лоступ к регистру полный,так же дал доступ на чтение всех документов из "ДокументОприходования"


В чем может быть ошибка?
Спасибо)
1 razlagator
 
13.06.13
09:46
(0) на какой-то документ, который получаешь в запросе нет прав, срабатывает твоё ограничение
2 Vigor06
 
13.06.13
09:53
(1) у меня на документ "ПоступлениеТоваровИУслуг" тоже стоит ограничение на тип Проекта.Может из-за этого быть?
Или права на документы должны быть не только на чтение?
3 Vigor06
 
13.06.13
09:57
(1)виноват.
Почему то у роли "Пользователь"  практически везде стояло ограничение на чтение "Где ложь"

Интересно,Что оно делало?ЧТО ограничивало?