Регистр накопления, запрет списания в минус

17.05.24

Задачи пользователя - Адаптация типовых решений

Около двух месяцев назад потребовалось сделать запрет продажи в минус, но не нашёл ни одной полезной статьи, поэтому решил поделиться своим решением.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Регистр накопления, запрет списания в минус:
.zip 207,26Kb ver:1С:Предприятие 8.3 (8.3.24.1368)
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Для начала необходимо создать Регистр Накопления, для того чтобы фиксировать количество нашего товара.

Дальше создаём документы "Приход" и "Расход".

В документе "Приход" всё просто, делаем пару реквизитов, в моём случае это "Товар" и "Количество", дальше нам необходимо сделать движения.

Открываем движения и выбираем тип движения регистра - Приход, далее жмём "Заполнить выражения", дальше жмём "ок" и у нас появляется следующий код.

Движения.ОстаткиНоменклатуры.Записывать = Истина;
Для Каждого ТекСтрокаСписокТоваров Из СписокТоваров Цикл
	Движение = Движения.ОстаткиНоменклатуры.Добавить();
	Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
	Движение.Период = Дата;
	Движение.Товар = ТекСтрокаСписокТоваров.Товар;
	Движение.Склад = Склад;
	Движение.Количество = ТекСтрокаСписокТоваров.Количество;
КонецЦикла;

Дальше переходим в документ "Расход" и проделываем те же манипуляции, только уже выбираем тип Расход.

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

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

Движения.ОстаткиНоменклатуры.Записать();
Движения.ОстаткиНоменклатуры.БлокироватьДляИзменения = Истина;

Далее необходимо сделать запрос, в котором в качестве таблицы мы выбираем наш регистр с типом остатки, а в полях выбираем оба наших реквизита, в условиях надо выбрать количество меньше 0.

Запрос = Новый Запрос;
Запрос.Текст = 
	"ВЫБРАТЬ
	|	ОстаткиНоменклатурыОстатки.Товар КАК Товар,
	|	ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК КоличествоОстаток
	|ИЗ
	|	РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки
	|ГДЕ
	|	ОстаткиНоменклатурыОстатки.КоличествоОстаток < 0";

После создания запроса надо присвоить значения

Товары = ЭтотОбъект.СписокТоваров.ВыгрузитьКолонку("Товар");
Запрос.УстановитьПараметр("Товар", Товары);
РезультатЗапроса = Запрос.Выполнить();

Ну и наконец надо сделать условие с циклом

Если не РезультатЗапроса.Пустой() Тогда
	Выборка = РезультатЗапроса.Выбрать();
	ТекстШаблон = ("Не хватает товара ""%1"" в количестве %2");
	Пока Выборка.Следующий() Цикл
		СтрокаВывода = СтрШаблон(ТекстШаблон, Выборка.Товар, -Выборка.КоличествоОстаток);
		Сообщить(СтрокаВывода);
	КонецЦикла;
	Отказ = Истина;	
КонецЕсли;

В архиве выгрузка приложения с описанным кодом.

Тестирование проводилось в 1С:Предприятие 8.3  версия (8.3.24.1368).

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Разработка Адаптация типовых решений Производство готовой продукции (работ, услуг) Розничная торговля 1С:Управление торговлей 10 Россия Платные (руб)

Доработка для 1С:Управление торговлей 10.3 (релиз 10.3.88.3) добавляет поддержку маркировки новых категорий товаров согласно постановлениям Правительства РФ 2025–2026 гг. Конфигурация УТ 10.3 снята с поддержки — новые маркируемые категории в типовую поставку больше не попадают. Доработка закрывает этот пробел: новые виды номенклатуры, обмен с ГИС МТ «Честный Знак». Поставляется в виде файла .cf

14640 руб.

23.04.2026    3468    27    13    

30

Адаптация типовых решений БСП (Библиотека стандартных подсистем) Кадровый учет ЭДО и ОФД 1C:Бухгалтерия 1С:Зарплата и кадры 7.7 1C:ERP 1С:ЗУП 1С:УТ 1С:ДО Платные (руб)

Наше расширение 1С Госключ обеспечивает интеграцию любой конфигурации 1С на базе БСП с мобильным приложением «Госключ», позволяя сотрудникам подписывать кадровые документы (КЭДО) и документы материальной ответственности (МОЛ, ПБ) усиленной электронной подписью прямо со смартфона. Решение автоматизирует формирование и отправку документов на подпись, отслеживает статусы подписания и хранит подписанные файлы непосредственно в базе 1С

25000 руб.

06.03.2026    2049    4    0    

5

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

9760 руб.

17.06.2025    4572    11    0    

11

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

6000 руб.

07.02.2023    14070    121    25    

77

Адаптация типовых решений 1С 8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Расширение, которое в форму списка и форму выбора справочника «Номенклатура» добавляет табличную часть в виде дерева, в которую выводится информация об остатках и доступности выбранной номенклатурной позиции.

6710 руб.

20.04.2026    731    1    0    

3

Адаптация типовых решений 1С 8.3 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Беларусь Россия Платные (руб)

Расширение "Дополнительные документы" предназначено для создания дополнительных документов различного назначения, как форм для внесения данных так и печатных форм в расширяемой конфигурации пользовательскими средствами, без работы в конфигураторе и внесения изменений в структуру данных. Тестировалось для "1С:БП", "1С:УНФ","1С:КА"

21859 руб.

29.12.2025    1838    1    8    

2