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

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

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

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

Если В Поле Есть Слеш, То Преобразуется В Канонический Вид, Как Избежа

Статус
Закрыто для дальнейших ответов.

azzza

Green Team
26.04.2011
68
3
BIT
6
Добрый день !

Шибко умный Лотус опять взялся за меня, прошу помощи, не могу сообразить как обойти грабли:

Так если в текстовом поле есть слеш (/), то преобразуется в канонический вид, как избежать?

Пример: оборудование и б/п сохраняет как оборудование и б

Иногда если впереди английская буква добавляет CN=

Заранее прошу прощения за такой вопрос ...
 

NickProstoNick

Статус как статус :)
Lotus Team
22.08.2008
1 851
27
BIT
0
первый раз такое слышу.
Скрин свойства поля есть?
 

azzza

Green Team
26.04.2011
68
3
BIT
6
поле типа names что ли?
В том то и дело что нет.

Привожу скрины, преобразования данных прошу не брать в расчет, пытался обмануть.

uvot1.gif

uvot2.gif

uvot3.gif

uvot4.gif
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
179
Попробуйте:
1. Удалить поле и создать заново
2. Поменять стиль на Notes
Если эту базу делали с нуля не вы, то может где-то в событиях или агенте идет обработка этого поля?
 

azzza

Green Team
26.04.2011
68
3
BIT
6
Попробуйте:
1. Удалить поле и создать заново
2. Поменять стиль на Notes
Если эту базу делали с нуля не вы, то может где-то в событиях или агенте идет обработка этого поля?


Делал я с нуля, для эксперимента создал другую форму и там то же , без / все ок, с ним идет авто подмена, где косяк или настройка хз ???
Могу ли предложить провести эксперимент у Вас ?
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
179
Да нет у меня такого, клиент 9.0
Если в любой другой базе тоже так, то это какая-то настройка клиента.
Может из-за того, что он русский. Может языковые настройки базы..
 

azzza

Green Team
26.04.2011
68
3
BIT
6
Попробуйте:
1. Удалить поле и создать заново
2. Поменять стиль на Notes
Если эту базу делали с нуля не вы, то может где-то в событиях или агенте идет обработка этого поля?

БД покорежилось, похоже, фиксанул и помогло, бред.

Спасибо за помощь ...
 

azzza

Green Team
26.04.2011
68
3
BIT
6
БД покорежилось, похоже, фиксанул и помогло, бред.

Спасибо за помощь ...

Проверил в копии БД, видимо часть полей по каким - то причинам поимела флаг IsNames

Накидал скриптик (смысл сбросить флаги) и повесил на кнопку в представлении, выделил доки и запустил кнопку.

Ниже привожу, вдруг пригодиться кому.

<!--shcode--><pre><code class='VB'>Dim s As New NotesSession
Dim db As NotesDatabase
Dim uiview As NotesUIView
Dim col2 As NotesDocumentCollection
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Dim item As NotesItem
Dim uidoc As notesuidocument

Set db = s.CurrentDatabase

Set uiview = ws.CurrentView
If Not uiview Is Nothing Then
Set col2 = uiview.Documents
Else
Set col2 = db.Unprocesseddocuments
End If
Print "Документов : " & Cstr(col2.Count)
If col2 Is Nothing Or col2.Count <=0 Then
Set uidoc = ws.Currentdocument
If Not uidoc Is Nothing Then
Set doc =uidoc.document
Set item = doc.GetFirstItem("Имя кривого поля")
item.IsSummary = True
item.IsAuthors =False
item.IsNames=False
item.IsReaders=False
Call doc.Save (True,True)
Else
Dim caret As String
' находимся на доке?
caret = uiview.CaretNoteID
If caret = "0" Then Goto endy
On Error Resume Next
Set doc = db.GetDocumentByID(caret)
Set item = doc.GetFirstItem("Имя кривого поля")
item.IsSummary = True
item.IsAuthors =False
item.IsNames=False
item.IsReaders=False
Call doc.Save (True,True)
End If
Else
Set doc = col2.GetFirstDocument()

While Not(doc Is Nothing)

Call doc.save(True,False)

Set item = doc.GetFirstItem("Имя кривого поля")
item.IsSummary = True
item.IsAuthors =False
item.IsNames=False
item.IsReaders=False
Call doc.save(True,False)


If col2.Count>0 Then
Set doc = col2.GetNextDocument(doc)
Else
Set doc = Nothing
End If
Wend
End If
endy:[/CODE]
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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