Здравствуйте. Задание простое, но почему-то не выходит
Нужно обработкой изменить реквизит "ВидНоменклатуры" элемента справочника Номенклатура

Я пытался сделать так:

```1c
    &НаКлиенте
    Процедура ВыполнитьДействие(Команда)
    Обновить(Объект.Номенклатура);
    КонецПроцедуры

    &НаСервере
    Процедура Обновить(Ном) Экспорт

    СсылкаТек = Справочники.Номенклатура.НайтиПоНаименованию(Ном);
    ОбъектТек = СсылкаТек.ПолучитьОбъект();

    Послуга = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Послуга");

    ВидНом = ОбъектТек.ВидНоменклатуры.ПолучитьОбъект();
    ВидНом = Послуга;

    ОбъектТек.ВидНоменклатуры.Записать();

    КонецПроцедуры
```
---
Удалось изменить Групповым изменением реквизитов. Пришлось менять реквизит "Использование характеристик", я не тот реквизит менял. ВСЕМ большое спасибО!
---
СсылкаТек = Справочники.Номенклатура.НайтиПоНаименованию(Ном); Вот тут вы делаете поиск по наименованию, т.е. по строке, а в процедуру передаете Объект.

Соответственно, ссылка не находится и объект получается пустой - ни присвоить, ни записать.

Можно попробовать так:

```1c
    Процедура ВыполнитьДействие(Команда)
    Обновить(Объект.Номенклатура.Наименование);
    КонецПроцедуры
```
---
не надо получать объект (видноменклатуры.ПолучитьОбъект()), просто присвойте ОбъектТек.ВидНоменклатуры = Послуга;
---
Тогда ошибка "Метод объекта не обнаружен (Записать)"
---
Не ОбъектТек.ВидНоменклатуры.Записать();, а ОбъектТек.Записать();
---
ошибка, пишет что не удается записать
---
Хотел бы уточнить для чего это делаю. Включил для номенклатуры учёт Характеристик. Но для каждого товара он не установился, приходится в ручном режиме менять ВидНоменклатуры на "Послуга" а потом опять на "Товар" и так Характеристики уже появляются
---
Обработка может не помочь.
тут нужно в номенклатуре заполнить реквизит ИспользованиеХарактеристик - Перечисление.ВариантыИспользованияХарактеристикНоменклатуры
---
это обработкой сделать нужно или в программе самой?
---
Можно и обработкой, для корректности нужно посмотреть код программы который вызывается при изменении вида номенклатуры и в части характеристик выдрать этот код
---
В типовых конфигурациях есть в основном типовые обработки, в УПП например это групповая обработка справочников и документов, с помощью нее можно установить для номенклатуры всё, что захочется
---
тут есть Групповое изменение реквизитов, я пытался ней сделать, но не вышло
---
А что не получилось? ошибки какие-то были?
---
Какая у Вас конфигурация? Возможно, Вы и правда не тот реквизит меняете.
---
ох я дебил, забыл написать какая конфа
BAS УТ 3.2.14
---
Объект.Номенклатура - какого типа? Если это просто строка то все вышесказанное правильно. Если это ссылка на Номенклатуру то строка СсылкаТек = Справочники.Номенклатура.НайтиПоНаименованию(Ном); лишняя можно вместо нее написать:

```1c
    Процедура Обновить(Ном) Экспорт

    ОбъектТек = Ном.ПолучитьОбъект();

    Послуга = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Послуга");

    //ВидНом = ОбъектТек.ВидНоменклатуры.ПолучитьОбъект();
    // ВидНом = Послуга;
    ОбъектТек .ВидНоменклатуры = Послуга ;
    ОбъектТек.Записать();

    КонецПроцедуры
```
---
Много лишнего, надо так

```1c
    &НаКлиенте
    Процедура ВыполнитьДействие(Команда)
    Обновить(Объект.Номенклатура);
    КонецПроцедуры

    &НаСервере
    Процедура Обновить(Ном) Экспорт

    // СсылкаТек = Справочники.Номенклатура.НайтиПоНаименованию(Ном);
    // ОбъектТек = СсылкаТек.ПолучитьОбъект();
    ОбъектТек = Ном.ПолучитьОбъект();

    Послуга = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Послуга", Истина);

    // ВидНом = ОбъектТек.ВидНоменклатуры.ПолучитьОбъект();
    // ВидНом = Послуга;

    ОбъектТек.ВидНоменклатуры = Послуга;

    ОбъектТек.ОбменДанными.Загрузка = Истина;

    ОбъектТек.ВидНоменклатуры.Записать();

    КонецПроцедуры
```
---
ОбъектТек.ВидНоменклатуры.Записать();
ТУт всё же ОбъектТек.Записать();
---
Удалось изменить Групповым изменением реквизитов. Пришлось менять реквизит "Использование характеристик", я не тот реквизит менял. ВСЕМ большое спасибО!
---
Можно было добавить в конце
```1c
    .Ссылка
```

Получилось бы так:

```1c
    СсылкаТек = Справочники.Номенклатура.НайтиПоНаименованию(Ном).Ссылка;
```