Прикрепить атачмент

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

  1. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Всем привет!
    Вопрос состоит вот в чем:

    когда я инициирую прикрепление атачмента с документа "А" в документ "В" то мне надобно сопоставить имя атачмента и номер документа если они одинаковие тогда прикрепляем если нет то надо спросить в юзера уверен ли он в прикриплении етого атачмента.

    но вот незадача как достать имя атачмента я знаю но как расцепить ево? ведь видает полное имя 123.doc или 123.pdf....... а номер документа просто будет 123.................

    как бить?
     
  2. Kizarek86

    Kizarek86 Lotus team
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Есть проблема в обрезке значения?
    @left(NameFile;".")....
    strleft(NameFile,".")
     
  3. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    только 2.5 месяца как начал более-мение нормально учить програмирование не все еще в голову залезло :)
     
  4. NickProstoNick

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

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    на собаках думаю сложновато будет.
    Я писал это все в бекэнде. Смотри NotesEmbeddedObjects.
    для имен аттачей тебе подойдут свойства Name или Source
     
  5. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    есть функция @AttachmentNames
     
  6. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    да нет мне только в скрипте нуна

    но вот незадача какая то где ошибка то?
    Код (Text):
    If ( rtitemdocWithAttach.Type = RICHTEXT ) Then
    Forall o In rtitemdocWithAttach.EmbeddedObjects
    Msgbox o.name -- показивает полное имя атачмента
    fn = o.name                
    Const sourcestr = " fn "
    ss$ = Strleftback (sourcestr, " . ") не присваивает накакова значения
    Msgbox ss$ -- пустой
    End Forall
    End If
     
  7. susinmn

    susinmn Well-Known Member

    Регистрация:
    16 окт 2007
    Сообщения:
    530
    Симпатии:
    8
    ss$ = Strleftback(o.name, ".")

    "." - кавычки, точка, кавычки. не надо ни каких пробелов))
     
  8. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    ss$ = Strleftback (o.name, " . ")
     
  9. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Если надо только имя файла, то
    Код (Text):
    ss$ = Strleft(sourcestr, ".")
    ---уточнение :)---

    Точнее не так.
    Надо отрезать extension
    И потом получить оставшееся:
    Код (Text):
    Ext = StrRightBack(<FULFILENAME>, ".")
    FilenameOnly = Left(<FULFILENAME>, Len(<FULFILENAME>) - (Len(Ext) + 1)) '+1 это точка
     
  10. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    susinmn
    RAJ

    я так уже пробовал ничево не изменилось:)
     
  11. TIA

    TIA :-)
    Lotus team

    Регистрация:
    15 май 2009
    Сообщения:
    790
    Симпатии:
    0
    fn = o.name
    Const sourcestr = " fn " 'что это???
    ss$ = Strleftback (fn, " . ") не присваивает накакова значения



    Ещё проверьте свой код, приаттачив два файла с одинаковым именем.
     
  12. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Опа, а я и не увидел, что там константа режется :)
     
  13. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    @Left(@AttachmentNames; ".") шустрее не бывает :)
     
  14. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    ToxaRat
    А если в имени файла есть точка :)
     
  15. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    да в имени файла есть точка и не одна.:) после первой точки может бить или одна или 2 цифри
    фал будет обзиватся так : xxxxx.x(x).doc(pdf)


    Чудеса.....полтергейст какойто..... все чудейснешим образом заработало:))))))) к обеду ничерта не работало, только что проверил все гуд:))))
     
  16. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    нашлим мне проблему :)
    тогда так
    @LeftBack(@AttachmentNames; ".")
     
  17. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    ToxaRat
    Всё-равно собаки тут говно.
    Если в доке было вложено 2 аттачмента с одним и тем же именем, собаки вернут внутреннее имя (AHUU24G), а на скрипте можно получить настоящее.
    Тем более задача стоит как-бэ на скрипте написать :)
     
  18. ToxaRat

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

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    идем дальше ;)
    f1 = evaluate({@LeftBack(@AttachmentNames; ".")}, DocA)
    f2 = evaluate({@LeftBack(@AttachmentNames; ".")}, DocB)

    if f1(0)=f2(0) then
    .......

    и будет более глубокая проверка так как аттач может и не быть в поле вообще, а так, рядышком болтаться ;)
    аттачей может быть много и там и там и опять таки в разных полях и т.д.

    не знаю как вы, но в данном случае использовать чистый скрипт не разумно - не раз на этом обламывался
     
  19. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Ну Evaluate порнуха ж, разве не?
    Кмк, именно скриптовая задача ;)

    Ладно, углубились ;)
     
  20. NickProstoNick

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

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Не надо извращаться!!!
    проверять аттачи на собаках а потом как копировать? Простое копирование RT-полей не поможет. Копировать поля $FILES системой запрещено.
    Остается детач с последующим аттачем. Детач и аттач на собаках еще больший геморрой!
    @AttachmentNames; и o.name - не всегда возвращают имя файла с расширением! Тут еще надо o.Source
     
Загрузка...

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