Как настроить контроль остатков на счетах?

Настройка контроля остатков на счетах в 1С — это важная часть управления учётом, обеспечивающая, чтобы документы не проводились с нарушением логики складского или финансового движения. Контроль может быть реализован для материальных, денежных, расчетных и других счётов. В зависимости от конфигурации и платформы 1С (например, Бухгалтерия, УТ, ERP) реализация и место настройки могут отличаться, но общие принципы остаются похожими.

1. Контроль остатков в типовых конфигурациях

В типовых решениях 1С (например, «1С:Бухгалтерия» или «1С:ERP») контроль остатков чаще всего реализуется на уровне:

  • Регистров накопления (для количественного и суммового учёта);

  • Регистров бухгалтерии (для учета остатков на бухгалтерских счетах);

  • Реквизитов документов (через настройку проверок до проведения);

  • Функциональности системы (например, «Резервы по складу», «Контроль остатков по кассе» и т.д.).

2. Контроль остатков на уровне складского учета

В управленческих или торговых конфигурациях (например, УТ, ERP):

  • Используются регистры накопления, например: ОстаткиТоваров, ТоварыНаСкладах.

  • Контроль остатков осуществляется на момент проведения документа.

Пример настройки:

  • В разделе НСИ или Настройки складского учета активируется контроль остатков.

  • В документах (например, «Реализация товаров», «Перемещение товаров») в модуле обработки перед проведением добавляется проверка, чтобы остаток на выбранном складе был не меньше списываемого количества.

Механизм может включать:

Остаток = ОстаткиТоваров.Остаток(Период, Склад, Номенклатура);
Если Остаток < КоличествоТовара Тогда
ВызватьИсключение "Недостаточно остатка товара на складе!";
КонецЕсли;

3. Контроль остатков по бухгалтерским счетам

Если задача — контролировать остатки на счетах бухгалтерии, то:

  • В конфигурациях типа «1С:Бухгалтерия» используется План счетов.

  • В свойствах каждого счёта можно указать:

    • Контролировать остатки;

    • Вести количественный учет;

    • Разрешить отрицательные остатки — выключено, если нужен строгий контроль.

Где это настроить:

  • Открыть План счетов;

  • Найти нужный счёт (например, 41 «Товары»);

  • Открыть свойства;

  • Установить флаг Контролировать остатки и Запрет отрицательных остатков.

После этого, при попытке провести документ, нарушающий остатки, будет выдаваться ошибка:

_"Недостаточно остатков по счету 41, субконто: Склад, Номенклатура..."_

4. Контроль по кассе и банку

Для счетов 50, 51, 52 и аналогичных:

  • Проверка отрицательного остатка может быть реализована как настройка документа.

  • В 1С:Бухгалтерия можно включить:

    • «Контроль остатка денежных средств»;

    • «Запрет списания больше остатка»;

    • Настройки — ФункциональностьДенежные средства → включить контроль.

Также это можно реализовать через обработчик ПередЗаписью() документа:

Остаток = ОстаткиДенежныхСредств.Остаток(Период, Счет, Валюта);
Если Сумма > Остаток Тогда
Предупреждение("Недостаточно средств на счете!");
Отказ = Истина;
КонецЕсли;

5. Реализация собственного контроля в модуле документа

Иногда требуется настроить контроль вручную, особенно в нетиповых конфигурациях. Для этого:

  • Пишется запрос к соответствующему регистру накопления (или бухгалтерии).

  • Сравниваются остатки с необходимой суммой/количеством.

  • В случае нехватки — отказ от проведения.

Пример запроса:

ВЫБРАТЬ
Остатки.Склад,
Остатки.Номенклатура,
Остатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&Дата) КАК Остатки
ГДЕ
Остатки.Склад = &Склад
И Остатки.Номенклатура = &Номенклатура

6. Контроль остатков по регистрам расчета

Например, если нужно учитывать:

  • Долги;

  • Авансы;

  • Задолженности по клиентам/поставщикам.

Регистры расчета (например, РасчетыСПоставщиками, РасчетыСКлиентами) тоже могут включать контроль. Используется механизм остатков с флагом «Запретить отрицательные значения».

7. Дополнительные механизмы контроля

  • Роли и права пользователей — запрет проведения документов с отрицательными остатками.

  • Дополнительные обработки при проведении — для сложных алгоритмов (резервирование, учёт в разрезе серий, партий и т.д.).

  • Сервисные регламенты — могут запускать проверки остатков по расписанию и присылать уведомления.

  • Резервы и заказы — позволяют учитывать будущие движения, чтобы избежать ошибок при списании.

8. Особенности учета с RLS (ролевые ограничения)

Если используется механизм RLS (ролевое ограничение доступа), контроль остатков должен учитывать ограничения по данным. То есть пользователь может видеть только часть остатков — это тоже влияет на проверки.

9. Отчёты для контроля остатков

Также стоит использовать стандартные отчёты:

  • Остатки товаров на складах;

  • Движение денежных средств;

  • Остатки по счетам бухгалтерии.

Эти отчёты позволяют заранее оценить, возникнут ли проблемы при проведении документов.

10. Примеры типичных ошибок при реализации контроля

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

  • Не учтены будущие документы (например, резервирование);

  • Ошибка округления сумм;

  • Отсутствие блокировки данных при проверке (возникают коллизии);

  • Проверка выполняется только на клиенте (без серверного дублирования).

Рекомендуется реализовывать контроль как на клиенте (для удобства пользователя), так и на сервере — для защиты данных.