Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

1C_ERR_CONTEXT_UNLOAD 1С:Предприятие и СУБД

Ошибка 1С: Ошибка при вызове метода контекста (Выгрузить) — Решение

Обновлено: 25.08.2026 · Официальная документация ↗
  • Аварийное завершение при выполнении РезультатЗапроса.Выгрузить() или ТабличнаяЧасть.Выгрузить().
  • Текст сбоя: {Модуль(Строка)}: Ошибка при вызове метода контекста (Выгрузить): Недостаточно памяти / Неверный тип группировки.
  • Сбой при конвертации иерархических выборок в Таблицу или Дерево значений.

1. Причины возникновения сбоев метода Выгрузить()

Метод Выгрузить() выполняет аллокацию и трансформацию данных из внутренних структур платформы в пользовательские коллекции. Ошибка возникает в следующих случаях:

  • Исчерпание оперативной памяти (Out Of Memory): Попытка выгрузить многомиллионный результат запроса в одну ТаблицуЗначений на 32-битном рабочем процессе сервера 1С (rphost);
  • Конфликт типов выгрузки: Вызов Выгрузить(ТипОбходаЗапроса.ПоГруппировкам) в объект, не поддерживающий иерархию (например, попытка записать дерево в плоскую таблицу);
  • Попытка выгрузки табличной части с указанием массива колонок, имена которых не существуют в метаданных объекта.

2. Безопасные паттерны выгрузки данных

Паттерн 1: Защита от OOM через порционную обработку выборки

Если запрос возвращает большой массив данных, откажитесь от Выгрузить() в пользу поточной выборки:

// ВМЕСТО ОПАСНОГО:
// Таблица = Запрос.Выполнить().Выгрузить(); // Может уронить рабочий процесс rphost по памяти!

// ИСПОЛЬЗУЙТЕ ВЫБОРКУ:
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    // Поточная обработка каждой строки без переполнения RAM
    ОбработатьЗапись(Выборка.Ссылка);
КонецЦикла;

Паттерн 2: Выгрузка колонок Табличной Части с проверкой состава

// Безопасная выгрузка конкретных колонок:
КолонкиДляВыгрузки = "Номенклатура, Количество, Сумма";
ТаблицаТоваров = ЭтотОбъект.Товары.Выгрузить(, КолонкиДляВыгрузки);

Паттерн 3: Корректная выгрузка дерева значений из запроса с итогами

Запрос = Новый Запрос(
"ВЫБРАТЬ
|   Номенклатура.Родитель КАК Группа,
|   Номенклатура.Ссылка КАК Элемент
|ИЗ
|   Справочник.Номенклатура КАК Номенклатура
|ИТОГИ ПО
|   Группа");

Результат = Запрос.Выполнить();
// Для получения дерева значений необходимо передавать правильный тип обхода:
ДеревоЗначений = Результат.Выгрузить(ТипОбходаЗапроса.ПоГруппировкам);
💡 Практика специалистов: В высоконагруженных системах никогда не вызывайте .Выгрузить() на результатах запросов к регистрам за большой период без ограничения ПЕРВЫЕ — это главная причина вылетов рабочих процессов rphost с ошибкой Out Of Memory.

Частые вопросы (FAQ)

В чем разница между выгрузкой в ТаблицуЗначений и ДеревоЗначений?

ТаблицаЗначений представляет собой плоский двумерный массив строк. ДеревоЗначений поддерживает неограниченную иерархическую вложенность строк (коллекция Строки у каждой строки) и требует запросов с секцией ИТОГИ.

Можно ли вызвать метод Выгрузить() на клиенте в тонком клиенте?

Объект 'ТаблицаЗначений' недоступен в контексте тонкого клиента. Метод Выгрузить() для табличных частей и результатов запросов может выполняться строго на сервере (&НаСервере).

Как выгрузить только строки, удовлетворяющие условию, без запроса?

Используйте метод НайтиСтроки(СтруктураОтбора) на табличной части, либо выгрузите строки методом Скопировать(СтруктураОтбора).

Почему выгрузка ТаблицыЗначений на клиенте вызывает ошибку?

Тип данных 'ТаблицаЗначений' является чисто серверным типом и не может передаваться на тонкий клиент без предварительной сериализации в Массив Структур или ДанныеФормыКоллекция.

Полезные материалы
Рекомендуем