Как запретить продажу товара в минус в 1С:Управление торговлей 10.3?

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

Проблема возникновения отрицательных остатков в программе 1С:Управление торговлей 10.3 (УТ 10.3) является одной из самых распространенных. Она ведет к некорректному расчету себестоимости, ошибкам в партионном учете и хаосу на складе. В данной статье мы подробно разберем все способы настройки системы, которые позволят исключить "продажи в минус" как при оперативной работе, так и при попытках изменения документов задним числом.

Способ 1: Настройка дополнительных прав пользователей

Это самый очевидный и часто используемый метод. В УТ 10.3 права на превышение остатка вынесены в специальный интерфейс дополнительных прав. Давайте разберем по шагам, как ограничить менеджеров:

  1. Перейдем в меню Сервис — Пользователи — Настройка дополнительных прав доступа.
  2. В открывшемся окне в левой части выберем конкретного Пользователя или Группу пользователей (например, "Менеджеры по продажам").
  3. В дереве настроек справа развернем узел Документы.
  4. Нас интересуют два критически важных пункта:
    • Разрешить превышение остатка товаров на складе;
    • Разрешить превышение остатка товаров организации.
  5. Снимем галочки с этих пунктов.
  6. Нажмем кнопку Записать.

Важное примечание: Почему важно отключать обе галочки? В УТ 10.3 учет ведется в двух разрезах. Регистр Товары на складах отвечает за физическое наличие товара, а регистр Товары организаций — за принадлежность товара конкретному юридическому лицу. Если вы запретите минус только по складу, программа может позволить продать товар, который физически есть, но по документам принадлежит другой вашей фирме, что создаст минус в учете организации.

Способ 2: Глобальная настройка в параметрах учета

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

Перейдем в меню Сервис — Настройка параметров учета. На вкладке Запасы убедимся, что флажок "Разрешить списание товаров при отсутствии остатков по данным партионного учета" снят. Если этот флаг установлен, система будет игнорировать отсутствие партий (себестоимости), даже если количественный учет по складу запрещает минус. Это "бомба замедленного действия" для финансового результата.

Способ 3: Настройка для розничной торговли (Чеки ККМ)

Если ваша организация занимается розничными продажами через интерфейс кассира, существует отдельная настройка. Рассмотрим, где она находится:

Откроем справочник Пользователи, выберем нужного сотрудника (кассира) и перейдем по кнопке Настройки. В разделе Другие настройки найдем пункт "Контролировать остатки товаров при оперативном проведении чеков ККМ". Установка этой галочки гарантирует, что кассир не сможет пробить товар, которого нет в компьютерной базе на момент совершения операции.

Способ 4: Проблема проведения "задним числом" (Неоперативное проведение)

Многие пользователи сталкиваются с ситуацией: текущей датой программа выдать товар не дает, но стоит изменить дату документа на "вчера", как он проводится без лишних вопросов. Выясним причину такого поведения.

В платформе 1С 8.3 (и более ранних версиях для обычных форм) существует понятие оперативного проведения. Контроль остатков по умолчанию встроен только в механизм оперативного проведения (текущим временем). При записи документа прошлым числом (неоперативно) система считает, что вы просто отражаете факт, который уже случился в прошлом, и контроль остатков не требуется.

Для решения этой проблемы мы можем использовать два подхода:

1. Административный (Дата запрета изменения):

Рассмотрим вариант разделения прав. Мы можем создать группы "Бухгалтеры" и "Менеджеры". Для менеджеров установим дату запрета изменения данных равную вчерашнему числу. Таким образом, они физически не смогут создать или изменить документ вчерашней датой. Настройка находится здесь: Сервис — Настройка учета — Установка даты запрета изменения данных. Здесь можно гибко настроить даты в разрезе пользователей и групп.

2. Программный (Доработка конфигурации):

Если бизнес-процесс требует возможности ввода документов задним числом, но с контролем, нам придется внести изменения в код. Проанализируем пример логики, которую можно добавить в модуль документа (например, РеализацияТоваровУслуг) в процедуру ОбработкаПроведения:


// Пример логики для принудительной проверки остатков
Если НЕ РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
    // Здесь вызывается типовая функция проверки остатков, 
    // которая обычно работает только в оперативном режиме.
    // Нужно передать МоментВремени() документа для контроля на ту дату.
    СтруктураПараметров = Новый Структура("Отказ, Заголовок", Отказ, "Проверка остатков");
    ПроверитьОстаткиТоваровНаСкладах(СтруктураПараметров);
КонецЕсли;

Такая доработка заставит систему проверять наличие товара на складе даже при неоперативном проведении, что полностью исключит "минусы".

Способ 5: Восстановление последовательности и контроль партий

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

Регулярно (раз в месяц или неделю) необходимо запускать обработку Проведение по партиям (меню Документы — Дополнительно). Эта процедура пересчитывает себестоимость и выявляет ситуации, когда товар был продан раньше, чем оприходован. Если в процессе восстановления последовательности система выдаст ошибки — значит, настройки контроля были обойдены или нарушены, и эти моменты нужно исправить вручную.

Резюме

Для надежного запрета продаж в минус в УТ 10.3 необходимо выполнить комплекс мер:

  1. Отключить права на превышение остатков по складу и организации в Дополнительных правах.
  2. Снять флаг разрешения списания без партий в Параметрах учета.
  3. Установить Дату запрета изменения данных, чтобы пользователи не могли обходить контроль, меняя дату на прошедшую.
  4. Если работа "задним числом" неизбежна — привлечь программиста для внедрения контроля остатков при неоперативном проведении.

Соблюдение этих правил позволит вам поддерживать актуальные данные в базе и всегда знать реальное состояние вашего склада.

← На главную