При загрузке файла выгрузки информационной базы (.dt) или при выполнении стандартного тестирования и исправления файловой базы пользователи нередко сталкиваются с аварийным завершением работы 1С. Система может выдавать ошибку «Ошибка при выполнении операции над данными: Устанавливаемое значение не помещается в поле таблицы» с указанием технического имени таблицы (например, _INFORG...) либо завершать операцию сообщением «Недостаточно памяти». После такого сбоя база данных часто перестает открываться в режиме «1С:Предприятие», сообщая, что идентификация пользователя не выполнена.
Разберем подробно причины возникновения этой проблемы и по шагам рассмотрим проверенные методы её устранения.
Проанализируем ключевые факторы, приводящие к сбою файловой базы данных:
1cv8.exe в среде Windows имеет жесткий лимит на выделение виртуальной памяти — не более 2 ГБ на один процесс. При распаковке файла .dt или реструктуризации тяжелых таблиц (например, регистров сведений с адресным классификатором или версионированием) массив данных считывается целиком в оперативную память. Если размер непрерывного блока превышает 2 ГБ, платформа аварийно завершает операцию с ошибкой памяти.1Cv8.1CD размер отдельной внутренней таблицы не может превышать 4 ГБ. Если в процессе распаковки данных размер таблицы или её BLOB-полей выходит за этот предел, запись блокируется._INFORG..._FLD...)..dt не является прямым снимком базы. Если процесс загрузки завершился ошибкой на середине, база остается в полуразобранном состоянии, из-за чего пользователи больше не могут пройти аутентификацию.Перед началом любых восстановительных работ обязательно скопируем текущее состояние базы данных.
1Cv8.1CD (или всю папку с базой) в надежное место.
C:\Program Files\1cv8\8.3.XX.XXXX\bin\chdbfl.exe
или
C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\chdbfl.exe
chdbfl.exe от имени администратора.1Cv8.1CD.Если ошибка возникает именно на этапе загрузки файла .dt в пустую базу из-за нехватки памяти, наиболее эффективное решение — использовать 64-разрядный клиентский модуль 1С (x86-64).
C:\Program Files\1cv8\...).1cv8.exe (64-bit) не имеет лимита в 2 ГБ и способен задействовать весь объем физической оперативной памяти компьютера..dt-файл.Если 64-битный файловый режим все равно не справляется с загрузкой из-за переполнения 4 ГБ лимита внутренней таблицы файловой базы, развернем архив в полноценной клиент-серверной среде.
.dt-файл в созданную серверную базу через Конфигуратор. Серверные СУБД не имеют ограничений на размер отдельных таблиц в 4 ГБ и легко справляются с распаковкой больших архивов..dt через меню «Выгрузить информационную базу...» и затем загрузим её в файловый вариант.Если возможность установить 64-битную платформу или сервер СУБД временно отсутствует, расширим доступную память для 32-битного процесса платформы средствами операционной системы.
editbin.exe:
editbin.exe /LARGEADDRESSAWARE "C:\Program Files (x86)\1cv8\8.3.XX.XXXX\bin\1cv8.exe"
bcdedit /set IncreaseUserVa 3072
После выполнения команды перезагрузим компьютер и повторим операцию загрузки или тестирования базы.Как только базу удалось успешно открыть в Конфигураторе, выполним полную проверку структуры данных:
Важное правило: для файловых баз основным и надежным способом резервного копирования является прямое копирование файла 1Cv8.1CD при выключенных сеансах пользователей, так как формат .dt предназначен в первую очередь для миграции данных между различными типами СУБД.