Россыпь мелких вопросов

  • Автор темы Автор темы Vagor.ini
  • Дата начала Дата начала
NotesDatabase.Search() всегда медленее чем getAllDocumentsByKey() из представления.
 
numDocs& = notesView.FTSearch( query$, maxDocs% ) еще быстрее будет
 
@alexas1, я бы не был столь уверен.
по умолчанию ограничение на результат FT 5000 документов, но его можно обойти через ini, о чем я и пишу.
Про скорость, так же спорно, делал отчет по вьюхе, через FT, работал он быстрее search.
Через ByKey всё не обработаешь. Если запрос сложный, то это не прокатит.
 
Это, кажется, настройкой в ini снять можно.
Можно, конечно, но если сразу при развёртывании инфраструктуры об этом не позаботились, то потом править NOTES.INI на всех серверах и всех клиентах весьма сомнительное удовольствие.
 
У меня есть такой вот кусок кода, который загружает картинку из темповой папки в документ.
Код:
Set body = uidoc.Document.GetFirstItem("Photo")
If body Is Nothing Then
Set body = uidoc.Document.CreateRichTextItem("Photo")
Else
Call body.Remove()
Set body = uidoc.Document.CreateRichTextItem("Photo")
End If
 
Set stream = ss.CreateStream
Call stream.Open(Environ("Temp") + "\\_temp_photo.jpg")
Dim dummyRichText As NotesItem
Set dummyRichText = uidoc.Document.GetFirstItem("DummyRichText")
If Not dummyRichText Is Nothing Then
Call dummyRichText.Remove()
End If
Set MIMEbody = uidoc.Document.CreateMIMEEntity("DummyRichText")
Set MIMEheader = MIMEbody.CreateHeader("Content-Type")
Call MIMEheader.SetHeaderVal("multipart/mixed")
Set MIMEchild = MIMEbody.CreateChildEntity() 'Set childEntity = richTextItemObj.CreateChildEntity()
fileFormat = "image/jpeg" 'Other formats are "image/gif" "image/bmp"
Call MIMEchild.Setcontentfrombytes(stream, fileFormat, 1730)
Call stream.Close()
Call uidoc.Document.save(True, True) 'JUST TO REFRESH
 
Set temp = uidoc.Document.GetFirstItem("DummyRichText")
Call body.AppendRTItem(temp)
Call temp.Remove()
Call body.Update
Все бы ничего, работает. Но мне теперь нужно выгрузить эту картинку. И тут я немного в растерянности.
Изначально поле Photo это NotesRichTextItem, но картинка как то странно там лежит, в дебаггере ее не видно, в свойствах тоже. У NotesRichTextItem есть метод Getmimeentity но возвращается пустой объект.
 
Через DXL я получил в формате Base64. Теперь как сохранить его в формат jpeg? На LS есть стандартный метод?
принципиально мои сообщения не читаете?
[DOUBLEPOST=1436360629,1436360588][/DOUBLEPOST]в БД уже все сделано, только путь подставить
 
принципиально мои сообщения не читаете?
[DOUBLEPOST=1436360629,1436360588][/DOUBLEPOST]в БД уже все сделано, только путь подставить
Почему не читаю))) Читаю, я видел эту базу, там как я понял все вложения документа выгружается. А мне нужно чтобы выгружалось из конкретного поля. Через DXL я получил Base64, вот думал его можно на ls преобразовать в картинку. Получается на lotusScripte нет способа сделать этого (исключая варианты с com-объектами). Буду теперь ваш метод разбирать. Кстати, может подскажите, как сделать проверку на название поля?
 
Получается на lotusScripte нет способа сделать этого (исключая варианты с com-объектами).
есть но медленные и нек. с ограничением по объему
вот ссылки от @rinsk
и старт топика от Дмитрия
по LAX - написать доп. класс (и подклоючить), кот. при открытии тега (событие start...) выставит флаг в родительском классе, при выходе (end...) снимет его
прям брать шаблон класса выгрузки и по аналогии..., анализировать надо будет атрибут с именем поля
ну и в коде выгрузки (кот. уже работает) - просто анализировать этот ключ
 
  • Нравится
Реакции: proteam
- это как атрибуты анализировать
 
  • Нравится
Реакции: proteam
по LAX - написать доп. класс (и подклоючить), кот. при открытии тега (событие start...) выставит флаг в родительском классе, при выходе (end...) снимет его
прям брать шаблон класса выгрузки и по аналогии..., анализировать надо будет атрибут с именем поля
ну и в коде выгрузки (кот. уже работает) - просто анализировать этот ключ
Спасибо за ссылки, но что то не могу понять какой флаг нужно выставить? Первый раз столкнулся с этим LAX(
 
Мы в соцсетях:

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