|
Изучаю шаблоны ограничений в РЛС 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) спасибо, попробую.Про бетту УПП забыл совсем.Не думал что там это уже есть.Была где то посмотрю.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |