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

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

azzza

Well-known member
26.04.2011
65
0
#1
Добрый день !

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

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

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

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

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

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#2
первый раз такое слышу.
Скрин свойства поля есть?
 

azzza

Well-known member
26.04.2011
65
0
#4

Вложения

savl

Lotus team
28.10.2011
2 136
105
#5
Попробуйте:
1. Удалить поле и создать заново
2. Поменять стиль на Notes
Если эту базу делали с нуля не вы, то может где-то в событиях или агенте идет обработка этого поля?
 

azzza

Well-known member
26.04.2011
65
0
#6
Попробуйте:
1. Удалить поле и создать заново
2. Поменять стиль на Notes
Если эту базу делали с нуля не вы, то может где-то в событиях или агенте идет обработка этого поля?

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

savl

Lotus team
28.10.2011
2 136
105
#7
Да нет у меня такого, клиент 9.0
Если в любой другой базе тоже так, то это какая-то настройка клиента.
Может из-за того, что он русский. Может языковые настройки базы..
 

azzza

Well-known member
26.04.2011
65
0
#8
Попробуйте:
1. Удалить поле и создать заново
2. Поменять стиль на Notes
Если эту базу делали с нуля не вы, то может где-то в событиях или агенте идет обработка этого поля?
БД покорежилось, похоже, фиксанул и помогло, бред.

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

azzza

Well-known member
26.04.2011
65
0
#9
БД покорежилось, похоже, фиксанул и помогло, бред.

Спасибо за помощь ...
Проверил в копии БД, видимо часть полей по каким - то причинам поимела флаг 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]
 
Статус
Закрыто для дальнейших ответов.