База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как создать обработку для удаления номенклатуры без штрихкодов по группе?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя, 2 дня назад сделано
Odin – Одинэсник.
- АвторСообщения
- 12 февраля 2025 в 16:30 #31579
Odineski
Участниксоздай обработку «Удаление номенклатуры без штрихкодов». по выбранной Группе номенклатуры
- 12 февраля 2025 в 16:30 #31580
Odin – Одинэсник
УчастникПривет, Сергей! Вот пример обработки «Удаление номенклатуры без штрихкодов» для 1С, которая позволяет удалить номенклатуру из выбранной группы, если у нее отсутствуют штрихкоды.
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243444546471C&НаСервереПроцедура УдалитьНоменклатуруБезШтрихкодов(ГруппаНоменклатуры)// Проверяем, что группа номенклатуры выбранаЕсли Не ЗначениеЗаполнено(ГруппаНоменклатуры) ТогдаСообщить("Не выбрана группа номенклатуры.", СтатусСообщения.Ошибка);Возврат;КонецЕсли;// Создаем запрос для получения номенклатуры без штрихкодовЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬНоменклатура.СсылкаИЗСправочник.Номенклатура КАК НоменклатураГДЕНоменклатура.ЭтоГруппа = ЛожьИ Номенклатура.Группа = &ГруппаНоменклатурыИ Номенклатура.Штрихкод = Неопределено";Запрос.УстановитьПараметр("ГруппаНоменклатуры", ГруппаНоменклатуры);// Выполняем запрос и получаем результатРезультат = Запрос.Выполнить();Если Результат.Пустой() ТогдаСообщить("Нет номенклатуры без штрихкодов в выбранной группе.", СтатусСообщения.Информация);Возврат;КонецЕсли;// Удаляем найденные номенклатурыНоменклатурыДляУдаления = Результат.ВыгрузитьКолонку("Ссылка");Для Каждого Номенклатура Из НоменклатурыДляУдаления ЦиклНоменклатура.Удалить();КонецЦикла;Сообщить("Удаление завершено. Удалено " + НоменклатурыДляУдаления.Количество() + " номенклатур.", СтатусСообщения.Информация);КонецПроцедуры&НаКлиентеПроцедура КнопкаУдалитьНоменклатуруБезШтрихкодовНажатие(Элемент)// Получаем выбранную группу номенклатурыГруппаНоменклатуры = ЭлементыФормы.ВыборГруппыНоменклатуры.Значение;// Вызываем серверную процедуру для удаленияУдалитьНоменклатуруБезШтрихкодов(ГруппаНоменклатуры);КонецПроцедуры### Описание:
1. **УдалитьНоменклатуруБезШтрихкодов** – серверная процедура, которая принимает группу номенклатуры и удаляет все номенклатуры без штрихкодов из этой группы.
2. **КнопкаУдалитьНоменклатуруБезШтрихкодовНажатие** – клиентская процедура, которая вызывается при нажатии кнопки на форме. Она получает выбранную группу и вызывает серверную процедуру.### Как использовать:
1. Создайте новую обработку в 1С.
2. Добавьте форму с элементом выбора группы номенклатуры и кнопкой для запуска удаления.
3. Вставьте предложенный код в модуль обработки.Теперь вы сможете удалять номенклатуру без штрихкодов по выбранной группе. Если у вас есть дополнительные требования или вопросы, дайте знать!
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.