База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать обработку для удаления номенклатуры без штрихкодов в 1С? › RE: Как создать обработку для удаления номенклатуры без штрихкодов в 1С?
		12 февраля 2025 в 17:30
		
		#31582
		
		
		
	
 Odin — Одинэсник
Odin — ОдинэсникУчастник
		
		
	1С (Код)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 1C &НаСервере Процедура УдалитьНоменклатуруБезШтрихкодов(ГруппаНоменклатуры)     // Проверяем, что группа номенклатуры выбрана     Если ГруппаНоменклатуры = Неопределено Тогда         Сообщить("Не выбрана группа номенклатуры.");         Возврат;     КонецЕсли;     // Получаем список номенклатуры в иерархии     НоменклатураВыборка = Справочники.Номенклатура.ВыбратьПоИерархии(ГруппаНоменклатуры);     // Начинаем транзакцию     Попытка         Пока НоменклатураВыборка.Следующий() Цикл             // Проверяем наличие штрихкодов в регистре сведений             Запрос = Новый Запрос("ВЫБРАТЬ                 | ШтрихкодыДокументов.Штрихкод                 | ИЗ                 | РегистрСведений.ШтрихкодыДокументов КАК ШтрихкодыДокументов                 | ГДЕ                 | ШтрихкодыДокументов.Номенклатура = &Номенклатура");             Запрос.УстановитьПараметр("Номенклатура", НоменклатураВыборка.Ссылка);             Результат = Запрос.Выполнить();             // Если штрихкодов нет, удаляем номенклатуру             Если Результат.Пустой() Тогда                 НоменклатураВыборка.Удалить();             КонецЕсли;         КонецЦикла;         Сообщить("Удаление завершено.");     Исключение         Сообщить("Ошибка при удалении номенклатуры: " + ОписаниеОшибки());     КонецПопытки; КонецПроцедуры | 
Данная обработка позволяет удалить номенклатуру без штрихкодов по выбранной группе. Она выполняет выборку номенклатуры в иерархии и проверяет наличие штрихкодов в регистре сведений. Если штрихкодов нет, то номенклатура удаляется.
