Имя: Пароль:
1C
 
Изучаю шаблоны ограничений в РЛС 8.1
0 wms
 
26.02.07
23:34
В УПП создал для новой роли шаблон ограничений "шабКонтрЧтение" Текст:
#Параметр(1).#Параметр(2)=&#Параметр(3)
   ИЛИ 1 В
       (ВЫБРАТЬ ПЕРВЫЕ 1
           1
       ИЗ
           РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
       ГДЕ
           ПраваДоступаПользователейКОбъектам.ОбъектДоступа = #Параметр(1).#Параметр(2)
           И ПраваДоступаПользователейКОбъектам.ОбластьДанных = &#Параметр(3)
           И ПраваДоступаПользователейКОбъектам.Пользователь В (&#Параметр(4))
           И ПраваДоступаПользователейКОбъектам.Чтение)
Подставляю его на чтение в журнал "ДокументыКонтрагентов"
#шабКонтрЧтение("ДокументыКонтрагентов","Контрагент","ПустойКонтрагент","ОбластьДанныхКонтрагентыДанные","ГруппыТекущегоПользователя")

ругается на синтаксошибку.Не пойму что не так
делаю аналогично http://v8.1c.ru/overview/release_8_1_5/main1.htm
1 wms
 
26.02.07
23:35
т.е. хочу создать аналог РЛС запроса
ДокументыКонтрагентов.Контрагент = &ПустойКонтрагент
   ИЛИ 1 В
       (ВЫБРАТЬ ПЕРВЫЕ 1
           1
       ИЗ
           РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
       ГДЕ
           ПраваДоступаПользователейКОбъектам.ОбъектДоступа = ДокументыКонтрагентов.Контрагент
           И ПраваДоступаПользователейКОбъектам.ОбластьДанных = &ОбластьДанныхКонтрагентыДанные
           И ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя)
           И ПраваДоступаПользователейКОбъектам.Чтение)
2 wms
 
26.02.07
23:40
В тексте шаблона поправил порядок параметров, но не помогло
#Параметр(1).#Параметр(2)=&#Параметр(3)
   ИЛИ 1 В
       (ВЫБРАТЬ ПЕРВЫЕ 1
           1
       ИЗ
           РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
       ГДЕ
           ПраваДоступаПользователейКОбъектам.ОбъектДоступа = #Параметр(1).#Параметр(2)
           И ПраваДоступаПользователейКОбъектам.ОбластьДанных = &#Параметр(4)
           И ПраваДоступаПользователейКОбъектам.Пользователь В (&#Параметр(5))
           И ПраваДоступаПользователейКОбъектам.Чтение)
3 RomaH
 
naïve
27.02.07
07:17
похоже там проверка синтаксиса с багом,
то же с шаблоном пытался работать - что-то просто не работает, что-то синтаксис проверка не пропускает

#Параметр(1) ГДЕ 1 В
           (ВЫБРАТЬ ПЕРВЫЕ 1
               1
           ИЗ
               РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
           ГДЕ
               #Параметр(2).Ссылка = ПраваДоступаПользователейКОбъектам.ОбъектДоступа
               И ПраваДоступаПользователейКОбъектам.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОграниченияПравДоступа.Склады)
               И ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя)
               И ПраваДоступаПользователейКОбъектам.Чтение = ИСТИНА)


#ОграничениеДокументаПоСкладу("ТребованиеНакладная","ТребованиеНакладная.Склад")

хотя вместо первого параметра 1С говорит что можно использовать ключевое слово
4 RomaH
 
naïve
27.02.07
07:18
#Параметр(1).#Параметр(2) - попробуй заменить на один параметр
5 wms
 
27.02.07
09:34
апну, может кто подскажет в чем ошибка, надо срочно.
6 RomaH
 
naïve
27.02.07
09:46
а что насчет (4)  ?
7 wms
 
27.02.07
10:49
отвлекся.Проблема очень актуальна.
(6) не помогло
8 wms
 
27.02.07
10:53
т.е. ругается именно на синтаксис ошибку текста вызова шаблона:
#шабКонтрЧтение("ДокументыКонтрагентов.Контрагент","ПустойКонтрагент","ОбластьДанныхКонтрагентыДанные","ГруппыТекущегоПользователя")

Пробовал и тройные кавычки - не помогло
9 wms
 
27.02.07
12:16
Такой шаблон получился:
Имя шаблона "ШаблонОрг" текст:
ТекТабл ИЗ #Параметр(1) КАК ТекТабл
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
       ПО ТекТабл.Организация = ПраваДоступаПользователейКОбъектам.ОбъектДоступа
               И (ПраваДоступаПользователейКОбъектам.ОбластьДанных = &ОбластьДанныхОрганизацииДанные)
               И (ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя))    

Вызов в таблице "ЖурналДокументов.ДокументыКонтрагентов"

#шаблонОрг("ЖурналДокументов.ДокументыКонтрагентов")

Как то не очень грациозно, особенно непонятна строка
ТекТабл ИЗ #Параметр(1) КАК ТекТабл
Может как то красивее можно?
10 wms
 
27.02.07
13:24
Ладно, главное шаблон в (9) работает и ладно.
Теперь другая проблема.
Создал второй шаблон для отбора по Контрагентам аналогичный шаблону в (9)
не работает.
 Как подключать два шаблона для ограничений на выбранные поля одной таблицы???
Если есть какие примеры или ссылки на них, киньте ПОЖАЛУЙСТА, очень мало инфы, только на февральском ИТС и по ссылке в (0)
11 wms
 
27.02.07
13:25
т.е. отдельно два шаблона работают, а вместе нет
12 wms
 
27.02.07
14:08
ап
13 wms
 
27.02.07
14:36
да уж.Самому тяжеловато разобраться.только методом проб и ошибок.
Эх, пару примерчиков бы, но видимо типовых конф 8.1 придется ждать
14 wms
 
28.02.07
18:05
Классно работают шаблоны с огр.прав RLS.Все на 8.1.
Разобрался немного.Написал шаблон на три уровня доступа(орг,контр,склад)
и подставляя в параметры название таблиц и реквизитов копирую запрос в необходимые таблицы.В 8.0 надо было весь громадный запрос копировать и менять под название таблиц и реквизитов
15 Buran
 
01.03.07
09:16
(14) В КЗ напишешь?
16 tsr
 
01.03.07
09:18
На счет ТекТабл ИЗ #Параметр(1) КАК ТекТабл почитай в описании, как нужно делать. Юзай предопределенную переменную ТекущаяТаблица. Описалово находится в каталоге установки 8.1.(на всякий случай)
17 tsr
 
01.03.07
09:19
А вообще, мыслишь в правильном направлении
18 wms
 
01.03.07
09:26
(15)там просто.описалова на первое время хватит в методической поддержке 1С на февральском ИТС.Главное от простого к сложному двигаться, а не наоборот как начал я.
(16)знаю про текущуютаблицу, но что то сразу с ней не пошло.
Один пример шаблона приведу.Имя шаблона "ЧтениеСпискаДокументовОргКонтрСкл"
Текст:
текдок ИЗ #Параметр(1) КАК текдок
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
   ПО текдок.Организация = ПраваДоступаПользователейКОбъектам.ОбъектДоступа
       И (ПраваДоступаПользователейКОбъектам.ОбластьДанных = &ОбластьДанныхОрганизацииДанные)
       И (ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя))
ГДЕ (текдок.Контрагент = &ПустойКонтрагент
           ИЛИ 1 В
               (ВЫБРАТЬ ПЕРВЫЕ 1
                   1
               ИЗ
                   РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
               ГДЕ
                   ПраваДоступаПользователейКОбъектам.ОбъектДоступа = ТекДок.Контрагент
                   И ПраваДоступаПользователейКОбъектам.ОбластьДанных = &ОбластьДанныхКонтрагентыДанные
                   И ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя)
                   И ПраваДоступаПользователейКОбъектам.Чтение))
   И (ТекДок.#Параметр(2) = &ИВС_ПустойСклад
           ИЛИ 1 В
               (ВЫБРАТЬ ПЕРВЫЕ 1
                   1
               ИЗ
                   РегистрСведений.ПраваДоступаПользователейКОбъектам КАК ПраваДоступаПользователейКОбъектам
               ГДЕ
                   ПраваДоступаПользователейКОбъектам.ОбъектДоступа = ТекДок.#Параметр(2)
                   И ПраваДоступаПользователейКОбъектам.ОбластьДанных = &ИВС_ОбластьДанныхСкладыДанные
                   И ПраваДоступаПользователейКОбъектам.Пользователь В (&ГруппыТекущегоПользователя)
                   И ПраваДоступаПользователейКОбъектам.Чтение))

Вызов из роли из таблицы:
#ЧтениеСпискаДокументовОргСкл("Документ.ПеремещениеТоваров","СкладОтправитель")
Критикуйте если не оптимален запрос.
В типовых конфах на 8.1 от 1С возможно будут примеры, щас только как получилось.
19 tsr
 
01.03.07
09:31
Есть бетта УПП для 8.1. Там как раз в шаблонах используется ТекущаяТаблица.
Так что можно смело упростить твои шаблоны. Самой конфигурации поьлизости нет, но все прекрасно работает
Примерно так:
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
                 ^вот здесь точно не помню, какой символ нужен, может &
...
ТекущаяТаблица.Организация
20 Neco
 
01.03.07
09:34
+(19)

ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
21 wms
 
01.03.07
09:44
(19,20) спасибо, попробую.Про бетту УПП забыл совсем.Не думал что там это уже есть.Была где то посмотрю.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший