Как найти документы с переполнением (32k)

Тема в разделе "Lotus - Программирование", создана пользователем Ruslan280, 9 ноя 2015.

  1. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0
    Как найти документы с переполнением (32k) ? знаю что можно scanez, но там не знаю как правильно задать интервал noteid для поиска - по дефолту хочет перебрать 4 миллиарда вариантов
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    самому написать скрипт, суть в том, чтобы обьём всех суммари полей был меньше 32К
     
  3. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0
    по-моему такие документы не попадают в db.alldocuments (, тк я пытался сделать скрипт, но документы эти не нашел
    а в консоли при обновлении вьюх ошибки таки есть
     
  4. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    брехня, туда попадают даже удаленные ;)
     
  5. anna

    anna Lotus team
    Lotus team

    Регистрация:
    3 июн 2014
    Сообщения:
    310
    Симпатии:
    8
    я пыталась это определять, проверяя, что возвращает Save, но так и не уверена, всегда ли срабатывает.
     
  6. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
  7. Shandrik

    Shandrik Well-Known Member

    Регистрация:
    30 дек 2010
    Сообщения:
    236
    Симпатии:
    24
    А в какой момент-то 32к беспокоит?
    Если в момент doc.Save или uidoc.save, то не факт, что они во вьюшках уже с переполнением.
     
  8. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0
    перестроил вьюху - доки с переполнением пропали в ней ( руками подправляю - появляются .Но я смог найти только пару штук тк знал униды, остальные как найти?)
     
  9. Shandrik

    Shandrik Well-Known Member

    Регистрация:
    30 дек 2010
    Сообщения:
    236
    Симпатии:
    24
    Ещё раз - в какой момент 32к беспокоит? При открытии, при сохранении, при попытке выбрать в пиклисте? Что делается с проблемным документом?
     
  10. Shandrik

    Shandrik Well-Known Member

    Регистрация:
    30 дек 2010
    Сообщения:
    236
    Симпатии:
    24
    Прогоните db.AllDocuments по функции:

    Код (LotusScript):
    Function Check32or64k$(nd As NotesDocument)
    Const Lim32k=32000
    Const Lim64k=64000
    Dim SumSize%
    Forall it In nd.Items
    If it.IsSummary Then
    If it.ValueLength>Lim32k Then Check32or64k=Check32or64k & Chr(10) & it.name
    SumSize%=SumSize% +it.ValueLength
    End If
    End Forall
    If SumSize%>Lim64k Then Check32or64k$=Check32or64k$ & Chr(10) & "64k"
    End Function
     
    По каждому документу должна вернуть имена переполненных саммари-полей и/или "64к", если переполнена их сумма.
     
Загрузка...

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