|   |   | 
| 
 | Ограничение чтения через РЛС | ☑ | ||
|---|---|---|---|---|
| 0
    
        Vade_kirza 05.06.14✎ 17:35 | 
        Добрый день, подскажите кто сталкивался, создал роль, настроил, просят чтобы пользователь видел изменял или добавлял элементы номенклатуры только по одной папке, опыта работы с РЛС пока не имел, к сожалению. Пытался сам - поставил ограничение на чтение Поля:ссылка, Ограничение:
 Номенклатура ГДЕ Номенклатура.Родитель = "Работы Генподряд" не показывает вообще ничего, а если вместо равно поставить <>, то выводит все папки. Понимаю, что делаю не правильно, но все бывает в первый раз, поэтому решил обратиться за помощью Если кто сталкивался с подобным или может уже есть готовый похожий пример, подскажите пожалуйста)) Заранее спасибо за помощь! | |||
| 1
    
        RMpnz 05.06.14✎ 17:42 | 
        видимо надо Номенклатура.Родитель.Наименование = "Работы Генподряд". а вообще неправильно это всё как-то)     | |||
| 2
    
        Franchiser 05.06.14✎ 17:42 | 
        попробуй просто ГДЕ Номенклатура.Родитель = "Работы Генподряд"     | |||
| 3
    
        Franchiser 05.06.14✎ 17:44 | 
        ГДЕ Подстрока(Номенклатура.Родитель.наименование,1,16) = "Работы Генподряд"     | |||
| 4
    
        Vade_kirza 05.06.14✎ 17:47 | 
        (1) Наименование, НаименованиеПолное, выдает тоже пустоту (2) (2) (3) щас попробую) напишу     | |||
| 5
    
        Vade_kirza 05.06.14✎ 17:49 | 
        (2) Синтаксическая ошибка (3) тоже пустоту выводит :*(     | |||
| 6
    
        Franchiser 05.06.14✎ 17:50 | 
        В полях не надо поля указывать.     | |||
| 7
    
        Vade_kirza 05.06.14✎ 17:51 | 
        (6) пробовал, тоже самое     | |||
| 8
    
        Franchiser 05.06.14✎ 17:52 | 
        Поставь пока "ГДЕ ИСТИНА". Что выводит?     | |||
| 9
    
        acsent 05.06.14✎ 17:53 | 
        ГДЕ Номенклатура.Родитель = &Группа
 Создать параметр сеанса Группа и заполнить его | |||
| 10
    
        Vade_kirza 05.06.14✎ 17:56 | 
        (9) Параметр сеанса создал, а вот где его заполнить что-то не могу найти     | |||
| 11
    
        Franchiser 05.06.14✎ 17:57 | 
        там где все параметры сеанса заполняются в предопределенной процедуре     | |||
| 12
    
        Enders 05.06.14✎ 18:02 | 
        (0) 
 1)А там в папке что-нить есть? 2) Попробуй через "подобно" Где Номенклатура.Родитель.Наименование Подобно "%Генподряд%" 3) Хотя через параметр сеанса наверное правильнее будет) | |||
| 13
    
        Dionis Sergeevich 05.06.14✎ 18:02 | 
        (0) одной номенклатурой не отделаешься. Придется на документы тоже писать РЛС - иначе <Объект не найден>. И вообще типовой РЛС по номенклатуре есть - с типовым не работал но возможно он поможе тебе     | |||
| 14
    
        Vade_kirza 05.06.14✎ 18:05 | 
        (12) Через подобно тоже пустота, в папке номенклатура имеется, буду пробовать через параметры сеанса, но пока не могу найти нужную процедуру     | |||
| 15
    
        Vade_kirza 05.06.14✎ 18:06 | 
        (13) А где его найти?     | |||
| 16
    
        Vade_kirza 05.06.14✎ 18:08 | 
        (8) ГДЕ ИСТИНА выдает синтаксическую ошибку     | |||
| 17
    
        Dionis Sergeevich 05.06.14✎ 18:09 | 
        константы - настройка параметров доступа на уровне записей - там включаешь, выбираешь Номенклатура. Ну и погугли где-нибудь манульчик - в регистрике видимо НАстройки прав доступа пользователей - добавляешь свою группу(папочку номенклатуры), добавляешь группу пользователей, ставишь наследование прав.     | |||
| 18
    
        Dionis Sergeevich 05.06.14✎ 18:12 | 
        (16) делай через шаблон - #ТекущаяТаблица как ТекущаяТаблица ГДЕ ИСТИНА     | |||
| 19
    
        Dionis Sergeevich 05.06.14✎ 18:12 | 
        * ТекущаяТаблица ИЗ #ТекущаяТаблица как ТекущаяТаблица ГДЕ ИСТИНА     | |||
| 20
    
        Vade_kirza 05.06.14✎ 18:16 | 
        (19) ТекущаяТаблица ИЗ #ТекущаяТаблица как ТекущаяТаблица ГДЕ ИСТИНА Номенклатура.Родитель = "Работы Генподряд" так? если да, то ругается, если нет, то туплю ))     | |||
| 21
    
        Dionis Sergeevich 05.06.14✎ 18:21 | 
        пробуй типовой!     | |||
| 22
    
        Klesk666 05.06.14✎ 18:58 | 
        может сделать "Работы Генподряд" предопределенным?     | |||
| 23
    
        rphosts 05.06.14✎ 19:03 | 
        (0) Если не можешь сделать свой генподряд предопределённым элементом, то делай по такой схеме:
 1.где-то хранишь требуемое значение (константа, спец. РС и т.д.). 2.Создаёшь параметрСеанса, ну пусть ОтборДляРЛС требуемого типа и прочитываешь в него то самое сохранённое значение. 3.В Запросе шаблона РЛС обращаешся к этому Параметру сеанса так: &ОтборДляРЛС, например: ГДЕ Ноенклатура.Родитель = &ОтборДляРЛС | |||
| 24
    
        Dionis Sergeevich 05.06.14✎ 23:46 | 
        (23) тогда в РС ЗначенияСвойствОбъектов - чтобы без доработок 
 (0) и да, а вдруг у тебя внутри группы будут еще группы))) | |||
| 25
    
        rphosts 06.06.14✎ 03:36 | 
        (24) тогда запрос в рлс будет немного сложнее и немного медленнее... пусть уж сделает по этой схеме, а потом при желании оптимизирует хоть до посинения     | |||
| 26
    
        senior 06.06.14✎ 08:50 | 
        (0) типовая конфа? в упп этот функционал идет из коробки     | |||
| 27
    
        vhl 06.06.14✎ 09:22 | 
        Тупо сделай предопределенным и вот так:
 ГДЕ Номенклатура.Родитель = ЗНАЧЕНИЕ(Справочник.Номенклатура.РаботыГенподряд) | |||
| 28
    
        Franchiser 06.06.14✎ 10:35 | 
        (20) ТекущаяТаблица ИЗ #ТекущаяТаблица как ТекущаяТаблица ГДЕ ИСТИНА
 или ТекущаяТаблица ИЗ #ТекущаяТаблица как ТекущаяТаблица ГДЕ ТекущаяТаблица.Номенклатура.Родитель.Наименование Подобно "%Генподряд%" | |||
| 29
    
        Franchiser 06.06.14✎ 10:43 | 
        Какие роли сейчас у пользователя доступны? и как ты настроил доступ по ролям?     | |||
| 30
    
        Vade_kirza 06.06.14✎ 11:34 | 
        (29) Базовые + Моя
 (23) Сделал через параметр сеанса, и выходит какая-то магия :) создал параметр сеанса ОгрНомен, в процедуре прописал : Группа = Справочники.Номенклатура.НайтиПоНаименованию("Работы Генподряд"); ИменаПараметровСеанса.Найти("ОгрНомен"); ПараметрыСеанса.ОгрНомен = Группа.Ссылка; В отладке смотрю, все находит правильно. Дальше начинаются какие-то непонятные вещи: ставлю ограничение на чтение, добавление ГДЕ Родитель <> &ОгрНомен Результат получается : показывает все папки, НО в папке Работы Генподряда нету ничего и создать не дает, в остальных все в порядке, видит, записывает. Ставлю наоборот ГДЕ Родитель = &ОгрНомен и он перестает показывать вообще все. Ок ставлю ГДЕ Ссылка В &ОгрНомен, он наконец начинает показывать мне только одну, нужную мне папку, но в ней пусто и создать не дает. Я запутался в конец)) где я что упустил?) | |||
| 31
    
        Vade_kirza 06.06.14✎ 11:36 | 
        ПараметрыСеанса.ОгрНомен = Группа; тоже пробовал, результат тот же     | |||
| 32
    
        Dionis Sergeevich 06.06.14✎ 11:36 | 
        (30) читай (17) ибо судя по (20) не затащишь ты     | |||
| 33
    
        Vade_kirza 06.06.14✎ 11:38 | 
        (32) Главное не сдаваться! :)     | |||
| 34
    
        rphosts 06.06.14✎ 11:41 | 
        (33) +1     | |||
| 35
    
        Vade_kirza 06.06.14✎ 11:45 | 
        Главное не понимаю почему он выдает мне все наоборот при <> а при = вообще ничего?     | |||
| 36
    
        Vade_kirza 06.06.14✎ 11:45 | 
        Больше всего на правду похож вариант с ГДЕ Ссылка В &ОгрНомен, но в этом варианте он показывает только мою группу, а номенклатуру в ней нет     | |||
| 37
    
        rphosts 06.06.14✎ 11:47 | 
        (36) если могут быть вложеные папки, то
 ГДЕ Ссылка В ИЕРАРХИИ &ОгрНомен | |||
| 38
    
        Dionis Sergeevich 06.06.14✎ 11:48 | 
        (36) ты свой шаблон засунь себе в консоль запросов. И пробуй тогда, раз не сдаешься. В виде "выбрать * ИЗ Справочник.Номенклатура как ТекущаяТаблица ГДЕ..."     | |||
| 39
    
        Dionis Sergeevich 06.06.14✎ 11:48 | 
        (36) где ссылка.Родитель в ...     | |||
| 40
    
        Vade_kirza 06.06.14✎ 11:51 | 
        (37) Вложенных нет     | |||
| 41
    
        Franchiser 06.06.14✎ 12:11 | 
        добавь еще где Родитель  - пустаяссылка     | |||
| 42
    
        Vade_kirza 06.06.14✎ 14:06 | 
        (41) Спасибо!Вы оказались правы. Вначале не понял зачем, а потом как начал уже искать причины такого поведения системы, дошел мозгами до того же, что вы написали))) зато не тупо сделал и забыл, а разобрался и теперь уж не забуду)). Пустоту он все это время выводил из-за того, что у самой папки родитель не равен самому себе и он скрывает папку, и соответственно и номенклатуру внутри, всем спасибо за помощь!     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |