Как настроить контроль остатков на счетах?
Настройка контроля остатков на счетах в 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. Примеры типичных ошибок при реализации контроля
-
Не учитываются документы в процессе проведения (например, параллельные транзакции);
-
Не учтены будущие документы (например, резервирование);
-
Ошибка округления сумм;
-
Отсутствие блокировки данных при проверке (возникают коллизии);
-
Проверка выполняется только на клиенте (без серверного дублирования).
Рекомендуется реализовывать контроль как на клиенте (для удобства пользователя), так и на сервере — для защиты данных.