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

Тема в разделе "Lotus - Программирование", создана пользователем romanko, 11 апр 2011.

  1. romanko

    romanko Гость

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

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    @IsMember(@ThisValue;"1") - что тут имелоcь ввиду?

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

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

    romanko Гость

    Это не кнопка это формула для вычесления field1.Логика такова если документ новый. если у юзера есть роль 1, то мы в field1 подкидываем значение 1.Иначе(если док не новый, если у юзера нету роли1,если в field1 не равно 1 то выкидуеться мессаге и после нажатия на ок должна закрыться форма)
     
  4. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    замени на PostedComand(FileClose...
     
  5. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Очень странная задумка...
    И вообще, в формулах полей такие команды не работают.
     
  6. romanko

    romanko Гость

    А как жеш закрыть форму после сообщения?И если на поле не ставить такое ограничение то куда же лучше поставить?
     
  7. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Идею выдай народу, а не реализацию, тогда и подумаем.
     
  8. romanko

    romanko Гость

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

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    Akupaka, тут сериал из нескольких тем:
    пролог - Непонятно
    задача где-то тут Скрытие поля
    и тут описана Проверка для формы, тут ваще тему можно бы удалить, ничего толкового, сплошные наезды
    вроде остальные темы автора к теме не относится...
    видите, как удобно, когда "задача" размазана и толком не сформулирована?



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

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    А это надо понимать вытекающее из тем...
     
  11. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    И где тут идея? Задача какова вообще?


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

    Добавлено:
    Вот не надо так глубоко человеку объяснять, он и так не туда лезет. Рано еще.
     
  12. romanko

    romanko Гость

    В каких случаях не работает функция @Command([FileCloseWindow])
     
  13. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    а мне кажется, уже поздно.
    та я уже во 2й теме пытаюсь добиться того, что автор темы понимает под "новым" документом, "откуда они берутся".
    всё, я больше не оффтоплю...
    xalet да =)
     
  14. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    В тех, где не работают @Command.

    romanko, ты, вообще, специально так себя ведешь или просто так получается?
     
  15. romanko

    romanko Гость

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

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    А я тебя уже в третий раз прошу, расскажи, что ты хочешь сделать вообще. Зачем тебе проверка? А ты только какие-то неработающие куски кода приводишь и утверждение "хочу проверку" ;)
    Сформулируй примерно так: хочу проверять есть ли у пользователя <некая привилегия> когда он делает <что-то>.
    зы: Нельзя в формулу вычисления поля повесить @Command, об этом написано в справке, между прочим.
     
  17. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    В справке дизайнера вводите в строку поиска "Where does this @function work?" и смотрите по нужной функции, где она работает, а где — нет.
    Документ в лотусе можно открыть в режиме чтения или в режиме редактирования.
    Открытый в режиме чтения документ можно перевести в режим редактирования (и наоборот). При переводе документа из одного режима в другой возникают события Querymodechange (в нём можно запретить изменение режима) и Postmodechange.
    Если старый (в смысле уже сохранённый) документ открывается в режиме редактирования, происходят события Queryopen (в нём можно запретить открытие документа), Postopen, Onload.
    Новый документ открывается в режиме редактирования по определению.
    Если это не веб-приложение, обработчики событий можно писать не только на @-формулах, но и на лотусскрипте (практически тот же visual basic).
     
  18. romanko

    romanko Гость

    Если у пользователя есть определенная роль то в поле1 должно быть соответствуующее значение(это при открытии сохраненного документа),если же значение в поле1 не совпадает с тем которое там должно быть то выскакивает месаге ошибка и при закрытии или при нажатии на кнопку на ошибку должно закрыться форма где он вводит свои данные.Если документ новый(несохраненный) то в зависимости от роли в поле1 должно подставляться определенное значение.
     
  19. Xalet

    Xalet Well-Known Member

    Регистрация:
    8 авг 2008
    Сообщения:
    410
    Симпатии:
    0
    Почти хорошо. Только поправлю. Если документ уже есть, то надо проверку постмодечендж, а в кьюэри. И месаджбокс, что вы не можете редактировать этот документ. И не закрыть документ, а оставить в режиме чтения. Вопрос про закрытие документа автоматом отадает.
     
  20. romanko

    romanko Гость

    Как я понял все проверку нужно засунуть в Querymodechange.А как оставить документ в режиме чтения?И если я проверку помещаю в Querymodechange то не срабатывает подстановка значения в поле1(если документ новый - несохраненный), поле пустое.
     
Загрузка...

Поделиться этой страницей