Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Вопрос по RLS или как еще сделать доступ к отдельным реквизитам (http://forums.kuban.ru/f1040/vopros_po_rls_ili_kak_eshe_sdelat-_dostup_k_otdel-nym_rekvizitam-2763625.html)

VDV1 26.06.2012 15:32

Вопрос по RLS или как еще сделать доступ к отдельным реквизитам
 
В базе УТ отдельным пользователям нужно запретить использование (просмотр тоже) любого типа цен , кроме назначенного для него "ОсновнойТипЦенПродажи". Также стоит ограничение на отпуск товара если цена меньше заданой "Оптовой цены". Это ограничение отслеживается в модуле УправлениеДопПравамиПользователей и отдельно работает нормально. Для ограничения использования только типа цен "ОсновнойТипЦенПродажи" в правах , в ограничение доступа к данным на чтение выбрал поля "Ссылка, ПроцентСкидкиНаценки, ЦенаВключаетНДС", в Ограничение доступа написал:

ТипыЦенНоменклатуры ГДЕ ТипыЦенНоменклатуры.Ссылка В
(ВЫБРАТЬ
НастройкиПользователей.Значение КАК Значение
ИЗ
РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
ГДЕ
НастройкиПользователей.Пользователь = &ТекущийПользователь
И НастройкиПользователей.Настройка = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НастройкиПользователей.ОсновнойТипЦенПродажи))

Что получилось: ограничение отрабатывает нормально (нигде ничего , кроме установленного типа цен не показывает), но при проведении документа срабатывает ограничение и на доступ к значению реквизитов "Оптовой цены". Соответственно вываливается ошибка "У пользователя недостаточно прав на исполнение операции над базой данных" и проведение останавливается.
Как правильно права написать для корректного проведения документа?

GreenDragon 26.06.2012 15:38

Может просто стоит поставить галочку "Не разрешать отпускать ниже плановой цены"?

GreenDragon 26.06.2012 15:40

Могу скинуть мои старючие наработки. Они ужасны, ибо творились несколько лет назад, когда я только нормально окунулся в "бездну программинга". Там всё достаточно прозаично. Единственное - нужно в конфе кое что дописать, но это понятно из самих обработок.

angro 26.06.2012 15:47

сделай функцию а привилегированном модуле и получай значение там

VDV1 26.06.2012 15:47

Я нашел только "Не отпускать товар с ценой ниже определенного типа", и это не галка, а четко указаный тип цен "Оптовя цена". И по порогу этой цены ограничение работает, но нужно еще запрет на использование (просмотр) везде всех тип цен кроме "ОсновнойТипЦенПродажи" = розничная цена. при наложении этого ограничения -документ реализации не проводится

VDV1 26.06.2012 16:01

(3) сейчас в коде нашел строки

Процедура ПроверитьДопустимостьЦенОтпуска(ДокументОбъект, ИмяТабличнойЧасти, Отказ) Экспорт

#Если Сервер Тогда //мв

УстановитьПривилегированныйРежим (Истина) ; //мв чтобы получить доступ продавцам к закупочным ценам. запрещенным.
// режим отключится сам при выходе из функции
// Сообщить("На сервере");
#КонецЕсли

Что то не срабатывает привилегированном режим


Текущее время: 02:05. Часовой пояс GMT +3.