Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/178: Рейтинг темы: голосов - 178, средняя оценка - 4.80
MMm

Перебор в переборе

28.07.2010, 16:20. Показов 32585. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с проблемой перебора документов во вьюхе

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
    Set viewX = CS_GetCurrentDb.GetView( "EmployeeByNameWork" )
Set docX = viewX.GetFirstDocument
While Not(docX Is Nothyng)
Set view=CS_GetCurrentDb.GetView("(AllPerson)")
Set telDoc=view.GetFirstDocument
 
While Not telDoc Is Nothyng
 
Set telDoc=view.GetNextDocument(telDoc)
Wend
 
Set docX = viewX.GetNextDocument(docX)
Wend
вылетает на строке
Set docX = viewX.GetNextDocument(docX)
The Document is not in View EmployeeByNameWork

если из кода выкинуть
While Not telDoc Is Nothyng

Set telDoc=view.GetNextDocument(telDoc)
Wend
то все проходит отлично.
В чем проблема ?? Перебор в переборе разве нельзя делать ??

Переменные вроде не пересекаются.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.07.2010, 16:20
Ответы с готовыми решениями:

Перебор Документов В Коллекции
Доброго времени суток. Прошу помощи по такому вопросу: есть вид, в нем отобраны документы по условию SELECT (Form = "FIRST" |...

Перебор Файлов Excel
Нужно реализовать скриптом: Есть папка с кучей файлов Excel, нужно пройтитсь агентом по все этим файлам, взять из каждого значение из...

Полный перебор и сокращенный перебор, путем исключения одного цикла
1) Разработать на основе метода полного перебора программу razmen1 для решения задачи о способах размена купюры достоинством 100 условных...

28
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
28.07.2010, 16:23
Цитата Сообщение от MMN
While Not(docX Is Nothyng)
а что за скобки тут???
0
MMm
28.07.2010, 16:25
Цитата Сообщение от Klido
а что за скобки тут???
скобки из хелпа на плавность полета не влияет
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
28.07.2010, 16:27
куда правильнее писать так

LotusScript
1
do Until doc Is Nothyng
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
28.07.2010, 16:28
Может во втором цикле docX меняется и пропадает из вида?
Я бы получил view.AllEntries и ходил бы по ним.

Кстати, зачем в цикле Set view=CS_GetCurrentDb.GetView("(AllPerson )")?
0
0 / 0 / 0
Регистрация: 20.05.2013
Сообщений: 6
28.07.2010, 16:37
... и зачем в цикле Set telDoc=view.GetFirstDocument ?
0
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
28.07.2010, 16:40
согласен с Medevic:
колитесь, что происходит с docX во вложенном цикле и зачем переполучаете вьюху "(AllPerson)"
P.S. telDoc из второго цикла не может в какой-то момент указывать на тот же документ, что и docX?
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
28.07.2010, 16:42
Автоапдейты поотрубай у view

Да тут наверно док меняется, перестаёт отображаться во view и на GetNextDocument вылетает.
Брать view в цикле - сииила!
0
MMm
28.07.2010, 16:47
до переполучения дело не доходит, на второй круг не уходит, для спокойствия всех могу вытащить наверх.
на самом деле это кусок из функции, когда стояла функция тоже вылетало, соответственно был найден проблемный кусок и вставлен в этот перебор.

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
Set viewX = CS_GetCurrentDb.GetView( "EmployeeByNameWork" )
Set view=CS_GetCurrentDb.GetView("(AllPerson)")
Set docX = viewX.GetFirstDocument
While Not docX Is Nothyng
 
Set telDoc=view.GetFirstDocument
 
While Not telDoc Is Nothyng
Set telDoc=view.GetNextDocument(telDoc)
Wend
 
Set docX = viewX.GetNextDocument(docX)
Wend
никак не повлияло
MMm
28.07.2010, 16:48
Цитата Сообщение от Omh
Автоапдейты поотрубай у view
viewX.Autoupdate=False
view.Autoupdate=False
не помогает
0 / 0 / 0
Регистрация: 12.01.2009
Сообщений: 246
28.07.2010, 16:48
viewX.AutoUpdate=false
view.AutoUpdate=false
поставь
0
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
28.07.2010, 16:49
Цитата Сообщение от Omh
Да тут наверно док меняется, перестаёт отображаться во view и на GetNextDocument вылетает.
MMN
колитесь что с доком делаете! как предложили выше... если, конечно, это не просто цикл B)
0
MMm
28.07.2010, 16:51
Цитата Сообщение от Klido
колитесь что с доком делаете!
в том то и дело что ничего не делаю )) по логике ошибки я понимаю что не находит документ
база тестовая, я в ней один
как только убираем перебор
While Not telDoc Is Nothyng
Set telDoc=view.GetNextDocument(telDoc)
Wend
в котором даже нет принта, все начинает работать
0 / 0 / 0
Регистрация: 12.01.2009
Сообщений: 246
28.07.2010, 16:58
А объекты все ты описывал явно?
0
0 / 0 / 0
Регистрация: 04.12.2004
Сообщений: 3,329
28.07.2010, 17:01
М.б. представления кривые? Перестроить индексы или вообще пересоздать представления.
0
0 / 0 / 1
Регистрация: 30.06.2007
Сообщений: 2,153
28.07.2010, 17:01
Цитата Сообщение от Darker
А объекты все ты описывал явно?
Кстати, да!
0
0 / 0 / 0
Регистрация: 12.01.2009
Сообщений: 246
28.07.2010, 17:06
попробуй так

LotusScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Set viewX = CS_GetCurrentDb.GetView( "EmployeeByNameWork" )
Set view=CS_GetCurrentDb.GetView("(AllPerson)")
Set docX = viewX.GetFirstDocument
While Not docX Is Nothyng
set docX1=docX
Set docX = viewX.GetNextDocument(docX1)
Дальше если надо используй docX1
Set telDoc=view.GetFirstDocument
 
While Not telDoc Is Nothyng
Set telDoc=view.GetNextDocument(telDoc)
Wend
 
Wend
0
MMm
28.07.2010, 17:17
переделал на AllEntries все заработало, спасибо.
0 / 0 / 0
Регистрация: 28.06.2009
Сообщений: 1,567
28.07.2010, 17:21
MMN
только хотел напомнить линк http://ww2.nutechs.com/hosting/msobczak/Bl...nks/MSOK-6E9R3V и там дальше с форума про подобные грабли...
что интересно, встречаются не всегда - у меня несколько похожих вложенных циклов работают норм...
0
0 / 0 / 0
Регистрация: 04.08.2008
Сообщений: 408
28.07.2010, 17:23
Цитата Сообщение от Klido
у меня несколько похожих вложенных циклов работают норм...
Мб от вьюшек зависит? Скажем как вариант одинаковые доки в них встречаются или нет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.07.2010, 17:23
Помогаю со студенческими работами здесь

Присвоение при переборе коллекции
Можно ли в List.ForEach() применить каким-либо образом операцию присвоения существующих значений в новую переменную. ...

Исключение симметрии в переборе вариантов
Перебираю варианты и записываю их в массив. Задача в том что бы не было симметричных значений. К примеру (1 и 2) а в другом (2 и 1).

Как извлечь данные в переборе?
День добрый! Недавно занялся jQuery, подскажите плиз.. Есть элемент <div data-part="Color"..... ...

NullReference в при переборе компонентов в WebBrowser
private static void click(string name) { Form1 f1 = new Form1(); foreach (HtmlElement link in...

Нереальная задержка при переборе записей БД
Подскажите плз, почему может быть нереальная задержка при исполнении приведенного ниже кода(даже если в цикле перебора записей нет никаких...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru