• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

@isnewdoc Или @isdocbeingsaved?

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

Eugen

Green Team
22.03.2012
210
1
Добрый день.
Подскажите пожалуйста:
есть форма, на которой висят Shared Action`ы на @formulas. Мне нужно сделать так, чтобы если документ новый(т.е. ни разу не сохранялся) одна из кнопок скрывалась. @IsNewDoc и @IsDocBeingSaved, если я правильно понял из хелпа в формулах видимости не работают. Может есть что то похожее?

Заранее спасибо.
PS:Версия 8.5.2.
 
@IsNewDoc - прекрасно работает в скрытии кнопок, но на форме.
Если action будет во вьюхе, то не будет работать
 
Action на форме. Настройки видимости:
d92926789dae.jpg


Добавлено: Причем если на форме сделать тестовую кнопку с формулой типа @If(@IsNewDoc;@Prompt([Ok];"";"True");@Prompt([Ok];"";"False")), то возвращаются правильные значения, а если этот IsNewDoc в формуле вилимости, то кнопка не хочет скрываться.
 
ну, так кнопка будет скрываться, если документ новый И поле Deleted="Y". Что написали, то и получили :( Вам надо ИЛИ (|), чтобы кнопка скрывалась, либо когда новый, либо когда поле Deleted="Y"
 
Да, точно... понедельник - день тяжелый. Извиняюсь за тупняк) Спасибо за разъяснение.

Добавлено: а в чем, кстати, разница между @IsNewDoc и @IsDocBeingSaved?
 
@IsDocBeingSaved возвращает 1 только в момент сохранения. Не до и не после. Полезно использовать в Input Validation:
Код:
@If(@IsDocBeingSaved & @IsNull(@ThisValue); @Failure("Значение не задано"); @Success)
 
самое точное состояние того, что документ (через какую бы ж... он не открывался) новый дает @noteid..
 
:)
помню этот прикол
создаём скриптом новый док и делаем ws.edit(..... ни одна ваша формула уже не отработает у него и унид почти есть и он уже не новый ;)
 
если не сохранять, вот это сработает :)
Код:
	Dim macro As Variant
macro = Evaluate({@NoteID},CurrDoc)
If macro(0) = {NT00000000} Then
Msgbox "Требуется сохранить документ.",48,CurrDoc.ParentDatabase.Title
Goto endh
End If
 
:)
помню этот прикол
создаём скриптом новый док и делаем ws.edit(..... ни одна ваша формула уже не отработает у него и унид почти есть и он уже не новый ;)

вот именно, у документа даже noteid будет, хотя его и быть не должно до сохранения, и только приведенный код подобный тому, что в предыдущем посте корректно выдаст что @noteid у документа пустой, т.е.nt c нулями..
 
побочный эффект (проверка валидности NoteID)
Код:
Dim NDC As NotesDocumentCollection
Set NDC=db.CreateDocumentCollection
NDC.AddDocument(doc)'здесь вывалит соответ. эксепшн
...
или в одну строку (и без объяв) Call db.CreateDocumentCollection.AddDocument(doc)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы