Пишу простенькую пакетную обработку. Имеется список документов. Выделяем, нажимаем кнопку обработки и.. дальше в принципе неважно, потому как важен сам процесс выделения.
1. можно выделить мышкой несколько строк
2. можно отфильтровать по какому-нибудь полю и дальше ctrl+A.
на кнопке обработке висит код:
Код:
CurrForm.SETSELECTIONFILTER(Rec);
IF FIND('-') THEN
IF MARK THEN REPEAT
//обработка строк
UNTIL NEXT=0;
И тут незадача - при первом способе выделенные записи обрабатываются, а при втором - нет?
Исходя из хелпа по функции SETSELECTIONFILTER (Form) следует, что после выполнения строчки CurrForm.SETSELECTIONFILTER(Rec) в таблице должны остаться только помеченные записи.
В комментариях к данной функции написано:
Цитата:
Comments
If either all or no records are selected, marks will not be used.
, т.е. если я правильно поняла, то, если выбраны все записи или не выбрано ни одной, то не будет промаркирована ни одна запись.
Тогда становится понятно, почему не обрабатывается второй способ, НО.. если при втором способе мы выделим все поля используя не Ctrl+A, а выделим все записи мышкой, то записи обрабатываются.
Вообщем, я запуталась в 3-х соснах..Товарищи, хелп ми!!!