Как настроить или реализовать контроль предельного размера расчетов наличными в 1С:Управление торговлей 11

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

При ведении торговой деятельности и расчетах наличными денежными средствами между юридическими лицами и индивидуальными предпринимателями действует законодательное ограничение: сумма наличных расчетов в рамках одного договора не должна превышать 100 000 рублей (Указание Банка России). Рассмотрим, реализован ли данный контроль в типовой конфигурации 1С:Управление торговлей 11, для чего предназначен флаг «Сумма договора фиксирована» и как правильно организовать проверку лимита при необходимости.

Типовые механизмы УТ 11 и назначение реквизита «Сумма договора фиксирована»

В типовой конфигурации «1С:Управление торговлей 11» (а также в «1С:Комплексная автоматизация» и «1С:ERP») специализированный контроль соблюдения кассового лимита расчетов в 100 000 рублей «из коробки» отсутствует. В отличие от конфигурации 1С:Бухгалтерия предприятия, где предусмотрены встроенные предупреждения в кассовых документах, казначейский блок УТ 11 не отслеживает данный законодательный порог автоматически.

Разберем, почему реквизит Сумма договора фиксирована в карточке договора не решает эту задачу:

  1. Данный флаг предназначен для контроля кредитного лимита и общей суммы отгрузок/заказов по договору.
  2. Механизм контролирует совокупный объем операций независимо от формы расчетов (как наличных, так и безналичных).
  3. При установке этого флага система блокирует превышение общей суммы взаиморасчетов по договору, но не отслеживает отдельно кассовые операции по документам Приходный кассовый ордер и Расходный кассовый ордер.
  4. Имеющаяся подсистема «Лимиты расхода ДС» работает только с заявками на расходование денежных средств в разрезе статей ДДС и подразделений, не контролируя входящие кассовые ордера и контрагентов.

Правовые и учетные особенности контроля лимита

Прежде чем приступать к разработке алгоритма проверки, проанализируем ключевые правила расчета лимита 100 000 рублей:

  1. Субъекты расчетов: Ограничение действует исключительно на расчеты между юридическими лицами, между юридическими лицами и ИП, а также между несколькими ИП. Если покупателем выступает физическое лицо без статуса индивидуального предпринимателя, лимит в 100 000 рублей на него не распространяется.
  2. Срок и периодичность: Лимит устанавливается не на день, месяц или операцию, а на весь срок действия договора. Сколько бы платежей ни оформлялось по договору (даже с интервалом в несколько месяцев или лет), их суммарный объем наличными не должен превысить 100 000 рублей.
  3. Двусторонняя ответственность: Соблюдать лимит обязаны обе стороны сделки — как плательщик, так и получатель средств.
  4. Риск дробления договоров: Заключение нескольких однотипных договоров с одним и тем же контрагентом на суммы менее 100 000 рублей при налоговой проверке может быть переквалифицировано в одну сделку с наложением штрафов. Поэтому некоторые организации настраивают контроль не только по конкретному договору, но и по контрагенту в целом.

Реализация контроля через расширение конфигурации

Для добавления контроля без изменения типовой конфигурации рекомендуется использовать механизм расширений. Проверку целесообразно встраивать в модуль менеджера или модуль объекта документов Приходный кассовый ордер и Расходный кассовый ордер перед записью или при проведении.

Разберем по шагам алгоритм проверки:

  1. Определяем вид контрагента. Если значение реквизита ЮрФизЛицо равно ФизическоеЛицо, проверку пропускаем.
  2. Проверяем, указан ли договор контрагента в документе.
  3. С помощью запроса рассчитываем сумму всех проведенных кассовых документов (ПКО и РКО) по данному договору за вычетом текущего документа.
  4. Прибавляем сумму текущего документа к уже проведенным наличным платежам.
  5. Если итоговая сумма превышает 100 000 рублей, выводим пользователю сообщение об ошибке и отменяем проведение документа.

Посмотрим на пример реализации алгоритма проверки в обработчике проведения кассового документа:


&Вместо("ОбработкаПроведения")
Процедура Расш_ОбработкаПроведения(Отказ, РежимПроведения)
    
    // Проверяем статус контрагента
    Если ЗначениеЗаполнено(ЭтотОбъект.Контрагент) 
        И ЭтотОбъект.Контрагент.ЮрФизЛицо <> Перечисления.ЮрФизЛицо.ФизическоеЛицо 
        И ЗначениеЗаполнено(ЭтотОбъект.Договор) Тогда
        
        Запрос = Новый Запрос;
        Запрос.Текст = 
            "ВЫБРАТЬ
            |	ЕСТЬNULL(СУММА(КассовыеОбороты.СуммаДокумента), 0) КАК ВсегоОплаченоНалом
            |ИЗ
            |	(ВЫБРАТЬ
            |		ПКО.СуммаДокумента КАК СуммаДокумента
            |	ИЗ
            |		Документ.ПриходныйКассовыйОрдер КАК ПКО
            |	ГДЕ
            |		ПКО.Проведен = ИСТИНА
            |		И ПКО.Договор = &Договор
            |		И ПКО.Ссылка <> &ТекущийДокумент
            |
            |	ОБЪЕДИНИТЬ ВСЕ
            |
            |	ВЫБРАТЬ
            |		РКО.СуммаДокумента
            |	ИЗ
            |		Документ.РасходныйКассовыйОрдер КАК РКО
            |	ГДЕ
            |		РКО.Проведен = ИСТИНА
            |		И РКО.Договор = &Договор
            |		И РКО.Ссылка <> &ТекущийДокумент) КАК КассовыеОбороты";
            
        Запрос.УстановитьПараметр("Договор", ЭтотОбъект.Договор);
        Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
        
        Выборка = Запрос.Выполнить().Выбрать();
        Если Выборка.Следующий() Тогда
            СуммаРанееОплачено = Выборка.ВсегоОплаченоНалом;
            
            Если (СуммаРанееОплачено + ЭтотОбъект.СуммаДокумента) > 100000 Тогда
                ТекстСообщения = СтрШаблон(
                    "Превышен предельный размер расчетов наличными по договору %1! Ранее проведено: %2 руб., текущий документ: %3 руб. Предел: 100 000 руб.",
                    ЭтотОбъект.Договор,
                    СуммаРанееОплачено,
                    ЭтотОбъект.СуммаДокумента
                );
                
                ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
                    ТекстСообщения,
                    ЭтотОбъект.Ссылка,
                    "СуммаДокумента",
                    ,
                    Отказ
                );
            КонецЕсли;
        КонецЕсли;
        
    КонецЕсли;
    
    Если Не Отказ Тогда
        ПродолжитьВызов(Отказ, РежимПроведения);
    КонецЕсли;
    
КонецПроцедуры

Таким образом, для соблюдения кассовой дисциплины в 1С:Управление торговлей 11 необходимо использовать расширение с контролем кассовых документов по договору контрагента, поскольку типовой функционал программы не предусматривает встроенного лимитирования наличных расчетов.

← На главную