Программное создание характеристик

1. succub1_5 88 08.06.15 17:54 Сейчас в теме
Здравствуйте, в УТ 11.1 передается ТЗ (КодНоменклатуры, Хар1, Знач1 и т.п. информация).
По знаниям УТ10 накидал простенький код:
Характеристика = Справочники.ХарактеристикиНоменклатуры.НайтиПоНаименованию(ХарЗнСвойствНаименование);
		Если НЕ ЗначениеЗаполнено(Характеристика) Тогда
			
			СпрХар = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
			СпрХар.Владелец = СпрНомРодитель.Ссылка;
			СпрХар.Наименование = ХарЗнСвойствНаименование;
			СпрХар.Записать();
			
			//Проверим свойство
			Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ХарВидыСвойств);
			Если НЕ ЗначениеЗаполнено (Свойство) Тогда
				НовСв = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.СоздатьЭлемент();
				НовСв.ТипЗначения = "Дополнительное значение";
				НовСв.Наименование = ХарВидыСвНаименование;
				НовСв.Записать();
				Свойство = НовСв.Ссылка;
			Иначе
				Свойство = Свойство.Ссылка;
			КонецЕсли;
			
			//Проверим значение
			ЗначениеСвойства = Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(ХарЗнСвойствНаименование);
			Если НЕ ЗначениеЗаполнено(ЗначениеСвойства) Тогда
				НовЗнач = Справочники.ЗначенияСвойствОбъектов.СоздатьЭлемент();
				НовЗнач.Наименование = ХарЗнСвойствНаименование;
				НовЗнач.Владелец = Свойство.Ссылка;
				НовЗнач.Записать();
				Значение = НовЗнач.Ссылка;
			Иначе
				Значение = ЗначениеСвойства.Ссылка;
			КонецЕсли;
			
			//Регистр
			ТаблицаДляЗаписиВрегистр = Новый ("ТаблицаЗначений");
			ТаблицаДляЗаписиВРегистр.Колонки.Добавить("Свойство");
			ТаблицаДляЗаписиВРегистр.Колонки.Добавить("Значение");
			
			НоваяСтрока = ТаблицаДляЗаписиВРегистр.Добавить();
			НоваяСтрока.Свойство = Свойство;
			НоваяСтрока.Значение = Значение;
			//
			ЗаписьЗначенияВРегистр = РегистрыСведений.ДополнительныеСведения.СоздатьМенеджерЗаписи();
			НаборЗаписейЗначенияСвойств = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
			
			Для Каждого Строка из ТаблицаДляЗаписиВРегистр Цикл
				Если ЗначениеЗаполнено(Строка.Свойство) И ЗначениеЗаполнено(Строка.Значение) Тогда
					Запись = НаборЗаписейЗначенияСвойств.Добавить();				
					Запись.Объект = СпрХар.Ссылка;
					Запись.Свойство = Строка.Свойство;
					Запись.Значение = Строка.Значение;			
				КонецЕсли;
			КонецЦикла;
			НаборЗаписейЗначенияСвойств.Записать();
			
		Иначе
			
		КонецЕсли;
Показать

В общем код отрабатывает, создается Характеристика, Свойство и Значение свойства. А если в карточке номенклатуры открыть Характеристики - любое значение, то в карточке Характеристики будет только наименование, а внизу поля с перенесенными видами свойств остаются пустые, жмешь на выбор (...) кидает в Выберите значение свойств характеристика, можно выбрать нужное. А почему оно сразу не подставилось?
ЧЯДНТ?
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. ZOMI 444 08.06.15 18:19 Сейчас в теме
НовХарСтрокаТЧ = СпрХар.ДополнительныеРеквизиты.Добавить();
НовХарСтрокаТЧ.Свойство = Свойство;
НовХарСтрокаТЧ.Значение = ЗначениеХарактеристики;
.... // и тд
СпрХар.Записать();


как-то так
succub1_5; +1 Ответить
3. Serginio 938 08.06.15 20:27 Сейчас в теме
НовСв.ТипЗначения Должно быть ОписаниеТипов
succub1_5; +1 Ответить
5. Wefast 03.01.17 20:07 Сейчас в теме
(3)

если попытаться сделать так: Новый Описаниетипов("Дополнительное значение") то так не работает.
4. succub1_5 88 09.06.15 09:49 Сейчас в теме
Всем спасибо, получилось =)
6. user958873 11.04.21 12:59 Сейчас в теме
(4)Напишите пожалуйста результат кода
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)