Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/80: Рейтинг темы: голосов - 80, средняя оценка - 4.60
mozymoz

Отображение Attach в представлении

15.06.2010, 13:32. Показов 14712. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята помогите:
Есть форма, в которой существуют поля (RTF) - "D", "D1","D2","D3", вопрос?
Как отобразить в представлении название вложения или хотя бы по каждому полю (есть ли вложение в конкретном поле или нет? меткой).
Пробовал сам писать агент-ничего не получается :(
Нужно перебрать в форме все обьекты по всем полям.
Помогите в написании агента?
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.06.2010, 13:32
Ответы с готовыми решениями:

Отображение Документов В Представлении
Добрый день! Суть проблема такая. Представление имеет ряд столбцов. Если по суммарной ширине столбцов получается, что часть выходит по...

Отображение В Представлении Дочерних Документов
Здравствуйте, уважаемые форумчане и ценители лотуса) Есть одна проблема. Существует представление, в котором должны отображаться...

Поиск и отображение документа в представлении
Всем привет. Что имеем. Недавно досталась по наследству база одна, в ней есть представление А, отсортированное по полю, в котором...

7
1 / 1 / 0
Регистрация: 04.08.2006
Сообщений: 2,950
15.06.2010, 13:47
@AttachmentNames
0
mozymoz
15.06.2010, 14:15
Я пробовал использовать эту функцию, но нужно создать агент который пробежиться по всем существующим документам (по всем четерём полям в форме) и отобразить по каждому полю заполненность, не получается
Можно попробывать "Если в поле найдёт вложение (объект)", то заполнить поле (пустое рядом стоящее на "1"). :( Нюбик
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
15.06.2010, 14:23
Цитата Сообщение от mazimaz
"Если в поле найдёт вложение (объект)", то заполнить поле (пустое рядом стоящее на "1")
"Рядом стоящее" оно в форме, в документе лучше ориентироваться на имя. Т.е. если поля с вложениями называются "D", "D1" ..., то поля с признаками наличия вложения назвать, например "FD", "FD1" ... .

Посмотрите в справке про классы NotesDocument, NotesDocumentCollection, NotesRichTextItem, имеющихся там примеров должно быть достаточно для решения данной задачи.
0
mozymoz
15.06.2010, 14:59
Цитата Сообщение от nvy
"Рядом стоящее" оно в форме, в документе лучше ориентироваться на имя. Т.е. если поля с вложениями называются "D", "D1" ..., то поля с признаками наличия вложения назвать, например "FD", "FD1" ... .

Посмотрите в справке про классы NotesDocument, NotesDocumentCollection, NotesRichTextItem, имеющихся там примеров должно быть достаточно для решения данной задачи.
Ну Вот что Я придумал :(,
Sub Click(Source As Button)
Dim session As New notessession
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim namefield As String
Dim namefield(8) As String
names(0)= "D0"
names(1)= "D1"
names(2)= "D2"
names(3)= "D3"
names(4)= "D4"
names(5)= "D5"
names(6)= "D6"
names(7)= "D7"
names(8)= "D8"
Do i1=1 to UBound(namefield,2) - Ошибка ???
Set rt =doc.getfiestitem(names(i1))
i=o
Forall v1 In V
i=it1
End
End Forall
doc.nrt=i
End Sub
Что дальше??

Этим скриптом Я хочу перебрать в форме поля (D0,D1,D2...D8 RTF) и:
- если в поле D0
- если в поле D1.... и тд.
есть фложение, то рядом у каждого (D0, D1, ......D8) передать значение полю RD0,RD1,RD2,......RD8, "1"
А потом просто отображать в представлении значения полей RD..,"0" и "1"
Что не так поправте.


Добавлено: Ну Вот что Я придумал smile.gif, Посмотрите???

Sub Click(Source As Button)
Dim session As New notessession
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim namefield As String
Dim namefield(8) As String
names(0)= "D0"
names(1)= "D1"
names(2)= "D2"
names(3)= "D3"
names(4)= "D4"
names(5)= "D5"
names(6)= "D6"
names(7)= "D7"
names(8)= "D8"
Do i1=1 to UBound(namefield,2) - Ошибка ???
Set rt =doc.getfiestitem(names(i1))
i=o
Forall v1 In V
i=it1
End
End Forall
doc.nrt=i
End Sub
Что дальше??

Этим скриптом Я хочу перебрать в форме поля (D0,D1,D2...D8 RTF) и:
- если в поле D0
- если в поле D1.... и тд.
есть фложение, то рядом у каждого (D0, D1, ......D8) передать значение полю RD0,RD1,RD2,......RD8, "1"
А потом просто отображать в представлении значения полей RD..,"0" и "1"
Что не так поправте.
0 / 0 / 0
Регистрация: 19.04.2009
Сообщений: 2,219
15.06.2010, 15:20
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Раскрывающийся текст</div></div><div class="sp-body"><div class="sp-content">

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim fieldNames(8) As String
fieldNames(0)= "D0"
...
fieldNames(8)= "D8"
Forall fieldName in fieldNames
Set rt =doc.getfiestitem(fieldName)
If Isempty(rt.EmbeddedObjects) Then
doc.ReplaceItemValue("R" + fieldName, "0")
Else
doc.ReplaceItemValue("R" + fieldName, "1")
End IF
End Forall
doc.Save True, True
Как-то так
P.S. Это если в рт-полях только вложения. Если там могут быть ссылки, а нужны именно вложения, то копать в сторону рт-навигатора.
0
0 / 0 / 0
Регистрация: 15.05.2009
Сообщений: 1,454
15.06.2010, 15:24
Цитата Сообщение от mazimaz
Dim namefield As String
Dim namefield(8) As String
так нельзя - одно и то же имя у массива и строки

просто UBound(namefield), если описано Dim namefield(8) As String
А Dim namefield As String переименуйте
Внимательней:


Цитата Сообщение от mazimaz
getfiestitem


LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim doc As NotesDocument
Dim rtitem As Variant
Dim Attach as String
....
Set rtitem = doc.GetFirstItem(names(i1))
Attach = "0"
If ( rtitem.Type = RICHTEXT ) Then
if isArray(rtitem.EmbeddedObjects) then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
Attach = "1"
Exit Forall
End If
End Forall
End If
End If
call doc.replaceitemvalue("R" & names(i1), Attach )
и где-то в конце doc сохранить...
0
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
15.06.2010, 15:32
Ну Вот что Я придумал :(,
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">ну как-то так:</div></div><div class="sp-body"><div class="sp-content">

Code
1
2
3
4
5
6
7
8
9
10
11
12
Sub Initialize
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Set doc = ws.CurrentDocument.Document
 
Const FIELD_NUM = 8
Dim i As Long
For i = 0 To FIELD_NUM
Call processItem( doc.GetFirstItem( "D" & i ) )
Next
Call doc.Save( False , False )
End Sub

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Function processItem( rtitem As NotesRichTextItem )
Dim flagFieldName As String
Dim flagFieldValue As String
flagFieldName = "F" + rtitem.Name
flagFieldValue = getFlagFieldValue( hasAttachment( rtitem ) )
Call rtitem.Parent.ReplaceItemValue( flagFieldName , flagFieldValue )
End Function
 
Private Function hasAttachment( rtitem As NotesRichTextItem ) As Boolean
hasAttachment = False
If ( rtitem.Type <> RICHTEXT ) Then Exit Function
Forall eo In rtitem.EmbeddedObjects
If ( eo.Type = EMBED_ATTACHMENT ) Then
hasAttachment = True
Exit Function
End If
End Forall
End Function
 
Private Function getFlagFieldValue( flag As Boolean )
getFlagValue = Cstr(Sgn(Clng( flag )))  :-)
If flag Then
getFlagFieldValue = "1"
Else
getFlagFieldValue = "0"
End If
End Function
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.06.2010, 15:32
Помогаю со студенческими работами здесь

Отображение Документов В View (представлении) , Если Текущий Пользоват
Здравствуйте! Помогите пожалуйста разобраться в чем у меня проблема. Задача: Отображать документы в view (представлении) только...

отображение в представлении документов по юзернейм
Ответьте плиз на вопросик. Нужно чтобы в представлении для каждого пользователя отображались те документы которые он сам и создал, а другие...

Отображение данных в представлении
Допустим у меня есть несколько запросов в контроллере и я хочу передать их в представление. Расположить мне нужно следующим образом: ...

Отображение данных в частичном представлении
Добрый день. Возник такой вопрос, есть страница, в ней хочу сделать 2 частичных представления, в 1 будет отображаться боковое выпадающие...

Отображение матрицы на форме в табличном представлении
Решил создать игру, Судоку. Написал консольное приложение которое генерирует массив по всем правилам судоку. Но не знаю как запихнуть в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru