Аналог @success на ЛотусСкрипте.

Тема в разделе "Lotus - Программирование", создана пользователем Kizarek86, 19 сен 2007.

  1. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    ПРоблемка вот в чём.необходимо выполнять некоторую проверку содержания полей при сохранении(закрытии документа), проверка выполняеться на ЛотусСкрипте.Надо не закрывать ворму пока в полях не будет верного значения. Как реализовать на скрипте это? На собаках понятно @Success используем, какой аналог на скрипте его?
     
  2. Гость

    В квари сеив есть переменная Continue. Если Вы напишете Continue = False то сохраниться не удастся. Должно быть что то вроде:
    Код (Text):
    if doc.Field1="" or doc.Field2="" or ... doc.FieldN="" then
    Messagebox "Не все поля заполнены"
    Continue = False
    end if
    А лучше сделать так:
    Код (Text):
    if doc.Field1="" then
    Messagebox "Поле " & doc.Field1 & " не заполнено"
    Continue = False
    end if
    if doc.Field2="" then
    Messagebox "Поле " & doc.Field2 & " не заполнено"
    Continue = False
    end if
     
  3. root

    root Гость

    QuerySave( Source as NotesUIDocument , Continue as Variant )
    Continue
     
  4. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Ерюков Алексей
    НУ во-первых брезхня
    if doc.Field2="" then - тут будет ошибка

    да и быстрее просто проверить длинну поля
    if Len(doc.Field2(0)) = 0 then
     
  5. Гость

    <!--QuoteBegin-Morpheus+19:09:2007, 10:04 -->
    <span class="vbquote">(Morpheus @ 19:09:2007, 10:04 )</span><!--QuoteEBegin-->Для: Ерюков Алексей
    НУ во-первых брезхня
    if doc.Field2="" then - тут будет ошибка
    [snapback]78743" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Ну я бы не сказал, что брехня... Ну да будет ошибка, т.к. я не указал (0), но от этого суть не меняется. Проблема решена, главное идея правильная
     
  6. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    тут вот в чём дело, есть Кнопка "закрыть с сохранением"

    Код (Text):
    @Command ([FileSave]);
    @Command ([FileCloseWindow])
    Есть такой код

    Код (Text):
    Sub Querysave(Source As Notesuidocument, Continue As Variant)
    If (TekDoc = 0) Then
    Source.Document.Saveoptions = "1"
    End If
    If (TekDoc = 1) Then
    Continue = False
    End If
    End Sub
    Такая штука не работает, документ просто не сохраняется.
    Как обойти?)
     
  7. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    что такое TekDoc
    канечно не сохраняеться, ведь Saveoptions = "1"
     
  8. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Morpheus, TekDoc функция проверки в зависимости от значения которой и должен закрываться документ или оставаться активным. <!--QuoteBegin-Morpheus+19:09:2007, 10:34 -->
    <span class="vbquote">(Morpheus @ 19:09:2007, 10:34 )</span><!--QuoteEBegin-->канечно не сохраняеться, ведь Saveoptions = "1"
    [snapback]78751" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    ну ет понятно, непонятно как сделать чтобы корректно работало)
     
  9. Ronchik

    Ronchik Гость

    Для: kizarek
    проверьте TekDoc.....может она возвращает Null .....

    <!--QuoteBegin-Morpheus+19:09:2007, 09:34 -->
    <span class="vbquote">(Morpheus @ 19:09:2007, 09:34 )</span><!--QuoteEBegin-->канечно не сохраняеться, ведь Saveoptions = "1"
    [snapback]78751" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    ДОкумент не сохраняеться если Saveoptions = "0"
     
  10. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Замени это:
    <!--QuoteBegin-kizarek+19:09:2007, 10:25 -->
    <span class="vbquote">(kizarek @ 19:09:2007, 10:25 )</span><!--QuoteEBegin-->@Command ([FileSave]);
    @Command ([FileCloseWindow])
    [snapback]78749" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    На это:
    Код (Text):
    @If(@Command ([FileSave]); @Command ([FileCloseWindow]); @Nothing)
    На всякий случай. :)
     
  11. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    <!--QuoteBegin-Ronchik+19:09:2007, 10:48 -->
    <span class="vbquote">(Ronchik @ 19:09:2007, 10:48 )</span><!--QuoteEBegin-->проверьте TekDoc.....может она возвращает Null .....
    [snapback]78755" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    С ней всё нормально.
    <!--QuoteBegin-Ronchik+19:09:2007, 10:48 -->
    <span class="vbquote">(Ronchik @ 19:09:2007, 10:48 )</span><!--QuoteEBegin-->ДОкумент не сохраняеться если Saveoptions = "0"
    [snapback]78755" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Это тоже понятно. Просто пои клике на кнопку:
    Код (Text):
    @Command ([FileSave]);
    @Command ([FileCloseWindow])
    Документ закрывается, мне недо чтобы он не закрывался если значение функции TekDoc =1, а надо чтобы документ остался на редактировании. А если TekDoc=0, то закрывался с сохранением.

    Medevic, во, спасибо.Теперь работает)Лови очередной плюсик)
     
  12. root

    root Гость

    Для: kizarek
    тогда не на Querysave на QueryClose делай
     
  13. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Код (Text):
    Sub Querysave(Source As Notesuidocument, Continue As Variant)

    Select case TekDoc
    case 0: Continue = True
    case 1: Continue = False
    End Select

    end sub
    Сэкономите на вызове TekDoc
     
  14. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    это должно работать
    Код (Text):
    If (TekDoc = 1) Then
    Continue = False
    End If
    в Querysave документ не сохраняется, Queryclose - не закрывается..
     
  15. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Morpheus,Kee_Keekkenen, спасибо за советы, но сделал немного по другому. всё работает как надо теперь)

    Во, такой ещё вопросик есть.Можно ли перед закрытием формы, программно вызвать клик кнопки которая находиться в этом документе на панели дейсвий?
     
  16. root

    root Гость

    Можно поинтересоваться зачем ? (я так думаю что на акшене @собаки завязаны ) ?
     
  17. Sandr

    Sandr Гость

    Нельзя... Приийдется дублировать код...
     
  18. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    <!--QuoteBegin-Sandr+19:09:2007, 22:05 -->
    <span class="vbquote">(Sandr @ 19:09:2007, 22:05 )</span><!--QuoteEBegin-->Нельзя... Приийдется дублировать код...
    [snapback]78884" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    зделать скриптовую библиотеку, и вызывать ейи из кнопки, и из закрытия кнопки
     
  19. Sandr

    Sandr Гость

    Я так понял, что на кнопке сидит собака... Если нет, то согласен...
     
  20. morpheus

    morpheus скриптописец

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Sandr
    ну и что, какая разница
     
Загрузка...
Похожие Темы - Аналог @success на
  1. wellsun
    Ответов:
    0
    Просмотров:
    127
  2. oshmianski
    Ответов:
    7
    Просмотров:
    743
  3. DNT
    Ответов:
    13
    Просмотров:
    1.302
  4. ESWANT
    Ответов:
    0
    Просмотров:
    1.319
  5. Dragon108
    Ответов:
    6
    Просмотров:
    2.449

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