Проверка на заполнение Richtext поля

Тема в разделе "Lotus - Программирование", создана пользователем fedotxxl, 8 фев 2008.

  1. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Стояла задача - проверить на заполнение RichText (будь оно проклято) поля ещё до сохранения документа. Мне удалось найти функцию одного умного человека, которая кое-как решала эту задачу
    Вот тут-то и началось самое интересное. При обычной проверке все Ок. Ошибки посыпались, если изменить документ а потом выходить из него, кликая на внедренное представление в другом фрейме, которое открывало новый документ в том фрейме, в котором находился проверяемый документ. О как =) Так вот, изменяю, кликаю, вылетает сообщение, что надобы сохраниться, сохраняюсь (в момент сохранения происходит проверка) и бах - ошибка. Посидел, поискал. Оказалось, что в момент сохранения workspace.CurrentDocument возвращает уже не наш документ, а документ, который хранится в фрейме внедренного представления. Поплевался. Проверил, делать проверку на queryClose формы - тот же результат. Ладно, передаю в функцию проверки UIDoc, теперь проверяем тот документ, который нужно. НО ОПЯТЬ ОШИБКА! В строке Call uidoc.SelectAll.
    Сейчас начинается то, что вообще нельзя понять - если курсор стоит в проверяемом поле, то ошибка (если он стоит в другом поле, то все ок), если же в проверяемом поле выделить небольшую часть текста, то ошибки нет

    Вот такой бестолковый я либо поганый УИ лотуса
     
  2. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
  3. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: Medevic и fedotxxl :)

    NotesUIDocument.Refresh(True) рулит.

    UI объекты даже рядом не стоят: какое-то дибильное шастанье по полям, попытка пометить всё.
    Тьфу, кака.
     
  4. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Вроде решил проблему...
    Перед проверкой следующий код:
    , где Source = NotesUIDocument

    Для: Medevic
    Для: Omh
    Решил сам, ваши посты не видел =)
    Но кто-то же написал такую функцию... и поведение у неё веселое, однако
     
  5. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Небольшой подипон
    пересохраняет документ, а это мне совсем не нужно. Как это можно обойти?
     
  6. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    <!--QuoteBegin-fedotxxl+15:02:2008, 16:22 -->
    <span class="vbquote">(fedotxxl @ 15:02:2008, 16:22 )</span><!--QuoteEBegin-->пересохраняет документ
    [snapback]98331" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Поведение не подтверждено :)
     
  7. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Млин, ненавижу дни рандомайзных ошибок
    Вот такой код в форме (помимо всего прочего)
    Документ пересохраняется. Точно также сделал в тестовой базе - все нормально работает
     
  8. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Забавная проверка...
    <!--QuoteBegin-fedotxxl+15:02:2008, 17:45 -->
    <span class="vbquote">(fedotxxl @ 15:02:2008, 17:45 )</span><!--QuoteEBegin-->If source.EditMode Then
    [snapback]98340" rel="nofollow" target="_blank[/snapback]​
    [/quote]


    Для события QuerySave.
     
  9. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Для: fedotxxl
    Смотри, что на QueryRecalc/PostRecalc
     
  10. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    В событиях Queryrecalc и Postrecalc пусто?
     
  11. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    А! Все лотусники одинаковые!
     
  12. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Гыгы
    Я Lotus так *цензура*ал, что он теперь при октрытии моей тестовой формы пишет "Not a form"
    Как меня **** эта среда

    Туплю... хотя лишняя проверка никогда не помешает =)

    ВОТ ОНО! SaveOptions = "1" + uidoc.Refresh(true) = Save
    Как же долго я вычислял, почему происходит сохранение

    Где бы про SaveOptions побольше почитать можно?
     
  13. Kee_Keekkenen

    Kee_Keekkenen Well-Known Member

    Регистрация:
    5 сен 2006
    Сообщения:
    616
    Симпатии:
    4
    SaveOptions = "0" не сохраняет и не спрашивает, если док был отредактирован при сохранении/выходе из дока
     
  14. fedotxxl

    fedotxxl Well-Known Member

    Регистрация:
    9 ноя 2005
    Сообщения:
    614
    Симпатии:
    0
    Для: Kee_Keekkenen
    А SaveOptions = "00"? Нужно бы больше инфы
     
Загрузка...

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