0
Lama12
12.10.16
✎
14:52
|
Может кто-нибудь объяснить "на пальцах" как работает "Разрешенные"? Такое ощущение, что от платформы к платформе, меняется поведение.
Есть запрос в котором обрабатывается регистр накопления. Регистратор - составной тип. Для простоты примем, что регистраторов всего 3. У каждого есть свой RLS (под определенным пользователем). В базе есть всего два вида документов которые могут быть регистратором для этого регистра. И вот, при попытке разыменовать поля регистратора происходит ошибка "Недостаточно прав для работы с таблицей ...". На месте "..." название третьего регистратора. Документов такого типа в базе вообще нет.
Мало того, теперь и конструктором запроса в консоле нельзя открыть запрос если в нем нет слова "Рарешенные" (под пользователем с ограниченными правами).
Что-то изменилось в 8.3.8 по сравнению с ранними версиями платформы? "Разрешенные" теперь и метаданные фильтрует?
|
|
1
Lama12
12.10.16
✎
14:54
|
Кому интересно.
Вот запрос
ВЫБРАТЬ
ДанныеРегистра.Физлицо,
СУММА(ДанныеРегистра.СуммаВзаиморасчетовОстаток) КАК ОстатокВзаиморасчетов
ИЗ
(ВЫБРАТЬ
ВзаиморасчетыСРаботникамиОрганизацийОстатки.Физлицо КАК Физлицо,
ВзаиморасчетыСРаботникамиОрганизацийОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетовОстаток
ИЗ
РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки(
&НачалоМесяца,
Организация = &ОбособленноеПодразделение
И Физлицо В (&ФизЛица)) КАК ВзаиморасчетыСРаботникамиОрганизацийОстатки
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов * ВЫБОР
КОГДА ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ТОГДА 1
ИНАЧЕ -1
КОНЕЦ
ИЗ
РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
ГДЕ
ВзаиморасчетыСРаботникамиОрганизаций.Организация = &ОбособленноеПодразделение
И ВзаиморасчетыСРаботникамиОрганизаций.Физлицо В(&ФизЛица)
И ВзаиморасчетыСРаботникамиОрганизаций.Период >= &НачалоМесяца
И ВзаиморасчетыСРаботникамиОрганизаций.Период < &ДатаВзаиморасчетов
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов
ИЗ
РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
ГДЕ
ВзаиморасчетыСРаботникамиОрганизаций.Организация = &ОбособленноеПодразделение
И ВзаиморасчетыСРаботникамиОрганизаций.Физлицо В(&ФизЛица)
И ВзаиморасчетыСРаботникамиОрганизаций.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
И ВзаиморасчетыСРаботникамиОрганизаций.Период МЕЖДУ &НачалоКонецМесяца И &КонецМесяца
И НЕ ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.НачислениеЗарплатыРаботникамОрганизаций
И НЕ ВзаиморасчетыСРаботникамиОрганизаций.Регистратор ССЫЛКА Документ.ПереносДанных
И ВзаиморасчетыСРаботникамиОрганизаций.Регистратор.Дата < &ДатаВзаиморасчетов
И ЕСТЬNULL(ВзаиморасчетыСРаботникамиОрганизаций.Регистратор.ПериодРегистрации, ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)) = &НачалоМесяца
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
ВзаиморасчетыСРаботникамиОрганизаций.Физлицо,
ВзаиморасчетыСРаботникамиОрганизаций.СуммаВзаиморасчетов
ИЗ
РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций КАК ВзаиморасчетыСРаботникамиОрганизаций
ГДЕ
ВзаиморасчетыСРаботникамиОрганизаций.Регистратор = &Регистратор
И ВзаиморасчетыСРаботникамиОрганизаций.Организация = &ОбособленноеПодразделение
И ВзаиморасчетыСРаботникамиОрганизаций.Физлицо В(&ФизЛица)) КАК ДанныеРегистра
СГРУППИРОВАТЬ ПО
ДанныеРегистра.Физлицо
Запрос из УПП. Немного модифицирован для удобства чтения. Под пользователем не обладающем ролью "РасчетчикРегламентированнойЗарплаты" без "Разрешенные" в консоли запросов открыть его в конструкторе запроса не получится.
|
|