Getitemvaluedatetimearray И Null

Тема в разделе "Lotus - Xpages", создана пользователем vvlad, 4 апр 2013.

  1. vvlad

    vvlad Well-Known Member

    Регистрация:
    19 янв 2007
    Сообщения:
    63
    Симпатии:
    0
    Hi ALL!

    На xpage есть следующий элемент:


    Код (Text):
    <xp:text id="computedField5">
    <xp:this.value><![CDATA[#{java script:

    doc1=database.getDocumentByUNID(sessionScope.get("parentdocid"));
    if(doc1.getItemValueDateTimeArray("Date1")!=null){"ОК"}else{"НЕ ОК"};

    }]]>
    </xp:this.value>
    </xp:text>
    Если поле Date1 заполнено - все в порядке и я вижу "ОК", если же поле пустое - runtime error:

    Error while executing JavaScript computed expression
    Script interpreter error, line=2, col=9: [TypeError] Exception occurred calling method NotesDocument.getItemValueDateTimeArray(string) null


    подскажите, что я делаю не так?
     
  2. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    может док у вас нул
     
  3. vvlad

    vvlad Well-Known Member

    Регистрация:
    19 янв 2007
    Сообщения:
    63
    Симпатии:
    0
    нет, с доком все нормально, ошибка только, если поле с датой пустое.
    Текстовые поля отображаются нормально.
     
  4. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    когда поле пустое - оно есть физически в доке?
     
  5. vvlad

    vvlad Well-Known Member

    Регистрация:
    19 янв 2007
    Сообщения:
    63
    Симпатии:
    0
    есть.
    Открываю док в Notes - заполняю дату - вижу ОК в xpage
    Открываю док в Notes - очищаю дату - вижу ошибку
     
  6. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    а почему не взять getItemValueString ?
     
  7. vvlad

    vvlad Well-Known Member

    Регистрация:
    19 янв 2007
    Сообщения:
    63
    Симпатии:
    0
    не работает оно для полей типа Date\Time
     
  8. Zeka

    Zeka Well-Known Member

    Регистрация:
    1 сен 2009
    Сообщения:
    219
    Симпатии:
    0
    Похоже баг очерядной.
    А что сделать-то надо?

    Проверить, есть ли в поле значение можно так - doc1.getItemValue("Date1").size()>0
     
  9. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    теоретически тип поля будет не дата, когда пустое оно, как вариант проверить value на тип
    или просто поставить в блок try/catch и забить на эту фичу :)
     
  10. vvlad

    vvlad Well-Known Member

    Регистрация:
    19 янв 2007
    Сообщения:
    63
    Симпатии:
    0
    Нужно вывести на странице дату из документа :)

    doc1.getItemValue("Date1").size()>0 - то, что нужно

    альтернативное решение:

    try {
    doc1.getItemValueDateTimeArray("Date1")
    } catch(e) {
    "ДАТА НЕ ОПРЕДЕЛЕНА"
    }

    Всем спасибо!!!
     
Загрузка...
Похожие Темы - Getitemvaluedatetimearray Null
  1. Vander
    Ответов:
    0
    Просмотров:
    526
  2. dimat
    Ответов:
    46
    Просмотров:
    3.748
  3. Toshka007
    Ответов:
    0
    Просмотров:
    2.052
  4. beloff
    Ответов:
    13
    Просмотров:
    2.982
  5. Sangitam
    Ответов:
    1
    Просмотров:
    2.936

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