Можно написать:
Код:
REC.SETRANGE(Field1, 'value1');
REC.SETRANGE(Field2, 'value2');
Если REC будет отображен в форму, то эти фильтры пользователь может легко снять по shift+ctrl+F7
А можно написать:
Код:
REC.FILTERGROUP(2);
REC.SETRANGE(Field1, 'value1');
REC.SETRANGE(Field2, 'value2');
REC.FILTERGROUP(0);
И этот фильтр в форме пользователь уже никак не сбросит. Его можно будет снять только программно.
По умолчанию работа ведется в группе 0 и все фильтры накладываются в ней. Чтобы наложить жесткие фильтры, заходим сначала в группу 2, накладываем фильтры, потом назад в группу 0.
Если написать так:
Код:
REC.FILTERGROUP(2);
REC.SETRANGE(Field1, 'value1');
REC.FILTERGROUP(0);
REC.SETRANGE(Field2, 'value2');
то, нажав на кнопку сброса фильтров, фильтр с поля Field2 сбросится, а с Field1 - нет. При этом можно дополнительно будет накладывать фильтр на Field1 - он не будет перекрывать фильтр в группе 2. Фильтры, наложенные в группе 2, вообще не видны пользователю (по соответствующим кнопкам не видно, что они наложены).
Извиняюсь за может быть не совсем удачные формулировки