gifts2017

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

Опубликовал sanches (sanches) в раздел Администрирование - Защита, права, пароли

Статья для тех, кто только начинает разбираться с 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 - все работает без сбоев.

См. также

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

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

1. Александр Зубцов (iov) 19.07.11 17:40
не ну прям вот сразу посл прочтения статьи - как раз это и попросили... вот прям дорогая ложка и прям к обеду
2. sanches (sanches) 19.07.11 17:45
Рад, что пригодилось :)
Добавил еще ограничение по типу цен, делается все по подобию складов.
3. bsi bsi (bsi) 19.07.11 23:01
а документы (ПТУ, ОРП, РТУ, ...) с НЕразрешенными складами как у ограниченного юзера видятся?
4. sanches (sanches) 19.07.11 23:22
Вот таким образом пока выглядит реализация :(
Да, и если используются склады в табличной части документа, то тут надо как-то выворачиваться...
Прикрепленные файлы:
5. Alex Koso (AlexKoso) 20.07.11 11:54
Аналогичное делал несколько месяцев назад. Только в добавок еще номенклатуру, физлиц, подразделения, цены номенклатуры и кассы :)
Вот таким образом пока выглядит реализация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Спасибо за материал, он очень пригодился, только вот не получается воспроизвести... Сделала все как написано до пункта 5, включительно. Пользователю настроила в регистре доступ, на картинке настройка, и почему то ему не доступен стал ВЕСЬ справочник - при открытии списка, выходит ошибка "Нарушение прав доступа". Как узнать, в чем дело? Как вообще этот механизм отлаживать?
Прикрепленные файлы:
22. sanches (sanches) 06.12.11 13:50
Здравствуйте, спасибо за отзыв. Проверьте у роли Пользователь права на справочник склады. У меня так сделано
Прикрепленные файлы:
23. ирина (irinrish) 06.12.11 14:29
точно! не было галочки для просмотра! Спасибо огромное!! Буду дальше ковыряться :-)
24. sanches (sanches) 06.12.11 14:47
25. Ksandr2010 (aochkasov) 20.12.11 13:59
26. Аня (Ankiss) 10.01.12 16:48
Спасибо большое все работает
27. oleg grom (ThunderUA) 20.01.12 00:17
Спасибо работает, а со складами в табличной части ничего нельзя придумать?
28. Алексей Коротких (aleksru24) 20.01.12 07:18
Народ помогите плиз. все сделал - начинаю жать кнопку права - пишет:

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

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

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

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

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

Удачи!
Жду Вашего решенния.
36. Александр Ф (leon111) 20.02.12 07:16
Спасибо, отличная статья!
37. Сергей Григорьев (serq82) 21.02.12 08:49
дошел до 7 пункта
Затем, возвращаемся на закладку Права и находим в дереве объект Регистр накопления - ТоварыНаСкладах и добавляем ограничение доступа к данным на чтение. В поле Ограничение доступа пишем следующий код:

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

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

все получилось,а никто не подскажет какие регистры надо изменить чтобы все получилось в роли менеджера по продажам и покупкам?
38. sanches (sanches) 21.02.12 23:04
(35) sai-2010,
Решение проблемы следующее.
Заходите в Роль Пользователь, заходите в ветку РегистрыНакопления затем ТоварыНаСкладах.
Создаете ограничение на чтение, где указываете в поле ограничение доступа текст ГДЕ ЛОЖЬ
в поле поля автоматически установится значение <Прочие поля>
После этого "лишние" склады исчезнут из отчета.
39. sanches (sanches) 22.02.12 11:40
(37) serq82, Для этого нужно для необходимых ролей повторить пункты 5-7. Создать для них ограничение на чтение регистров.
40. sanches (sanches) 22.02.12 11:40
41. Сергей Григорьев (serq82) 22.02.12 12:04
(40) sanches, большое спасибо,к нужным справочникам я закрыл доступ,ща буду смотреть отчеты
42. Oscar Oscar (OscarTT) 13.03.12 03:39
"Рад, что пригодилось
Добавил еще ограничение по типу цен, делается все по подобию складов."

Где же это добавление по типу цен? Ткните носом, надо именно по ценам и выбору их в документе.
43. Oscar Oscar (OscarTT) 13.03.12 03:44
"10) Сохраняем все. Заходим в предприятие и открываем справочник Группы пользователей. Жмем кнопку Права на нужной группе пользователей. На закладке склады указываем склады, которые должны быть доступны данной группе пользователей. После этого пользователи в справочнике складов смогут увидеть только указанные склады и отчеты, которые используют регистр ТоварыНаСкладах будут выводить ограниченный список складов."

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

46. Diev Ivan (VanechkaDiev) 12.04.12 12:06
Отличный и простой для понимания материал! только "+"
47. 123 321 (Lenten) 24.05.12 16:20
(37) serq82,
дошел до 7 пункта

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

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

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

А как с этим разобрались?
48. 123 321 (Lenten) 24.05.12 16:54
(47) Lenten, Оказалось что если #Cклад("Склад") не копировать, а написать, то все норм(в чем разница я так и не увидел). Может кому поможет
NE_ZNAIY; +1 Ответить
49. 123 321 (Lenten) 26.05.12 16:26
День добрый, сделал ограничение на Реализация товаров и услуг как в публикации, все работает. Пытаюсь сделать тоже самое в Поступлении вылезает

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

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

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

не забудьте вспомнить только впоследствии, что когда-то залезли и наделали RLS вне типовых.
...чтобы знать, где и откуда начать вычищать авгиевы конюшни...
63. interlamersha Internetkina (interlamersha) 14.11.12 13:05
(58) sanches, Насчет БУ и УУ не сложнее чем с контрагентом, эт не так. Пару месяцев назад разруливала RLS в УТ, и обнаружила интересную деталь по ограничениям по регистрам. Ограничение можно поставить только в том случае если оно накладывается на измерение или ресурс регистра. Наложить ограничение по реквизиту документа регистратора фигушки! Признак УУ и БУ в УТ в регистрах нигде не значится, а это значит, что документы из журналов скрыть ноу проблемз, а сделать так чтобы движуха по этим документам не вылазила при открытии регистра на просмотр, при формировании отчетов по регистрам, это как говорил Шарик "Индейская изба, фиг вам называется!".
64. Аднан Аднан (Antimyslitel) 15.11.12 17:33
У меня возникла проблема все описанное выше проделал но выдает ошибку Поле Объекта не обнаружено и {Обработка.НастройкаПравДоступа.Форма.НастройкаПравДоступа(148)}: Поле объекта не обнаружено (ТаблицаПравДоступа_Склады)
Элемент = ЭлементыФормы["ТаблицаПравДоступа_" + КлючИЗначение.Ключ];
Что делать как поступить? спасибо!
65. Алекс Ю (AlexO) 15.11.12 17:39
(60) sanches,
Знающий человек бы написал и указал на ошибки

не-1сник давно бы погугли + поиск по ИС включил бы, и нашел много интересного по RLS + масса моих разъяснений в том числе, тянущих на три статьи по RLS.
66. Алекс Ю (AlexO) 15.11.12 17:41
(63) interlamersha,
а вы еще больше довепряйте студенческим статьям, еще не такого наворотите...
Хотите под девизом "RLS - это просто" наподелать ограничений? Флаг в руки, кто вам за это заплатит - заплатит помто вдвойне за разгребание понаделанного и возвращение к исходному состоянию.
67. sanches (sanches) 15.11.12 17:42
(65)И опять комментарий ни о чем.
Когда я искал решение данного вопроса, то в интернете ничего не нашел в одной статье, все было размазно
68. sanches (sanches) 15.11.12 17:43
Все ясно, тролль у нас завелся.
69. Алекс Ю (AlexO) 15.11.12 17:45
(67) sanches,
оно и понятно, что не нашли - вы даже не знаете, что искать.
а я уже один раз месяцев пять назад собирал ссылки для очередной ежемесячной волны студентов, надеялся, что хоть поиском умеют пользоваться, а - нет, не умеют.
Захотите - найдете по моим сообщениям.
70. Алекс Ю (AlexO) 15.11.12 17:45
(68) sanches,
тролли - это вы и подобные вам студенты.
71. sanches (sanches) 15.11.12 17:50
(69)Вы еще и читать не умеете. Если внимательно посмотреть на дату публикации статьи, то можно увидеть 18.07.2011, что намного раньше чем ваши ссылки, которые непонятно где...
72. Алекс Ю (AlexO) 15.11.12 17:55
(71) sanches,
а причем тут дата? есть статьи в инете от 2004-2006, обсуждения.
А это как раз вам минус - вы так с той поры и не знаете, чему учите, и призываете также "не знать" и бездумно выполнять механические действия других, хотя что-что, а настройка RLS может обернуться не просто ошибкой в коде.
73. sanches (sanches) 15.11.12 17:59
(64)Antimyslitel, проверьте, чтобы табличное поле, которое вы добавили на новой закладке склады имело имя ТаблицаПравДоступа_Склады
NE_ZNAIY; +1 Ответить
74. Аднан Аднан (Antimyslitel) 15.11.12 18:31
Теперь возникла эта ошибка:
{ОбщийМодуль.ЗаполнениеДокументов(569)}: Ошибка при получении значения атрибута контекста (ОтражатьВРегламентированномУчете)
ФлагОтражРеглУчете = ЗначениеЗаполнено(ДокументОбъект.Организация) И ДокументОбъект.Организация.ОтражатьВРегламентированномУчете;
по причине:
У пользователя недостаточно прав на исполнение операции над базой данных.
Вроде в группу пользователей - пользователя добавил!
и после включение под этим пользователем в документе реализации когда пытаюсь добавить документ выскакивает вышеуказанная ошибка помогите плззз!
75. sanches (sanches) 15.11.12 23:44
(74)Antimyslitel, попробуйте создать новую роль путем копирования роли Пользователь, и в ней проделать п.5 статьи. Если не хочется править типовые роли, то можете оставить эту новую роль и назначить ее пользователям
76. Алекс Ю (AlexO) 16.11.12 10:18
(75) sanches,
давайте, давайте - множьте роли с RLS, давайте вредные советы.
Вся статья об этом, неофиты-последователи быстрее по голове получат.
77. interlamersha Internetkina (interlamersha) 16.11.12 11:43
(66) AlexO, Вы по ходу читать не умеете, или не желаете. В моём комменте как раз то обозначено, что RLS это не просто, и приведен один из ярких примеров, где можно лихо сесть в лужу. А троллем вас не зря назвали, все ваши комменты содержат одно "я такой умный, а вы тут все идиоты, я где то там в интернете написал кучу статей по RLS и не одной на инфостате, а вы их даже почитать не удосужились". Ссылки в студию! И пофиг, что на инфостате ваша статья практически перепечатка руководства по администрированию.
Насчет "а вы еще больше доверяйте студенческим статьям", я не имею привычки тупой бездумной скачки или переписки чужих работ, чужого программного кода. Я не первый год программирую на 1С, в том числе работаю с механизмом RLS, есть несколько клиентов с доработками RLS, работает как часы. Да в этой статье не раскрыт механизм работы с RLS, ни принципы работы, ни способы работы с параметрами, ни плюсы минусы.
Грабли есть в RLS и не одни, но пишите о них в комментах, пишите о статье по существу, а не тратьте попусту моё время и время посетителей данной статьи на чтение вашего пустого трёпа.
samadov; Accident; _Бестия_; sergant500; Sitex; Antimyslitel; musly; AlexanderEkb; sanches; +9 Ответить
78. interlamersha Internetkina (interlamersha) 16.11.12 11:47
(52) 4ur, Для чего вам в УПП пилить RLS по складам? там и так этот механизм уже написан, зачем изобретать велосипед?
79. mic auto (4ur) 16.11.12 12:05
(78) interlamersha, как всегда не совсем верно выразился, т.к. этот механизм очень дотошно сделан в УПП, то для примера взял себе как раз реализацию его в УПП, надо было в УТ немного подправить...
80. interlamersha Internetkina (interlamersha) 19.11.12 10:13
Нашла свободные пару минут времени на работе, проанализировать статью и код. Судя по шестому пункту, код был не переделан по шаблону "Контрагенты" в УТ, а был взят из комплексной или УПП. Один существенный момент не учтён в данной статье, это документы перемещения и наличие СкладаОтправителя и СкладаПолучателя, также необходимо учитывать наличие ордерных схем приема и реализации товара, выше приведенные шаблоны не позволяют корректно фильтровать данные по этим документам. В частности при ограничении доступа по складам у перемещений в комплексной используются не шаблоны, а непосредственно прописаны запросы на чтение данных в ролях. Например в запросе есть такой кусок кода:
#Если &ИспользоватьОграничениеПоСклады #Тогда
                                    КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.Склады)
                                        ТОГДА НастройкиПравДоступаПользователей.ОбъектДоступа В (ТекущаяТаблица.СкладОтправитель, ТекущаяТаблица.СкладПолучатель)
                                    #КонецЕсли

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


Думаю тут всё вполне понятно, если нужно будет прокомментить, пишите, будет время отвечу.
Полностью код приводить не буду, кому нужно будет, думаю посмотрит сам.
Еще раз обращаю внимание читателей: приведенный код это лишь маленький кусочек запроса, не надо сразу же запихивать его в настройки прав в указанные документы!
81. sanches (sanches) 19.11.12 10:27
interlamersha, большое спасибо за констуктивный комментарий. Я постараюсь как можно быстрее отредактировать статью.
Я уже точно не помню откуда взял за основу шаблон, вроде из УТ 11
82. interlamersha Internetkina (interlamersha) 19.11.12 11:16
(27) ThunderUA, можете попробовать посмотреть в типовой УТ шаблон КонтрагентВТабличнойЧасти и КонтрагентВТабличнойЧасти_Запись, этот шаблон в частности используется в документе "Классификация покупателей по стадиям взаимоотношения" в роли "МенеджерПоПродажам". Можно попробовать замутить что-нибудь по аналогии, но со складами, но опять же ОЧЕНЬ ОЧЕНЬ АККУРАТНО!!! В 2х словах о работе данного RLS в типовой УТ, на примере указанного документа. Если создать документ в табличной части которого указан контрагент право доступа к которому пользователь с "ограничениями" не имеет, то документ не будет виден в списке, даже если в этом документе были указаны в том числе разрешенные контрагенты.
Т.е. если данный механизм перекладывать на Склады, то только при условии, что заказчика, руководство и т.п. устраивает данный вариант. Если же пользователь хочет только скрывать строки в документе с "запрещенными" складами, то тут сложнее. Опять же необходимо оттестить как будет вести себя система при автоматическом заполнении складов в табличной части.
Еще раз ОЧЕНЬ ОЧЕНЬ АККУРАТНО, чётко осознавая каждую букву и запиточку кода RLS и понимая всю структуру вашей конфигурации.
83. interlamersha Internetkina (interlamersha) 19.11.12 11:20
маленький докоммент к моему предыдущему пОсту:
Тупо взять и поменять в указанных шаблонах Контрагента на Склад нельзя, т.к. необходимо также учитывать тот факт, что СКЛАД В ДОКУМЕНТАХ И В ШАПКЕ И В ТАБЛИЧНОЙ ЧАСТИ!!! Т.е. моя рекомендация есть ни что иное как подсказка в какую сторону глянуть, где подсмотреть кусочек, а не готовое решение, продумывайте внимательно алгоритм.
84. sanches (sanches) 19.11.12 11:37
Да, про склады в табличной части я писал, что если используются склады в табличной части, то нужно что-то придумывать... Показывать часть строк в документе как-то не хорошо.
85. interlamersha Internetkina (interlamersha) 19.11.12 11:47
На самом деле в моей практике варианты с использованием складов в табличной части попадаются редко, и тому есть одна немаловажная причина, это стыковка УТ-БП. В бухии нет складов в табличной части, и такие документы будут грузиться на тот склад который указан в шапке документа, или же на склад указанный "Основной по умолчанию". Если в УТ ведется складской учет, а в БП не ведется или же весь товар кидается на единый склад и не заморачиваются с перемещениями, то такая схема прокатывает, а если же этот складской учет есть, то ждите криков бухгалтеров "почему это в торговле реализация прошла, а в бухгалтерии не проводится!". Частенько перепиливаю типовые правила конвертации УТ-БП на работу через обработку, а не через планы обмена, т.е. так как это было в УТ-БП 1.6., на это тоже есть ряд причин, но это другая история, так вот, в типовых правилах данная схема на сколько мне помнится до сих пор не разрулина корректно.
86. Алекс Ю (AlexO) 21.11.12 09:35
(82) interlamersha,
Если же пользователь хочет только скрывать строки в документе с "запрещенными" складами, то тут сложнее. Опять же необходимо оттестить как будет вести себя система при автоматическом заполнении складов в табличной части.

так-так, уже и строки в документах решили ограничивать через RLS...
Молодцы!
Как у вас тут весело... :)
87. sanches (sanches) 21.11.12 09:56
(86) а я было обрадовался что вы нас покинули, ан нет...
Только и можете что трепаться, а на деле пусто!
Свербит видимо в одном месте...
Вы точно читать не умеете. Написано же, что в реальной практике не было случаев использования складов в табличной части, и что это сложнее чем ограничивать видимость в журнале и в регистрах.
88. interlamersha Internetkina (interlamersha) 22.11.12 13:40
(86) AlexO, оставьте ваши шизофренические идеи при себе. В каком именно из моих постов вы увидели фразу
строки в документах решили ограничивать через RLS... 
?
ЕЩЕ РАЗ, ДЛЯ ОСОБО "ОДАРЁННЫХ", повторю, читайте внимательно посты, прежде чем что-либо писать в ответ, если не умеете читать, сходите в книжный магазин, купите букварь, или в оптику за очками.
89. Алекс Ю (AlexO) 24.11.12 20:08
(88) interlamersha,
Это вы тут студенты и недоучки :)
уже даже на ИС есть первые жертвы вашего незнания.
А будет их еще больше.
90. Алекс Ю (AlexO) 24.11.12 20:09
(87) sanches,
RLS ни в коем случае нельзя ограничивать строки в ТАБЛИЧНОЙ ЧАСТИ ДОКУМЕНТА.
Но у вас все можно, вы ж студенты :)
91. sanches (sanches) 24.11.12 21:57
Вы что ли жертва? :))
Вы жертва окулиста, это да
Sitex; Antimyslitel; interlamersha; +3 Ответить
92. interlamersha Internetkina (interlamersha) 26.11.12 08:34
(90) AlexO, если я студентка с 7ми летним стажем ежедневного программирования на платформе 7.7, 8.1 и 8.2, с наличием профильного высшего образования и с несколькими сертификатами СПЕЦИАЛИСТА 1С в том числе по УТ 10.3, работающая на крупных проектах, в том числе работающая не первый год с RLS, то вы ДАЖЕ НЕ УДОСУЖИЛИСЬ ПОЛУЧИТЬ НАЧАЛЬНОЕ ШКОЛЬНОЕ ОБРАЗОВАНИЕ, ЧИТАТЬ НЕ УМЕЕТЕ.
КУПИТЕ БУКВАРЬ И НАУЧИТЕСЬ ЧИТАТЬ ДЕТОЧКА!!!
А то у вас как в том анекдоте, писать умею, читать не умею. Думать, судя по комментам, также как читать, не научили.
pizhenkov; sanches; +2 Ответить 1
93. Владимир Родионов (Балабас) 16.01.13 10:00
внимательнее читаем, и все получится
94. Гусен Халилуллаев (Afandi) 28.01.13 13:25
А как сделать, что бы к складу дополнительно добавить разрешение на операцию приход/расход...?
К примеру у меня в базе 4 организации. Мне нужно 3-м из 4-х организации дать возможность перемещения товаров с основных складов 4-й организации к себе.
т.е. указывать к каждому складу какие операции (приход/расход) можно делать с ним.
95. sanches (sanches) 29.01.13 08:29
(94) Afandi, Можете добавить для документа Перемещение товаров ограничение на добавление и изменение ,а в самом ограничении прописать запрос. Только, для склада надо где-то указать доступные на нем операции. Можно, например в категориях или в свойствах. Но в этом случае надо быть внимательным, что-бы особо умные пользователи не стали менять категории или свойства как им надо, что-бы провести все-таки документ.
96. Гусен Халилуллаев (Afandi) 29.01.13 14:13
А можно ли в шаблон передать параметром тип документа, при обращении из документа к справочникам?
97. Гусен Халилуллаев (Afandi) 29.01.13 14:22
Добавил в регистр "НастройкиПравДоступаПользователей" новое измерение "ВидДоступа" типа Перечесиление.. Теперь для всех таких объектов как например касса или склад, можно указывать вид операции которую можно делать, приход, расход, перемещение и т.п.
Но к сожалению по своему не знаю правил использования шаблонов встрял!
Теперь вот ломаю голову, как в шаблоне прописать обработку нового параметра. К тому же возникает вопрос, как в шаблон передать информацию какой документ обратился к справочнику?
98. Art Sviat (ArtemiFD) 15.03.13 22:04
Вечер добрый! Статья безумно крутющая.
В виду не знания данного механизма, убил много рабочего времени, но особо не продвинулся :(
Задача такая:
Необходимо спрятать те группы и элементы иерархического справочника, у которых реквизит "Скрыть" стоит в истину и скрыть сам реквизит от посторонних глаз (везде, где только можно).
Если кто поможет, заранее спасибо :)