Добавить в корзинуПозвонить
Найти в Дзене

Когда 1С считает авансы часами: выносим циклические расчёты на видеокарту (GPU Compute Engine + реальный кейс)

Закрытие месяца. 23:40. Бухгалтер Наталья из Ростова смотрит на крутящийся индикатор в 1С — «Зачёт авансов» идёт уже второй час. Знакомо? Я лично столкнулся с этим на одном из проектов — клиент позвонил в пятницу вечером, почти в панике: «Всё стоит, люди ждут, утром отчёт». И вот тогда начинаешь по-настоящему разбираться, почему это вообще происходит. Зачёт авансов в 1С — это не просто проводка. Это перебор каждой пары «аванс — отгрузка» по каждому контрагенту за период. Если у вас 5 000 документов в месяц — 1С делает миллионы сравнений внутри одного регламентного расчёта. Типичная картина: компания работает с 1С:Бухгалтерия 8.3, база на SQL, 15 пользователей. Операций немного — но закрытие месяца по счёту 62 (расчёты с покупателями) и счёту 76.АВ (НДС с авансов) растягивается на 3–4 часа. Час — терпимо. Но три? При том что люди ждут, сервер занят, и никто не может работать. Причины чаще всего банальные: Это не проблема видеокарты. Это проблема данных и архитектуры учёта. Тема GPU-уск
Оглавление
выносим циклические расчёты на видеокарту
выносим циклические расчёты на видеокарту

Закрытие месяца. 23:40. Бухгалтер Наталья из Ростова смотрит на крутящийся индикатор в 1С — «Зачёт авансов» идёт уже второй час. Знакомо?

Я лично столкнулся с этим на одном из проектов — клиент позвонил в пятницу вечером, почти в панике: «Всё стоит, люди ждут, утром отчёт». И вот тогда начинаешь по-настоящему разбираться, почему это вообще происходит.

Почему 1С «зависает» на авансах — и при чём тут структура базы

Зачёт авансов в 1С — это не просто проводка. Это перебор каждой пары «аванс — отгрузка» по каждому контрагенту за период. Если у вас 5 000 документов в месяц — 1С делает миллионы сравнений внутри одного регламентного расчёта.

Типичная картина: компания работает с 1С:Бухгалтерия 8.3, база на SQL, 15 пользователей. Операций немного — но закрытие месяца по счёту 62 (расчёты с покупателями) и счёту 76.АВ (НДС с авансов) растягивается на 3–4 часа.

Час — терпимо. Но три? При том что люди ждут, сервер занят, и никто не может работать.

Причины чаще всего банальные:

  • Не закрыты «висячие» авансы прошлых периодов
  • Дублирующиеся договоры у одного контрагента
  • Огромное количество мелких поступлений, которые не зачтены годами
  • База не реиндексирована — SQL-таблицы разрослись и не оптимизированы

Это не проблема видеокарты. Это проблема данных и архитектуры учёта.

GPU Compute Engine в 1С — что это такое и зачем оно вам

Тема GPU-ускорения для 1С активно обсуждается в сообществе с 2025 года. Честно? Звучит красиво. Но давайте начистоту.

GPU Compute Engine — это технология, при которой часть вычислений передаётся на графический процессор сервера. Видеокарта умеет делать тысячи параллельных операций одновременно, в отличие от CPU, который работает последовательно.

Теоретически это ускоряет массовые однотипные расчёты — именно те, которые тормозят при зачёте авансов.

Но. Платформа 1С:Предприятие 8.3 не поддерживает GPU-вычисления нативно. Это не кнопка в настройках. Это либо внешняя интеграция через COM/HTTP, либо вынос расчётов в отдельный сервис на Python/C++, который считает — и возвращает результат обратно в 1С.

Один мой знакомый архитектор внедрял такую схему в торговой сети из Перми — 80 магазинов, ежемесячный расчёт бонусов по 200 000 строк. Вынесли расчёт на GPU-сервер, результат загружали обратно в 1С через обработку. Время сократилось с 4 часов до 18 минут.

Звучит круто? Да. Но это нестандартная архитектура, требует отдельного сервера, разработчика и поддержки. Не для среднего бизнеса с одним 1С-ником.

Что реально помогает ускорить зачёт авансов в 1С прямо сейчас

Ладно, погнали по практике. Что делает нормальный 1С-специалист, когда закрытие месяца идёт часами.

Шаг 1 — чистка «хвостов» по счёту 62 и 76.АВ. Открываем ОСВ по счёту 62, смотрим контрагентов с дебетовым и кредитовым остатком одновременно. Это и есть незачтённые авансы. Их нужно разобрать руками или через групповую обработку.

Шаг 2 — проверка договоров. Зачёт в 1С идёт в разрезе договоров. Если у контрагента 5 договоров вместо одного — 1С не может автоматически сопоставить аванс и отгрузку. Идём в карточку контрагента, объединяем дублирующиеся договоры.

На одном из моих проектов — небольшой оптовик из Новосибирска, 50 сотрудников — именно это и оказалось корнем всех бед. У трёх ключевых контрагентов было по 7–9 договоров каждый. После объединения закрытие ускорилось вдвое.

Шаг 3 — реиндексация и тестирование базы. В меню «Администрирование» → «Обслуживание» → «Тестирование и исправление». Плюс — попросить администратора SQL сделать перестройку индексов. После этого скорость запросов вырастает в 1,5–2 раза.

Шаг 4 — разбить закрытие на части. Не запускать всё разом. Сначала закрыть один месяц, потом следующий. 1С при этом считает меньший объём за один проход.

Без GPU, без миллионных серверов — просто порядок в данных.

Когда без нестандартных решений всё-таки не обойтись

Если у вас больше 500 000 документов в базе, несколько юрлиц и закрытие месяца занимает больше 6 часов — это уже разговор про архитектуру.

Варианты, которые реально работают:

  • Перевод на 1С:ERP с более умным механизмом зачёта авансов
  • Разделение базы по юрлицам (отдельные базы + консолидация)
  • Вынос тяжёлых расчётов во внешний сервис (да, тот самый GPU-подход — но только если объём оправдывает затраты)
  • Переход на мощный выделенный сервер с SSD и увеличенным пулом памяти SQL

Это не дёшево. Но если бухгалтеры каждый месяц теряют ночь — посчитайте стоимость их времени. Плюс риски: задержка отчётности, штрафы по НК РФ за несвоевременную сдачу, нервы.

Я считаю, что в 4 из 5 случаев проблема решается не GPU, а нормальным аудитом базы и чисткой данных. Дешевле, быстрее — и без экзотической инфраструктуры. Спорный момент, но мой опыт это подтверждает раз за разом.

Если вам нужен 1С-специалист для внедрения, доработки или аудита — загляните на koderion.ru. Это биржа проверенных экспертов 1С без посредников: часовые ставки в среднем на 30% ниже штатных, опыт проверяется по реальным проектам, а не по резюме. Подбор — за час.

Поставьте 👍 если было полезно — так я пойму, что писать дальше