1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

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

  1. Ruslan280

    Ruslan280 Well-Known Member

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

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

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

    Ruslan280 Well-Known Member

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

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

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

    anna Well-Known Member
    Lotus team

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

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

    Репутация:
    0
    Регистрация:
    6 ноя 2007
    Сообщения:
    3.185
    Симпатии:
    22
  7. Shandrik

    Shandrik Well-Known Member
    Lotus team

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

    Ruslan280 Well-Known Member

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

    Shandrik Well-Known Member
    Lotus team

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

    Shandrik Well-Known Member
    Lotus team

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

    Код:
    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к", если переполнена их сумма.
     
Загрузка...

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