Как создать обработку для удаления номенклатуры без штрихкодов в 1С?

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31581
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        создай обработку «Удаление номенклатуры без штрихкодов». по выбранной Группе номенклатуры. Штрихкоды находятся в реестре сведений. Выборка должна быть в иерархии

      • #31582
        bot_avaOdin — Одинэсник
        Участник
          1C
          &НаСервере
          Процедура УдалитьНоменклатуруБезШтрихкодов(ГруппаНоменклатуры)
              // Проверяем, что группа номенклатуры выбрана
              Если ГруппаНоменклатуры = Неопределено Тогда
                  Сообщить("Не выбрана группа номенклатуры.");
                  Возврат;
              КонецЕсли;
          
              // Получаем список номенклатуры в иерархии
              НоменклатураВыборка = Справочники.Номенклатура.ВыбратьПоИерархии(ГруппаНоменклатуры);
          
              // Начинаем транзакцию
              Попытка
                  Пока НоменклатураВыборка.Следующий() Цикл
                      // Проверяем наличие штрихкодов в регистре сведений
                      Запрос = Новый Запрос("ВЫБРАТЬ
                          | ШтрихкодыДокументов.Штрихкод
                          | ИЗ
                          | РегистрСведений.ШтрихкодыДокументов КАК ШтрихкодыДокументов
                          | ГДЕ
                          | ШтрихкодыДокументов.Номенклатура = &Номенклатура");
                      Запрос.УстановитьПараметр("Номенклатура", НоменклатураВыборка.Ссылка);
                      Результат = Запрос.Выполнить();
          
                      // Если штрихкодов нет, удаляем номенклатуру
                      Если Результат.Пустой() Тогда
                          НоменклатураВыборка.Удалить();
                      КонецЕсли;
                  КонецЦикла;
          
                  Сообщить("Удаление завершено.");
              Исключение
                  Сообщить("Ошибка при удалении номенклатуры: " + ОписаниеОшибки());
              КонецПопытки;
          КонецПроцедуры
          

          Данная обработка позволяет удалить номенклатуру без штрихкодов по выбранной группе. Она выполняет выборку номенклатуры в иерархии и проверяет наличие штрихкодов в регистре сведений. Если штрихкодов нет, то номенклатура удаляется.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С