8.х Ограничить право на формирование документов

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем avangarddv, 22 апр 2014.

  1. TopicStarter Overlay
    avangarddv
    Offline

    avangarddv

    Регистрация:
    22 апр 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Добрый день, форумчане!

    С программой 1С, сильно незнаком, поэтому просьба сильно не ругать.

    Есть менеджер, которому необходимо ограничить права по формированию документов. Т.е. во вкладке - Денежные средства -> поступление в кассу -> И там есть выбор Касс. Так вот необходимо, что бы этот менеджер видел не все кассы. Или при выборе другой кассы - выдавалось сообщение о невозможности формирования документов. Без разницы..

    Я так понимаю что весь выбор этих касс - происходит в справочнике, в разделе - Предопределенные (где и формируем этот список). Доступные роли у менеджера - Базовые права, полн. права, пользователь, менеджер с ограничениями. Как лучше сделать все это? Например создать новую роль - и присвоить этому менеджеру, но опять же не понимаю как ограничить этот выпадающий список Касс. Или например программно, запросом типо:

    Если Не РольДоступна("Менеджер") Тогда Сообщить("Просмотр документов не разрешен!");
    КонецЕсли;

    Если так, то это делается в модуле менеджера или объекта? И где именно в справочниках или документах?

    Версия: 1С:Предприятие 8.2 (8.2.19.83), Управление небольшой фирмой.

    Гуру, подскажите пожалуйста.
    1.JPG
  2. TopicStarter Overlay
    avangarddv
    Offline

    avangarddv

    Регистрация:
    22 апр 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    В справочниках Кассы - оказывается нет предопределенных объектов. Сами эти кассы выбора нашел в Администрирование -> Настройка параметров учета -> Просмотр и редактирование Касс. Там общий список выводимых Касс. Вопрос по ограничению актуален...
  3. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Курите RLS. Если сами не знаете что это такое - зовите спеца.
  4. Persempre
    Offline

    Persempre Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    851
    Симпатии:
    3
    Баллы:
    29
    "С программой 1С, сильно незнаком, поэтому просьба сильно не ругать" ©
    Я стоматологом не работал, но решил тут заняться частной практикой - автор - приходите я вам зубки полечу
  5. TopicStarter Overlay
    avangarddv
    Offline

    avangarddv

    Регистрация:
    22 апр 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Может как то проще можно решить задачу, не используя Record Level Security
  6. Persempre
    Offline

    Persempre Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    851
    Симпатии:
    3
    Баллы:
    29
    Вариантов тьма. Не только РЛС, но все они подразумевают знание 1С со стороны программирования. Моё предложение в силе ))))
  7. TopicStarter Overlay
    avangarddv
    Offline

    avangarddv

    Регистрация:
    22 апр 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Уважаемый, оставьте свое предложение при себе. Работаю php программистом, с 1С - кой, заморочки не часто, но случаются. Если Вы такой умный, предложите хотя бы один нормальный вариант и разложите его по пальцам. Советы такие давать не стоит
  8. Persempre
    Offline

    Persempre Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    851
    Симпатии:
    3
    Баллы:
    29
    Принципиально нет. Если бы вы были программистом 1С, у которого что-то не получается другой вопрос. а так отнимать хлеб у коллег-фрилансеров не буду. И где же я сказал что я умный? Напротив, очень даже нет ))
  9. TopicStarter Overlay
    avangarddv
    Offline

    avangarddv

    Регистрация:
    22 апр 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Тогда какой смысл Вам что то отвечать, и тем более если бы был программистом 1С? В заголовке - я специально написал - Гуру, подскажите пожалуйста. Если Вы себя к таким не относите, просьба лесом.. Спасибо.
  10. Persempre
    Offline

    Persempre Опытный в 1С

    Регистрация:
    18 июл 2012
    Сообщения:
    851
    Симпатии:
    3
    Баллы:
    29
    Ну мне вообще-то на то что вы написали лесом-полем... Удачи в поиске специалиста
  11. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Давайте фалометрией тут заниматься не будем :) Все в чем-то мастера своего дела.
    Уважаемый ТС, я вам подсказал идеальное решение, которое спасет вас многих бед, но это ладно, лирика.
    Как вариант - можно программно скрывать кассы, при выборе, но это не исправит ситуацию с доступом к ней. Если пользователь достаточно умный, то может запросто обойти это решение (т.к. вы знакомы с кодингом, то поймете меня).
  12. TopicStarter Overlay
    avangarddv
    Offline

    avangarddv

    Регистрация:
    22 апр 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Что вы имеете ввиду под словом программно? Например: написать условие в модуле менеджера документа Кассы, или что то ограничить в самой 1С, не понял.
    Вопрос о правильности решения - без разницы, что называется :)

    P.S. и я так понимаю, можно сделать следующее: зайти Документы -> Кассы -> Раздел права -> Ограничения доступа к данным. И скажем через конструктор запроса что сделать, но таким образом мы поставим условие или сделаем выборку на поступление в кассу. Но не как не ограничим тот самый выбор касс... не в ту степь походу уже полез
    Последнее редактирование: 22 апр 2014
  13. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Программно ??? При открытии формы выбора справочника кассы, заполнять ее самостоятельно, т.е. наложить отбор. А вот по какому критерию вы отбирать будете, это уже у вас голова должна болеть.
  14. TopicStarter Overlay
    avangarddv
    Offline

    avangarddv

    Регистрация:
    22 апр 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Что то тривиальное сделал..
    а именно, создал Роль - Все кассы.
    В модуле - Формы списка сделал условие:
    Код:
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
        Если Не РольВсеКассы() Тогда
            ОтборКасса=ПолучитьКассаМосква();
            ОтборКассаПриИзменении(неопределено);
            Элементы.ОтборКасса.Доступность=Ложь;
        КонецЕсли;  
    КонецПроцедуры
    
    &НаСервере
    Функция РольВсеКассы()
        Возврат РольДоступна("ВсеКассы");
    конецФункции  
    
    &НаСервере
    Функция ПолучитьКассаМосква()
        Возврат    Справочники.Кассы.НайтиПоНаименованию("Касса Москва");
    КонецФункции    
    Теперь соответственно, если данная роль не включена у пользователя, формируется список по Касса Москва. Иначе доступен выбор Касс.

    Однако вопрос, как все же дать выбор из определенных Касс, т.е. ограничить выбор? Всего необходимых касс - две.
  15. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    В форме выбора делать отбор, и "подтасовывать" результат.
  16. TopicStarter Overlay
    avangarddv
    Offline

    avangarddv

    Регистрация:
    22 апр 2014
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Все еще не понимаю Вас, можно какой либо пример?

    Сейчас мой код на доступность Роли расположен в форме списка. И соответственно сам выпадающий список Касс недоступен.
    Код:
    Элементы.ОтборКасса.Доступность=Ложь;
    Теперь, вопрос про Форму Выбора - Каким образом будет что то подставляться, если сама форма выбора - недоступна, по условию? Что то вообще не понял..
  17. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Сложно вам объяснить, тут знания нужны. Мне кажется что лучше всего (да и проще) использовать RLS.

Поделиться этой страницей