Пишу загрузку данных из екселя в 1ску. Сначала гружу все данные из екселя в ТЧ. Потом на основании этой ТЧ создаю номенклатуру. Это все ясно как деать, но у номенклатуры есть перечень характеристик, которые я создавал в режиме предприятия, например цвет. Как мне теперь при создании номенклатуры задать чтобы находилась эта характеристика цвет, и туда вставало мое значение?

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

```1c
    Для каждого строка из Номен.ДополнительныеРеквизиты Цикл
```

и вычисли значение переменной Номен.ДополнительныеРеквизиты

а потом думай
---
Boneman,

```1c
    Номен.ВариантОформленияПродажи = Объект.ВидНоменклатуры.ВариантОформленияПродажи;
    Для каждого строка из Номен.ДополнительныеРеквизиты Цикл
    Поц = 1;
    КонецЦикла;
    Сообщить("Создана номенклатура: "+Наименование);
```

После этой строки Для каждого строка из Номен.ДополнительныеРеквизиты Цикл, сразу на сообщить вылетает, в цикл даже не заходит, а Номен.ДополнительныеРеквизиты по отладчику пишет справочникТЧ, но в ней нет строк, как мне их туда тогда запихнуть?
---
Вожак, Потому что хранятся в регистре, а в регистре нужно наложить отбором по Виду характеристики и типу...А так же в качестве объекта указать ваш элемент номенклатуры.
---
deniseek77, то есть запрос к регистру еще писать? не понимаю(
---
Вожак, Да, в БП 3.0 к плану видов характеристик "ДополнительныеРеквизитыИСведения", "РегистрСведений.ДополнительныеСведения" и "Справочник.ЗначенияСвойствОбъектов"
---
deniseek77, у меня Ут но такой РС есть, можно подробнее, как мне обратиться к нему, получить нужную мне зарактеристику цвет, и в эту характеристику передать значение из моей ТЧ, в которой имеется нужное значение?
---
Вожак,
```1c
    ВЫБРАТЬ
    НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Ссылка.Ссылка,
    НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство.Наименование
    ИЗ
    Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я
    ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
    ПО НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
    ГДЕ
    НЕ ДополнительныеРеквизитыИСведения.ПометкаУдаления
    И НЕ НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.ПометкаУдаления
```

и

```1c
    ВЫБРАТЬ
    ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка,
    ДополнительныеРеквизитыИСведения.Наименование КАК Наименование,
    ДополнительныеРеквизитыИСведения.ПометкаУдаления КАК ПометкаУдаления
    ИЗ
    ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения) КАК СвойстваОбъектов
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
    ПО (ДополнительныеСведения.Объект = &ОбъектОтбораЗначений)
    И (ДополнительныеСведения.Свойство = СвойстваОбъектов.Ссылка)
    ГДЕ
    НЕ СвойстваОбъектов.ПометкаУдаления
```
---
deniseek77, 2 запроса делать и потом их объединять?
---
Вожак, Псосмотрете в консоли запрос
---
deniseek77,

```1c
    ВЫБРАТЬ
    НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Ссылка.Ссылка,
    НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство.Наименование
    ИЗ
    Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я
    ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
    ПО НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство = ДополнительныеРеквизитыИСведения.Ссылка

    (ВЫБРАТЬ
    ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка,
    ДополнительныеРеквизитыИСведения.Наименование КАК Наименование,
    ДополнительныеРеквизитыИСведения.ПометкаУдаления КАК ПометкаУдаления
    ИЗ
    ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения) КАК СвойстваОбъектов
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
    ПО (ДополнительныеСведения.Объект = &ОбъектОтбораЗначений)
    И (ДополнительныеСведения.Свойство = СвойстваОбъектов.Ссылка)
    ГДЕ
    НЕ СвойстваОбъектов.ПометкаУдаления
```

такой что ли запрос?
---
deniseek77, вот где тут скобка открывающая должна стоять? 3 часа уже бьюсь над ней

```1c
    ВЫБРАТЬ
    ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка,
    ДополнительныеРеквизитыИСведения.Наименование КАК Наименование,
    ДополнительныеРеквизитыИСведения.ПометкаУдаления КАК ПометкаУдаления
    ИЗ
    ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения) КАК СвойстваОбъектов
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
    ПО (ДополнительныеСведения.Объект = &ОбъектОтбораЗначений)
    И (ДополнительныеСведения.Свойство = СвойстваОбъектов.Ссылка)
    ГДЕ
    НЕ СвойстваОбъектов.ПометкаУдаления
```
---
Вожак, там наверно, нужно убрать закрывающую скобку
---
```1c
    Для каждого строка из Номен.ДополнительныеРеквизиты Цикл
    //как вот тут найти нужную мне характеристику?
    КонецЦикла;
```

и в этот цикл отладчик вообще не заходит почему то, хотя характеристику в режиме предприятия я создал
---
Вожак, а там строки то есть вообще ?
---
Номен.ДополнительныеСвойства - тип структура - внутри ничего нет
---
Вожак, ну вот,
и чего тогда удивляешься, что в цикл не заходит ?
Ничего нет - вот и не заходит ))
---
только в Ут есть 1 РС ДополнительныеСведения, его везде и подставлять в запросе получается?
---
просто "И" между запросами не совсем ясно потому что дальше нет никакого объединения
---
не получается со вторым запросом
---
Вожак, Разберитесь со структурой хранения данных. и тогда сразу поймёте как правильно построить запрос. Что и откуда выбирать.
---
как я ненавижу управляемое приложение
---
Написал отдельный запрос:

```1c
    ВЫБРАТЬ
    ДополнительныеРеквизитыИСведения.Ссылка,
    ДополнительныеРеквизитыИСведения.ПометкаУдаления,
    ДополнительныеРеквизитыИСведения.Наименование
    ИЗ
    РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
    ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
    ПО ДополнительныеСведения.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
    ГДЕ
    ДополнительныеСведения.Объект = &ОбъектОтбораЗначений
    И ДополнительныеСведения.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
```

Почему я в параметр не могу передать справочник номенклатура? только номенклатура поставщиков есть
---
Вот запрос вроде даже работает, только почему то он мне доп реквизиты документа показывает, а справочника номенклатура нет, почему так?

```1c
    ВЫБРАТЬ
    НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Ссылка.Ссылка,
    НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство.Наименование
    ИЗ
    Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я
    ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
    ПО НоменклатураДополнительныеРеквизиты.Ссылка = ДополнительныеРеквизитыИСведения.Ссылка
    ПО НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
```
---
```1c
    ВЫБРАТЬ
    НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.Ссылка КАК Группа,
    НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.Свойство.Наименование КАК СвойствоРеквизита
    ИЗ
    Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я
    ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
    ПО (НоменклатураДополнительныеРеквизиты.Ссылка = ДополнительныеРеквизитыИСведения.Ссылка)
    ПО НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство = ДополнительныеРеквизитыИСведения.Ссылка,
    Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты
```

вот запрос выдает мне в итоге характеристики всех групп номенклатуры которые у меня есть. То есть я получаю этот запрос, потом обхожу его в поисках например цвета, и когда эту характеристику нахожу, как мне ее записать в справочник?
---
Вожак, ну тебе теперь надо наложить условия на тип характеристики Цвет и Нужную Номенклатуру.
---
platon_, а потом когда я наложу сверху отборы, как мне записать к данной номенклатуре нужную мне характеристику?
---
я в параметрах не могу передать справочник номенклатура
---
смотрите типы тогда.
---
не скажу точно как в вашей системе, в упп значения характеристик хранятся в регистре сведений.
---
у меня УТ 11
---
Проблема еще актуальна
---
Не очень понятен вопрос.
Если про то, как подставить значение цвета при создании номенклатуры, - то необходимо сопоставление код цвета - значение екселя, далее по сопоставлению находишь элемент цвета по коду, далее создаешь набор записей доп.свойства для данной номенклатуры.
---
DEMOS777, по пунктам так это будет:
1. Загрузил из екселя в табличную часть номенклатуру
2. хочу ее создать. с указанием характеристик. предварительно создал в режиме предприятия эти характеристики. но теперь не понимаю как для номенклатуры их заполнять по данным моей тч
---
```1c
    ВЫБРАТЬ
    СвойстваОбъектов.Ссылка,
    СвойстваОбъектов.Наименование,
    СвойстваОбъектов.ПометкаУдаления

    ИЗ
    ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК СвойстваОбъектов
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
    ПО (ДополнительныеСведения.Объект = &ОбъектОтбораЗначений)
```

вот я получил список доп реквизитов, и как мне потом при обходе моими данными при создании номенклатуры пихать цвет?
---
Вожак, а зачем при создании номенклатуры куда-то пихать цвет? Куда хотите пихнуть цвет? В справочнике номенклатура характеристики не хранятся. В УПП например они хранятся в справочнике ХарактеристикиНоменклатуры
---
так в том то и дело, что цвет, габариты, блок и тд. Это характеристики, которые в доп реквизитах содержатся формы. И мне при создании номенклатуры их надо указывать, в этом и проблема, весь день с ними трахаюсь
---
Вожак, я не знаком с УТ 11, ты уже нашел, где хранятся значения характеристик номенклатуры?
---
3762515, в плане видов характеристик что ли, блин нахрена былотак все усложнять с этими характеристиками, мне уже хочется тупо в справочник добавить все нужные мне характеристики в тч обычную и все, без всяких РС и ПВХ
---
Вожак, в плане видов характеристик хранятся виды характеристик, но не их значения
---
3762515, в спр номенклатура есть ТЧ - дополнительные реквизиты - это и есть характеристики номенклатуры, там 3 реквизита:
1. Свойство - тип ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
2. Значение - тип Характеристика.ДополнительныеРеквизитыИСведения
3. ТекстоваяСтрока
---
Вожак, "Характеристика.ДополнительныеРеквизитыИСведения" - это РС или Справочник или что?
---
3762515, РС
---
Вожак, вот и нужно после записи справочника номенклатура, создать запись в РС "Характеристика.ДополнительныеРеквизитыИСведения", где владельцем будет номенклатура, а значением характеристика
---
3762515, как в РС создавать новую запись? раньше с этим не сталкивался(
---
Вожак,

```1c
    Курсы = РегистрыСведений.Характеристика.ДополнительныеРеквизитыИСведения.СоздатьНаборЗаписей();

    Набор = Курсы.Добавить();
    Набор.Период = ТекущаяДата();
    Набор.Длинна= "значение";
    Курсы.Записать();
```

Примерно так, это легко загуглить. А я давно ничего не писал на УФ.
---
Вожак,вот нагуглил:

```1c
    /// Как добавить новую записи регистра сведений в 1с 8.3, 8.2
    /// Как изменить/удалить существующую запись регистра сведений
    /// в 1с 8.3, 8.2

    Процедура КакДобавитьИзменитьИлиУдалитьЗаписьРегистраСведений()

    // добавление новой записи
    НоваяЗапись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
    НоваяЗапись.Период = ТекущаяДата();
    НоваяЗапись.Курс = 50;
    НоваяЗапись.Кратность = 1.0;
    // НоваяЗапись.Валюта = СсылкаНаВалюту;
    // НоваяЗапись.Записать();

    //Отбор = Новый Структура("Валюта", СсылкаНаВалюту);
    Выборка = РегистрыСведений.КурсыВалют.Выбрать('20130101',
    '20131231');//, Отбор);
    Пока Выборка.Следующий() Цикл

    // изменение существующей
    МенеджерЗаписи = Выборка.ПолучитьМенеджерЗаписи();
    МенеджерЗаписи.Прочитать();
    МенеджерЗаписи.Курс = 25;
    // МенеджерЗаписи.Записать();

    // удаление существующей
    //Выборка.ПолучитьМенеджерЗаписи().Удалить();

    КонецЦикла;

    КонецПроцедуры
```
---
Точнее это будет так:

```1c
    м_Номенклатура = Справочники.Номенклатура.Создать();
    м_Номенклатура.Реквизит = ....
    м_Номенклатура.Записать();

    НаборЗаписей = РегистрыСведений.<Имя>.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Номенклатура.Установить(м_Номенклатура.ссылка)
    Запись = НаборЗапией.Добавить();
    Запись.<Реквизит> = ....

    НаборЗаписей.Записать();
```
---
DEMOS777, Запись.<Реквизит> = .... тут добавляем все реквизиты - характеристики?
---
Вожак, да
---
блин, в РС дополнительныеСведения у Объекта в типе данных нет номенклатуры((( то есть мне ее не впихнуть в него будет
---
Вожак, Номенклатура должна быть Владельцем\Родителем
---
3762515, НаборЗаписей.Отбор.Владелец.Установить(Номен.ссылка);
 так или так:НаборЗаписей.Отбор.Родитель.Установить(Номен.ссылка);
?
---
- ни одни ни другой вариант че то не работают
---
Вожак, ща посмотрел в УПП в РС "ЗначенияСвойствОбъектов", Измерение "Объект" имеет тип: "ДокументСсылка, СправочникСсылка" и соответственно объект может быть любым в том числе и Номенклатурой. И записи в этом РС: Объект, Свойство, Значение. У тебя должно быть так же, я так думаю.
---
3762515, перепутал свойства с характеристиками, это не относится к делу
---
Вожак, напиши какая у тебя версия конфигурации. Дома у меня есть УТ 11, посмотрю вечером
---
3762515, напиши в личку почту, я те могу дтшник прислать
---
3762515, 11.1.2.22)
---
Делаю так:

```1c
    Номен = Справочники.Номенклатура.СоздатьЭлемент();
    Номен.Наименование = Наименование;
    Номен.НаименованиеПолное = НаименованиеПолное;
    Номен.ЕдиницаИзмерения = ЕдиницаИзмерения;
    Номен.ТипНоменклатуры = ТипНоменклатуры;
    Номен.СтавкаНДС = Объект.СтавкаНДС;
    Номен.ВидНоменклатуры = Объект.ВидНоменклатуры;
    Номен.Родитель = ГруппаНоменклатуры;
    Номен.Производитель = Производитель;
    Номен.ВариантОформленияПродажи = Объект.ВидНоменклатуры.ВариантОформленияПродажи;
    Попытка
    Номен.Записать();
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;

    Если НЕ Цвет = " Тогда

    Св = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("цвет");

    НаборЗаписей = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
    НоваяЗапись = НаборЗаписей.Добавить();
    НоваяЗапись.Объект = Номен.Ссылка;
    НоваяЗапись.Свойство = Св.Ссылка;
    НоваяЗапись.Значение = Цвет;
    НаборЗаписей.Записать();
    КонецЕсли;

    Попытка
    Номен.Записать();
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
```

но в номенклатуре потом значение цвета не появляется все равно
---
и еще как в (60), у меня для 1 номенклатуры несколько разных цветов будет, получается они будут перезаписываться?
---
Вожак, В УТ11 Характеристики номенклатуры - это справочник, подчиненный Номенклатуре. В твоём коде им и не пахнет.
---
А так уже предлагали?

```1c
    Номен = Справочники.Номенклатура.СоздатьЭлемент();
    Номен.Наименование = Наименование;
    Номен.НаименованиеПолное = НаименованиеПолное;
    Номен.ЕдиницаИзмерения = ЕдиницаИзмерения;
    Номен.ТипНоменклатуры = ТипНоменклатуры;
    Номен.СтавкаНДС = Объект.СтавкаНДС;
    Номен.ВидНоменклатуры = ВидНом;
    Номен.Родитель = Группа.Ссылка;
    Номен.Описание = ТекстовоеОписание;
    Номен.Производитель = Производитель;
    Номен.ВариантОформленияПродажи = ВидНом.ВариантОформленияПродажи;

    Если НЕ Цвет = " Тогда
    Реквизит = Номен.ДополнительныеРеквизиты.Добавить();

    Св = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("цвет");

    Реквизит.Свойство = Св;
    Реквизит.Значение = Цвет; //если Значение это Значение свойства тогда Справочники.ЗначениеСвойствОбъектов.НайтиПоНаименованию(Цвет,Истина);
    КонецЕсли;

    Попытка
    Номен.Записать();
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
```
---
Вожак, поищи либо справочник Характеристики номенклатуры (как в 65 подсказали) или регистр сведений Значения характеристик номенклатуры (или что-то похожее). Если есть регистр, то

```1c
    НачатьТранзакцию();
    Категория = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет");
    Номен = Справочники.Номенклатура.СоздатьЭлемент();
    Номен.Наименование = Наименование;
    Номен.НаименованиеПолное = НаименованиеПолное;
    Номен.ЕдиницаИзмерения = ЕдиницаИзмерения;
    Номен.ТипНоменклатуры = ТипНоменклатуры;
    Номен.СтавкаНДС = Объект.СтавкаНДС;
    Номен.ВидНоменклатуры = ВидНом;
    Номен.Родитель = Группа.Ссылка;
    Номен.Описание = ТекстовоеОписание;
    Номен.Производитель = Производитель;
    Номен.ВариантОформленияПродажи = ВидНом.ВариантОформленияПродажи;
    Попытка
    Номен.Записать();
    Исключение
    ОтменитьТранзакцию();
    Сообщить(ОписаниеОшибки());
    КонецПопытки;

    нзЗначенияХарактеристикНоменклатуры = РегистрыСведений.ЗначенияХарактеристикНоменклатуры.СоздатьНаборЗаписей();
    нзЗначенияХарактеристикНоменклатуры.Отбор.Объект.Установить(Номен.Ссылка);
    нзЗначенияХарактеристикНоменклатуры.Отбор.Категория.Установить(Категория);
    нзЗначенияХарактеристикНоменклатуры.Прочитать();
    НоваяЗапись = нзЗначенияХарактеристикНоменклатуры.Добавить();
    НоваяЗапись Объект = Номен.Ссылка;
    НоваяЗапись Категория= Категория;
    НоваяЗапись Значение = Цвет;
    нзЗначенияХарактеристикНоменклатуры.Записать();
    ЗафиксироватьТранзакцию();
```

Если справочник, то

```1c
    НачатьТранзакцию();
    Категория = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет");
    Номен = Справочники.Номенклатура.СоздатьЭлемент();
    Номен.Наименование = Наименование;
    Номен.НаименованиеПолное = НаименованиеПолное;
    Номен.ЕдиницаИзмерения = ЕдиницаИзмерения;
    Номен.ТипНоменклатуры = ТипНоменклатуры;
    Номен.СтавкаНДС = Объект.СтавкаНДС;
    Номен.ВидНоменклатуры = ВидНом;
    Номен.Родитель = Группа.Ссылка;
    Номен.Описание = ТекстовоеОписание;
    Номен.Производитель = Производитель;
    Номен.ВариантОформленияПродажи = ВидНом.ВариантОформленияПродажи;
    Попытка
    Номен.Записать();
    Исключение
    ОтменитьТранзакцию();
    Сообщить(ОписаниеОшибки());
    КонецПопытки;

    спЗначенияХарактеристикНоменклатуры = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
    спЗначенияХарактеристикНоменклатуры.Владелец = Номен.Ссылка;
    //Заполняем остальные реквизиты
    Попытка
    спЗначенияХарактеристикНоменклатуры.Записать();
    Исключение
    ОтменитьТранзакцию();
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    ЗафиксироватьТранзакцию();
```

Обрати внимание, если есть ошибки при записи номенклатуры (в 1 случае) или при записи характеристик (во 2 случае), то ни номенклатура, ни характеристики не запишутся.
P.S. А почему именно характеристики, а не свойства? Если решишь использовать свойства, используй 1 вариант кода, то
РегистрыСведений.ЗначенияХарактеристикНоменклатуры.СоздатьНаборЗаписей(); замени на РегистрыСведений.ЗначенияСвойствобъектов.СоздатьНаборЗаписей();. Соответственно ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет"); тоже нужно заменить на
ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Цвет");
---
kot30688, у спр характеристики номенклатуры тоже данные хранятся в ТЧ дополнительные реквизиты, мне их циклом обходить?
---
kot30688, на транзацкии летит ошибка:
{Форма.ЗагрузкаСправочникаНоменклатура.Форма(89)}: Ошибка при вызове метода контекста (ЗафиксироватьТранзакцию)
   ЗафиксироватьТранзакцию();
по причине:
Транзакция не активна
---
Вожак,

Вместо

```1c
    ЗафиксироватьТранзакцию();
```

Поставь

```1c
    Если ТранзакцияАктивна() Тогда
    ЗафиксироватьТранзакцию();
    КонецЕсли
```

а как в посте 64 не пробовал?
---
popro, как в 664, я не много добавил и вот так получается:

```1c
    НачатьТранзакцию();
    Категория = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет");
    Номен = Справочники.Номенклатура.СоздатьЭлемент();
    Номен.Наименование = Наименование;
    Номен.НаименованиеПолное = НаименованиеПолное;
    Номен.ЕдиницаИзмерения = ЕдиницаИзмерения;
    Номен.ТипНоменклатуры = ТипНоменклатуры;
    Номен.СтавкаНДС = Объект.СтавкаНДС;
    Номен.ВидНоменклатуры = Объект.ВидНоменклатуры;
    Номен.Родитель = ГруппаНоменклатуры;
    Номен.Описание = ТекстовоеОписание;
    Номен.Производитель = Производитель;
    Номен.ВариантОформленияПродажи = Объект.ВидНоменклатуры.ВариантОформленияПродажи;
    Попытка
    Номен.Записать();
    Исключение
    ОтменитьТранзакцию();
    Сообщить(ОписаниеОшибки());
    КонецПопытки;

    спЗначенияХарактеристикНоменклатуры = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
    спЗначенияХарактеристикНоменклатуры.Владелец = Номен.Ссылка;
    ХарактеристикиРеквизиты = спЗначенияХарактеристикНоменклатуры.ДополнительныеРеквизиты.Добавить();
    ХарактеристикиРеквизиты.Значение = Цвет;
    ХарактеристикиРеквизиты.Свойство = Категория;
    //Заполняем остальные реквизиты
    Попытка
    спЗначенияХарактеристикНоменклатуры.Записать();
    Исключение
    ОтменитьТранзакцию();
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    Если ТранзакцияАктивна() Тогда
    ЗафиксироватьТранзакцию();
    КонецЕсли;
```

но все равно не получается запихнуть в карточку номенклатура характеристику
---
Вожак,
Код в 64 записывает доп свойство "Цвет" в номенклатуру.
Код в 72 создает характеристику номенклатуры и записывает доп свойство "Цвет" в характеристику номенклатуры.

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

Еще как вариант, т.к. 72 работает а 64 нет, то для справочника номенклатура не созданы доп свойства в разделе "Наборы дополнительных реквизитов и сведений", но созданы для характеристики номенклатуры.

Было бы удобнее чтобы разделяли характеристики номенклатуры и дополнительные свойства.
(73) uk09, УТ 11.
---
kot30688, и проблема в том, что в УТ нет ни РегистрыСведений.ЗначенияСвойствобъектов, ни ПланыВидовХарактеристик.СвойстваОбъектов. Данные записались у меня в РС дополнительные сведения. Но в карточке номенклатуры так и не появился мой цвет
---
Вожак, в ут 11 дополнительные свойства хранятся в табличной части а не в регистре
---
Вожак, привет! Обсуждение актуально? Если РежимДиалогаВопрос.ОК, тогда давай обсудим, помогу.Структура данных номенклатуры в БП 3.0 аналогична структуре в КА. Кстати, cf совсем бы не помешал, для скорости результата.
---
uk09, могу дтшник дать)и у меня не КА, а УТ 11)
---
dt давайте, все равно, думаю, есть дописки. У меня типовая УТ - Управление торговлей, редакция 11.0 (11.0.9.15). И коротенько описание обработки: делаем внешнюю (втсроенную), толстый (тонкий) клиент?
---
uk09, напишите почту, обработка внешняя, я ее вам тоже скину и сам файл загрузки екселевский
---
```1c
    НачатьТранзакцию();
    Категория = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет");
    Номен = Справочники.Номенклатура.СоздатьЭлемент();
    Номен.Наименование = Наименование;
    Номен.НаименованиеПолное = НаименованиеПолное;
    Номен.ЕдиницаИзмерения = ЕдиницаИзмерения;
    Номен.ТипНоменклатуры = ТипНоменклатуры;
    Номен.СтавкаНДС = Объект.СтавкаНДС;
    Номен.ВидНоменклатуры = Объект.ВидНоменклатуры;
    Номен.Родитель = ГруппаНоменклатуры;
    Номен.Описание = ТекстовоеОписание;
    Номен.Производитель = Производитель;
    Номен.ВариантОформленияПродажи = Объект.ВидНоменклатуры.ВариантОформленияПродажи;
    Попытка
    Номен.Записать();
    Исключение
    ОтменитьТранзакцию();
    Сообщить(ОписаниеОшибки());
    КонецПопытки;

    спЗначенияХарактеристикНоменклатуры = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
    спЗначенияХарактеристикНоменклатуры.Владелец = Номен.Ссылка;
    спЗначенияХарактеристикНоменклатуры.Наименование = Номен.Наименование;
    ХарактеристикиРеквизиты = спЗначенияХарактеристикНоменклатуры.ДополнительныеРеквизиты.Добавить();
    ХарактеристикиРеквизиты.Значение = Цвет;
    ХарактеристикиРеквизиты.Свойство = Категория;
    Попытка
    спЗначенияХарактеристикНоменклатуры.Записать();
    Исключение
    ОтменитьТранзакцию();
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    Если ТранзакцияАктивна() Тогда
    ЗафиксироватьТранзакцию();
    КонецЕсли;

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

Вот делаю так, ошибок нет, номенклатура создается, а в самой карточке:
---
Вожак, перед последней строчкой добавь
Номен.Записать();
Вдруг поможет...
..
Есть нюанс. Перед созданием элемента справочника Характеристики номенклатуры полезно проверять наличие этой характеристики.
...
---
МимохожийОднако, тут не совсем элемент справочника характеристики. Тут значение из дополнительных реквизитов и сведений (эти реквизиты задаются в пользовательском режиме на закладке администрирование - общие - дополнительные реквизиты и сведения для почти всех объектов конфигурации, то есть выбираем справочник номенклатура там, и добавляем наши реквизиты)
---
Вожак, в любом случае метод Записать() в конце алгоритма полезен. В сложных (да и других) случаях полезно включать отладчик и отследить то, что делаешь.
---
МимохожийОднако, это понятно, не понятно как доп реквизиты и доп свойства заполнять
---
еще есть варианты, как при создании номенклатуры ей присвоить характеристики?
---
Почта - citizen72@yandex.ru Вопрос: характеристики - цвет? Он впоследствии будет назначен, выберется из Excel или будет введен интерактивно в ходе обработки? Особо это ничего не меняет, просто решить - укладываем null или значение.
---
uk09, Отпраивл дтшник, файл и обработку
---
Надо было страничку обновить перед отправкой :)
---
из Екселя я гружу все в ТЧ моей обработки, вместе с номенклатурой, затем по кнопке я начиаю создавать номенклатуру, и каждой из них приписывать цвет
---
Спасибо, все пришло в почту,скачиваю. Через минут 40 обсудим, есть спорные моменты
---
uk09, ок, буду готов
---
есть справочник ЗначениеСвойствОбъектов, вот как то через него можно может быть?
---
Работает. Письмо в ящике
---
uk09, обработку встроенной сделали что ли?
---
и как если я ъхочу грузит ьнесколько характеристик? помимо цвета, СТГ например еще - тип строка, и Блок?
---
Прочли в письме?
---
В случае нескольких характеристик - спЗначенияХарактеристикНоменклатуры делать в цикле
---
uk09, не совсем понял как с обработкой? вы же ее дорабатывали?
---
uk09, все равно не заполняются. см скриншот
---
уже мозг кипит, как заполнить эти сраные свойства как на скриншоте выше? которые добавляются в пользовательском режиме на закладке администрирование?
---
телефон в почту отправьте, пожалуйста..Я позвоню.Быстрее будет
---
Вот как у меня заполняет: