|
|
#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; //CASEWeekeeeend!!!
|
|
|
|
|
#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 |
|
Участник
|
Я так понял надо найти всех сотрудников болевших в определенный период? И справочники сотрудников не пересекаются со справочником больничных?
__________________
Как только вы проиграете, все ваши прошлые победы забудут. |
|
|