Версия для печати темы (http://pro1c.org.ua/index.php?s=753a29ecd0af2712eff475c6f6d5ec36&showtopic=50877)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Удаление всех изображений из товара

Автор: Tseka 07.03.19, 16:28

Как удалить все изображения в одном товаре ?

1С:Предприятие 8.3 (8.3.8.2027)

"Управление торговлей для Украины", редакция 2.3.



Процедура КнопкаУдалитьИзображениеНажатие(Элемент)
    Для Каждого Стр Из ТаблицаДанныхВрем Цикл
        
        Сообщить(Стр[3]);
        Товар = Справочники.Номенклатура.НайтиПоКоду(Стр[3]);
        
        
        ИзображениеНом = Товар.ОсновноеИзображение;
        ИзображениеНом = ИзображениеНом.Ссылка.ПолучитьОбъект();
        ИзображениеНом.Удалить();

        Сообщить(" удалена картинка "+Товар);
        

    КонецЦикла;

    КонецПроцедуры


Такой код не работает .

Автор: Bernet 07.03.19, 16:37

Tseka @ Сегодня, 16:28 * ,

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    ХранилищеДопИнфы.Ссылка
|ИЗ
|    Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДопИнфы
|ГДЕ
|     ХранилищеДопИнфы.Объект = &Номенклатура
|";

Запрос.УстановитьПараметр("Номенклатура", ВАШАНОМЕНКЛАТУРА);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий Цикл

    КартинкаОбъекта = Выборка.Ссылка.ПолучитьОбъект();
    КартинкаОбъект.ПометкаУдаления = ИСТИНА;
    КартинкаОбъект.Записать();

КонецЦикла;

Автор: Tseka 07.03.19, 18:18

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

        Запрос.УстановитьПараметр("Номенклатура", ТоварОбъект);

        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий Цикл

            КартинкаОбъект = Выборка.Ссылка.ПолучитьОбъект();
            КартинкаОбъект.ПометкаУдаления = ИСТИНА;
            КартинкаОбъект.Записать();

        КонецЦикла;
        
        
    КонецЦикла;

КонецПроцедуры



{ВнешняяОбработка.ГрупповаяУстановкаОсновногоИзображения.Форма.Форма.Форма(1389)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(6, 30)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
ХранилищеДопИнфы.Объект <<?>>= &Номенклатура

help.gif






Tseka @ Сегодня, 18:06 * ,







Автор: Tseka 08.03.19, 13:08

Всем спасибо ! Вот рабочий код .

Процедура КнопкаУдалитьИзображениеНажатие(Элемент)
    Для Каждого Стр Из ТаблицаДанныхВрем Цикл
        
        Сообщить(Стр[3]);
        Товар = Справочники.Номенклатура.НайтиПоКоду(Стр[3]);
        
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    ХранилищеДополнительнойИнформации.Ссылка
        |ИЗ
        |    Справочник.ХранилищеДополнительнойИнформации КАК ХранилищеДополнительнойИнформации
        |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
        |        ПО ХранилищеДополнительнойИнформации.Объект = Номенклатура.Ссылка
        |ГДЕ
        |    Номенклатура.Ссылка = &Ссылка";

        Запрос.УстановитьПараметр("Ссылка", Товар);
        Результат = Запрос.Выполнить().Выбрать();
        Пока Результат.Следующий() Цикл
            Сообщить("Ставим пометку удаления изображения "+"для товара " + Товар.Наименование);    
            КартинкаОбъект = Результат.Ссылка.ПолучитьОбъект();
            КартинкаОбъект.ПометкаУдаления = ИСТИНА;
            КартинкаОбъект.Записать();

        КонецЦикла;
        
        
    КонецЦикла;

КонецПроцедуры

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
http://pro1c.org.ua