AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.07.2012, 01:16   #8  
Romul is offline
Romul
Участник
 
186 / 11 (1) +
Регистрация: 26.12.2007
Цитата:
Сообщение от AlexB Посмотреть сообщение
Цитата:
Сообщение от Orwell Посмотреть сообщение
IF RecRef.FIND('-') THEN BEGIN
REPEAT
RecRef2 := RecRef.DUPLICATE;
RecRef2.CLOSE;
UNTIL RecRef.NEXT = 0;

Система в этом случае валится через непродолжительное время.
Запустил этот код у себя на 5-ке (Build 25560, 26084 как у вас, под рукой не окзался) для 2 млн. записей: всё ОК, система не валится, так же ОК если не делать RecRef2.CLOSE (зачем вообще делать CLOSE если вы не делаете до этого OPEN?).
Что вы вообще потом делаете с RecRef2 после duplicate? Если хотите в цикле после каждого duplicate 100% очистить RecRef2, то сделайте просто CLEAR(RecRef2), и правильнее будет даже CLEAR сделать до duplicate.
Может у вас всё же в коде программа впадает в бесконечный цикл из за неложенных фильтров?
По поводу производительности: по-видимому в recref та же технология как и в темповых rec-переменных, у этих тоже с определённого числа записей производительность падает, т.к. темповые таблицы грузятся в память клиента.
Можно без close... Можно с CLEAR.
Но CLEAR до дупликейта не надо делать (да он и не поможет здесь), ровно как не надо делать CLEAR при COPY на таблицу - фильтры затрутся новыми...
В момент следующего дупликейта произойдет возврат нового рекрефа.
На RecRef ключ пробовали накладывать (скажем, по номеру счета)? По счету отфильтровали? В моей базе записей больше 10 млн. на всей 17-й. В отфильтрованном и отсортированном по правильному ключу наборе - порядка 2 млн. Пробуйте с ключом/фильтрами.
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:49.