select во view по условию

Irina

Green Team
31.05.2019
145
2
BIT
0
в Форма1 есть поле Feild_Number, а в Форме2 Feild_Number_2, надо в виде отображать информацию зависимо от условия:

если Feild_Number и Feild_Number_2 равны, то только документы из Формы1

если не равны поля, то документы из обеих форм
пробую так, но срабатывает всегда условия неравенства
Код:
@IF(Form = "Форма1" ; Feild_Number ; Form = "Форма2" ; Feild_Number_2; "");

result:=@If(Feild_Number = Feild_Number_2; Form ="Форма1";  Form ="Форма1":"Форма2");

SELECT result
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
в Форма1 есть поле Feild_Number, а в Форме2 Feild_Number_2, надо в виде отображать информацию зависимо от условия:

если Feild_Number и Feild_Number_2 равны, то только документы из Формы1
я ничего не понял
поля есть не в форме, а в документе и получится отображать документы в соответ. с набором полей в них
что нужно в вашем случае?
 

Irina

Green Team
31.05.2019
145
2
BIT
0
надо чтобы отображались документы в том случае, если два поля не равны, а если они одинаковые, то отображать только из одной формы документы

сравниваю два поля из этих двух разных форм
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
540
Так не будет работать.
Формула высчитывается на документе, на одном. И если формула дает True, то документ будет отображаться, иначе нет. И так по всем документам в базе, просто очень быстро.
В вашем случае, всегда будет Form ="Форма1":"Форма2".
Вы уверены что поля надо сравнивать из двух разных документов, созданных по разным формам?
Где-то ошибка в постановке задачи.
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
470
надо чтобы отображались документы в том случае, если два поля не равны, а если они одинаковые, то отображать только из одной формы документы

сравниваю два поля из этих двух разных форм
как и сказал @savl сранивать можно на уровне одного документа, форма - это документ дизайна (в обычных вьюшках он не присутствует и поля у него совершенно не соответ. вашему восприятию), имя формы есть в самом документе
формула типа: Select (Fld1=Fld2 AND Form="Form1") OR (Fld1<>Fld2)
НО в документах с "Form1" либо д.б. оба поля и равны либо пустые (или отсутствовать)
 

Irina

Green Team
31.05.2019
145
2
BIT
0
да, уже поняла и переделала: теперь в виде все документы , а в момент перебора , агентом проверяю соответствие равенства
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
да, уже поняла и переделала: теперь в виде все документы , а в момент перебора , агентом проверяю соответствие равенства
Если так, то не факт, что вид вообще нужен. Может быть лучше сделать в агенте NotesDatabase.Search(...).
Вид нужен, если в нём доки отобраны в категории, чтобы не перебирать все в агенте, а сразу взять нужные по определённой категории. Ну или необходимые данные выведены в колонки, и перебором NotesViewEntry можно быстро брать их, не получая документы целиком, что гораздо быстрее.
 

Irina

Green Team
31.05.2019
145
2
BIT
0
Если так, то не факт, что вид вообще нужен. Может быть лучше сделать в агенте NotesDatabase.Search(...).
Вид нужен, если в нём доки отобраны в категории, чтобы не перебирать все в агенте, а сразу взять нужные по определённой категории. Ну или необходимые данные выведены в колонки, и перебором NotesViewEntry можно быстро брать их, не получая документы целиком, что гораздо быстрее.
там просто часть информации берется из вида, а вот один параметр уже не напрямую из вида
 

swyatogor

Green Team
24.02.2014
594
24
BIT
4
я в таких случаях делаю агента, который пробегает по документам и расставляет семафоры.. кого где показывать).. и отборы уже делаются на основании этих (или значения этих) семафоров
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!