31.01.2007, 11:42 | #1 |
Участник
|
Не работат следующий момент при открытии форма
OnOpenForm() IF GETFILTER("Customer No.")<>'' THEN BEGIN FILTERGROUP(4); // FILTERGROUP(2); SETFILTER("Customer No.", "Customer No."); FILTERGROUP(0); END; Цель. Чтобы пользователь не смог нажать на кнопку "Показать Все" и посмотреть данные по всем "Customer No." HELP плз.... Форма вызывается FORM.RUN(0,Rec), где на Rec установлен SETFILTER на "Customer No." |
|
31.01.2007, 12:05 | #2 |
Участник
|
Общее правило для форм:
rec.FILTERGROUP(2); rec.SETRANGE(Field, FieldNo); rec.FILTERGROUP(0); FORM.RUN(FormNo,Rec) где rec - переменная типа record Field - поле переменной типа record FieldNo - значение поля FormNo - номер формы. А совсем хорошо, нажать F1 и посмотреть что написано на FILTERGROUP |
|
31.01.2007, 12:09 | #3 |
Участник
|
|
|
31.01.2007, 14:01 | #4 |
Участник
|
спасибо. получилось.
|
|
31.01.2007, 16:28 | #5 |
Участник
|
а есть ли возможность таким же способом ограничить просмотр записей помеченных, MARK(TRUE)?
типа: FILTERGROUP(2); MARKEDONLY(TRUE); FILTERGROUP(0); |
|
31.01.2007, 16:57 | #6 |
Участник
|
насколько я знаю, с помощью FILTERGROUP этого не сделать
зато можно отключить соответствующий пункт в меню с помощью настройки прав пользователя |
|
31.01.2007, 17:13 | #7 |
Участник
|
нет. я имел ввиду другое. на форме програмно установлен фильтр Отмеченные=Да. но пользователь нажимает "показать все записи"(Shift+Ctrl+F7) и видит то, что ему неположено видеть..... просто в версии 3.6 отвратительно работает Доступ Фильтр (в правах доступа) к записям. приходится ограничивать записи на формах.... неблагодарное занятие, но деваться некуда. Данная проблема уже поднималась ранее на форуме....сказали, ничего сделать нельзя-> Выход один-переходить на 4-ку, или ограничения на формах... этим и занимаюсь......
|
|
31.01.2007, 17:31 | #8 |
Участник
|
можно переписать триггеры OnFindRecord, OnWhichRecord
поищите, на форуме это обсуждалось |
|