Сайт не работает без javascript. Включите поддержку javascript в настройках браузера!
🔴 Бесплатный вебинар: Импорт из Китая-2026: от контракта до вычета НДС →

Как справиться с ошибкой «CodeBase Error #: -310» в 1С:Предприятие 7.7

Ошибка возникает при непосредственном удалении записи в таблице с количеством записей более 16777215 штук. Удаляемые записи могут располагаться и до этой границы.
Как справиться с ошибкой «CodeBase Error #: -310» в 1С:Предприятие 7.7

Ошибка возникает при непосредственном удалении записи в таблице с количеством записей более 16777215 штук. Удаляемые записи могут располагаться и до этой границы.

Сообщение об ошибке указывает на индекс «IDELETED» с индексным выражением «D» и выражением фильтра «DELETED()». Этот индекс используется для нахождения помеченных на удаление записей и размещения на их месте новых добавляемых записей.

Ранее мы сталкивались с этой ошибкой. В этот раз у клиента оказалось все сложнее. Описание задачи:

У нас 1с7 начала выдавать ошибку, после индексации (с удалением .cdx ) снова можно работать от 30 минут до 2х часов и снова ошибки. Помогите, пожалуйста, разобраться в причинах и восстановить нормальную работу программы.

Сообщение об ошибке

Сообщение об ошибке
 
Сообщение об ошибке

Прочие рекомендации по исправлению

  • удаление cdx-файлов и индексация БД;
  • выполнение «Тестирование и исправление»;
  • очистка базы от помеченных на удаление элементов;
  • выполнение свертки.

Временное решение

В качестве временной меры в ручном режиме рекомендуется следующее.

Суть способа: отключить индекс «IDELETED» для проблемных таблиц. Естественно, отключится механизм использования помеченных на удаление записей (в терминах DBF). А это приведет к более быстрому росту размера таблицы.

Последовательность действий:

  1. Срочно выгнать всех пользователей из 1C. Не сохранять никаких открытых форм ввода информации. Прекратить/прервать выполнение отчетов. Если произошёл сбой при выполнении регламентных работ, то восстановить базу с последней копии.
  2. В сообщении об ошибке −310 не выдается имя таблицы — необходимо найти эту таблицу силой ума или открытием подряд всех DBF-ов в порядке от большего размера файла к меньшему. Ищем таблицы в которых количество записей подбирается или уже больше 16777215 шт.
  3. Удалить все CDX-файлы. Зайти в сессию 1С монопольно и выполнить реиндексацию.
  4. Вызвать утилиту обслуживания DBF/CDX структур. Например, бесплатную утилиту «Advantage Data Architect». На сайте с программной сообщается, что: «Этот выпуск не поддерживается. Загрузки предоставлены в качестве любезности».
  5. Открыть проблемную таблицу в формате «FoxPro (DBF/CDX)». Вызвать свойства таблицы. Выбрать закладку с описанием индексов. Найти индекс «IDELETED». Изменить выражение фильтра с «DELETED()» на «.F.». Сохранить изменения с реиндексацией. Закрыть таблицу.
  6. Открыть таблицу «1SUSERS» (DBF-файл без индексов). В поле «USRSCNT» установить значение больше нуля. Закрыть таблицу. Выйти из утилиты.
  7. Запустить сессию 1С в монопольном режиме. Согласиться с реиндексацией.

В перспективе для исключения подобных сбоев в базе — задумайтесь о переходе на СУБД.

Необходимо повторять действия по отключению индекса после каждого удаления файлов CDX. После реиндексации без удаления файлов повторять отключение индекса не надо.

Дополнение

Касается только бухгалтерии и только файла 1SACCSEL.DBF. Из описания — файл 1SACCSEL.DBF служит для отбора счетов.

Открываем конфигуратор, заходим в проводки и убираем галочку «Разрешить отбор» в группе «Отбор по счетам». Сохраняем. Изменения происходят быстро. После изменения данный файл перестает существовать.

Ведение бизнеса

Какие корпоративные сервисы действительно нужны команде из 5–20 человек

Небольшие команды редко используют сложную корпоративную инфраструктуру. Но даже коллективу из 5–20 человек нужны инструменты, которые помогают обмениваться документами, общаться, планировать задачи и хранить информацию. Разберемся, какие корпоративные сервисы нужны небольшой команде и без чего сложно выстроить стабильную работу.

Какие корпоративные сервисы действительно нужны команде из 5–20 человек

Комментарии

3
  • Кошки Рyлят

    Что это было?

    В дурке день открытых дверей?

    Особенно впечатлило:

    задумайтесь о переходе на СУБД

    СУБД - система управления базами данных. Например, 1С - это типичная реляционная СУБД.

    Скорее всего, автор хотел сказать "не задумывайтесь на пешеходном переходе о СУБД, а то как и мне машина башка попадет, совсем индексы потеряешь" ...

  • VadimBA

    По-моему, автор несколько запоздал со своими советами... Эдак лет на 10-ть, когда 1С 7.7 была в тренде.

ГлавнаяПодписка