![]() |
#1 |
Участник
|
Доброе утро. При создании книги продаж (Финансы-->Налоговый учет-->Отчеты-->Журналы НДС) выдает следующую ошибку:
Код: --------------------------- Microsoft Business Solutions-Navision --------------------------- Операционная система возвратила ошибку (131): Попытка поместить указатель на файл перед началом файла. Объект: Report 12456 - Create VAT Sales Ledger. Может кто-нибудь сталкивался с этим? |
|
![]() |
#2 |
Участник
|
Доброе!
Насколько я помню и если не ошибаюсь ![]() эта ошибка вам говорит, что темповый файл (C:\Documents and Settings\%User Profile%\Local Settings\Temp\), в котором NAV хранит промежуточные данные для своих нужд, превысил размер в 2Gb (видимо указатель на файл имеет тип данных например *int (32 бита со знаком)). Обычно к таким последствиям приводят долгоиграющие ресурсоемкие задания. Чтобы проверить это, Вы можете запустить задание и отслеживать изменения в размерах темпового файла. Что с этим делать? необходимо разбивать задачу на подзадачи, таким образом чтобы накопившиеся данные коммитились еще до того, как размер файла подкачки превысит критический объем |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от del_negrozzz
![]() Доброе!
Насколько я помню и если не ошибаюсь ![]() эта ошибка вам говорит, что темповый файл (C:\Documents and Settings\%User Profile%\Local Settings\Temp\), в котором NAV хранит промежуточные данные для своих нужд, превысил размер в 2Gb (видимо указатель на файл имеет тип данных например *int (32 бита со знаком)). Обычно к таким последствиям приводят долгоиграющие ресурсоемкие задания. Чтобы проверить это, Вы можете запустить задание и отслеживать изменения в размерах темпового файла. Что с этим делать? необходимо разбивать задачу на подзадачи, таким образом чтобы накопившиеся данные коммитились еще до того, как размер файла подкачки превысит критический объем Так как отчет стандартный, может быть у кого-нибудь готовые рецепты? |
|
![]() |
#4 |
Участник
|
Решение может быть, как програмным:
- После обработки какого-то количества строк вызывать COMMIT так и организационным: - Запускать задание не по всей таблице сразу, а разбить VAT Ledger на куски и поочередно обрабатывать их заданием (если это конечно позволяет логика задания) |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от del_negrozzz
![]() Решение может быть, как програмным:
- После обработки какого-то количества строк вызывать COMMIT так и организационным: - Запускать задание не по всей таблице сразу, а разбить VAT Ledger на куски и поочередно обрабатывать их заданием (если это конечно позволяет логика задания) |
|
![]() |
#6 |
Участник
|
Неужели никто не сталкивался с данной проблемой? Как можно переделать данный отчет чтобы он не отъедал много виртуальной памяти (темповые файлы)?
Заранее, спасибо. |
|
![]() |
#7 |
Участник
|
Цитата:
Сохранение записей во временной таблице увеличивает размер временного файла. В своем отчете я сохранял результаты вычислений во временной таблице "Line Number Buffer". В таблице много полей, а по факту пользовался 10 процентами. В результате, при работе отчета файл с временной таблицей разрастался до 2GB и вываливалась ошибка 131. РЕШЕНИЕ Сделал отдельную табличку, только с нужными мне полями. И её запользовал как временную. Временный файл стал разрастаться значительно медленнее. Ошибка была устранена. |
|