Имя: Пароль:
1C
1С v8
RLS на дату документа
, ,
0 Ivan093
 
02.10.12
12:05
Привет!

Помогите, пожалуйста, советом. Клиент поставил задачу, чтобы пользователи видели в списке документов РКО только за последние 40 дней.
Решил сделать через RLS.
Добавил параметр сеанса ИспользоватьОграниченияПравДоступаНаУровнеЗаписей, для не полных прав выставляю его в Истина. В шаблоне ограничений написал:
##Если &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей ##Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
   ГДЕ
   (
   &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = ЛОЖЬ
   ИЛИ
   ТекущаяТаблица.Дата >= &ДатаНачалаДокументовДС
   )
##КонецЕсли

Но вот стали не видны все РКО. Тема РЛС для меня нова, не доходит что-то до меня...
1 Ivan093
 
02.10.12
12:06
В самих правах на Чтение поставил Ссылка,номер,Дата #Шаблон1
Что я делаю не так?
2 Lexusss
 
02.10.12
12:07
Не заполнен параметр сеанса ДатаНачалаДокументовДС или там какая то ересь строкового типа стоит
3 MatrosoV AleXXXand_R
 
02.10.12
12:07
Значение параметра сеанса ДатаНачалаДокументовДС какое стоит?
4 Ivan093
 
02.10.12
12:08
Этот параметр заполнен, в отладчике проверял.
ПриНачалеРаботыСистемы()
ПараметрыСеанса.ДатаНачалаДокументовДС = НачалоДня(ТекущаяДата()) - 40*24*3600;
5 Ivan093
 
02.10.12
12:09
запрос шаблона верный?
я уж и просто пробовал без шаблона писать в Ограничени доступа: Дата >= &ДатаНачалаДокументовДС
6 IronDemon
 
02.10.12
12:18
(1) #Шаблон1 в прочих полях?
7 Ivan093
 
02.10.12
12:18
Написал ради проверки:
##Если &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей ##Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
   ГДЕ
   (
   &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = ЛОЖЬ
   ИЛИ
   ТекущаяТаблица.Контрагент.Наименование ПОДОБНО "%ИП %"
   )
##КонецЕсли

Работает! Вывел только где контрагенты ИП...
8 IronDemon
 
02.10.12
12:18
В шаблоне нет проверки на пустую дату
9 Ivan093
 
02.10.12
12:19
(6) Нет, поля Ссылка, Номер, Дата. Должно быть в прочих? вроде так тоже пробовал...
10 Stim
 
02.10.12
12:19
зачем дублировать ИспользоватьОграниченияПравДоступаНаУровнеЗаписей
11 IronDemon
 
02.10.12
12:20
(9) Ссылка, Номер, Дата - без ограничения. На прочие поля шаблон.
12 Ivan093
 
02.10.12
12:20
(10) конфа Альфа-авто, там нет RLS в типовой.
13 IronDemon
 
02.10.12
12:21
(12) Стим тебе про дважды проверяемое условие &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей
14 Ivan093
 
02.10.12
12:22
(13) аааа, ну это я экспериментировал когда не получалось...
15 Ivan093
 
02.10.12
12:25
(11) все равно пусто :(
Шаблон:
##Если &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей ##Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
   ГДЕ
   (
   ТекущаяТаблица.Дата >= &ДатаНачалаДокументовДС
   ИЛИ ТекущаяТаблица.Дата = ДАТАВРЕМЯ(1,1,1,1,1,1)
   )
##КонецЕсли
16 Ivan093
 
02.10.12
12:36
Вообще рлс работаю на дату документа? Кто-нибудь делал?
Попробовал на дату связанного документа, так работает:

##Если &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей ##Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
   ГДЕ
   (
   ТекущаяТаблица.ЗаказНаряд.Дата >= &ДатаНачалаДокументовДС
   )
##КонецЕсли

Что за фигня?
17 Ivan093
 
02.10.12
12:39
попробовал подобное сделать на другом документе, где есть реквизит типа Дата -- работает. А на сам реквизит Дата не работает...
18 Ivan093
 
02.10.12
12:41
бредовое решение - добавить реквизит и делать его = Дата его перед записью, отбирать по нему. Но это же костыли!!!
19 Ivan093
 
02.10.12
15:56
Попробовал бредовое решение -- оно работает...
AdBlock убивает бесплатный контент. 1Сергей