|
25.08.2006, 11:32 | #1 |
Участник
|
Как из кода присвоить значение полю с типом TableFilter?
__________________
Должен остаться только один. |
|
25.08.2006, 12:06 | #2 |
Участник
|
Оказывается значение полю присваивается так:
EVALUATE("Security Filter",'G/L Account: Но.= 60.2');
__________________
Должен остаться только один. |
|
25.08.2006, 12:11 | #3 |
Участник
|
А можно вопрос - как вы этот тип поля используете?
А то информация про него в хелпе крайне скудная, и, кажется, все, читавшие ваш вопрос, почесав в затылке, пошли дальше... |
|
25.08.2006, 12:23 | #4 |
Участник
|
Нужно сделать так, чтобы пользователи видели только своих клиентов или свои фин счета.
Для этого нужно установить свойство "Security Filter" в таблице permission из кода (не руками же создавать каждому клиенту по роле и для счета то же самое), потом эта куча навиженовских ролей объеденяется в мета роль..которая и назначается пользователю. Короче ни SETFILTER, ни прямое присвоение того, что могло бы там быть, когда руками в окошечке назначаем, не прокатывало.
__________________
Должен остаться только один. |
|
25.08.2006, 12:53 | #5 |
Участник
|
А, тогда ясно.
Похоже, этот тип поля придуман, чтобы быть использованным ровно в одном месте в системе Вот интересно, можно его хоть для чего-то еще применить? |
|
15.05.2007, 15:39 | #6 |
Участник
|
Всем привет.
Кто нить пытался расшифровать блоб "Security Filter"? Если у кого это получилось, то поделитесь информацией, пожалуйста! |
|
15.05.2007, 21:35 | #7 |
Участник
|
"Security Filter" в таблице Permission не типа Blob.
Формат тоже вроде простой - перечисление фильтров на таблицу.
__________________
Должен остаться только один. |
|
16.05.2007, 10:16 | #8 |
Участник
|
Если честно, то немного не понял момент использования. Когда я могу устанавливать значение в этом поле так, чтобы для КАЖДОГО пользователя было видно свое...
|
|
16.05.2007, 10:29 | #9 |
Участник
|
Собственно когда угодно Можно руками можно кодом
Фильтр строк устанавливается на табличку прописанной в определенной роли. И пользователи, у которых есть данная роль, будут иметь доступ только к записям данной таблице, ограниенные установленным фильтром. В результате каждый пользователь видит свой набор записей.
__________________
Должен остаться только один. |
|
16.05.2007, 12:14 | #10 |
Участник
|
Цитата:
Сообщение от NeNavision
Собственно когда угодно Можно руками можно кодом
Фильтр строк устанавливается на табличку прописанной в определенной роли. И пользователи, у которых есть данная роль, будут иметь доступ только к записям данной таблице, ограниенные установленным фильтром. В результате каждый пользователь видит свой набор записей. |
|
16.05.2007, 18:24 | #11 |
Участник
|
Пример: одна роль с "Security Filter" дает работать с одним клиентом, другая роль дает работать с другим клиентом. Даем обе роли пользователю и он видит обоих клиентов. "Security Filter" это всего лишь дополнительный фильтр на данные таблицы, доступ к которой мы дали в настраиваемой роли. Обычный механизм ролей.
Я его динамически менял только во время настройки. Т.е. был написан свой механизм настройки ролей для пользователей, в котором использовалось это поле (таблица "Permission"). А в общем тогда ничего не получилось, ибо длина суммарного фильтра получаемого из несколько ролей с наложенными "Security Filter" по одному полю имеют ограничение 250символов, что убило задумку накорню.
__________________
Должен остаться только один. |
|
13.06.2007, 21:48 | #12 |
Участник
|
Самое ужасное, что в пятерке тоже самое... Приходится реализовывать казалось бы простое требование простынями лишнего кода
|
|
17.05.2007, 12:35 | #13 |
Участник
|
Ну раз простой, тогда:
Location: Транзитный Склад=Да Use As In-Transit=Yes 0x0E0000000D0000005C1600000085820401 5 байт - Длина 9,10 - Field No. Use As In-Transit последний 01 - Yes а вот предпоследние 3 байта (858204) это что? |
|
18.05.2007, 10:35 | #14 |
Участник
|
Из кода навижена фильтр по человечески задается.
EVALUATE("Security Filter",'G/L Account: Но.= 60.2'); также по человечески считывается str := FORMAT(permission."Security Filter"); (str = 'G/L Account: Но.= 60.2' ) т.е. все в текстовом виде. Откуда вы эти закорючки достали? (конечно, на SQL Server это все в binary хранится, но зачем в этом копаться?)
__________________
Должен остаться только один. |
|