Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программное удаление дополнительных реквизитов номенклатуры
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
kostya77
Добрый день. У меня возникла необходимость удалить все дополнительные реквизиты номенклатуры. Пробовать делать так
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    Номенклатура.Ссылка КАК Ссылка
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура";  
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        Об = Выборка.Ссылка.ПолучитьОбъект();
        Об.ДополнительныеРеквизиты.Очистить();
        об.записать();
    КонецЦикла;


вылетает ошибка Объект недоступен для изменения.

Подскажите как сделать?
Profi_1C77
kostya77 @ Сегодня, 14:59 необходимо зарегистрироваться для просмотра ссылки ,
В запрос попадают и группы тоже, а у группы точно не может быть табличной части
kostya77
Очищу Доп ректвизиты в Номенклатуре, а как дальше удалять?
Profi_1C77
kostya77 @ Сегодня, 15:22 необходимо зарегистрироваться для просмотра ссылки ,
Об.ДополнительныеРеквизиты.Очистить();
об.записать();

Какая конфигурация?
kostya77
Profi_1C77 @ Сегодня, 15:36 необходимо зарегистрироваться для просмотра ссылки ,
Малий Бізнес

Profi_1C77 @ Сегодня, 15:36 необходимо зарегистрироваться для просмотра ссылки ,
цим методом не вдалось очистити Доп реквізити
Profi_1C77
kostya77 @ Сегодня, 15:45 необходимо зарегистрироваться для просмотра ссылки ,
Потому что в этой Конф табличная часть из Свойство/Значение вероятно ( ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения);
или запрос сложнее писать или искать в модулях процедуру удаления ... ( вероятно БСП)
Slon747
//Выбираем товары с существующими доп. реквизитами
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ
               |    НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка
               |ИЗ
               |    Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты";

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    Об = Выборка.Ссылка.ПолучитьОбъект();
    Об.ДополнительныеРеквизиты.Очистить();
    Об.записать();
КонецЦикла;

Если после этого доп. реквизиты останутся, нужно смотреть что в ПередЗаписью().
Если там принудительно заполняется ТЧ, то в свой код перед записью добавить:
Об.ОбменДанными.Загрузка = Истина;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.