Ограничение доступа к справочнику склады для конфигурации Управление торговлей 8.1(8.2), редакция 10.3.

13.01.14

Администрирование - Информационная безопасность

Статья для тех, кто только начинает разбираться с RLS (Record Level Security - доступ на уровне записей)
А также для тех, кому лень разбираться в тонкостях программирования. Можете взять за основу код приведенный в статье.

Появилась у меня необходимость в конфигурации "Управление торговлей" определенным группам пользователей ограничить доступ к списку складов. Поскольку в типовой конфигурации не предусмотрено такой возможности, я порылся в интернете и понял, что у многих возникал этот вопрос. Находил ответы на свой вопрос с примерами кода, но отрывками. Вот, решил оформить то, что у меня в результате получилось. Сразу оговорюсь, что с 8.X я недавно стал работать поэтому не пинайте сильно. В основном публикация предназначена для новичков.

Исходная конфигурация: Управление торговлей 10.3.8.9.

1) Добавляем новое значение в перечисление ВидыОбъектовДоступаСклады.

2) Вносим изменения в регистр сведений НастройкиПравДоступаПользователей. В измерениях ОбъектДоступа и ВладелецПравДоступа  отмечаем флажком  тип данных  СправочникСсылка.Склад.

3) Вносим изменения в обработку НастройкаПравДоступа:

  • Добавляем новую страницу, на которой будет происходить настройка доступа к складам. Я назвал её Склады.
  • Размещаем табличное поле на новой странице и настраиваем его по аналогии с табличными полями расположенными на закладках Организации и Контрагенты.

3.1) Добавляем строчки кода в модуль формы  НастройкаПравДоступа:

  •  Изменим функцию ПолучитьСписокОбластейДанных


Функция ПолучитьСписокОбластейДанных(ТипДанных)
   
СписокОбластей = Новый СписокЗначений;
    Если
ТипДанных = Тип("СправочникСсылка.Организации") Тогда
       
СписокОбластей.Добавить(Перечисления.ВидыОбъектовДоступа.Организации);
    ИначеЕсли
ТипДанных = Тип("СправочникСсылка.ГруппыДоступаККонтрагентам") Тогда
       
СписокОбластей.Добавить(Перечисления.ОбластиДанныхОбъектовДоступа.КонтрагентыСписок);
    ИначеЕсли
ТипДанных = Тип("СправочникСсылка.ГруппыПользователей") Тогда
       
// Добавим только те виды объектов доступа, для которых нет областей данных
       
СписокОбластей.Добавить(Перечисления.ВидыОбъектовДоступа.Организации);
       
// Добавим все области данных
       
Для каждого Перечисление Из Перечисления.ОбластиДанныхОбъектовДоступа Цикл
           
СписокОбластей.Добавить(Перечисление);
        КонецЦикла;
       
// Для ограничения доступности по складам. Начало
   
ИначеЕсли ТипДанных = Тип("СправочникСсылка.Склады") Тогда
       
СписокОбластей.Добавить(Перечисления.ВидыОбъектовДоступа.Склады);
       
// Для ограничения доступности по складам. Конец
   
КонецЕсли;
    Возврат
СписокОбластей;
КонецФункции

  •    Добавим код в  функцию ПередОткрытием:


ТипыОбъектовДоступа.Вставить("Склады"     , Тип("СправочникСсылка.Склады"));

4) Вносим изменения в ОбщийМодуль -  НастройкаПравДоступа


Функция ПолучитьВидОбъектаДоступа(ОбъектДоступа) Экспорт
    Если
ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.Организации") Тогда
        Возврат
Перечисления.ВидыОбъектовДоступа.Организации;
    ИначеЕсли
ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.ГруппыДоступаККонтрагентам") Тогда
        Возврат
Перечисления.ВидыОбъектовДоступа.Контрагенты;
       
// Для ограничения доступности по складам. Начало
   
ИначеЕсли ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.Склады") Тогда
        Возврат
Перечисления.ВидыОбъектовДоступа.Склады;
       
// Для ограничения доступности по складам. Конец
   
Иначе
        Возврат
Перечисления.ВидыОбъектовДоступа.ПустаяСсылка();
    КонецЕсли;
КонецФункции
 

5) Добавляем ограничение доступа к данным на чтение у роли Пользователь для объекта Справочники Склады. В поле Ограничение доступа пишем следующий код: 
#ТаблицаОсновогоВидаОбъектаДоступа("Склады", "Ссылка", "")

1.png

Поскольку шаблон ограничений ТаблицаОсновогоВидаОбъектаДоступа уже есть, то здесь больше ничего не делаем. Теперь доступ на видимость складов в справочнике склады настроен. Далее нам нужно чтобы в отчеты попадали только те склады, которые доступны группе пользователей.

 6) Для роли, которую надо ограничить в доступе добавляем шаблон ограничений (закладка шаблоны ограничений). Назовем ограничение Склад, а  в тексте шаблона напишем код:

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

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

                                И
НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей
                ГДЕ
                     НазначениеВидовОбъектовДоступа.ГруппаПользователей = ГруппыПользователей.ГруппаПользователей
                           И НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа В (ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады))

                    И
НастройкиПравДоступаПользователей.ОбъектДоступа ЕСТЬ NULL))
#КонецЕсли 

7) Затем, возвращаемся на закладку Права и находим в дереве объект Регистр накопления -  ТоварыНаСкладах и добавляем ограничение доступа к данным на чтение. В поле Ограничение доступа пишем следующий код:

#Cклад("Склад") 

8) Далее, для этого регистра для роли Пользователь создаем ограничение доступа к данным на чтение. Для этого добавляем ограничение следующего содержания ГДЕ ЛОЖЬ

9) Теперь нам нужно настроить форму списка документов таким образом, чтобы пользователь видел только те документы: реализация, заказ и т.д., где указан доступный для чтения склад. Я сделал ограничение в документе РеализацияТоваровУслуг. По аналогии с этим можно ограничить и другие формы списков документов.
Открываем роль, которой мы хотим назначить ограничение и переходим на закладку Шаблоны ограничений. Добавляем новый шаблон ОрганизацияВШапкеКонтрагентВШапкеСкладВШапке,в тексте шаблона пишем следующий код:

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

Далее, переходим на закладку права, находим в ней Документ РеализацияТоваровиУслуг.
Если у вас уже есть ограничение вида:


#ОрганизацияВШапкеКонтрагентВШапке("Организация", "Контрагент")


то заменяем его нашим кодом:


#ОрганизацияВШапкеКонтрагентВШапкеСкладВШапке("Организация", "Контрагент","Склад")

 
Если такового нет, то добавляем новое ограничение прав и указываем текст нашего ограничения.

10) Сохраняем все. Заходим в предприятие и открываем справочник Группы пользователей. Жмем кнопку Права на нужной группе пользователей. На закладке склады указываем склады, которые должны быть доступны данной группе пользователей. После этого пользователи в справочнике складов смогут увидеть только указанные склады и отчеты, которые используют регистр ТоварыНаСкладах будут выводить ограниченный список складов.

 Следует заметить, что если у пользователя есть несколько ролей и хотя бы одна из них разрешает доступ к справочнику складов, то ограничение не будет срабатывать. В этом случае следует ограничение прописать для нескольких ролей по аналогии.

Я не стал ограничивать другие регистры на доступ по складам, например:ТоварыВРезервеНаСкладах, ЗаказыПоставщикам... Думаю по аналогии можно и в них добавить ограничения. В журнале реализаций (да и в других журналах, где есть поле склад) также не настраивал ограничений, поэтому в поле склад будет выводиться, но это все можно по аналогии с регистрами доработать.

Обновлено 22.02.12. Изменен пункт 8 статьи. Не было ограничения на чтение регистра для прав Пользователь. В связи с этим при формировании без выбора склада отчетов используемых данный регист приводило к выводу в отчет строк вида.

P.S Проверял работоспособность на 8.2- работает. Правда в режиме совместимости с 8.1 Smile

Спасибо пользователю Sai-2010 за замечание.

После данной доработки обновился на 8.2, прошел несколько релизов, сейчас остановился на 10.3.15.9 - все работает без сбоев.

См. также

AUTO VPN (portable)

Информационная безопасность Платные (руб)

Автоматизация подключения пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC и т.д.) подключения без ввода настроек пользователем (с возможностью скрытия этих настроек от пользователя). Программа автоматически выполняет подключение к VPN серверу и после успешного коннекта , если необходимо, подключение к серверу удаленных рабочих столов (RDP).

1200 руб.

24.03.2020    14398    22    32    

33

Настройка аутентификации в 1С с использованием стандарта RFC 7519 (JWT)

Информационная безопасность Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    2608    PROSTO-1C    9    

29

Device flow аутентификация, или туда и обратно

Информационная безопасность Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    1618    platonov.e    1    

23

Анализатор безопасности базы сервера 1С

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Продукты на основе решений 1С уверенной поступью захватывают рынок учётных систем в стране. Широкое распространение программ всегда порождает большой интерес к ним со стороны злоумышленников, а пользователь 1С это одна из дверей в защищённый информационный контур предприятия. Обработка позволяет быстро и комплексно оценить настройки безопасности конкретной базы и возможности пользователя этой базы на сервере. Также можно оценить некоторые аспекты сетевой безопасности предприятия со стороны сервера 1С.

5 стартмани

24.04.2023    5438    14    soulner    7    

29

Двухфакторная аутентификация в 1С через Telegram и Email

Информационная безопасность Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    5968    32    Silenser    12    

23

История одного взлома или проверьте вашу систему на безопасность

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

От клиента клиенту, от одной системы к другой, мы вновь и вновь встречаем одни и те же проблемы и дыры в безопасности. На конференции Infostart Event 2021 Post-Apocalypse Виталий Онянов рассказал о базовых принципах безопасности информационных систем и представил чек-лист, с помощью которого вы сможете проверить свою систему на уязвимость.

26.10.2022    9245    Tavalik    46    

113
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
0. sanches 256 19.07.11 08:22 Сейчас в теме
Статья для тех, кто только начинает разбираться с RLS (Record Level Security - доступ на уровне записей)
А также для тех, кому лень разбираться в тонкостях программирования. Можете взять за основу код приведенный в статье.

Перейти к публикации

Mastekor; +1 Ответить
1. iov 406 19.07.11 17:40 Сейчас в теме
не ну прям вот сразу посл прочтения статьи - как раз это и попросили... вот прям дорогая ложка и прям к обеду
2. sanches 256 19.07.11 17:45 Сейчас в теме
Рад, что пригодилось :)
Добавил еще ограничение по типу цен, делается все по подобию складов.
163. Boudybuilder 35 28.01.18 16:36 Сейчас в теме
Пригодилась статья. Не надо самому долго придумывать. Взял и скопировал.
Спасибо.

Вопрос встал тогда когда понял что ограничивать надо по группе родителю справочника склады. Чтобы пользователь имел доступ к подчиненным. В регистре есть колонка "Вид наследования прав доступа иерархических справочников", которая видимо ни на что не влияет. Так как по запросу ограничения прав доступа вижу что она не используется. Или я ошибаюсь?

Пришлось дописывать такой текст в шаблоне:

ГДЕ
													(НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.#Параметр(2)
														ИЛИ НастройкиПравДоступаПользователей.ОбъектДоступа = ТекущаяТаблица.#Параметр(2).Родитель)


Ну, спасает хотя бы на один уровень вложенности.

И еще вопрос, зачем эти две одинаковые колонки в регистре "Объект доступа" и "Владелец прав доступа"? Ведь они повторяются...
Прикрепленные файлы:
3. bsi 19.07.11 23:01 Сейчас в теме
а документы (ПТУ, ОРП, РТУ, ...) с НЕразрешенными складами как у ограниченного юзера видятся?
4. sanches 256 19.07.11 23:22 Сейчас в теме
Вот таким образом пока выглядит реализация :(
Да, и если используются склады в табличной части документа, то тут надо как-то выворачиваться...
Прикрепленные файлы:
5. AlexKoso 20 20.07.11 11:54 Сейчас в теме
Аналогичное делал несколько месяцев назад. Только в добавок еще номенклатуру, физлиц, подразделения, цены номенклатуры и кассы :)
Вот таким образом пока выглядит реализация

такое бывает если несколько ролей у пользователя, и под одной из них для нужного документа/регистра и т.д. не прописан RLS
6. sanches 256 20.07.11 12:01 Сейчас в теме
Изменил 8 пункт. Описал в нем пример ограничений на форму списка документов.
Чтобы не было строк вида <Объект не найден>

Вот только код нормально пока не могу опубликовать :)
7. AlexKoso 20 20.07.11 12:05 Сейчас в теме
вот...дело за малым: еще половину регистров так обстругать, чтобы в банальной "Ведомсти по товарам на складах" тоже не выводилось <Объект не найден> ;)
8. AlexKoso 20 20.07.11 12:06 Сейчас в теме
Аналогичная ситуация если нужно сделать право не только на чтение, но и на запись:
а) ставите галку на права "Добавление" и "Изменение";
б) создаете еще один шаблон (к имени в конце можно приписать "..._Запись" - по аналогии с типовыми).
в этом новом шаблоне к условию
И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей

добавляете еще условие чтобы оно стало вот таким:
И НастройкиПравДоступаПользователей.Пользователь = ГруппыПользователей.ГруппаПользователей И НастройкиПравДоступаПользователей.Запись = ИСТИНА

в) получите - распишитесь :)

P.S. жаль что автор не коснулся этой темы раньше и мне не повезло как iov, пришлось самому. На форумах полазить как то в голову не пришло.
9. sanches 256 20.07.11 12:13 Сейчас в теме
AlexKoso пишет:

вот...дело за малым: еще половину регистров так обстругать, чтобы в банальной "Ведомсти по товарам на складах" тоже не выводилось <Объект не найден>

Да, в регистре ТоварыНаСкладах я уже написал ограничение (в статье есть). Просто есть еще и другие регистры.
Думаю, кому надо, тот по аналогии сможет добавить и в другие регистры.
Да и сам добавлю :)
10. kay05 10.08.11 17:58 Сейчас в теме
Всем привет.
Делаю для спр."Виды номенклатуры", в результате выполненных манипуляций получаю предупреждение:

Обнаружено несоответствие настроек!
Для некоторых групп пользователей, используемых в текущих настройках ограничения прав, выключено использование ограничений по видам объектов доступа.
Такие текущие настройки доступа не имеют смысла, потому что разрешения на указанные объекты такие группы пользователей все равно не получат.
Возможно, следует скорректировать использование видов объектов доступа в форме группы пользователей.

Следует проверить следующие группы пользователей:
- Продажи (Виды номенклатуры)

Где включить это ограничение?
11. sanches 256 12.08.11 06:28 Сейчас в теме
Тут
Прикрепленные файлы:
12. Blade Runner 51 26.08.11 10:59 Сейчас в теме
Фильтр на регистр не сработал, зато удивительно хорошо работает
#ОрганизацияВШапкеКонтрагентВШапкеСкладВШапке("Организация", "Контрагент","Склад")
пока не пойму, отчего, и чем это чревато :D
13. sanches 256 26.08.11 14:33 Сейчас в теме
Blade Runner пишет:

Фильтр на регистр не сработал, зато удивительно хорошо работает
#ОрганизацияВШапкеКонтрагентВШапкеСкладВШапке("Организация", "Контрагент","Склад")
пока не пойму, отчего, и чем это чревато

Возможно, у пользователя несколько ролей и в одной из них не прописано ограничение на чтение вашего регистра.
14. Djus 161 03.09.11 18:15 Сейчас в теме
Спасибо автору за мануал :)
Boudybuilder; +1 Ответить
15. sanches 256 03.09.11 20:32 Сейчас в теме
16. vis_tmp 32 24.09.11 10:32 Сейчас в теме
Большое спасибо, очень помогло в работе!
Часть я уже и сам сделал, но хорошо, что автор описал всё подробно и по порядку.
17. WildDancer 3 21.10.11 08:51 Сейчас в теме
Большое спасибо автору, отличная работа, в типовой все отлично работает. Жаль мне не помогло... У меня отраслевка, в ней документ основной имеет товары в табличной части со статусами (есть на складе, нет на складе, заказан, и тп), соответственно склады в табличной части. При открытии документа, в котором есть товары, имеющиеся на складе к которому нет доступа - ошибка
{ВнешняяОбработка.бит_ус_ЗащищенныеФункции.МодульОбъекта(738)}: Ошибка при вызове метода контекста (Выполнить)
	ВыборкаНоменклатура = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
по причине:

по причине:
Ошибка выполнения запроса
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.

До запроса даже не добраться, он в защищенном куске кода(
18. sanches 256 21.10.11 16:15 Сейчас в теме
19. PastorNak 13 25.11.11 14:11 Сейчас в теме
20. dtitov 28.11.11 12:36 Сейчас в теме
Написано доступно и понятно. А главное актуально для нашего предприятия. Огромное спасибо! С удовольствием плюсую!!!
21. irinrish 6 05.12.11 16:59 Сейчас в теме
Добрый день, sanches!

Спасибо за материал, он очень пригодился, только вот не получается воспроизвести... Сделала все как написано до пункта 5, включительно. Пользователю настроила в регистре доступ, на картинке настройка, и почему то ему не доступен стал ВЕСЬ справочник - при открытии списка, выходит ошибка "Нарушение прав доступа". Как узнать, в чем дело? Как вообще этот механизм отлаживать?
Прикрепленные файлы:
22. sanches 256 06.12.11 13:50 Сейчас в теме
Здравствуйте, спасибо за отзыв. Проверьте у роли Пользователь права на справочник склады. У меня так сделано
Прикрепленные файлы:
23. irinrish 6 06.12.11 14:29 Сейчас в теме
точно! не было галочки для просмотра! Спасибо огромное!! Буду дальше ковыряться :-)
24. sanches 256 06.12.11 14:47 Сейчас в теме
25. aochkasov 35 20.12.11 13:59 Сейчас в теме
26. Ankiss 10.01.12 16:48 Сейчас в теме
Спасибо большое все работает
27. ThunderUA 20.01.12 00:17 Сейчас в теме
Спасибо работает, а со складами в табличной части ничего нельзя придумать?
29. sanches 256 20.01.12 12:47 Сейчас в теме
(27) ThunderUA,
Можете сделать ограничения и на табличную часть документа.
Вот только как быть с доступностью документа если в нем несколько складов и один из них доступен, а второй нет - решать вам.
Ну и если все-таки давать открывать документ, то части строк в нем видно не будет, что может озадачить пользователя.
82. interlamersha 19.11.12 11:16 Сейчас в теме
(27) ThunderUA, можете попробовать посмотреть в типовой УТ шаблон КонтрагентВТабличнойЧасти и КонтрагентВТабличнойЧасти_Запись, этот шаблон в частности используется в документе "Классификация покупателей по стадиям взаимоотношения" в роли "МенеджерПоПродажам". Можно попробовать замутить что-нибудь по аналогии, но со складами, но опять же ОЧЕНЬ ОЧЕНЬ АККУРАТНО!!! В 2х словах о работе данного RLS в типовой УТ, на примере указанного документа. Если создать документ в табличной части которого указан контрагент право доступа к которому пользователь с "ограничениями" не имеет, то документ не будет виден в списке, даже если в этом документе были указаны в том числе разрешенные контрагенты.
Т.е. если данный механизм перекладывать на Склады, то только при условии, что заказчика, руководство и т.п. устраивает данный вариант. Если же пользователь хочет только скрывать строки в документе с "запрещенными" складами, то тут сложнее. Опять же необходимо оттестить как будет вести себя система при автоматическом заполнении складов в табличной части.
Еще раз ОЧЕНЬ ОЧЕНЬ АККУРАТНО, чётко осознавая каждую букву и запиточку кода RLS и понимая всю структуру вашей конфигурации.
86. AlexO 135 21.11.12 09:35 Сейчас в теме
(82) interlamersha,
Если же пользователь хочет только скрывать строки в документе с "запрещенными" складами, то тут сложнее. Опять же необходимо оттестить как будет вести себя система при автоматическом заполнении складов в табличной части.

так-так, уже и строки в документах решили ограничивать через RLS...
Молодцы!
Как у вас тут весело... :)
87. sanches 256 21.11.12 09:56 Сейчас в теме
(86) а я было обрадовался что вы нас покинули, ан нет...
Только и можете что трепаться, а на деле пусто!
Свербит видимо в одном месте...
Вы точно читать не умеете. Написано же, что в реальной практике не было случаев использования складов в табличной части, и что это сложнее чем ограничивать видимость в журнале и в регистрах.
90. AlexO 135 24.11.12 20:09 Сейчас в теме
(87)
RLS ни в коем случае нельзя ограничивать строки в ТАБЛИЧНОЙ ЧАСТИ ДОКУМЕНТА.
Но у вас все можно, вы ж студенты :)
92. interlamersha 26.11.12 08:34 Сейчас в теме
(90) AlexO, если я студентка с 7ми летним стажем ежедневного программирования на платформе 7.7, 8.1 и 8.2, с наличием профильного высшего образования и с несколькими сертификатами СПЕЦИАЛИСТА 1С в том числе по УТ 10.3, работающая на крупных проектах, в том числе работающая не первый год с RLS, то вы ДАЖЕ НЕ УДОСУЖИЛИСЬ ПОЛУЧИТЬ НАЧАЛЬНОЕ ШКОЛЬНОЕ ОБРАЗОВАНИЕ, ЧИТАТЬ НЕ УМЕЕТЕ.
КУПИТЕ БУКВАРЬ И НАУЧИТЕСЬ ЧИТАТЬ ДЕТОЧКА!!!
А то у вас как в том анекдоте, писать умею, читать не умею. Думать, судя по комментам, также как читать, не научили.
pizhenkov; sanches; +2 Ответить
102. Audag 24.04.13 09:57 Сейчас в теме
Добрый день. Спасибо автору за познавательную статью!
Пытаюсь сделать так как написано, внес все изменения, сохранил конфигурацию.

Создаю для группы пользователей права. При сохранении ругается на:
{Обработка.НастройкаПравДоступа.Форма.НастройкаПравДоступа(92)}: Поле объекта не обнаружено (Чтение_)
СтрокаТаблицыПравДоступа["Чтение_" + Индекс] = Истина;

Не подскажете в чем может быть причина?
103. sanches 256 24.04.13 11:25 Сейчас в теме
(102) Audag,
Проверьте, что бы на закладке Склады в табличном поле ТаблицаПравДоступа_Склады были поля Чтениеи Запись, по аналогии с организациями и контрагентами
Прикрепленные файлы:
130. WWWolfy 132 02.10.14 02:36 Сейчас в теме
(102) Audag, тут ещё надо прописать:
НастройкаПравДоступа (общий модуль) -> ПолучитьВидОбъектаДоступа
это п.4
88. interlamersha 22.11.12 13:40 Сейчас в теме
(86) AlexO, оставьте ваши шизофренические идеи при себе. В каком именно из моих постов вы увидели фразу
строки в документах решили ограничивать через RLS... 
?
ЕЩЕ РАЗ, ДЛЯ ОСОБО "ОДАРЁННЫХ", повторю, читайте внимательно посты, прежде чем что-либо писать в ответ, если не умеете читать, сходите в книжный магазин, купите букварь, или в оптику за очками.
89. AlexO 135 24.11.12 20:08 Сейчас в теме
(88) interlamersha,
Это вы тут студенты и недоучки :)
уже даже на ИС есть первые жертвы вашего незнания.
А будет их еще больше.
113. Antimyslitel 35 23.08.13 17:19 Сейчас в теме
(86) AlexO,
Слушай умный дядя!
Хочешь подскажу тебе где находится место в котором ты будешь чувствовать себя комфортно?
Если ты столь умный возьми да и подскажи или наведи или напиши как это правильно тебя за это миллионы поблагодарят, а не умничай! А если еще в придачу ты напишешь все правильно и все будет у всех работать то тогда тебя возможно еще и материально поблагодарят!
Prad2002; sanches; +2 Ответить
28. aleksru24 20.01.12 07:18 Сейчас в теме
Народ помогите плиз. все сделал - начинаю жать кнопку права - пишет:

{Обработка.НастройкаПравДоступа.Форма.НастройкаПравДоступа(522)}: Тип не определен
Если ТаблицаПравДоступа.Найти(Новый(СтраницаПанели.Значение), "ТипОбъектаДоступа") = Неопределено Тогда

Что не там сделал?
30. sanches 256 20.01.12 13:15 Сейчас в теме
(28) aleksru24,
Возможно, у вас по какой-то причине не заполнено СтраницаПанели.Значение
31. sai-2010 16.02.12 13:35 Сейчас в теме
Добрый день!
Отличная статья!
Все получилось и прекрасно работает!
У меня вопрос к уважаемому автору и аудитории:
Как сделать аналогичные ограничения на отчет по "Ведомость товаров на складах"
Есть необходимость ограничить определенных пользоваптелей информацией ТОЛЬКО по им
доступным складам.

Заранее спасибо!
Всем удачи!
32. sanches 256 16.02.12 15:55 Сейчас в теме
(31) sai-2010, Спасибо! :)

Достаточно просто вставить для всех регистров используемых в данном отчете ограничение на чтение данных по такому же принципу, что описано в публикации. А еще лучше сразу добавте для всех регистров, где есть упоминание о складах.
33. sai-2010 17.02.12 11:08 Сейчас в теме
Добрый день!
Спасибо огромное за подсказку, только не очень удалось зажать Ведомость по товарам.
Всеравно дает отчет по ЛЮБОМУ складу!
Может еще где что то добавить надо...

Удачи!
34. sanches 256 17.02.12 21:59 Сейчас в теме
(33) sai-2010,
Посмотрел у себя, действительно показывает все склады если не выбирать фильтр.
Пишет <Объект не найден> для складов не доступных для чтения.
Надо разобраться. Отпишу позже о рерультатах
Спасибо за подсказку!
35. sai-2010 20.02.12 07:10 Сейчас в теме
Спасибо за вснимание к моей проблеме!
С нетерпением буду ждать Вашего решения.
Очень хочется запустить это ограниченеи по правам.
Это очень актуальная задача для удаленных пользователей, когда они
работают в терминале. У них есть свой склад, и зачем им видеть все остальные склады,
а главное движением! по чужим складам.
Так что вопрос не надуманный, а реально по жизни.

Удачи!
Жду Вашего решенния.
38. sanches 256 21.02.12 23:04 Сейчас в теме
(35) sai-2010,
Решение проблемы следующее.
Заходите в Роль Пользователь, заходите в ветку РегистрыНакопления затем ТоварыНаСкладах.
Создаете ограничение на чтение, где указываете в поле ограничение доступа текст ГДЕ ЛОЖЬ
в поле поля автоматически установится значение <Прочие поля>
После этого "лишние" склады исчезнут из отчета.
36. F1C 24 20.02.12 07:16 Сейчас в теме
Спасибо, отличная статья!
37. serq82 8 21.02.12 08:49 Сейчас в теме
дошел до 7 пункта
Затем, возвращаемся на закладку Права и находим в дереве объект Регистр накопления - ТоварыНаСкладах и добавляем ограничение доступа к данным на чтение. В поле Ограничение доступа пишем следующий код:

#Cклад("Склад")

пишет:
Шаблон 'Склад' не существует(

все получилось,а никто не подскажет какие регистры надо изменить чтобы все получилось в роли менеджера по продажам и покупкам?
39. sanches 256 22.02.12 11:40 Сейчас в теме
(37) serq82, Для этого нужно для необходимых ролей повторить пункты 5-7. Создать для них ограничение на чтение регистров.
47. Lenten 25 24.05.12 16:20 Сейчас в теме
(37) serq82,
дошел до 7 пункта

Затем, возвращаемся на закладку Права и находим в дереве объект Регистр накопления - ТоварыНаСкладах и добавляем ограничение доступа к данным на чтение. В поле Ограничение доступа пишем следующий код:

#Cклад("Склад")

пишет:
Шаблон 'Склад' не существует(

А как с этим разобрались?
48. Lenten 25 24.05.12 16:54 Сейчас в теме
(47) Lenten, Оказалось что если #Cклад("Склад") не копировать, а написать, то все норм(в чем разница я так и не увидел). Может кому поможет
Fatset; maksimkatula; XelOla; Mastekor; deni1982; NE_ZNAIY; +6 Ответить
40. sanches 256 22.02.12 11:40 Сейчас в теме
41. serq82 8 22.02.12 12:04 Сейчас в теме
(40) большое спасибо,к нужным справочникам я закрыл доступ,ща буду смотреть отчеты
42. OscarTT 13.03.12 03:39 Сейчас в теме
"Рад, что пригодилось
Добавил еще ограничение по типу цен, делается все по подобию складов."

Где же это добавление по типу цен? Ткните носом, надо именно по ценам и выбору их в документе.
44. sanches 256 13.03.12 08:24 Сейчас в теме
(42) OscarTT,
Добавил в своей конфигурации, но выкладывать не стал, поскольку принцип ограничения схож с тем, что описан в статье. Создаем закладку Типы цен в настройках прав доступа и т.д.
Но на самом деле с типами цен не все так просто как казалось. При включении ограничения у меня проявились проблемы
1) В программе есть возможность указать тип цен для каждого пользователя ниже которого нельзя продавать. И получилось так, что я запретил пользователю видеть закупочный тип цен, а он стоял у него в настройках как тип цен ниже которого нельзя продавать в результате при проведении документа(вроде) вываливается ошибка.
2) При ведении индивидуальных типов цен для контрагентов необходимо каждый раз держать актуальным список типов цен доступных пользователю иначе в подборе будет вываливаться ошибка. Дело в том,что в настройках прав доступа указываются объекты, которые может пользователь видеть, все что не указано будет не доступно. Поэтому может получиться ситуация такая. Был тип цен Розница и он был доступен пользователю. Добавили тип цен Розница-3% и назначили этот тип цен для покупателя, но поскольку этот тип цен не был указан как доступный для пользователя, то про выписке документов в подборе будет выходить ошибка о нарушении прав доступа до тех пор пока не указать новый тип цен как доступный для пользователя. У меня типов цен в базе более сотни и часто добавляют новые (возможно и не правильно) и эта проблема актуальна. Поэтому пока не развиваю тему с ограничением типов цен.
43. OscarTT 13.03.12 03:44 Сейчас в теме
"10) Сохраняем все. Заходим в предприятие и открываем справочник Группы пользователей. Жмем кнопку Права на нужной группе пользователей. На закладке склады указываем склады, которые должны быть доступны данной группе пользователей. После этого пользователи в справочнике складов смогут увидеть только указанные склады и отчеты, которые используют регистр ТоварыНаСкладах будут выводить ограниченный список складов."

Пытаюсь сделать по аналогии, но не могу понять где "Жмем кнопку Права на нужной группе пользователей. На закладке склады указываем склады, которые должны быть доступны данной группе пользователей."
Куда дальше жать? ))
Прикрепленные файлы:
45. sanches 256 13.03.12 14:00 Сейчас в теме
(43) OscarTT,
У вас видимо другой релиз конфигурации. Можно попробовать зайти в сам элемент справочника (дерево справа) может там есть что-то связаное с правами.
К тому же я делал это на 8.1. Сейчас 8.2 но в режиме совместимости с 8.1 - работает все нормально.+ У меня довольно древний релиз 10.3.9.4 и выглядит справочник так

46. VanechkaDiev 12.04.12 12:06 Сейчас в теме
Отличный и простой для понимания материал! только "+"
49. Lenten 25 26.05.12 16:26 Сейчас в теме
День добрый, сделал ограничение на Реализация товаров и услуг как в публикации, все работает. Пытаюсь сделать тоже самое в Поступлении вылезает

Ошибка в ограничении доступа к данным.
объект: 'Документ.ПоступлениеТоваровУслуг', поле: 'Проведен'; право: 'Чтение'
{(59, 50)}: Поле не найдено "ТекущаяТаблица.Склад"
И ТекущаяТаблица.<<?>>Склад ССЫЛКА Справочник.Склады
по причине:
{(59, 50)}: Поле не найдено "ТекущаяТаблица.Склад"
И ТекущаяТаблица.<<?>>Склад ССЫЛКА Справочник.Склады

Почему это может быть? Притом что стандартное ограничение по Организации в Поступлении нормально срабатывает

Оказалось там надо
#ОрганизацияВШапкеКонтрагентВШапкеСкладВШапке("Организация", "Контрагент","СкладОрдер")
50. 4ur 29.06.12 16:05 Сейчас в теме
как раз то, что просили сделать, только для цен, как раз и попробую, думал, что придется программировать, а тут оказывается и по другому можно...
51. sanches 256 29.06.12 16:18 Сейчас в теме
(50) 4ur, Если Вы про типы цен, то там посложнее будет реализация, я писал выше некоторые моменты, с которыми мне пришлось столкнуться при введении ограничения по типам цен. В итоге оно работает, но местами - криво.
52. 4ur 30.06.12 00:24 Сейчас в теме
попробую прилепить с УПП, там эти ограничения очень дотошно сделаны, только напильником придется немного обработать...
78. interlamersha 16.11.12 11:47 Сейчас в теме
(52) 4ur, Для чего вам в УПП пилить RLS по складам? там и так этот механизм уже написан, зачем изобретать велосипед?
79. 4ur 16.11.12 12:05 Сейчас в теме
(78) interlamersha, как всегда не совсем верно выразился, т.к. этот механизм очень дотошно сделан в УПП, то для примера взял себе как раз реализацию его в УПП, надо было в УТ немного подправить...
53. prodv 05.07.12 14:41 Сейчас в теме
Спасибо автору, кучу времени сэкономил.
Большущий ПЛЮС!
54. ekoelxan 06.11.12 15:45 Сейчас в теме
Автор, ОГРОМНОЕ ВАМ СПАСИБО!
55. sanches 256 06.11.12 21:27 Сейчас в теме
Пожалуйста, рад, что пользуется спросом!
56. 2791 9 12.11.12 15:43 Сейчас в теме
А ограничение по учетам кто-то делал? Ограничить группу пользователей к просмотру документов "ОтражатьВ УпрвленческомУчете"(в базе ведутся отдельно документы бух и упр учета)
58. sanches 256 13.11.12 17:54 Сейчас в теме
(56)Я не делал, но думаю там не сложнее чем с организациями и контрагентами. Даже проще, наверное.
(57)Да, согласен. В УТ11 еще больше возможностей ограничить доступ к данным через RLS, интересно как там с быстродействием.
61. 2791 9 13.11.12 18:14 Сейчас в теме
(58) Разобралась, оказалось намного проще, чем по организации и контрагентам
62. AlexO 135 13.11.12 18:20 Сейчас в теме
(61) 2791,
Разобралась, оказалось намного проще, чем по организации и контрагентам

не забудьте вспомнить только впоследствии, что когда-то залезли и наделали RLS вне типовых.
...чтобы знать, где и откуда начать вычищать авгиевы конюшни...
63. interlamersha 14.11.12 13:05 Сейчас в теме
(58) Насчет БУ и УУ не сложнее чем с контрагентом, эт не так. Пару месяцев назад разруливала RLS в УТ, и обнаружила интересную деталь по ограничениям по регистрам. Ограничение можно поставить только в том случае если оно накладывается на измерение или ресурс регистра. Наложить ограничение по реквизиту документа регистратора фигушки! Признак УУ и БУ в УТ в регистрах нигде не значится, а это значит, что документы из журналов скрыть ноу проблемз, а сделать так чтобы движуха по этим документам не вылазила при открытии регистра на просмотр, при формировании отчетов по регистрам, это как говорил Шарик "Индейская изба, фиг вам называется!".
66. AlexO 135 15.11.12 17:41 Сейчас в теме
(63) interlamersha,
а вы еще больше довепряйте студенческим статьям, еще не такого наворотите...
Хотите под девизом "RLS - это просто" наподелать ограничений? Флаг в руки, кто вам за это заплатит - заплатит помто вдвойне за разгребание понаделанного и возвращение к исходному состоянию.
77. interlamersha 16.11.12 11:43 Сейчас в теме
(66) AlexO, Вы по ходу читать не умеете, или не желаете. В моём комменте как раз то обозначено, что RLS это не просто, и приведен один из ярких примеров, где можно лихо сесть в лужу. А троллем вас не зря назвали, все ваши комменты содержат одно "я такой умный, а вы тут все идиоты, я где то там в интернете написал кучу статей по RLS и не одной на инфостате, а вы их даже почитать не удосужились". Ссылки в студию! И пофиг, что на инфостате ваша статья практически перепечатка руководства по администрированию.
Насчет "а вы еще больше доверяйте студенческим статьям", я не имею привычки тупой бездумной скачки или переписки чужих работ, чужого программного кода. Я не первый год программирую на 1С, в том числе работаю с механизмом RLS, есть несколько клиентов с доработками RLS, работает как часы. Да в этой статье не раскрыт механизм работы с RLS, ни принципы работы, ни способы работы с параметрами, ни плюсы минусы.
Грабли есть в RLS и не одни, но пишите о них в комментах, пишите о статье по существу, а не тратьте попусту моё время и время посетителей данной статьи на чтение вашего пустого трёпа.
samadov; Accident; _Бестия_; sergant500; Sitex; Antimyslitel; musly; AlexanderEkb; sanches; +9 Ответить
57. Rad90210 13 13.11.12 14:11 Сейчас в теме
Плавали знаем... На больших базах притормаживает ... а за описание обнозначно +
59. AlexO 135 13.11.12 18:09 Сейчас в теме
(0) можно было бы многое написать, начиная от "код скопирован с типового РЛС, но не понят/не разобран" и до ошибок в статье, но - зачем?
Пусть студенты учатся сами, и сами набивают свои собственные шишки.
Во, 70 плюсов, рванет, и не раз.
60. sanches 256 13.11.12 18:14 Сейчас в теме
(59)Я и не претендовал на оригинальность, код брал из типовой УТ и добавлял то, что нужно. Лично у меня все работает.
Вы уже либо пишите по существу про ошибки либо не спамьте. Или вам надо заработать на комментариях рейтинг?
Знающий человек бы написал и указал на ошибки,а смысл вашего комментария мне не понятен. Показать свои знания? Так покажите на деле, укажите на ошибки по существу.
Хорошо, что у вас всегда получается идеально и с первого раза.
65. AlexO 135 15.11.12 17:39 Сейчас в теме
(60)
Знающий человек бы написал и указал на ошибки

не-1сник давно бы погугли + поиск по ИС включил бы, и нашел много интересного по RLS + масса моих разъяснений в том числе, тянущих на три статьи по RLS.
67. sanches 256 15.11.12 17:42 Сейчас в теме
(65)И опять комментарий ни о чем.
Когда я искал решение данного вопроса, то в интернете ничего не нашел в одной статье, все было размазно
69. AlexO 135 15.11.12 17:45 Сейчас в теме
(67)
оно и понятно, что не нашли - вы даже не знаете, что искать.
а я уже один раз месяцев пять назад собирал ссылки для очередной ежемесячной волны студентов, надеялся, что хоть поиском умеют пользоваться, а - нет, не умеют.
Захотите - найдете по моим сообщениям.
71. sanches 256 15.11.12 17:50 Сейчас в теме
(69)Вы еще и читать не умеете. Если внимательно посмотреть на дату публикации статьи, то можно увидеть 18.07.2011, что намного раньше чем ваши ссылки, которые непонятно где...
72. AlexO 135 15.11.12 17:55 Сейчас в теме
(71)
а причем тут дата? есть статьи в инете от 2004-2006, обсуждения.
А это как раз вам минус - вы так с той поры и не знаете, чему учите, и призываете также "не знать" и бездумно выполнять механические действия других, хотя что-что, а настройка RLS может обернуться не просто ошибкой в коде.
64. Antimyslitel 35 15.11.12 17:33 Сейчас в теме
У меня возникла проблема все описанное выше проделал но выдает ошибку Поле Объекта не обнаружено и {Обработка.НастройкаПравДоступа.Форма.НастройкаПравДоступа(148)}: Поле объекта не обнаружено (ТаблицаПравДоступа_Склады)
Элемент = ЭлементыФормы["ТаблицаПравДоступа_" + КлючИЗначение.Ключ];
Что делать как поступить? спасибо!
73. sanches 256 15.11.12 17:59 Сейчас в теме
(64)Antimyslitel, проверьте, чтобы табличное поле, которое вы добавили на новой закладке склады имело имя ТаблицаПравДоступа_Склады
NE_ZNAIY; +1 Ответить
68. sanches 256 15.11.12 17:43 Сейчас в теме
Все ясно, тролль у нас завелся.
70. AlexO 135 15.11.12 17:45 Сейчас в теме
(68)
тролли - это вы и подобные вам студенты.
74. Antimyslitel 35 15.11.12 18:31 Сейчас в теме
Теперь возникла эта ошибка:
{ОбщийМодуль.ЗаполнениеДокументов(569)}: Ошибка при получении значения атрибута контекста (ОтражатьВРегламентированномУчете)
ФлагОтражРеглУчете = ЗначениеЗаполнено(ДокументОбъект.Организация) И ДокументОбъект.Организация.ОтражатьВРегламентированномУчете;
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.
Вроде в группу пользователей - пользователя добавил!
и после включение под этим пользователем в документе реализации когда пытаюсь добавить документ выскакивает вышеуказанная ошибка помогите плззз!
75. sanches 256 15.11.12 23:44 Сейчас в теме
(74)Antimyslitel, попробуйте создать новую роль путем копирования роли Пользователь, и в ней проделать п.5 статьи. Если не хочется править типовые роли, то можете оставить эту новую роль и назначить ее пользователям
76. AlexO 135 16.11.12 10:18 Сейчас в теме
(75)
давайте, давайте - множьте роли с RLS, давайте вредные советы.
Вся статья об этом, неофиты-последователи быстрее по голове получат.
80. interlamersha 19.11.12 10:13 Сейчас в теме
Нашла свободные пару минут времени на работе, проанализировать статью и код. Судя по шестому пункту, код был не переделан по шаблону "Контрагенты" в УТ, а был взят из комплексной или УПП. Один существенный момент не учтён в данной статье, это документы перемещения и наличие СкладаОтправителя и СкладаПолучателя, также необходимо учитывать наличие ордерных схем приема и реализации товара, выше приведенные шаблоны не позволяют корректно фильтровать данные по этим документам. В частности при ограничении доступа по складам у перемещений в комплексной используются не шаблоны, а непосредственно прописаны запросы на чтение данных в ролях. Например в запросе есть такой кусок кода:
#Если &ИспользоватьОграничениеПоСклады #Тогда
                                    КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады)
                                        ТОГДА НастройкиПравДоступаПользователей.ОбъектДоступа В (ТекущаяТаблица.СкладОтправитель, ТекущаяТаблица.СкладПолучатель)
                                    #КонецЕсли

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


Думаю тут всё вполне понятно, если нужно будет прокомментить, пишите, будет время отвечу.
Полностью код приводить не буду, кому нужно будет, думаю посмотрит сам.
Еще раз обращаю внимание читателей: приведенный код это лишь маленький кусочек запроса, не надо сразу же запихивать его в настройки прав в указанные документы!
81. sanches 256 19.11.12 10:27 Сейчас в теме
interlamersha, большое спасибо за констуктивный комментарий. Я постараюсь как можно быстрее отредактировать статью.
Я уже точно не помню откуда взял за основу шаблон, вроде из УТ 11
83. interlamersha 19.11.12 11:20 Сейчас в теме
маленький докоммент к моему предыдущему пОсту:
Тупо взять и поменять в указанных шаблонах Контрагента на Склад нельзя, т.к. необходимо также учитывать тот факт, что СКЛАД В ДОКУМЕНТАХ И В ШАПКЕ И В ТАБЛИЧНОЙ ЧАСТИ!!! Т.е. моя рекомендация есть ни что иное как подсказка в какую сторону глянуть, где подсмотреть кусочек, а не готовое решение, продумывайте внимательно алгоритм.
84. sanches 256 19.11.12 11:37 Сейчас в теме
Да, про склады в табличной части я писал, что если используются склады в табличной части, то нужно что-то придумывать... Показывать часть строк в документе как-то не хорошо.
85. interlamersha 19.11.12 11:47 Сейчас в теме
На самом деле в моей практике варианты с использованием складов в табличной части попадаются редко, и тому есть одна немаловажная причина, это стыковка УТ-БП. В бухии нет складов в табличной части, и такие документы будут грузиться на тот склад который указан в шапке документа, или же на склад указанный "Основной по умолчанию". Если в УТ ведется складской учет, а в БП не ведется или же весь товар кидается на единый склад и не заморачиваются с перемещениями, то такая схема прокатывает, а если же этот складской учет есть, то ждите криков бухгалтеров "почему это в торговле реализация прошла, а в бухгалтерии не проводится!". Частенько перепиливаю типовые правила конвертации УТ-БП на работу через обработку, а не через планы обмена, т.е. так как это было в УТ-БП 1.6., на это тоже есть ряд причин, но это другая история, так вот, в типовых правилах данная схема на сколько мне помнится до сих пор не разрулина корректно.
91. sanches 256 24.11.12 21:57 Сейчас в теме
Вы что ли жертва? :))
Вы жертва окулиста, это да
Sitex; Antimyslitel; interlamersha; +3 Ответить
93. Vladimir-R 167 16.01.13 10:00 Сейчас в теме
внимательнее читаем, и все получится
Оставьте свое сообщение