поиск дока & Searchformula

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

  1. lotsman

    lotsman Гость

    добрый день. имеется проблема с поиском документа.
    форма sale имеет поля fil, sdata (дата/время без флага время), при просмотре дебагером
    видно что значение поля расширенное - типа "01.03.2011 00:00:00 ZE3"

    dt=Trim(Strrightback(code_dat$,"ДАТА="))
    dtsm=Format(Cdat(dt),"dd.mm.yyyy")
    Dim dbf As NotesDatabase
    Set dbf = session.CurrentDatabase
    Dim collf As NotesDocumentCollection
    Dim sdocf As NotesDocument
    Dim searchFormula3 As String
    searchFormula3 = {Form = "sale"&fil="}+code_fil +{"}+{&(@text(@Date(sdata);S0))="}+dtsm+{"}
    Set collf = dbf.Search(searchFormula3,Nothing,0)
    Print searchFormula3
    If collf.Count >0 Then .....

    Попытка в поиске перевести поле "sdata" на тип "01.03.2011" результата не дало.
    Скорее всего я накосячил в "(@text(@Date(sdata));D0)" - но ошибки в дебагере не показывает. ((
    Какой вариант еще существует чтобы корректно задать условия поиска при наличии поля "sdata" = "01.03.2011 00:00:00 ZE3" и значением для сравнения "dtsm" = "01.03.2011", т.е. как правильно перевести вид поля дата/время из полного в удобный формат дд.мм.гггг?

    Спасибо
     
  2. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    @Date(sdata) = [01.03.2011] - так должно работать
     
  3. lotsman

    lotsman Гость

    т.е. в в квадр.скобках постоянное значение? у меня - величина переменная "dtsm".
    пробовал вариант если "sdata" имеет такой же формат (01.03.2011) - поиск не работает(
    пробовал ... +{&(@Date(sdata))="}+dtsm+{"} ... - тоже (
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    А так пробовал?
    +{&(@Date(sdata))=[}+dtsm+{]}
     
  5. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    лучше наоборот, перевести всё к формуле
    Data1<=@Date(yy;mm;dd;hh;nn;ss) - так будет правильней
     
  6. lotsman

    lotsman Гость

    проверил - не идет.
    сделал еще так +{&sdata=}+{[}+dtsm+{]} - тоже не ищет.
    в свойствах документа в поле "sdata" значение "01.03.2011" есть ((
     
  7. lotsman

    lotsman Гость

    коллеги, спасибо. получилось.
    вернул "sdata" к полному формату и
    привел dtsm тоже к полному: +{&sdata=}+{[}+dtsm+{]}
     
Загрузка...

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