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

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

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


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

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

Ведущий разработчик 1С (техлид внутреннего учета)
Новосибирск
зарплата от 230 000 руб.
Полный день

Программист 1С
Рязань
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Архитектор 1С
Обнинск
зарплата от 150 000 руб. до 350 000 руб.
Полный день

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