Вьюха в которой только аттачи

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

  1. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    Технический проблем: доки содержат аттачи zip, pdf, xls. Аттачей в доке может быть несколько и разного формата.
    Кроме аттачей в RTF могут быть прилинковны объекты из например Excel со связью (как картинки получаются) = тоже аттачи но без расширения.
    Надо построить вьюху в которой видны только аттачи с расширением zip, pdf, xls. Все это для WEB делается.

    Пишу отбор
    att:=@AttachmentNames;
    atn:=@Transform(att;"x";@If(@Contains(x;".");x;@Nothing));
    SELECT @Right(atn;3)="pdf" | @Right(atn;3)="xls" | @Right(atn;3)="zip"
    с отображением каждого из нескольких - отдельно.
    На выходе все равно получаю список доков где есть "пустые" значения. Понятно почему - прилинкованные объекты собственно и портят всю картину. Они идут как аттачи с именами типа EXT40553 (0k); EXT46471 (0k); STG41756 (8k); STG01394 (8k); STG32637 (8k); EXT45059 (0k); STG05703 (8k); STG25267 (8k); STG12705 (8k); EXT20593 (0k); и пр...

    Пошел другим путем. Отбираю в поле формулой
    flist:=@Explode("zip":"xls":"pdf");
    temp:= @DbLookup("":"NoCache"; ""; "(FilesAll)";flist;3);
    temp1:= @If(@IsError(temp);"";temp);
    @Implode(temp1)
    и упираюсь естественно в ограничение по размеру данных. Доки и файлы плодятся - отбор в поле приводит к ошибке.

    Как решить отбор только живых аттачей?
     
  2. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Аттачи находятся в документах. Значит, нужно построить представление где есть документы хотя бы c одним аттачем с расширением pdf, xls, zip или где все аттачи имеют расширения pdf, xls, zip?
    В первом случае можно сделать так.
    SELECT !@IsNotMember(@Right(@AttachmentNames; "."); "pdf" : "xls" : "zip")
    Во втором будет иначе.

    В любом случае никто не запрещает использовать папки.
     
  3. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    Сэнкс, но это только короткое написание моего правила отбора. Результат тот же.
    Про папки думал. Все не то :mellow:
    Мешают аттачи у котрых расширение пустое. Отбор то все равно производится по докам, а в них могут быть и "пустые" аттачи. В итоге в представление выводится док несколько раз для каждого аттача и пустого и с аттачем. Вот пустые надо убить...
     
  4. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Как документ может выводиться несколько раз? Он или есть в представлении, или его нет.
    Убить пустые аттачи? Убивай. Только причем здесь отбор в представлении?
     
  5. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Medevic
    Может view категоризованое?
     
  6. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Да может просто галка стоять "Show multiple values...".
    Только документ будет один и тот же. С одними и теми же аттачами. И формулой отбора здесь ничего не сделаешь.
     
  7. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.288
    Симпатии:
    0
    Да, надо аналогичную отбору формулу впЕндюрить в формулу колонки - что-б аттачи с "пустым" типом не отображались
     
  8. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    Да. multiple values есть, чтобы разобрать содержимое дока на части. Соответственно пустое будет в представлении как ни крути разными формулами отбора. И папки не помогут поскольку туда копируются те же доки..

    Не решается задачка пока.
     
  9. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Какая цель? Для чего тебе нужен список аттачей?
     
  10. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    Отправил линк в личку
     
  11. Medevic

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

    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Отвечу и здесь.
    При сохранении документ на каждый подходящий условию аттач я предлагаю создавать документ с именем, описанием, путем и т.д. аттача. В представлении показывать эти документы.

    Или, как уже предложили, добавить для столбца формулу:
    @Trim(@Transform(@AttachmentNames; "x"; @If(!@IsNotMember(@Right(x; "."); "pdf" : "xls" : "zip"); x; @Nothing)))
     
  12. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    Ок. Это выход. Сэнкс :)
     
Загрузка...

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