Как известно, 7ая версия 1С не может использовать больше 2ГБ оперативной памяти (на практике 1.7ГБ). Поэтому мы можем наблюдать такую ошибку:
Можно выгружать по частям, но это увеличивает время, которое придется потратить на перенос. Можно увеличить используемую память для 32х приложений. Для этого в командной строке нужно ввести команду:
BCDEdit /set increaseuserva 3072
Где 3072 количество памяти (По умолчанию 2ГБ) Рекомендуется использовать значения от 2ГБ до 3ГБ.
Но этого недостаточно, чтобы наша горячо любимая 7ка заработала как нам надо. Дело в том, что в приложение 7ки не зашита возможность использовать больше 1.7ГБ памяти. А именно при компиляции не был включен ключ LARGEADDRESSAWARE:YES. Программа, собранная с ключом /LARGEADDRESSAWARE:YES, может выделять до 3ГБ памяти, если 32х операционная система Windows. Так вот, эта же 32х программа, запущенная на 64х системе, может выделить почти 4ГБ памяти (на практике около 3.5ГБ).
Таким образом мы можем увеличить используемую память чуть более чем в два раза, если зашьем в наш EXE этот ключ.
Для этого нам понадобится editbin.exe. Он есть в составе Microsoft Visual Studio, либо в MASM
Я использовал MASM, поэтому дальше на его примере. После установки берем наш EXE файл 7ки переносим в папку masm32\bin. После чего запускаем командную строку от имени администратор.
И вводим последовательно две команды:
cd ВашПуть\masm32\bin
editbin /LARGEADDRESSAWARE c:\1cv7s.exe
После чего возвращаем EXE на его законное место.
На личной практике увеличил используемую память при выгрузке с 1.7ГБ до 2.4ГБ. Также можно использовать при других операциях, связанных с этой ошибкой.