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

Cleric-Lviv

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

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

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

как бить?
 

Kizarek86

Green Team
20.07.2007
875
8
BIT
119
Есть проблема в обрезке значения?
@left(NameFile;".")....
strleft(NameFile,".")
 
  • Нравится
Реакции: magistr

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
на собаках думаю сложновато будет.
Я писал это все в бекэнде. Смотри NotesEmbeddedObjects.
для имен аттачей тебе подойдут свойства Name или Source
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
6
да нет мне только в скрипте нуна

но вот незадача какая то где ошибка то?
Код:
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
 
S

susinmn

ss$ = Strleftback(o.name, ".")

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

Omh

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

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

TIA

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



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

Omh

Опа, а я и не увидел, что там константа режется :)
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
@Left(@AttachmentNames; ".") шустрее не бывает :)
 
O

Omh

ToxaRat
А если в имени файла есть точка :)
 

Cleric-Lviv

Well-known member
03.01.2008
603
0
BIT
6
да в имени файла есть точка и не одна.:) после первой точки может бить или одна или 2 цифри
фал будет обзиватся так : xxxxx.x(x).doc(pdf)


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

Omh

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

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
идем дальше ;)
f1 = evaluate({@LeftBack(@AttachmentNames; ".")}, DocA)
f2 = evaluate({@LeftBack(@AttachmentNames; ".")}, DocB)

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

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

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

Omh

Ну Evaluate порнуха ж, разве не?
Кмк, именно скриптовая задача ;)

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

NickProstoNick

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!