Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Индексирование файлов / 3 сообщений из 3, страница 1 из 1
08.09.2014, 15:34
    #38740682
John Smit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексирование файлов
На работе в одной из старых программ (написана была 20 лет назад) заглючила обработка оборотно-сальдовой ведомости.
Она обрабатывается помесячно, и при обработке августа месяца выдается ошибка "Индекс массива выходит за заданные пределы". За июль и сентябрь берется нормально.
Что только не делали: переиндексировали все что только можно, проверяли установку связей между таблицами, проверили соответствие индекса искомым данным, т.е. чтоб при поиске по индексу он точно находил соответствие в искомой таблице и т.д. Ничего не помогает.

Нашли решение только если уменьшить число записей за 'август' месяц. Т.е. если вручную убрать за август месяц часть строк, тогда задача проходит, но результаты оборотной ведомости должны сойтись до копейки, разделить её на 2 файла нельзя. Так как быть, вообще на что думать? Если кто что может подсказать то помогите пожалуйста.
...
Рейтинг: 0 / 0
08.09.2014, 15:45
    #38740710
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексирование файлов
Индекс массива не имеет никакого отношения к индексам таблиц.
"Индекс массива выходит за заданные пределы" - означает что в коде создается массив из N элементов, а программа пытается обратится к N+1 элементу.

John SmitНашли решение только если уменьшить число записей за 'август' месяц.
Можно предположить что создается массив фиксированного размера и прога туда переливает таблицу для дальнейшего обсчета. Размера массива не хватает.

В общем исходники надо смотреть.
...
Рейтинг: 0 / 0
08.09.2014, 17:08
    #38740848
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Индексирование файлов
John SmitНа работе в одной из старых программ (написана была 20 лет назад) заглючила обработка оборотно-сальдовой ведомости.
Она обрабатывается помесячно, и при обработке августа месяца выдается ошибка "Индекс массива выходит за заданные пределы". За июль и сентябрь берется нормально.
Что только не делали: переиндексировали все что только можно, проверяли установку связей между таблицами, проверили соответствие индекса искомым данным, т.е. чтоб при поиске по индексу он точно находил соответствие в искомой таблице и т.д. Ничего не помогает.

Нашли решение только если уменьшить число записей за 'август' месяц. Т.е. если вручную убрать за август месяц часть строк, тогда задача проходит, но результаты оборотной ведомости должны сойтись до копейки, разделить её на 2 файла нельзя. Так как быть, вообще на что думать? Если кто что может подсказать то помогите пожалуйста.

Проверьте кол-во записей (плюс поля) которое передаётся в массив, скорее всего превышен предел в 65000 элементов массива.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Индексирование файлов / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]