(4) если дополнительный реквизит (есть вообще реквизит высота) вот путаюсь еще тоже что это из карточки или дополнительный. Теперь больше думаю что дополнительный.. но все равно не работает
ТаблДопРеквизиты=ТекНом.Ссылка.ДополнительныеРеквизиты.Выгрузить();
Если ТаблДопРеквизиты.Количество() > 0 Тогда
Для каждого Реквизит Из ТаблДопРеквизиты Цикл
Если Реквизит.Свойство=ВысотаСв Тогда
Реквизит.Значение = 123;
КонецЕсли;
КонецЦикла;
КонецЕсли;
разобралась... вдруг кому пригодится напишу.
в общем это были дополнительные реквизиты а не из карточки. Но просто циклом перебрать таблицу ДополнительныеРеквизиты и позаполнять не прокатит. Нужно еще проверять создан ли конкретный реквизит в ней. В форме поля автоматом для всех выводятся, а данных нет для каких-то.
В итоге как-то так решила
ВысотаСв= ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Высота (""Общие"")");
Выс=ложь;
ТаблДопРеквизиты=ТекНом.Ссылка.ДополнительныеРеквизиты.Выгрузить();
Если ТаблДопРеквизиты.Количество() > 0 Тогда
Для каждого Реквизит Из ТаблДопРеквизиты Цикл
Если Реквизит.Свойство=ВысотаСв Тогда
Реквизит.Значение = 123;
Выс=Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если Выс=Ложь Тогда
НовСтр=ТекНом.ДополнительныеРеквизиты.Добавить();
НовСтр.Свойство=ВысотаСв;
НовСтр.Значение=12334;
КонецЕсли;
ТекНом.Записать();
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший