Имя: Пароль:
1C
1С v8
родительверхнегоуровня не помогает корректно установить отбор
0 sagartem
 
27.10.15
09:14
Добрый день!
в форме списка справочника, содержащей на себе дин список поместил след код для обеспечения ограничения работы с запретными папками:


&НаКлиенте
Процедура ПриОткрытии(Отказ)
    Если не ПДО_СерверПовтИсп.РольДоступнаПолныеПрава() Тогда
        РодительВерхнегоУровня = ПДО_Сервер.ПолучитьЗначениеПеременнойНаКлиенте("ПапкаНовыйПорядокСпецификации");
        Если ЗначениеЗаполнено(РодительВерхнегоУровня) И Не ЗначениеЗаполнено(Элементы.Список.РодительВерхнегоУровня) Тогда
                Элементы.Список.РодительВерхнегоУровня    = РодительВерхнегоУровня;
                Элементы.Список.ТекущийРодитель            = РодительВерхнегоУровня;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры
1 sagartem
 
27.10.15
09:14
проблема в том, что:
2 sagartem
 
27.10.15
09:15
юзер все равно может обойти отборы если будет сам играться с отборами динам списка или будет просто искать по какому-нибудь полю в таблице
3 sagartem
 
27.10.15
09:16
вторая проблема: что часто можно напороться на ошибку платформы - если например просто переключаться между видами отображения списка
4 sagartem
 
27.10.15
09:18
пробовал сделать альтернативный вариант через программные отборы. но этот вариант плох тем, что возникает задержка по времени - до 2 секунд при скроллинге. при первом варианте (через  родительверхнегоуровня) такой проблемы нет.
5 patria0muerte
 
27.10.15
09:30
РЛС должен спасти. Правда по быстродействию - не факт что быстрее станет.
6 sagartem
 
27.10.15
09:33
(5) рлс не умеет в иерархии
7 patria0muerte
 
27.10.15
09:37
(6) Хм, кстати да. Вроде там как-то можно, но сильно надо извернуться.

А если произвольный запрос в Дин.Список подсунуть и параметром передать запрещенные папки? Запрос то в иерехию может.
8 sagartem
 
27.10.15
09:42
(7) То есть типа перейти от прогарммных отборов к отбору на уровне произвольного запроса? Делал уже так. По скорости так же.