• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы Cleric84
  • Дата начала Дата начала

Cleric84

Well-known member
03.01.2008
599
0
Всем привет!
Вопрос состоит вот в чем:

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

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

как бить?
 
Есть проблема в обрезке значения?
@left(NameFile;".")....
strleft(NameFile,".")
 
  • Нравится
Реакции: magistr
на собаках думаю сложновато будет.
Я писал это все в бекэнде. Смотри NotesEmbeddedObjects.
для имен аттачей тебе подойдут свойства Name или Source
 
да нет мне только в скрипте нуна

но вот незадача какая то где ошибка то?
Код:
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
 
ss$ = Strleftback(o.name, ".")

"." - кавычки, точка, кавычки. не надо ни каких пробелов))
 
Если надо только имя файла, то
Код:
ss$ = Strleft(sourcestr, ".")
---уточнение :)---

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

я так уже пробовал ничево не изменилось:)
 
fn = o.name
Const sourcestr = " fn " 'что это???
ss$ = Strleftback (fn, " . ") не присваивает накакова значения



Ещё проверьте свой код, приаттачив два файла с одинаковым именем.
 
Опа, а я и не увидел, что там константа режется :)
 
@Left(@AttachmentNames; ".") шустрее не бывает :)
 
да в имени файла есть точка и не одна.:) после первой точки может бить или одна или 2 цифри
фал будет обзиватся так : xxxxx.x(x).doc(pdf)


Чудеса.....полтергейст какойто..... все чудейснешим образом заработало:))))))) к обеду ничерта не работало, только что проверил все гуд:))))
 
ToxaRat
Всё-равно собаки тут говно.
Если в доке было вложено 2 аттачмента с одним и тем же именем, собаки вернут внутреннее имя (AHUU24G), а на скрипте можно получить настоящее.
Тем более задача стоит как-бэ на скрипте написать :)
 
идем дальше ;)
f1 = evaluate({@LeftBack(@AttachmentNames; ".")}, DocA)
f2 = evaluate({@LeftBack(@AttachmentNames; ".")}, DocB)

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

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

не знаю как вы, но в данном случае использовать чистый скрипт не разумно - не раз на этом обламывался
 
Ну Evaluate порнуха ж, разве не?
Кмк, именно скриптовая задача ;)

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

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы