Здравствуйте, очень нужна Ваша помощь, поиски в интернете не дали результата!

1С:Предприятие 8.3 (8.3.8.2027)
Управление автотранспортом Проф, редакция 2.0 (2.0.7.1)

Коротко:
Программно заполняю реквизит номенклатуры, выглядит в виде таблицы, но в базе обычный реквизит со ссылкой на другой справочник.

Подлиньше, чем коротко:
Делаю экспорт, создаю объект "номенклатуру", у него есть реквизит "Справочник.ЕдиницыИзмерения.ЕдиницаХраненияОстатков", программно заполняю (создавая если его нет в базе, владелец ЭТА же номенклатура, поэтому программно - создаю номенклатуру - записываю, потом новый "ЕдиницаХраненияОстатков" с владельцем этой номенклатуры, заполняю в Номенклатуре реквизит и перезаписываю.

И в итоге, на форме, визуально не появляется запись, хотя в отладчике Shift+F9 заполнены все реквизиты. Если я вручную заполняю этот реквизит, он появляется на форме нормально.

Подскажите пожалуйста, может эту запись ещё нужно где то регистрировать? В каком регистре?
---
Нашёл ответ, всё таки нужно регистрировать дополнительно, ведутся дополнительные записи в РегистрыСведений.уатНоменклатураГрузов

Если добавить в Ваш Олег код, это отрезок, то визуально запись появляется

```1c
    НовРег = РегистрыСведений.уатНоменклатураГрузов.СоздатьМенеджерЗаписи();
    НовРег.Номенклатура = Номенклатура.Ссылка;
    НовРег.ЕдиницаИзмерения = ЕдИзм.Ссылка;

    НовРег.Активность = 0;
    НовРег.Вес = 0;
    НовРег.ВысотаГруза = 0;
    НовРег.ДлинаГруза = 0;
    НовРег.Класс = 0;
    НовРег.КоличествоМест = 0;
    НовРег.Объем = 0;
    НовРег.ОпасныйГруз = 0;
    //НовРег.Период

    НовРег.Записать();
```
---
потом новый "ЕдиницаХраненияОстатков" - как этот реквизит получаете и как его создаете?
---
ЕдиницаХраненияОстатков

Получаю данные из файла импорта, а создаю при импорте из того же файла, вот строка:

ТипДокумента=Справочник.ЕдиницыИзмерения||Наименование=шт|Родитель=|ЕдиницаПоКлассификатору=[Справочник.КлассификаторЕдиницИзмерения]шт|Вес=0|Объем=0|Коэффициент=1|СтарыйКод=000000077|ВладелецСтарыйКод=000006666|Владелец=[Справочник.Номенклатура]6 СТ-111 L STANDART|ТабличныеЧасти=Начало|ТабличныеЧасти=Конец

Всё программно: Обработка "видит", что есть владелец в новом объекте (в нашем случае строчка выше), ищет, если не находит, то в отложенные (в ТЗ) оставляет и следит постоянно, если создаётся такой владелец, то сначала он СОЗДАЁТСЯ, потом создаётся "ЕдиницыИзмерения" и присваивает ему владельца ЭТУ Номенклатуру. Далее "ЕдиницыИзмерения" она присваивает реквизиту "ЕдиницаХраненияОстатков" в НОМЕНКЛАТУРЕ и записывает снова.

Всё.

Я правильно Ваш вопрос понял?
---
А что мешает сделать так?

```1c
    ЕдИзм = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт");
    СзданнаяНом.ЕденицаИзмерения = ЕдИзм;
```

Просто, как правило, ед измерения создаются из классификатора, и их набор весьма ограничен. В источнике просмотрите список существующих единиц, в приемнике их все создайте, а потом находите по наименованию и подставляйте в созданную номенклатуру. Не комильфо записать элемент, затем снова его записать.
Наименование у вас есть в файле импорта
|ЕдиницаПоКлассификатору=[Справочник.КлассификаторЕдиницИзмерения]шт
---
Владельца нет ещё, поэтому нельзя по наименованию искать, сначала создаётся владелец (Номенклатура", потом ЕдиницаИзмерения, потом последняя пишется в Номенклатуру. В это конфигурации, у каждой номенклатуры, своя "ЕдиницаПоКлассификатору" со своими настройками. Есть другие например ЕдиницаИзмерения - там вот список ограничен.
---
как скажете ;)
---
нужно смотреть код загрузки.
Вот для пример:

```1c
    НачатьТранзакцию();
    НовыйЭлемент = Справочники.Номенклатура.ПолучитьСсылку(Новый УникальныйИдентификатор);
    Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
    Номенклатура.УстановитьСсылкуНового(НовыйЭлемент);
    Номенклатура.Наименование = "Полная чушь";
    Номенклатура.Артикул = "123";

    ЕдИзм = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
    ЕдИзм.Владелец = Номенклатура.ПолучитьСсылкуНового();
    ЕдИзм.ЕдиницаПоКлассификатору = Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("796");
    ЕдИзм.Коэффициент = 1;
    ЕдИзм.Наименование = "шт";
    ЕдИзм.ОбменДанными.Загрузка = Истина;
    ЕдИзм.УстановитьНовыйКод();
    ЕдИзм.Записать();

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

Если добавить в Ваш Олег код, это отрезок, то визуально запись появляется

```1c
    НовРег = РегистрыСведений.уатНоменклатураГрузов.СоздатьМенеджерЗаписи();
    НовРег.Номенклатура = Номенклатура.Ссылка;
    НовРег.ЕдиницаИзмерения = ЕдИзм.Ссылка;

    НовРег.Активность = 0;
    НовРег.Вес = 0;
    НовРег.ВысотаГруза = 0;
    НовРег.ДлинаГруза = 0;
    НовРег.Класс = 0;
    НовРег.КоличествоМест = 0;
    НовРег.Объем = 0;
    НовРег.ОпасныйГруз = 0;
    //НовРег.Период

    НовРег.Записать();
```
---
Спасибо Всем Вам большое за ответы!