При формировании ресурсоемких отчетов по учету затрат и калькуляции себестоимости продукции (например, в меню Отчеты \ Справки-расчеты \ Калькуляция) пользователи и администраторы 1С нередко сталкиваются с аварийным завершением работы программы и системным сообщением «Недостаточно памяти». Ошибка часто возникает даже на компьютерах с большим запасом физической оперативной памяти (12–16 Гб и выше), когда процесс аварийно прерывается по достижении объема около 3,5 Гб. Разберем по шагам причины такого поведения платформы и детально рассмотрим варианты решения проблемы.
Проанализируем технические и прикладные факторы, вызывающие перерасход оперативной памяти:
/set increaseuserva). Как только табличные данные отчета превышают этот порог, процесс падает.Калькуляция выполняет рекурсивный обход затрат по всей цепочке производственных переделов. Если продукция одного подразделения списывается на затраты другого без явно заданных правил в регистре Встречный выпуск продукции (услуг), алгоритм уходит в глубокую или бесконечную рекурсию, создавая огромные таблицы в памяти.ТабличныйДокумент: Попытка вывести в один отчет весь объем выпуска предприятия за месяц с детализацией до первичных документов требует колоссальных ресурсов не только для расчета, но и для визуального отображения ячеек на клиенте.Самый быстрый и действенный способ получить необходимые данные без изменения конфигурации и платформы — наложить аналитические отборы. Вместо построения калькуляции сразу по всему выпуску предприятия разделим формирование отчета на части:
Если для работы требуется непременно полный отчет по всему предприятию, перейдем на использование платформы x64:
1cv8.exe (по умолчанию он устанавливается в директорию C:\Program Files\1cv8\..., в отличие от 32-битного в C:\Program Files (x86)\...).Выясним причину зацикливания расчета, если объем выпуска невелик, но память все равно переполняется:
Встречный выпуск продукции (услуг). Если полуфабрикаты списываются на выпуск готовой продукции в рамках одного месяца, для них должны быть жестко заданы правила встречного выпуска.Установка порядка закрытия подразделений (при ручной настройке переделов в учетной политике), чтобы исключить циклы между цехами.Тестирование и исправление в конфигураторе с пересчетом итогов, чтобы очистить временные расхождения в регистрах бухгалтерии и накопления.В случае работы в клиент-серверной архитектуре проверим параметры кластера 1С через консоль администрирования:
Допустимый объем памяти и Интервал превышения допустимого объема памяти.