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

Тема в разделе "Lotus - Программирование", создана пользователем azzza, 25 фев 2014.

Статус темы:
Закрыта.
  1. azzza

    azzza Well-Known Member

    Регистрация:
    26 апр 2011
    Сообщения:
    54
    Симпатии:
    0
    Добрый день !

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

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

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

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

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

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    первый раз такое слышу.
    Скрин свойства поля есть?
     
  3. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    поле типа names что ли?
     
  4. azzza

    azzza Well-Known Member

    Регистрация:
    26 апр 2011
    Сообщения:
    54
    Симпатии:
    0
    В том то и дело что нет.

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

    uvot1.gif

    uvot2.gif

    uvot3.gif

    uvot4.gif
     
  5. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Попробуйте:
    1. Удалить поле и создать заново
    2. Поменять стиль на Notes
    Если эту базу делали с нуля не вы, то может где-то в событиях или агенте идет обработка этого поля?
     
  6. azzza

    azzza Well-Known Member

    Регистрация:
    26 апр 2011
    Сообщения:
    54
    Симпатии:
    0

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

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Да нет у меня такого, клиент 9.0
    Если в любой другой базе тоже так, то это какая-то настройка клиента.
    Может из-за того, что он русский. Может языковые настройки базы..
     
  8. azzza

    azzza Well-Known Member

    Регистрация:
    26 апр 2011
    Сообщения:
    54
    Симпатии:
    0
    БД покорежилось, похоже, фиксанул и помогло, бред.

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

    azzza Well-Known Member

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

Поделиться этой страницей