1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

@isnewdoc Или @isdocbeingsaved?

Тема в разделе "Lotus - Программирование", создана пользователем Eugen, 22 окт 2012.

  1. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    Добрый день.
    Подскажите пожалуйста:
    есть форма, на которой висят Shared Action`ы на @formulas. Мне нужно сделать так, чтобы если документ новый(т.е. ни разу не сохранялся) одна из кнопок скрывалась. @IsNewDoc и @IsDocBeingSaved, если я правильно понял из хелпа в формулах видимости не работают. Может есть что то похожее?

    Заранее спасибо.
    PS:Версия 8.5.2.
     
  2. savl

    savl Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.116
    Симпатии:
    157
    @IsNewDoc - прекрасно работает в скрытии кнопок, но на форме.
    Если action будет во вьюхе, то не будет работать
     
  3. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    Action на форме. Настройки видимости:
    @isnewdoc Или @isdocbeingsaved?

    Добавлено: Причем если на форме сделать тестовую кнопку с формулой типа @If(@IsNewDoc;@Prompt([Ok];"";"True");@Prompt([Ok];"";"False")), то возвращаются правильные значения, а если этот IsNewDoc в формуле вилимости, то кнопка не хочет скрываться.
     
  4. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    9
    ну, так кнопка будет скрываться, если документ новый И поле Deleted="Y". Что написали, то и получили :( Вам надо ИЛИ (|), чтобы кнопка скрывалась, либо когда новый, либо когда поле Deleted="Y"
     
  5. Eugen

    Eugen Well-Known Member

    Репутация:
    0
    Регистрация:
    22 мар 2012
    Сообщения:
    177
    Симпатии:
    0
    Да, точно... понедельник - день тяжелый. Извиняюсь за тупняк) Спасибо за разъяснение.

    Добавлено: а в чем, кстати, разница между @IsNewDoc и @IsDocBeingSaved?
     
  6. Kizarek86

    Kizarek86 Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    20 июл 2007
    Сообщения:
    860
    Симпатии:
    6
    Срабатывает при сохранении документа.
     
  7. VladSh

    VladSh начинающий
    Lotus team

    Репутация:
    0
    Регистрация:
    11 дек 2009
    Сообщения:
    1.248
    Симпатии:
    2
    В названии написано - ЕслиДокБылСохранён, но я её не пользуюсь, т.к. у меня всегда возвращает 0, хоть новый док (создан с помощью Compose) сохраняешь, хоть нет.
     
  8. Medevic

    Medevic Что это ? :)
    Lotus team

    Репутация:
    0
    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    @IsDocBeingSaved возвращает 1 только в момент сохранения. Не до и не после. Полезно использовать в Input Validation:
    Код:
    @If(@IsDocBeingSaved & @IsNull(@ThisValue); @Failure("Значение не задано"); @Success)
     
  9. VladSh

    VladSh начинающий
    Lotus team

    Репутация:
    0
    Регистрация:
    11 дек 2009
    Сообщения:
    1.248
    Симпатии:
    2
    Ясно. У мене всё на LS.
     
  10. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Репутация:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    639
    Симпатии:
    6
    самое точное состояние того, что документ (через какую бы ж... он не открывался) новый дает @noteid..
     
  11. ToxaRat

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

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.188
    Симпатии:
    22
    :)
    помню этот прикол
    создаём скриптом новый док и делаем ws.edit(..... ни одна ваша формула уже не отработает у него и унид почти есть и он уже не новый ;)
     
  12. savl

    savl Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    28 окт 2011
    Сообщения:
    2.116
    Симпатии:
    157
    если не сохранять, вот это сработает :)
    Код:
    	Dim macro As Variant
    macro = Evaluate({@NoteID},CurrDoc)
    If macro(0) = {NT00000000} Then
    Msgbox "Требуется сохранить документ.",48,CurrDoc.ParentDatabase.Title
    Goto endh
    End If
     
  13. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Репутация:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    639
    Симпатии:
    6
    вот именно, у документа даже noteid будет, хотя его и быть не должно до сохранения, и только приведенный код подобный тому, что в предыдущем посте корректно выдаст что @noteid у документа пустой, т.е.nt c нулями..
     
  14. lmike

    lmike нет, пердело совершенство
    Lotus team

    Репутация:
    1
    Регистрация:
    27 авг 2008
    Сообщения:
    6.379
    Симпатии:
    336
    побочный эффект (проверка валидности NoteID)
    Код:
    Dim NDC As NotesDocumentCollection
    Set NDC=db.CreateDocumentCollection
    NDC.AddDocument(doc)'здесь вывалит соответ. эксепшн
    ...
    или в одну строку (и без объяв) Call db.CreateDocumentCollection.AddDocument(doc)
     
Загрузка...
Похожие Темы - @isnewdoc Или @isdocbeingsaved
  1. OneDollar
    Ответов:
    8
    Просмотров:
    407
  2. PingVinich
    Ответов:
    3
    Просмотров:
    169
  3. Valkiria
    Ответов:
    17
    Просмотров:
    451
  4. PingVinich
    Ответов:
    6
    Просмотров:
    621
  5. Valkiria
    Ответов:
    5
    Просмотров:
    186

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