Имя: Пароль:
1C
1С v8
Как удалить все картинки из хранилища дополнительной информации
0 Verzeragna
 
10.10.13
10:10
Не получается удалить картинки из хранилища дополнительной информации
1 Maxus43
 
10.10.13
10:11
а как пытаешься?
2 Verzeragna
 
10.10.13
10:25
Запросом вытаскиваю картинки по номенклатуре, а удалить не могу, пишет метод удалить не обнаружен
3 Абыр
 
10.10.13
10:28
(2) текст ошибки?
4 Maxus43
 
10.10.13
10:29
дак не из результата запроса надо удалять, а у справочника. Код в студию
5 Лефмихалыч
 
10.10.13
10:30
(0) быстрее всего
TRUNCATE TABLE
6 Verzeragna
 
10.10.13
10:31
Другая ошибка
{Форма.Форма(36)}: Недостаточно фактических параметров
                ТабКартинок.Удалить();
7 Verzeragna
 
10.10.13
10:31
(5) Это че такое?
8 Maxus43
 
10.10.13
10:33
Ты код можешь показать?
9 Абыр
 
10.10.13
10:33
(6) Тип значения "ТабКартинок" какой?
10 IamAlexy
 
10.10.13
10:37
(0) в хранилищедопинфы это справочник.

выбери все элементы справочника ненужные и пометь их на удаление
а затем соответственно удали помеченные
11 Verzeragna
 
10.10.13
11:40
Вот мой код:

Процедура КнопкаВыполнитьНажатие(Кнопка)    
    Запрос= новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
                 |    Номенклатура.Ссылка
                 |ИЗ
                 |    Справочник.Номенклатура КАК Номенклатура
                 |ГДЕ
                 |    Номенклатура.Код = ""85235""";
            
    Выборка=Запрос.Выполнить().Выбрать();

    ТабКартинок= ПолучитьТабКартинок(Выборка.Ссылка);

    Предупреждение("Удаление завершено.");

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

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

      
     запрос.УстановитьПараметр("Объект",вхНом);
     запрос.УстановитьПараметр("ВидДанных",Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение);
      
     Ком=запрос.Выполнить().Выгрузить();
     если запрос.Выполнить().Пустой() Тогда
         Возврат новый ТаблицаЗначений;
     иначе
         Возврат Ком;
        
    КонецЕсли;    

    
    КонецФункции
12 Verzeragna
 
10.10.13
11:41
И после ТабКартинок= ПолучитьТабКартинок(Выборка.Ссылка);
я пишу ТабКартинок.ПометкаУдаления();
он мне пишет, что такой метод не обнаружен
13 Maxus43
 
10.10.13
11:43
ТабКартинок= ПолучитьТабКартинок(Выборка.Ссылка);

Для Каждого Стр Из ТабКартинок Цикл

Об = Стр.Ссылка.ПолучитьОбъект();
Об.Удалить();

КонецЦикла;

так всё удалишь, без возможности восстановления
14 Verzeragna
 
10.10.13
11:44
(13) щас попробую
15 Verzeragna
 
10.10.13
11:47
(13)Картинки не удалились(
16 Maxus43
 
10.10.13
11:48
(15) а что удалилось?
17 Verzeragna
 
10.10.13
11:53
В справочник зашел, там все на месте
18 Maxus43
 
10.10.13
11:55
значит нет такой номенклатуры -  Номенклатура.Код = ""85235""";
или у неё нет картинок.
Хорош страдать ерундой, пометь на удаление в справочнике доп информация по этой номенклатуре картинки и удали штатно
19 Verzeragna
 
10.10.13
11:57
там картинок почти 10000
20 Maxus43
 
10.10.13
11:58
Выборка=Запрос.Выполнить().Выбрать();

Сообщить(Выборка.Количество());

ставлю на то что 0
21 Михаил 1С
 
10.10.13
11:59
Посмотри в отладчике - перед последним циклом с уладениями, который тебе Максус43 показал. Сколько строк в Таблице значений?
22 Михаил 1С
 
10.10.13
12:00
В общем - пройдись в отладчике и все просмотри- что где находится, что там в запросе нашлось, что сям?
23 Михаил 1С
 
10.10.13
12:02
Эх, блин, а ты не знаешь, что надо еще писать - Если Выборка.Следующий() Тогда /твое действие/ КонецЕсли;
24 Михаил 1С
 
10.10.13
12:02
Учи МатЧасть, хотя бы книжку открой - как с запросами работать.
25 Maxus43
 
10.10.13
12:02
(23) и это я не заметил тоже)
26 Михаил 1С
 
10.10.13
12:04
Да и я не заметил сначала. Лень в чужой код полностью вчитываться.
27 Verzeragna
 
10.10.13
12:17
(20) проиграл)
28 Verzeragna
 
10.10.13
12:21
Все работает. Всем спасибо!