yvymt01
|
|
1 | |
Notesrichtextitem26.05.2009, 16:30. Показов 47077. Ответов 35
Метки нет (Все метки)
По ходу знакомства с Лотусом возникла одна сложная проблема.
Такая проблема: как отобразить в документе поле NotesRichTextItem созданное с помощью метода new или createrichtextitem? (В свойствах документа это поле есть.) |
26.05.2009, 16:30 | |
Ответы с готовыми решениями:
35
Notesrichtextitem и Link Помогите с Notesrichtextitem Изменения Notesrichtextitem Поле NotesRichTextItem и SaveOptions |
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
26.05.2009, 16:33 | 2 |
на форме отображаются те поля, которые дизайнер в дизайнере влепил как поле.
кодом можно добавить итемы не зависимо от того, что на форме отображается... если на форме есть поле, имя которого совпадает с именем итема в документе, то значение этого итема отобразится в таком поле, при открытии документа... вывод - нужно добавить на форму RT-поле
0
|
yvymt01
|
|
26.05.2009, 16:46 | 3 |
Сообщение от Akupaka
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
26.05.2009, 17:01 | 4 |
ой... я не выдержу снова это объяснять ;)
мужики, помогайте!.. дело в том, что работать с richtext на уи и бэкэнде параллельно нельзя прямо - нужно через зад... поэтому конкретный совет можно сделать только, если будет поставлена конкретно задача. пока могу лишь посоветовать поискать по форуму по работе с richtext... тут рядом есть ветка, если умеешь абстрагироваться от задачи, то должен понять суть... :blink:
0
|
yvymt01
|
|
26.05.2009, 17:10 | 5 |
Сообщение от Akupaka
есть форма с одним полем типа Rich Text, имя поля "F1", есть action со следующим кодом [codebox]Sub Click(Source As Button) Dim ws As New NotesUIWorkspace Dim uidoc As NotesUIDocument Dim curdoc As NotesDocument Dim rtitem As Variant Set uidoc = ws.CurrentDocument Set curdoc = uidoc.Document Set rtitem = curdoc.CreateRichTextItem("F1") Call rtitem.AppendText( "ABC" ) Call curdoc.Save( False, True ) End Sub[/codebox] Нужно, чтобы после нажатия кнопки содержимое отображалось в поле. |
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
26.05.2009, 17:12 | 6 |
В данной задаче можно начать с uidoca, а не с background документа.
А именно Код
Call UIDocFieldSetText("F1", "ABC")
0
|
yvymt01
|
|
26.05.2009, 17:14 | 7 |
Сообщение от Omh
|
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
26.05.2009, 17:17 | 8 |
Ну тогда откупорить гуголь и почитать, как переоткрыть документ, что такое SaveOptions = "0" и почему richtext не появляется сразу.
На самом деле, это уже пержёвано пицот раз, не то что до состояния кашицы, а уже на атомы разобрано ;) И на этом форуме и на -надцати других. Если о сути, то надо переоткрыть ui документ после апдейта ричтекста.
0
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
26.05.2009, 17:19 | 9 |
короче гря, смотри код, анализируй, испытывай ;)
тот самый финт, о котором там грится - переоткрытие УИ-документа после изменения richtextа, чтобы отобразить эти изменения... (через зад) просто, это на столько пережеванная тема... и каждый новичек стремиться задать похожий вопрос :blink:
0
|
yvymt01
|
|
26.05.2009, 17:27 | 10 |
Сообщение от Omh
[codebox]Dim wksp As New NotesUIWorkspace Dim session As New NotesSession Dim uidoc As NotesUIDocument, uidocNew As NotesUIDocument Dim doc As NotesDocument Dim rti As NotesRichTextItem Dim strFieldname As String Set uidoc = wksp.CurrentDocument uidoc.Refresh True do thys if the rich text field is editable, to get the current contents in case user has modified them. Set doc = uidoc.Document get the back-end document for the document open on screen. strFieldname = uidoc.CurrentField remember the current field if any Set rti = doc.GetFirstItem("BodyZ") insert your fieldname here, generally "Body" Make your rich text changes here, for instance: Call rti.AddNewLine(1, True) Call rti.AppendText(Now & ": log entry.") If session.NotesBuildVersion >= 190 Then rti.Update ND6 only Else Call doc.ComputeWithForm(True, False) caution, as thys may erase some field values if you have @Db functions in formulas. End If doc.SaveOptions = "0" make it possible to close the document without a "do you want to save" prompt. If thys is a mail-in doc you may need to set MailOptions="0" also to avoid being prompted. Call uidoc.Close(True) Set uidocNew = wksp.EditDocument(True, doc, , , , True) Delete uidoc uidocNew.Document.RemoveItem("SaveOptions") If strFieldname <> "" Then uidocNew.GotoField(strFieldname) return focus to field that was current before.[/codebox] |
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
|
|
26.05.2009, 17:43 | 11 |
что то типа
Код
Set rtitem = curdoc.CreateRichTextItem("F1") Call rtitem.AppendText( "ABC" ) Call curdoc.Save( False, True ) Call curDoc.ReplaceItemValue("SaveOptions", "0") Call uidoc.Close Dim TmpDoc as NotesDocument Set TpmDoc = db.getDocumentByUNID(curdoc.UniversalID) Call ws.EditDocument(False, TmpDoc)
0
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
26.05.2009, 17:46 | 12 |
Event01, вот скажи честно, впадло разобрать тот код, что я тебе посоветовал? ;)
ведь он простой до ужаса!
0
|
yvymt01
|
|
26.05.2009, 17:51 | 13 |
Сообщение от Omh
Сообщение от Akupaka
|
0 / 0 / 0
Регистрация: 04.10.2007
Сообщений: 2,977
|
|
26.05.2009, 17:58 | 14 |
в той ветке человечек так же учится как и ты, только задача немного иная, хотя лечится тем же способом...
0
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
26.05.2009, 18:20 | 15 |
Сообщение от Event01
если в другой раз понадобится, может, руки дойдут, и в простом "до ужаса" разберется ;)
0
|
yvymt01
|
|
26.05.2009, 20:02 | 16 |
а можно ли как нибудь открыть attachment файл, используя LotusScript?
|
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
|
|
26.05.2009, 20:20 | 17 |
Есть вариант выгрузить аттач себе на диск (см хелп ExtractFile) и открыть с диска.
Как и где открыть, уже зависит от типа файла, операционки и т.п.
0
|
yvymt01
|
|
29.05.2009, 19:17 | 18 |
еще два вопроса возникли.
1. Как можно обновить actions чтобы hide formula перевычислилась? 2. как можно программно скрывать/отображать actions, не используя hide formula? |
0 / 0 / 0
Регистрация: 15.12.2006
Сообщений: 641
|
|
29.05.2009, 23:11 | 19 |
Сообщение от Event01
2. Вроде бы никак.
0
|
yvymt01
|
|
30.05.2009, 18:16 | 20 |
Сообщение от K-Fire
Можно ли сделать, чтобы поле readers указывало бы только на возможность открытия документа, а не на отображение его в представлении? |
30.05.2009, 18:16 | |
30.05.2009, 18:16 | |
Помогаю со студенческими работами здесь
20
Notesrichtextitem и Ссылки в нем Убрать Рамку У Ссылки Notesrichtextitem Баг Метода Embedobject Класса Notesrichtextitem Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |