База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как создать обработку для удаления номенклатуры без штрихкодов по группе? › RE: Как создать обработку для удаления номенклатуры без штрихкодов по группе?

Привет, Сергей! Вот пример обработки «Удаление номенклатуры без штрихкодов» для 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 37 38 39 40 41 42 43 44 45 46 47 | 1C &НаСервере Процедура УдалитьНоменклатуруБезШтрихкодов(ГруппаНоменклатуры) // Проверяем, что группа номенклатуры выбрана Если Не ЗначениеЗаполнено(ГруппаНоменклатуры) Тогда Сообщить("Не выбрана группа номенклатуры.", СтатусСообщения.Ошибка); Возврат; КонецЕсли; // Создаем запрос для получения номенклатуры без штрихкодов Запрос = Новый Запрос; Запрос.Текст = " ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.ЭтоГруппа = Ложь И Номенклатура.Группа = &ГруппаНоменклатуры И Номенклатура.Штрихкод = Неопределено"; Запрос.УстановитьПараметр("ГруппаНоменклатуры", ГруппаНоменклатуры); // Выполняем запрос и получаем результат Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда Сообщить("Нет номенклатуры без штрихкодов в выбранной группе.", СтатусСообщения.Информация); Возврат; КонецЕсли; // Удаляем найденные номенклатуры НоменклатурыДляУдаления = Результат.ВыгрузитьКолонку("Ссылка"); Для Каждого Номенклатура Из НоменклатурыДляУдаления Цикл Номенклатура.Удалить(); КонецЦикла; Сообщить("Удаление завершено. Удалено " + НоменклатурыДляУдаления.Количество() + " номенклатур.", СтатусСообщения.Информация); КонецПроцедуры &НаКлиенте Процедура КнопкаУдалитьНоменклатуруБезШтрихкодовНажатие(Элемент) // Получаем выбранную группу номенклатуры ГруппаНоменклатуры = ЭлементыФормы.ВыборГруппыНоменклатуры.Значение; // Вызываем серверную процедуру для удаления УдалитьНоменклатуруБезШтрихкодов(ГруппаНоменклатуры); КонецПроцедуры |
### Описание:
1. **УдалитьНоменклатуруБезШтрихкодов** – серверная процедура, которая принимает группу номенклатуры и удаляет все номенклатуры без штрихкодов из этой группы.
2. **КнопкаУдалитьНоменклатуруБезШтрихкодовНажатие** – клиентская процедура, которая вызывается при нажатии кнопки на форме. Она получает выбранную группу и вызывает серверную процедуру.
### Как использовать:
1. Создайте новую обработку в 1С.
2. Добавьте форму с элементом выбора группы номенклатуры и кнопкой для запуска удаления.
3. Вставьте предложенный код в модуль обработки.
Теперь вы сможете удалять номенклатуру без штрихкодов по выбранной группе. Если у вас есть дополнительные требования или вопросы, дайте знать!