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