8.х Права доступа

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

  1. TopicStarter Overlay
    atm779
    Offline

    atm779 Опытный в 1С

    Регистрация:
    19 авг 2009
    Сообщения:
    133
    Симпатии:
    0
    Баллы:
    26
    "Управление торговлей", редакция 10.3 (10.3.8.9)

    У нас в Типах Цен Номенклатуры есть 3 цены: Оптовая, Розничная и Сибестоимость.

    Хочется, сделать 2 пользователей: Админ и Манагер. Разнице между которыми будет в том, что Админ видит и может оперировать со всеми 3 типами цен, а Манагер видит только типы Оптовая и Розничная.

    Возможно ли реализовать это стандартными средсвами? Каким образом?

    Каким в образом в ролях можно задать правило, например такое,

    Код:
    Если УстановкаЦенНоменклатуры.ТипыЦен=="Сибестоимость" Тогда 
    НеПоказыватьВСписке();
    КонецЕсли
    
  2. x_under
    Offline

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

    Регистрация:
    25 апр 2007
    Сообщения:
    2.576
    Симпатии:
    13
    Баллы:
    29
    Абсолютно бесмысленное условие. А партии и доступ к ним вас не смущает? Цены вообще вещь достаточно условная и не обязательная.
  3. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    вы не хотите, что манагер не продавал по себестоимости или не знал закупочные цены?
  4. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Все просто как оче нашь
    Посмотреть вложение 3232 Посмотреть вложение 3233
    Посмотреть вложение 3234 Посмотреть вложение 3235
    Главное не забудьте, нужно ограничить все роли пользоватей для которых просмотр данных не возможен, в данном случае ограничение стоит по наименованию типа цен, можете сделать ограничение по коду, или другим признакам.
    Если у какой-нибудь из ролей доступ открыт, значит доступ будет открыт для просмотра и работы с данными.
    ЗЫ: Не забывайте о наличии роли "пользователь" :unsure:
    Удачи!

    Вложения:

    • 27.01.png
      27.01.png
      Размер файла:
      29 КБ
      Просмотров:
      978
    • 27.02.png
      27.02.png
      Размер файла:
      40,1 КБ
      Просмотров:
      1.213
    • 27.03.png
      27.03.png
      Размер файла:
      44,9 КБ
      Просмотров:
      1.174
    • 27.04.png
      27.04.png
      Размер файла:
      34,5 КБ
      Просмотров:
      1.157
  5. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    мдя...судя по скринам, кто-нибудь поменяет "ОПТОВАЯ" на скажем "ОПТОВАЯ " и "падет железный занавес" :)

    Как-нить "по-жестче" ограничение ставить надо.....
  6. gosn1ck
    Offline

    gosn1ck Опытный в 1С

    Регистрация:
    13 авг 2009
    Сообщения:
    1.329
    Симпатии:
    1
    Баллы:
    26
    предложите свой вариант :)
  7. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.580
    Симпатии:
    717
    Баллы:
    204
    а нет его :)
    Я понимаю, что надо делать ограничение доступа на изменение ТиповЦен, но это я заранее про "подводные камни" завел речь :)
  8. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Читайте пожалуйста внимательно прежде чем что - либо писать.
  9. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Это не совсем хорошее решение, ибо открываем документ, который завел пользователь. у которого есть права и получаем "объект не найден <..>"

    Далее, на чтение ставить опасно - ибо в конфе может проверятся это значение, например, в момент котроля отпускных цен (не ниже такой-то) - получим ошибку.

    Ну и далее по списку...
  10. TopicStarter Overlay
    atm779
    Offline

    atm779 Опытный в 1С

    Регистрация:
    19 авг 2009
    Сообщения:
    133
    Симпатии:
    0
    Баллы:
    26
    Спасибо. Помогло))
  11. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Я с Вами полностью согласен, тут есть одно но, если используют конструкцию "ВЫБРАТЬ РАЗРЕШЕННЫЕ" то расчет по этим ценам не возможен, как следствие нежелательно чтобы это была базовая цена, но никто не запрещает создавать данную конструкцию для динамических цен. Вообще ошибок не будет, но в ряде случаев не будет просто цен рассчитываемых на основании этой (если цена базовая), так что цены для пользователя(продажную) нужно будет вводить вручную, или написать обработку для формирования расчётный цен под полными правами по процентной наценке на базовый.
  12. GaikA_13rus
    Offline

    GaikA_13rus

    Регистрация:
    25 июн 2012
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1

    А можно поподробнее в этом моменте... Как именно это сделать???
  13. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Ого! Вспомнили :)
    Уточните, что конкретно не понятно, если есть ошибка, то какая.
    Что касательно моего поста, то все просто. Если есть данные которые должны рассчитываться на основании других данных, а доступ на чтение первичных данных закрыт, то в лучшем случае мы просто не получим результата. Например: Если розничная цена является динамической и зависит от базовой цены "Закупочная" которая закрыта на чтение пользователю, то при пересчете динамической цены программа выдаст ошибку. Данная схема ценообразования реализована в ПП оперативного учета, я просто показал как можно запретить показывать какую-либо цену "рядовым" пользователям. Однако система не универсальна и не является идеальным решением, но это единственный выход для таких программ как УТ 10.3
  14. GaikA_13rus
    Offline

    GaikA_13rus

    Регистрация:
    25 июн 2012
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Проблема вот в чем: В отчете по задолженностям выходит <Объект не найден>. Как сделать чтобы данные объекты совсем не показывала программа?
  15. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    В запросе отчета нужно прописать
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ"
    Слово РАЗРЕШЕННЫЕ исключит данные к которым нет доступа, однако стоит учитывать что это может исказить корректность данных отчета, ибо некоторые записи, к которым нет доступа, программа просто исключит из итога и результат будет другой. При ограничении пользователей будьте внимательны, нужно четко понимать к каким данным пользователю доступ не нужен, а к каким нужен. Если Вы не ограничивали доступ пользователю, но программа все равно выводит данные ошметки, то возможно у Вас нарушены ссылки, тогда нужно проводить "Тестирование и исправление" базы
  16. GaikA_13rus
    Offline

    GaikA_13rus

    Регистрация:
    25 июн 2012
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Извиняюсь заранее. Я недавно в 1с работать начала. Запрос отчета это когда в системе работаешь или в конфигураторе где-то?
  17. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    найдите в конфигураторе запрос и добавьте то, что сказал mialord
  18. GaikA_13rus
    Offline

    GaikA_13rus

    Регистрация:
    25 июн 2012
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    уже прописано.

    Код:
    ТекстЗапроса =
    "ВЫБРАТЬ РАЗРЕШЕННЫЕ //РАЗЛИЧНЫЕ
    |    ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента КАК ДоговорКонтрагента,
    |    ВзаиморасчетыСКонтрагентамиОстатки.Контрагент КАК Контрагент,
    |    ВзаиморасчетыСКонтрагентамиОстатки.Организация КАК Организация,
    |    ВзаиморасчетыСКонтрагентамиОстатки.Сделка КАК Сделка,
    |    ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов КАК ВалютаВзаиморасчетов,
    |    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента),
    |    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.Контрагент),
    |    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.Организация),
    |    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.Сделка),
    |    ПРЕДСТАВЛЕНИЕ(ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.ВалютаВзаиморасчетов) КАК ВалютаВзаиморасчетовПредставление,
    |    ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетов,
    |    ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток КАК СуммаУпр
    |    //ПОЛЯ_СВОЙСТВА
    |    //ПОЛЯ_КАТЕГОРИИ
    |{ВЫБРАТЬ
    |    Контрагент.*,
    |    Организация.*,
    |    ДоговорКонтрагента.*,
    |    ВалютаВзаиморасчетов,
    |    Сделка.*,
    |    СуммаВзаиморасчетов,
    |    СуммаУпр
    |    //ПСЕВДОНИМЫ_СВОЙСТВА
    |    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    |}
    |ИЗ
    |    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКон, {Контрагент.* КАК Контрагент, Сделка.* КАК Сделка, ДоговорКонтрагента.* КАК ДоговорКонтрагента, Организация.* КАК Организация}) КАК ВзаиморасчетыСКонтрагентамиОстатки
    |    ВНУТРЕННЕЕ СОЕДИНЕНИЕ
    |	    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки(&ДатаКон,{Контрагент.* КАК Контрагент, Сделка.* КАК Сделка, ДоговорКонтрагента.* КАК ДоговорКонтрагента, Организация.* КАК Организация}) КАК ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа
    |		    ПО ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента = ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа.ДоговорКонтрагента
    |		    И ВзаиморасчетыСКонтрагентамиОстатки.Сделка = ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа.Сделка
    |		    И ВЫБОР
    |			    КОГДА &ПереключательЗадолженность = 1
    |				    ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа.СуммаВзаиморасчетовОстаток>0
    |			    КОГДА &ПереключательЗадолженность = 2
    |				    ТОГДА ВзаиморасчетыСКонтрагентамиОстаткиНужногоТипа.СуммаВзаиморасчетовОстаток<0
    |			    ИНАЧЕ Истина
    |		    КОНЕЦ
    |    //СОЕДИНЕНИЯ
    |{
    |ГДЕ
    |    ВзаиморасчетыСКонтрагентамиОстатки.Контрагент.* КАК Контрагент,
    |   ВзаиморасчетыСКонтрагентамиОстатки.Организация.* КАК Организация,
    |    ВзаиморасчетыСКонтрагентамиОстатки.Сделка.* КАК Сделка,
    |    ВзаиморасчетыСКонтрагентамиОстатки.ДоговорКонтрагента.* КАК ДоговорКонтрагента,
    |    ВзаиморасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток КАК СуммаВзаиморасчетов,
    |    ВзаиморасчетыСКонтрагентамиОстатки.СуммаУпрОстаток КАК СуммаУпр
    |    //УСЛОВИЯ_СВОЙСТВА
    |    //УСЛОВИЯ_КАТЕГОРИИ
    |}
    |
    |{УПОРЯДОЧИТЬ ПО
    |    Организация.*,
    |    Контрагент.*,
    |    ДоговорКонтрагента.*,
    |    ВалютаВзаиморасчетов,
    |    Сделка,
    |    СуммаВзаиморасчетов,
    |    СуммаУпр
    |    //ПСЕВДОНИМЫ_СВОЙСТВА
    |    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    |}
    |
    |ИТОГИ СУММА(СуммаВзаиморасчетов), СУММА(СуммаУпр)
    |    //ИТОГИ_СВОЙСТВА
    |    //ИТОГИ_КАТЕГОРИИ
    |    ПО ОБЩИЕ
    |{ИТОГИ ПО
    |    Организация.*,
    |    Контрагент.*,
    |    ДоговорКонтрагента.*,
    |    Сделка.*,
    |    ВалютаВзаиморасчетов
    |    //ПСЕВДОНИМЫ_СВОЙСТВА
    |    //ПСЕВДОНИМЫ_КАТЕГОРИИ
    |}
    |";
Похожие темы
  1. Дима
    Ответов:
    3
    Просмотров:
    1.152
  2. Oleg-1992
    Ответов:
    29
    Просмотров:
    827
Загрузка...

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