Вопрос по RLS или как еще сделать доступ к отдельным реквизитам В базе УТ отдельным пользователям нужно запретить использование (просмотр тоже) любого типа цен , кроме назначенного для него "ОсновнойТипЦенПродажи". Также стоит ограничение на отпуск товара если цена меньше заданой "Оптовой цены". Это ограничение отслеживается в модуле УправлениеДопПравамиПользователей и отдельно работает нормально. Для ограничения использования только типа цен "ОсновнойТипЦенПродажи" в правах , в ограничение доступа к данным на чтение выбрал поля "Ссылка, ПроцентСкидкиНаценки, ЦенаВключаетНДС", в Ограничение доступа написал: ТипыЦенНоменклатуры ГДЕ ТипыЦенНоменклатуры.Ссылка В (ВЫБРАТЬ НастройкиПользователей.Значение КАК Значение ИЗ РегистрСведений.НастройкиПользователей КАК НастройкиПользователей ГДЕ НастройкиПользователей.Пользователь = &ТекущийПользователь И НастройкиПользователей.Настройка = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НастройкиПользователей.ОсновнойТипЦенПродажи)) Что получилось: ограничение отрабатывает нормально (нигде ничего , кроме установленного типа цен не показывает), но при проведении документа срабатывает ограничение и на доступ к значению реквизитов "Оптовой цены". Соответственно вываливается ошибка "У пользователя недостаточно прав на исполнение операции над базой данных" и проведение останавливается. Как правильно права написать для корректного проведения документа? |
Может просто стоит поставить галочку "Не разрешать отпускать ниже плановой цены"? |
Могу скинуть мои старючие наработки. Они ужасны, ибо творились несколько лет назад, когда я только нормально окунулся в "бездну программинга". Там всё достаточно прозаично. Единственное - нужно в конфе кое что дописать, но это понятно из самих обработок. |
сделай функцию а привилегированном модуле и получай значение там |
Я нашел только "Не отпускать товар с ценой ниже определенного типа", и это не галка, а четко указаный тип цен "Оптовя цена". И по порогу этой цены ограничение работает, но нужно еще запрет на использование (просмотр) везде всех тип цен кроме "ОсновнойТипЦенПродажи" = розничная цена. при наложении этого ограничения -документ реализации не проводится |
(3) сейчас в коде нашел строки Процедура ПроверитьДопустимостьЦенОтпуска(ДокументОбъект, ИмяТабличнойЧасти, Отказ) Экспорт #Если Сервер Тогда //мв УстановитьПривилегированныйРежим (Истина) ; //мв чтобы получить доступ продавцам к закупочным ценам. запрещенным. // режим отключится сам при выходе из функции // Сообщить("На сервере"); #КонецЕсли Что то не срабатывает привилегированном режим |
Текущее время: 02:05. Часовой пояс GMT +3. |