Не срабатывает закрытие формы

  • Автор темы romanko
  • Дата начала
R

romanko

Гость
#1
Подскажите подайлуста почему не срабатывает закрытие?
@If(@IsNewDoc;
@If(@IsMember("[1]";@UserRoles);
@SetField("field1"; "1");
"");
@If(@IsMember("[1]";@UserRoles) & @IsMember(@ThisValue;"1");
"1";
@Prompt([OK];"Ошибка";"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"):
@Command([FileCloseWindow]))
);
 

susinmn

Well-Known Member
16.10.2007
529
8
33
Саратов
#2
Подскажите подайлуста почему не срабатывает закрытие?
@If(@IsNewDoc;
@If(@IsMember("[1]";@UserRoles);
@SetField("field1"; "1");
"");
@If(@IsMember("[1]";@UserRoles) & @IsMember(@ThisValue;"1");
"1";
@Prompt([OK];"Ошибка";"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"):
@Command([FileCloseWindow]))
);
@IsMember(@ThisValue;"1") - что тут имелоcь ввиду?

Напиши логуку, которая должна быть на кнопке

Вот тут нужно писать @Do
<!--shcode--><pre><code class='avto'>@Do(
@Prompt([OK];"Ошибка";"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
@Command([FileCloseWindow])))[/CODE]
 
R

romanko

Гость
#3
@IsMember(@ThisValue;"1") - что тут имелоcь ввиду?

Напиши логуку, которая должна быть на кнопке

Вот тут нужно писать @Do
<!--shcode--><pre><code class='avto'>@Do(
@Prompt([OK];"Ошибка";"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
@Command([FileCloseWindow])))[/CODE]
Это не кнопка это формула для вычесления field1.Логика такова если документ новый. если у юзера есть роль 1, то мы в field1 подкидываем значение 1.Иначе(если док не новый, если у юзера нету роли1,если в field1 не равно 1 то выкидуеться мессаге и после нажатия на ок должна закрыться форма)
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#5
Очень странная задумка...
И вообще, в формулах полей такие команды не работают.
 
R

romanko

Гость
#8
Идею выдай народу, а не реализацию, тогда и подумаем.
Ставлю ограничение на форму в Postmodechange
@If(@IsNewDoc;
@If(@IsMember("[1]";@UserRoles);
@SetField("pidrozdil"; "1");
"");
@If(@IsMember("[1]";@UserRoles) & @IsMember(@ThisValue;"1");
"1";
@Do(
@Prompt([Ok];"Ошибка";"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
@PostedCommand([FileCloseWindow])))
)
ошибка срабатывает но форма так и не закрывается
 

hosm

* so what *
18.05.2009
2 442
9
42
Kiev, Ukraine
#9
Akupaka, тут сериал из нескольких тем:
пролог - Непонятно
задача где-то тут Скрытие поля
и тут описана Проверка для формы, тут ваще тему можно бы удалить, ничего толкового, сплошные наезды
вроде остальные темы автора к теме не относится...
видите, как удобно, когда "задача" размазана и толком не сформулирована?



Добавлено: romanko
Postmodechange срабатывает после перевода в режим редактирования. Если документ новый, будет работать квериопен и постопен, причем сразу в режим редактирования.
Непонятно, как документ создается и что понимаете вы лично под "новым" документом. То, что понимает по новым документом @IsNewDoc можете почитать в справке или поискать тут
 

Xalet

Well-Known Member
08.08.2008
410
0
Вильнюс. Литва.
#10
Akupaka, тут сериал из нескольких тем:
пролог - Непонятно
задача где-то тут Скрытие поля
и тут описана Проверка для формы, тут ваще тему можно бы удалить, ничего толкового, сплошные наезды
вроде остальные темы автора к теме не относится...
видите, как удобно, когда "задача" размазана и толком не сформулирована?
А это надо понимать вытекающее из тем...
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#11
Ставлю ограничение на форму в Postmodechange
И где тут идея? Задача какова вообще?


- Доктор, почему я не выздоравливаю никак? Я съел упаковку анальгина, а оно не проходит!
- А что у Вас болит?
- А вот я, доктор, еще упаковку витамина С съел, но не выздоровел...
- А болит что?
- ...

Добавлено:
Postmodechange срабатывает после перевода в режим редактирования
Вот не надо так глубоко человеку объяснять, он и так не туда лезет. Рано еще.
 
R

romanko

Гость
#12
В каких случаях не работает функция @Command([FileCloseWindow])
 

hosm

* so what *
18.05.2009
2 442
9
42
Kiev, Ukraine
#13
Вот не надо так глубоко человеку объяснять, он и так не туда лезет. Рано еще.
а мне кажется, уже поздно.
та я уже во 2й теме пытаюсь добиться того, что автор темы понимает под "новым" документом, "откуда они берутся".
всё, я больше не оффтоплю...
xalet да =)
 
R

romanko

Гость
#15
А где не работают @Command.Нет просто так получается.Просто я незнаю как мне сделать проверку и прошу помощи, а толком ничего немогу понять что вы пишите?
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#16
Просто я незнаю как мне сделать проверку и прошу помощи, а толком ничего немогу понять что вы пишите?
А я тебя уже в третий раз прошу, расскажи, что ты хочешь сделать вообще. Зачем тебе проверка? А ты только какие-то неработающие куски кода приводишь и утверждение "хочу проверку" ;)
Сформулируй примерно так: хочу проверять есть ли у пользователя <некая привилегия> когда он делает <что-то>.
зы: Нельзя в формулу вычисления поля повесить @Command, об этом написано в справке, между прочим.
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
48
Подмосковье
#17
В справке дизайнера вводите в строку поиска "Where does this @function work?" и смотрите по нужной функции, где она работает, а где — нет.
Просто я незнаю как мне сделать проверку и прошу помощи, а толком ничего немогу понять что вы пишите?
Документ в лотусе можно открыть в режиме чтения или в режиме редактирования.
Открытый в режиме чтения документ можно перевести в режим редактирования (и наоборот). При переводе документа из одного режима в другой возникают события Querymodechange (в нём можно запретить изменение режима) и Postmodechange.
Если старый (в смысле уже сохранённый) документ открывается в режиме редактирования, происходят события Queryopen (в нём можно запретить открытие документа), Postopen, Onload.
Новый документ открывается в режиме редактирования по определению.
Если это не веб-приложение, обработчики событий можно писать не только на @-формулах, но и на лотусскрипте (практически тот же visual basic).
 
R

romanko

Гость
#18
А я тебя уже в третий раз прошу, расскажи, что ты хочешь сделать вообще. Зачем тебе проверка? А ты только какие-то неработающие куски кода приводишь и утверждение "хочу проверку" ;)
Сформулируй примерно так: хочу проверять есть ли у пользователя <некая привилегия> когда он делает <что-то>.
зы: Нельзя в формулу вычисления поля повесить @Command, об этом написано в справке, между прочим.
Если у пользователя есть определенная роль то в поле1 должно быть соответствуующее значение(это при открытии сохраненного документа),если же значение в поле1 не совпадает с тем которое там должно быть то выскакивает месаге ошибка и при закрытии или при нажатии на кнопку на ошибку должно закрыться форма где он вводит свои данные.Если документ новый(несохраненный) то в зависимости от роли в поле1 должно подставляться определенное значение.
 

Xalet

Well-Known Member
08.08.2008
410
0
Вильнюс. Литва.
#19
Если у пользователя есть определенная роль то в поле1 должно быть соответствуующее значение(это при открытии сохраненного документа),если же значение в поле1 не совпадает с тем которое там должно быть то выскакивает месаге ошибка и при закрытии или при нажатии на кнопку на ошибку должно закрыться форма где он вводит свои данные.Если документ новый(несохраненный) то в зависимости от роли в поле1 должно подставляться определенное значение.
Почти хорошо. Только поправлю. Если документ уже есть, то надо проверку постмодечендж, а в кьюэри. И месаджбокс, что вы не можете редактировать этот документ. И не закрыть документ, а оставить в режиме чтения. Вопрос про закрытие документа автоматом отадает.
 
R

romanko

Гость
#20
Почти хорошо. Только поправлю. Если документ уже есть, то надо проверку постмодечендж, а в кьюэри. И месаджбокс, что вы не можете редактировать этот документ. И не закрыть документ, а оставить в режиме чтения. Вопрос про закрытие документа автоматом отадает.
Как я понял все проверку нужно засунуть в Querymodechange.А как оставить документ в режиме чтения?И если я проверку помещаю в Querymodechange то не срабатывает подстановка значения в поле1(если документ новый - несохраненный), поле пустое.