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

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

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

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

Использование механизма разделения итогов регистров накопления в 1С

Обновлено: 26.08.2026 · Официальная документация ↗
  • Массовые ожидания на блокировках при одновременном проведении документов несколькими десятками пользователей.
  • События TLOCKS со временем ожидания свыше 20-40 секунд на таблицах итогов регистров накопления (_AccumRgT).
  • Ошибки параллелизма в высоконагруженных операциях списания со склада или взаиморасчетов.

1. Принцип работы механизма разделения итогов

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

2. Включение разделения итогов в конфигураторе 1С

  1. Откройте свойства регистра накопления;
  2. Перейдите на вкладку Прочие;
  3. Установите флаг Использовать разделение итогов;
  4. (Опционально) Задайте режим разделения итогов для конкретных измерений.

3. Программное включение и управление через код 1С

// Включение использования разделения итогов для всех регистров
Для Каждого Рег Из Метаданные.РегистрыНакопления Цикл
    РегистрыНакопления[Рег.Имя].УстановитьИспользованиеРазделенияИтогов(Истина);
КонецЦикла;

4. Регламентное объединение (схлопывание) разделенных итогов

Для предотвращения разрастания таблицы итогов настройте регламентное задание 1С «Слияние разделенных итогов» (раз в сутки в нерабочее время):

// Программный вызов регламентной процедуры слияния
РегистрыНакопления.ТоварыНаСкладах.СлитьРазделенныеИтоги();
💡 Практика специалистов: Включайте разделение итогов только на высоконагруженных регистрах с частой конкурентной записью. Для малонагруженных справочных регистров включать его не имеет смысла.

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

Замедляет ли разделение итогов операцию чтения остатков?

Да, чтение остатков становится немного медленнее, так как СУБД суммирует значения по всем слотам разделения (до 50 записей). Однако это полностью окупается устранением очередей на запись.

Сколько слотов разделения создает платформа 1С?

Платформа 1С использует псевдослучайный номер слота от 0 до N (по умолчанию до 50), распределяя параллельные транзакции по разным физическим строкам таблицы СУБД.

Нужно ли включать разделение итогов для регистров сведений?

Нет, механизм разделения итогов применяется исключительно к регистрам накопления и регистрам бухгалтерии (таблицы агрегированных итогов).

Что произойдет, если не выполнять регламентное слияние итогов?

Таблица итогов регистра разрастется в десятки раз, что приведет к деградации скорости формирования отчетов и расчета остатков.

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