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