- В этой теме 1 ответ, 2 участника, последнее обновление 1 год назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как создать обработку для удаления номенклатуры без штрихкодов в 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 &НаСервере Процедура УдалитьНоменклатуруБезШтрихкодов(ГруппаНоменклатуры) // Проверяем, что группа номенклатуры выбрана Если ГруппаНоменклатуры = Неопределено Тогда Сообщить("Не выбрана группа номенклатуры."); Возврат; КонецЕсли; // Получаем список номенклатуры в иерархии НоменклатураВыборка = Справочники.Номенклатура.ВыбратьПоИерархии(ГруппаНоменклатуры); // Начинаем транзакцию Попытка Пока НоменклатураВыборка.Следующий() Цикл // Проверяем наличие штрихкодов в регистре сведений Запрос = Новый Запрос("ВЫБРАТЬ | ШтрихкодыДокументов.Штрихкод | ИЗ | РегистрСведений.ШтрихкодыДокументов КАК ШтрихкодыДокументов | ГДЕ | ШтрихкодыДокументов.Номенклатура = &Номенклатура"); Запрос.УстановитьПараметр("Номенклатура", НоменклатураВыборка.Ссылка); Результат = Запрос.Выполнить(); // Если штрихкодов нет, удаляем номенклатуру Если Результат.Пустой() Тогда НоменклатураВыборка.Удалить(); КонецЕсли; КонецЦикла; Сообщить("Удаление завершено."); Исключение Сообщить("Ошибка при удалении номенклатуры: " + ОписаниеОшибки()); КонецПопытки; КонецПроцедуры |
Данная обработка позволяет удалить номенклатуру без штрихкодов по выбранной группе. Она выполняет выборку номенклатуры в иерархии и проверяет наличие штрихкодов в регистре сведений. Если штрихкодов нет, то номенклатура удаляется.