• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Ошибка

  • Автор темы rm2005
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

rm2005

Добрый день.

Во вьху попадают документы из Excel. Далее происходит их обработка код:
Задача пробежать все появившиеся доки и сделать опред. действия.
Код:
Set view=CurrientDataBase.GetView("Name Free")
Set doc=view.GetFirstDocument
While Not (doc Is Nothing)
item=doc.GetItemValue("Name")	
...
Set item=doc.AppendItemValue("NotesИмя", LotusName)
.....
Call doc.Save(False,False)
Set doc=view.GetNextDocument(doc)
Wend
Call view.Refresh

На строке Set doc=view.GetNextDocument(doc) вылетает ошибка: Не найдена запись в индексе (Name Free)
Не пойму в чём проблема.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для: rm2005
Сохраненные документы пропадают из представления ?
 
F

fvoice

Для: rm2005
а если Call view.Refresh перед обработкой поставить, и вообще проверить есть ли там эти документы.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для: rm2005
Ну тогда что ты хочешь ? :wacko:
Не может он следующий док получить, т.к. текущего уже нет.
Перед обработкой поставь view.AutoUpdate = False. После - view.AutoUpdate = True.
 
R

rm2005

Для: Medevic
Намёк понял. заменил Set doc=view.GetNextDocument(doc) на Set doc=view.GetFirstDocument.
Спасибо за помощь.
 
O

Omh

Для: Medevic
Тем более, что использование view.AutoUpdate = False очень хорошо повышает скорость шастанья по view.
 
R

rm2005

Для: Omh
Действительно AutoUpdate это выход. Воспользовался вашим советом, спасибо.
 
S

Sandr

Получите все документы в коллекцию и делайте с ней что хотите... так надежней...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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