Пишу базу

  • Автор темы Автор темы phantom76
  • Дата начала Дата начала
требуется обезопасить базу - 1 - зашифоровать , 2. запретить копирование и реплики

со вторым нет вопросов: отбираю права и как дополнение могу в свойствах репликации выставить - отмену для этой реплики.
а как ее зашифровать программно? административные средства известны.. что можно придумать?
1 - как вы это собираетесь реализовывать, где вы видели такие варианты? шифровать можно на WS (реализуемо политиками, при создании реплики) , на сервере реализуемо ср-вами ОС (но это снизит скорость доступа, и устойчивсть), да и ваще - зачем шифровать на сервере?
 
интересует такой момент: - Существует ли функция( для @-формул) или свойство для объектов на LS , чтобы проверить перед сохранением документа изменили ли конкретное поле или нет?

вроде нет такой функции, только

P.S.
про вариант "запоминания" значения перез редактированием документа и последующим сравнением с содержанием поля все понятно..
 
phantom76
тут когда то я сам поднимал этот вапрос, жаль не могу найти топика
 
для простоты (независимо от типа поля) сравнения лучше использовать lastmodified итема
 
возможно ли вообще данным методом: view.FTSearch( vSearch, 0) - наложить маску на личный вид пользователя визуально? чтобы организовать фильтр подобный стандартному который доступен пользователю по кнопке для представления? Пытаюсь построить что-то типа поиска, но без использования папок..
 
Не, этим методом низзя.
Есть такая фигня, как @SetViewInfo, но , во-первых, юз виз кашен, во-вторых, она фильтрует по одному параметру (типа embeddedview + ShowSingleCategory)

Предложу изврат: жмёшь кнопку, генериться документ с ричтесктом, в котором линки на документы, отвечающие условию, и их описание.
Открываешь его с SaveOptions = 0

Я давно хотел такую хрень куда-нить пихнуть, но чёт всё не выходит.
 
Не, этим методом низзя.
Есть такая фигня, как @SetViewInfo, но , во-первых, юз виз кашен, во-вторых, она фильтрует по одному параметру (типа embeddedview + ShowSingleCategory)

Предложу изврат: жмёшь кнопку, генериться документ с ричтесктом, в котором линки на документы, отвечающие условию, и их описание.
Открываешь его с SaveOptions = 0

Я давно хотел такую хрень куда-нить пихнуть, но чёт всё не выходит.

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

Можно обойтись без сохранений если выполнить "магическое" копирование поля.
Код:
	Dim ws As New NotesUIWorkspace
Dim ns As New NotesSession
Dim doc As NotesDocument

Set doc = ns.CurrentDatabase.CreateDocument
doc.Form = "Memo"

Set tmpBody = New NotesRichTextItem ( doc, "tmp" )

'Заполняем чем-нибудь временное RT-поле
Call tmpBody.addnewline (1) 
Call tmpBody.appendtext ( "=========== Результат =================")
Call tmpBody.addnewline (1)

'***** Магическое копирование в нужное поле ***
Call tmpBody.CopyItemToDocument( doc, "Body")	

Call tmpBody.remove

ws.EditDocument False, doc
Для создания доклинков рекомендую использовать недокументированный AddLinkByIDs - он быстрее в несколько раз.
Код:
Set defViewNote = db.GetDocumentById("FFFF0008") 'Получение ноты дефолтного вида.
For ...
.AddLinkByIDs db.ReplicaId, db.Server, defViewNote.UniversalId, doc.UniversalId, doc.Subject(0)
Next
 
также можно после заполнения ричтекста сделать .ComputeWithForm(True, False), правда я выводил данные в диалогбокс, может и для редактирования сработает..
 
ок. спасибо!

теперь немного другой момент:

генерирую некоторый файл через NotesSession, и выгружал его на диск, - все понятно...
создать документ в памяти и отправить его юзеру по почте - тоже понятно..
а возможно без сохранения на диск сгенерировать файл и отправить его пользователю по почте?
 
phantom76
Можно. Через NotesMIMEEntity.

Примерно так:
Код:
Session.ConvertMime = False
Dim body As NotesMIMEEntity
Set body = newdoc.CreateMIMEEntity
Dim header As NotesMIMEHeader
Set header = body.createHeader("Content-Disposition")
Call header.setHeaderVal("attachment; filename=<YOUR_FILENAME>") 
Call body.SetContentFromBytes(Stream, "text/plain", ENC_IDENTITY_BINARY) 'в данный момент в Stream должен быть контент файла
Session.ConvertMime = True
 
коллеги, кто-нибудь решал такой вопрос:

на форме есть таблица из вкладок, на каждой вкладке есть набор полей, хочу сделать так, чтобы при клике по любой из вкладок, фокус устанавливался на предопределенное поле, Вообще это возможно? т.к. сейчас фокус остается на наименовании вкладки..
 
чтобы при клике по любой из вкладок, фокус устанавливался на предопределенное поле, Вообще это возможно?
Возможно. Для этого надо в свойствах поля на 1-ой вкладке внизу (раздел "Табуляция") поставить нужный порядковый номер (в вашем случае 1) в опции "Порядок при переборе по клавише Tab". Потенциально может помочь и опция "Исходно помещать в поле фокус"
 
Возможно. Для этого надо в свойствах поля на 1-ой вкладке внизу (раздел "Табуляция") поставить нужный порядковый номер (в вашем случае 1) в опции "Порядок при переборе по клавише Tab". Потенциально может помочь и опция "Исходно помещать в поле фокус"

спасибо, это все я уже пробовал, не помогает..
 
Точно! Поискал, вспомнил, нашел... :) Таким способом фокус помещается в нужное поле один раз - только при открытии формы, потом при переключении вкладок сбивается на левое верхнее :(
Но зародилась другая идея - вместо встроенных табов натулить, например, гиперобъектов-действий, а под них написать нужные обработчики. Описывать замутку на пальцах долго, вот нарыл на аглицком для этой идеи в картинках. Там токо чуток кода добавить в ф-ию
Код:
Sub OnClickTab ( w As NotesUIWorkspace, s As NotesSession, uidoc As NotesUIDocument, doc As NotesDocument, row As String )
...
Call uidoc.GotoField( "хочу_фокус_здесь" )
...
End Sub
и все будет нормуль :)
 
amigolinx спасибо!! полезный ресурс, возьму на заметку :) как реализую отпишусь..
 
Мы в соцсетях:

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