Odin | База знаний 1С

Как создать обработ...
 

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

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



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 
1C
&НаСервере
Процедура УдалитьНоменклатуруБезШтрихкодов(ГруппаНоменклатуры)
    // Проверяем, что группа номенклатуры выбрана
    Если ГруппаНоменклатуры = Неопределено Тогда
        Сообщить("Не выбрана группа номенклатуры.");
        Возврат;
    КонецЕсли;

    // Получаем список номенклатуры в иерархии
    НоменклатураВыборка = Справочники.Номенклатура.ВыбратьПоИерархии(ГруппаНоменклатуры);

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

            // Если штрихкодов нет, удаляем номенклатуру
            Если Результат.Пустой() Тогда
                НоменклатураВыборка.Удалить();
            КонецЕсли;
        КонецЦикла;

        Сообщить("Удаление завершено.");
    Исключение
        Сообщить("Ошибка при удалении номенклатуры: " + ОписаниеОшибки());
    КонецПопытки;
КонецПроцедуры

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



   
ОтветитьЦитата