![]() |
#1 |
Участник
|
Подскажите, пжлст, как правильно передавать фильтр?
Имеется некая доп. таблица. На ней форма. В форме есть кнопка "Трансфер", по которой вызывается отчет (R50318), переносящий инфо их этой таблицы в две другие. В отчете на Requestform есть параметр: "Обработать строки"(TabFlt) и далее выбор - текущую строну - только маркированные строки - все строки В триггере OnPush() кнопки "Трансфер" имеем: Код: CLEAR(R50318); R50318.SETTABLEVIEW(Rec); R50318.RUNMODAL(); Код: CASE TabFlt OF TabFlt::"Текущая строка": BEGIN // тут не знаю что писать END; TabFlt::"Маркированные строки": BEGIN MARKEDONLY(TRUE); END; TabFlt::"Все строки": BEGIN RESET; END; END; //CASE и как сделать так, что если на таблицу наложен фильтр, то он бы учитывался и в отчете? П.С. пониаю, что вопрос дилетантский, но тем не менее прошу о помощи |
|
![]() |
#2 |
Administrator
|
Rec.SETRECFILTER;
CLEAR(R50318); R50318.SETTABLEVIEW(Rec); R50318.RUNMODAL(); |
|
![]() |
#3 |
Участник
|
|
|
![]() |
#4 |
Участник
|
Так возьмите другую переменную и на нее наложите фильтр по главному ключу из Рек, и уже ее передайте в отчет.
|
|
![]() |
#5 |
Участник
|
Цитата:
![]() Оставила пока так: В триггере OnPush() кнопки "Трансфер": Код: CLEAR(R50318); R50318.SETTABLEVIEW(Rec); R50318.RUNMODAL(); Код: CASE TabFlt OF TabFlt::"Маркированные строки": BEGIN MARKEDONLY(TRUE); // это отрабатывает корректно (получаю только маркированные строки) END; TabFlt::"Все строки": BEGIN // здесь ниче дополнительно не делаю, тогда обратаываются все строки, что были в форме (с учетом наложенных фильтров) END; TabFlt::"Текущая строка": BEGIN // а вот тут никак не получается добиться того, чтобы только текущая строка бралась :( END; END; //CASE Weekeeeend!!! ![]() |
|
![]() |
#6 |
Administrator
|
Код: CASE TabFlt OF TabFlt::"Маркированные строки": BEGIN MARKEDONLY(TRUE); // это отрабатывает корректно (получаю только маркированные строки) END; TabFlt::"Все строки": BEGIN // здесь ниче дополнительно не делаю, тогда обратаываются все строки, что были в форме (с учетом наложенных фильтров) END; TabFlt::"Текущая строка": BEGIN SETRECFILTER(); // а вот тут END; END; //CASE |
|
![]() |
#7 |
Участник
|
Цитата:
В итоге сдела следующее: В отчете R50318 создала процедуру: Код: EineZeile(SerNoLokal : Code[20]) SerNoGlobal := SerNoLOkal; Код: CLEAR(R50318); R50318.EineZeile(serial_number); R50318.SETTABLEVIEW(Rec); R50318.RUNMODAL(); CurrForm.UPDATE; Код: TabFlt::"Текущая строка": BEGIN SETRANGE(serial_number, SerNoGlobal); END; Ребята/девчата, всем спасибо за подсказки. ![]() ![]() |
|
![]() |
#8 |
Участник
|
а не пробовали вариант с SETSELECTIONFILTER?
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
![]() |
#9 |
Участник
|
|
|
![]() |
#10 |
Участник
|
В триггере OnPush() кнопки
Код: Rec4Report.COPY(Rec); CLEAR(R50318); R50318.SETTABLEVIEW(Rec4Report); R50318.RUNMODAL(); Код: CASE TabFlt OF TabFlt::"Текущая строка": BEGIN SETRECFILTER(); END; TabFlt::"Маркированные строки": BEGIN MARKEDONLY(TRUE); END; TabFlt::"Все строки": BEGIN RESET; END; END; //CASE |
|
![]() |
#11 |
Участник
|
По поводу фильтра, подскажите плз, как сделать фильтр по типу, одного из свойств поля, optionstring: покупка, продажа
|
|
![]() |
#12 |
Administrator
|
1 SETRANGE("Document Type", 0{Продажа});
2 SETRANGE("Document Type", "Document Type"::Sale); |
|
![]() |
#13 |
NavAx
|
есть отличный чит
написать в коде что-нибудь вроде SETRANGE("Document Type", "Document Type"::БЯБЯБЯ) попытаться скомпилировать получить замечательную подсказку типа --------------------------- Microsoft Business Solutions-Navision --------------------------- 'БЯБЯБЯ' не является опцией. Существующие опции: Quote, Order, Invoice, Credit Memo, Blanket Order --------------------------- ОК ---------------------------
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
![]() |
#14 |
Administrator
|
в продолжение примера
SETRANGE("Document Type", "Document Type"::"Blanket Order"); писать тоже не обязательно, достаточно SETRANGE("Document Type", "Document Type"::Bl); |
|
![]() |
#15 |
Участник
|
|
|
![]() |
#16 |
NavAx
|
тогда да.
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
![]() |
#17 |
Участник
|
|
|
![]() |
#18 |
Участник
|
нужно найти по номеру сотрудника и по дате
номер больничного, каким образом фильтры эти сделать? |
|
![]() |
#19 |
Участник
|
Цитата:
Fierce, я порой вообще не могу понять ваших вопросов, что мешает наложить фильтр на соответствующие поля? Или в нужной вам таблице нет таких полей и нужно лезть в какие-то другие справочники чтобы узнать нужные данные? P.S. с зарплатой не работал в НАВ, а я так подозреваю именно в этом блоке вы сейчас разбираетесь? |
|
![]() |
#20 |
Участник
|
Я так понял надо найти всех сотрудников болевших в определенный период? И справочники сотрудников не пересекаются со справочником больничных?
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|