• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Добавление аттачей без удаления и исправления

  • Автор темы Ruku
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

Ruku

Добрый день

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

Как это правильнее реализовывать

первое что пришло в голову создать раздел с ограничением доступа разместить в него rtf поле и добавлять туда аттачи, а потом закрыть на него доступ, но тогда если потом понадобится снова добавить туда аттач, придется открывать поле на редактирование а это позволит удалить старые файлы или изменить их что не хотелось бы допускать.

я еще пробовал играться с вычисляемыми rtf-полями, но почему-то аттачи добавляются не в них а вместо этого в нижней части документа появляется раздел с добавленными аттачами. Вроде бы оттуда файлы не удалить, но может я просто не вижу как.

кто-нибудь решал такую задачу?
 
P

pbnoob

Есть следующая идея.
Создаешь RTI поле типа Computed (чтобы грязными пальцами в секретную аппаратуру не тыкали :))

Затем создаешь Action->Button "Добавить", и на нее цепляешь действие добавки некой формы(Response) с одним RTI полем уже редактируеммым, в котором и будет работать пользователь.

@Command([Compose]; @DbName; "имя редактируемой формы")

так же делаешь еще кнопочку (опять же рядом, типа "Обновить")

Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc=ws.CurrentDocument
Set doc=uidoc.Document
EM=uidoc.EditMode
If EM Then Call uidoc.Save
Call uidoc.Close
Call ws.EditDocument(EM, doc)
End Sub

для автоматического сохранения и повторного открытия, с тем самым чтобы изменения вступили в силу

и в QueryOpen или PostOpen пишешь свою функцию, которая будет "склеивать" все респонз формы в одну в RTI (Computed) поле родительского документа.

Это почти общая идея, если нужно более подродно пиши - отвечу.
(Постараюсь еще скрины прицепить)
Посмотреть вложение 001.bmp
Посмотреть вложение 002.bmp
 
E

Elena Nefedova

Ну я бы попробовала программно добавлять в поле, которого нет на форме.
Проверить наличие поля и его тип - если все подходит, добавляем аттач.
 
R

Ruku

<!--QuoteBegin-Elena Nefedova+8:09:2006, 16:45 -->
<span class="vbquote">(Elena Nefedova @ 8:09:2006, 16:45 )</span><!--QuoteEBegin-->Ну я бы попробовала программно добавлять в поле, которого нет на форме.
Проверить наличие поля и его тип - если все подходит, добавляем аттач.
[snapback]43480" rel="nofollow" target="_blank[/snapback]​
[/quote]

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

pbnoob

<!--QuoteBegin-Ruku+8:09:2006, 14:53 -->
<span class="vbquote">(Ruku @ 8:09:2006, 14:53 )</span><!--QuoteEBegin-->Тогда не понятно как их просматривать.
каюсь сразу этого не оговорил в задаче.
мне нужно чтобы просмотреть аттачи было возможно, но невозможно их удалить или поменять, только добавить новый.
[snapback]43485" rel="nofollow" target="_blank[/snapback]​
[/quote]

Почитай пожалуйста внимательнее мой пост. Я так как раз описал всю технологию, так как сам только что ее реализовал. Если трудности с функцией, то и ее код могу выложить!!!
 
R

Ruku

Думаю пойду по пути ответных документов, каждый из которых будет содержать аттачи, но уже не сможет быть отредактирован
И внедренное представление в саму форму.
Захотел открыть - щелкнул на ответном документе и пользуйся аттачем
 
R

Ruku

Думаю пойду по пути ответных документов, каждый из которых будет содержать аттачи, но уже не сможет быть отредактирован
И внедренное представление в саму форму.
Захотел открыть - щелкнул на ответном документе и пользуйся аттачем
 

Andre

Green Team
29.07.2004
114
1
BIT
1
А если попробовать вариант с хранением каждого attach в отдельном документе и привязывать их к основному документу. ОТображать их привязанными к документу в embedded view с галкой show single category.
Доступ разруливается доступом на уровне author и reader fields к документу содержащему attach.
Просмотр тоже реализуется - как вариант свойством формы Auto launch - first attachment
 
E

Elena Nefedova

Тогда не понятно как их просматривать.
Для просмотра рисуем кнопку на скрипте, которая нам выведет список всех аттачей, а мы выберем, что открыть нужно

И с ответными документами тоже вариант хороший.
Если привязать к EmmbeddedView редактор, то быстренько все аттачи будут показываться в окне редактора (только хайдинг ответных форм надо корректно настроить)
 
30.05.2006
1 345
12
BIT
0
Тогда не понятно как их просматривать.
каюсь сразу этого не оговорил в задаче.
мне нужно чтобы просмотреть аттачи было возможно, но невозможно их удалить или поменять, только добавить новый.
Ну,эт просто. Закрываешь док-т на редактирование (полем AUTHORS), а добавляющая аттачи кнопа запускает фоновый агент (автор которого ИМЕЕТ права на правку)
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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