Имя: Пароль:
1C
 
Помогите с РЛС
0 Sova112
 
22.04.09
12:18
Вот запрос
        ##Если &ИспользоватьОграниченияПравДоступаНаУровнеЗаписей ##Тогда
ТекущаяТаблица ИЗ #ТекущаяТаблица КАК ТекущаяТаблица
   ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
       СоставГруппы.Ссылка КАК ГруппаПользователей
   ИЗ
       Справочник.ГруппыПользователей.ПользователиГруппы КАК СоставГруппы
   ГДЕ
       СоставГруппы.Пользователь = &ТекущийПользователь) КАК ГруппыПользователей
   ПО (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей)
ГДЕ (&ИспользоватьОграниченияПравДоступаНаУровнеЗаписей = ЛОЖЬ
           ИЛИ (НЕ 1 В
                   (ВЫБРАТЬ ПЕРВЫЕ 1
                       1 КАК ПолеОтбора
                   ИЗ
                       РегистрСведений.НазначениеВидовОбъектовДоступа КАК НазначениеВидовОбъектовДоступа
                   ГДЕ
                       НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
                       И ВЫБОР
                           КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Подразделения)
                               И ТекущаяТаблица.#Параметр(1) ССЫЛКА Справочник.Подразделения
                               И НЕ ТекущаяТаблица.#Параметр(1) = ЗНАЧЕНИЕ(Справочник.Подразделения.ПустаяСсылка)
                               ТОГДА ВЫБОР
                                       КОГДА 1 В
                                               (ВЫБРАТЬ ПЕРВЫЕ 1
                                                   1
                                               ИЗ
                                                   (ВЫБРАТЬ
                                                       1 КАК ПолеОтбора
                                                   ) КАК Оптмизация ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                                                       ПО
                                                           НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.#Параметр(1)
                                                               И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Подразделения)
                                                               И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
                                                                   ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи)))
                                           ТОГДА ИСТИНА
                                       ИНАЧЕ ЛОЖЬ
                                   КОНЕЦ
                           КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
                               И ТекущаяТаблица.#Параметр(2) ССЫЛКА Справочник.Контрагенты
                               И НЕ ТекущаяТаблица.#Параметр(2) = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)
                               ТОГДА ВЫБОР
                                       КОГДА 1 В
                                               (ВЫБРАТЬ ПЕРВЫЕ 1
                                                   1
                                               ИЗ
                                                   Справочник.Контрагенты КАК Контрагенты ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей
                                                       ПО
                                                           НастройкиПравДоступаПользователей.ОбъектДоступа = Контрагенты.ГруппаДоступаККонтрагенту
                                                               И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Контрагенты)
                                                               И (НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей
                                                                   ИЛИ НастройкиПравДоступаПользователей.Пользователь = ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи))
                                               ГДЕ
                                                   Контрагенты.Ссылка = ТекущаяТаблица.#Параметр(2))
                                           ТОГДА ИСТИНА
                                       ИНАЧЕ ЛОЖЬ
                                   КОНЕЦ
                           ИНАЧЕ ИСТИНА
                       КОНЕЦ = ЛОЖЬ))
                       И НЕ ГруппыПользователей.ГруппаПользователей ЕСТЬ NULL)
##КонецЕсли


Вот ошибка
Ошибка в ограничении доступа к данным.
объект: 'Catalog.Контрагенты(Справочник.Контрагенты)'; право: 'Чтение'
Синтаксическая ошибка "Неверное количество параметров при использовании шаблона 'ТаблицаОсновогоВидаОбъектаДоступа'"
по причине:
Синтаксическая ошибка "Неверное количество параметров при использовании шаблона 'ТаблицаОсновогоВидаОбъектаДоступа'"

не пойму в чем косяк
1 ТелепатБот
 
гуру
22.04.09
12:18
2 sur0k
 
22.04.09
12:27
Все параметры заполнила в роли? :)
3 ASV
 
22.04.09
12:28
(0) это шаблон, а что написано в самих правах на чтение?
4 Sova112
 
22.04.09
12:33
Поля  Ограничение доступа
<Прочие поля>     #ОрганизацияВШапкеКонтрагентВШапке("Подразделение","Контрагент")
Ссылка, Номер, Дата
5 Sova112
 
22.04.09
12:39
Ошибка в ограничении доступа к данным.
объект: 'Catalog.Контрагенты(Справочник.Контрагенты)'; право: 'Чтение'
Синтаксическая ошибка "Неверное количество параметров при использовании шаблона 'ТаблицаОсновогоВидаОбъектаДоступа'"
по причине:
Синтаксическая ошибка "Неверное количество параметров при использовании шаблона 'ТаблицаОсновогоВидаОбъектаДоступа'"
еще вот что пишет
6 ASV
 
22.04.09
12:39
(4) в правах на Справочник.Контрагенты?
7 sur0k
 
22.04.09
14:59
(5) Ошибка, очевидно, не в этом запросе :)