Задание характеристики номенклатуры в упр приложении

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


Номен = Справочники.Номенклатура.СоздатьЭлемент();
			Номен.Наименование			= Наименование;
			Номен.НаименованиеПолное	= НаименованиеПолное;
			Номен.ЕдиницаИзмерения		= ЕдиницаИзмерения;
			Номен.ТипНоменклатуры		= ТипНоменклатуры;
			Номен.СтавкаНДС				= Объект.СтавкаНДС;
			Номен.ВидНоменклатуры		= ВидНом;
			Номен.Родитель				= Группа.Ссылка;
			Номен.Описание			    = ТекстовоеОписание;
			Номен.Производитель		    = Производитель;
			Номен.ВариантОформленияПродажи	= ВидНом.ВариантОформленияПродажи;
			Для каждого строка из Номен.ДополнительныеРеквизиты Цикл
			//как вот тут найти нужную мне характеристику?	
			КонецЦикла;
			Сообщить("Создана номенклатура: "+Наименование);
			Попытка
				Номен.Записать();
			Исключение
				Сообщить(ОписаниеОшибки());
			КонецПопытки;
Показать
+
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
73. uk09 02.07.14 12:06 Сейчас в теме
Вожак, привет! Обсуждение актуально? Если РежимДиалогаВопрос.ОК, тогда давай обсудим, помогу.Структура данных номенклатуры в БП 3.0 аналогична структуре в КА. Кстати, cf совсем бы не помешал, для скорости результата.
+
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Boneman 298 01.07.14 11:48 Сейчас в теме
(1) Вожак,
//как вот тут найти нужную мне характеристику?

ставишь на этом месте строку
А = Строка;
в отладчике ставишь точку останова на этой строке,
запускаешь,
программа на ней останавливается,
кликаешь на "А" - правой кнопкой мыши вычислитьвыражение,
смотришь все параметры которые доступны для этой строки, и дальше пишешь свои условия основываясь на полученной информации.
+
5. Вожак 01.07.14 11:51 Сейчас в теме
(3) Boneman, когда я создаю номенклатуру у меня появляется дополнительныехарактеристикиЗначение и допХарактеристикиСвойства, я открываю их значения а там пусто, хотя в режиме предприятия я создал эти характеристики типа цвет
+
7. Boneman 298 01.07.14 11:55 Сейчас в теме
(5) Вожак, да при чем тут режим предприятия.
Ты же программист,
делаешь цикл, должен понимать, что за переменную ты перебираешь и что в ней находится.
Номен.ДополнительныеРеквизиты - это что вообще ? Массив, ТЧ, таблица значений, список значений, что в нем внутри находится ? Есть строки или нет ?
Поставь точку останова перед
Для каждого строка из Номен.ДополнительныеРеквизиты Цикл

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

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

После этой строки Для каждого строка из Номен.ДополнительныеРеквизиты Цикл, сразу на сообщить вылетает, в цикл даже не заходит, а Номен.ДополнительныеРеквизиты по отладчику пишет справочникТЧ, но в ней нет строк, как мне их туда тогда запихнуть?
+
9. deniseek77 86 01.07.14 11:57 Сейчас в теме
(5) Вожак, Потому что хранятся в регистре, а в регистре нужно наложить отбором по Виду характеристики и типу...А так же в качестве объекта указать ваш элемент номенклатуры.
+
11. Вожак 01.07.14 11:59 Сейчас в теме
(9) deniseek77, то есть запрос к регистру еще писать? не понимаю(
+
12. deniseek77 86 01.07.14 12:05 Сейчас в теме
(11) Вожак, Да, в БП 3.0 к плану видов характеристик "ДополнительныеРеквизитыИСведения", "РегистрСведений.ДополнительныеСведения" и "Справочник.ЗначенияСвойствОбъектов"
+
13. Вожак 01.07.14 12:06 Сейчас в теме
(12) deniseek77, у меня Ут но такой РС есть, можно подробнее, как мне обратиться к нему, получить нужную мне зарактеристику цвет, и в эту характеристику передать значение из моей ТЧ, в которой имеется нужное значение?
+
14. deniseek77 86 01.07.14 12:08 Сейчас в теме
(13) Вожак,
ВЫБРАТЬ
	НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Ссылка.Ссылка,
	НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство.Наименование
ИЗ
	Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я
		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
		ПО НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
ГДЕ
	НЕ ДополнительныеРеквизитыИСведения.ПометкаУдаления
	И НЕ НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.ПометкаУдаления
Показать


и

ВЫБРАТЬ
					 		ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка,
					 		ДополнительныеРеквизитыИСведения.Наименование КАК Наименование,
					 		ДополнительныеРеквизитыИСведения.ПометкаУдаления КАК ПометкаУдаления
					 	ИЗ
					 		ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения) КАК СвойстваОбъектов
					 		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
					 		ПО (ДополнительныеСведения.Объект = &ОбъектОтбораЗначений)
					 			И (ДополнительныеСведения.Свойство = СвойстваОбъектов.Ссылка)
					 ГДЕ
					 	НЕ СвойстваОбъектов.ПометкаУдаления
Показать
+
16. Вожак 01.07.14 12:20 Сейчас в теме
(14) deniseek77, 2 запроса делать и потом их объединять?
+
17. deniseek77 86 01.07.14 12:23 Сейчас в теме
(16) Вожак, Псосмотрете в консоли запрос
+
19. Вожак 01.07.14 12:31 Сейчас в теме
(17) deniseek77,
ВЫБРАТЬ
	НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Ссылка.Ссылка,
	НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство.Наименование
ИЗ
	Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я
		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
		ПО НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
		
		(ВЫБРАТЬ
                             ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка,
                             ДополнительныеРеквизитыИСведения.Наименование КАК Наименование,
                             ДополнительныеРеквизитыИСведения.ПометкаУдаления КАК ПометкаУдаления
                         ИЗ
                             ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения) КАК СвойстваОбъектов
                             ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
                             ПО (ДополнительныеСведения.Объект = &ОбъектОтбораЗначений)
                                 И (ДополнительныеСведения.Свойство = СвойстваОбъектов.Ссылка)
                     ГДЕ
                         НЕ СвойстваОбъектов.ПометкаУдаления
		
		
Показать


такой что ли запрос?
+
33. Вожак 01.07.14 13:37 Сейчас в теме
(14) deniseek77, вот где тут скобка открывающая должна стоять? 3 часа уже бьюсь над ней
ВЫБРАТЬ
                             ДополнительныеРеквизитыИСведения.Ссылка КАК Ссылка,
                             ДополнительныеРеквизитыИСведения.Наименование КАК Наименование,
                             ДополнительныеРеквизитыИСведения.ПометкаУдаления КАК ПометкаУдаления
                         ИЗ
                             ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения) КАК СвойстваОбъектов
                             ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
                             ПО (ДополнительныеСведения.Объект = &ОбъектОтбораЗначений)
                                 И (ДополнительныеСведения.Свойство = СвойстваОбъектов.Ссылка)
                     ГДЕ
                         НЕ СвойстваОбъектов.ПометкаУдаления
Показать
+
35. 3762515 01.07.14 14:50 Сейчас в теме
(33) Вожак, там наверно, нужно убрать закрывающую скобку
+
2. Вожак 01.07.14 11:46 Сейчас в теме
Для каждого строка из Номен.ДополнительныеРеквизиты Цикл
            //как вот тут найти нужную мне характеристику?    
            КонецЦикла;

и в этот цикл отладчик вообще не заходит почему то, хотя характеристику в режиме предприятия я создал
+
4. Boneman 298 01.07.14 11:50 Сейчас в теме
(2) Вожак, а там строки то есть вообще ?
+
6. Вожак 01.07.14 11:54 Сейчас в теме
Номен.ДополнительныеСвойства - тип структура - внутри ничего нет
+
8. Boneman 298 01.07.14 11:56 Сейчас в теме
(6) Вожак, ну вот,
и чего тогда удивляешься, что в цикл не заходит ?
Ничего нет - вот и не заходит ))
+
15. Вожак 01.07.14 12:11 Сейчас в теме
только в Ут есть 1 РС ДополнительныеСведения, его везде и подставлять в запросе получается?
+
18. Вожак 01.07.14 12:24 Сейчас в теме
просто "И" между запросами не совсем ясно потому что дальше нет никакого объединения
+
20. Вожак 01.07.14 12:37 Сейчас в теме
не получается со вторым запросом
+
21. platon_ 10 01.07.14 12:40 Сейчас в теме
(20) Вожак, Разберитесь со структурой хранения данных. и тогда сразу поймёте как правильно построить запрос. Что и откуда выбирать.
+
22. Вожак 01.07.14 12:40 Сейчас в теме
как я ненавижу управляемое приложение
+
23. Вожак 01.07.14 12:41 Сейчас в теме
Написал отдельный запрос:
ВЫБРАТЬ
	ДополнительныеРеквизитыИСведения.Ссылка,
	ДополнительныеРеквизитыИСведения.ПометкаУдаления,
	ДополнительныеРеквизитыИСведения.Наименование
ИЗ
	РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
		ПО ДополнительныеСведения.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
ГДЕ
	ДополнительныеСведения.Объект = &ОбъектОтбораЗначений
	И ДополнительныеСведения.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
Показать


Почему я в параметр не могу передать справочник номенклатура? только номенклатура поставщиков есть
+
24. Вожак 01.07.14 12:48 Сейчас в теме
Вот запрос вроде даже работает, только почему то он мне доп реквизиты документа показывает, а справочника номенклатура нет, почему так?
ВЫБРАТЬ
	НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Ссылка.Ссылка,
	НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство.Наименование
ИЗ
	Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я
		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
			ПО НоменклатураДополнительныеРеквизиты.Ссылка = ДополнительныеРеквизитыИСведения.Ссылка
		ПО НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство = ДополнительныеРеквизитыИСведения.Ссылка
Показать
+
25. Вожак 01.07.14 12:56 Сейчас в теме
ВЫБРАТЬ
	НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.Ссылка КАК Группа,
	НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.Свойство.Наименование КАК СвойствоРеквизита
ИЗ
	Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеСведения КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я
		ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
			ПО (НоменклатураДополнительныеРеквизиты.Ссылка = ДополнительныеРеквизитыИСведения.Ссылка)
		ПО НаборыДополнительныхРеквизитовИСведенийДополнительныеСведени­я.Свойство = ДополнительныеРеквизитыИСведения.Ссылка,
	Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты
Показать


вот запрос выдает мне в итоге характеристики всех групп номенклатуры которые у меня есть. То есть я получаю этот запрос, потом обхожу его в поисках например цвета, и когда эту характеристику нахожу, как мне ее записать в справочник?
+
26. platon_ 10 01.07.14 13:02 Сейчас в теме
(25) Вожак, ну тебе теперь надо наложить условия на тип характеристики Цвет и Нужную Номенклатуру.
+
28. Вожак 01.07.14 13:12 Сейчас в теме
(26) platon_, а потом когда я наложу сверху отборы, как мне записать к данной номенклатуре нужную мне характеристику?
+
27. Вожак 01.07.14 13:06 Сейчас в теме
я в параметрах не могу передать справочник номенклатура
+
29. platon_ 10 01.07.14 13:15 Сейчас в теме
смотрите типы тогда.
+
30. platon_ 10 01.07.14 13:18 Сейчас в теме
не скажу точно как в вашей системе, в упп значения характеристик хранятся в регистре сведений.
+
31. Вожак 01.07.14 13:18 Сейчас в теме
32. Вожак 01.07.14 13:31 Сейчас в теме
Проблема еще актуальна
+
34. DEMOS777 01.07.14 14:46 Сейчас в теме
Не очень понятен вопрос.
Если про то, как подставить значение цвета при создании номенклатуры, - то необходимо сопоставление код цвета - значение екселя, далее по сопоставлению находишь элемент цвета по коду, далее создаешь набор записей доп.свойства для данной номенклатуры.
+
36. Вожак 01.07.14 15:08 Сейчас в теме
(34) DEMOS777, по пунктам так это будет:
1. Загрузил из екселя в табличную часть номенклатуру
2. хочу ее создать. с указанием характеристик. предварительно создал в режиме предприятия эти характеристики. но теперь не понимаю как для номенклатуры их заполнять по данным моей тч
+
37. Вожак 01.07.14 15:22 Сейчас в теме
ВЫБРАТЬ
	СвойстваОбъектов.Ссылка,
	СвойстваОбъектов.Наименование,
	СвойстваОбъектов.ПометкаУдаления
	
ИЗ
	ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК СвойстваОбъектов
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
		ПО (ДополнительныеСведения.Объект = &ОбъектОтбораЗначений)
		
Показать


вот я получил список доп реквизитов, и как мне потом при обходе моими данными при создании номенклатуры пихать цвет?
+
38. 3762515 01.07.14 15:37 Сейчас в теме
(37) Вожак, а зачем при создании номенклатуры куда-то пихать цвет? Куда хотите пихнуть цвет? В справочнике номенклатура характеристики не хранятся. В УПП например они хранятся в справочнике ХарактеристикиНоменклатуры
+
39. Вожак 01.07.14 15:38 Сейчас в теме
так в том то и дело, что цвет, габариты, блок и тд. Это характеристики, которые в доп реквизитах содержатся формы. И мне при создании номенклатуры их надо указывать, в этом и проблема, весь день с ними трахаюсь
+
40. 3762515 01.07.14 15:47 Сейчас в теме
(39) Вожак, я не знаком с УТ 11, ты уже нашел, где хранятся значения характеристик номенклатуры?
+
41. Вожак 01.07.14 15:49 Сейчас в теме
(40) 3762515, в плане видов характеристик что ли, блин нахрена былотак все усложнять с этими характеристиками, мне уже хочется тупо в справочник добавить все нужные мне характеристики в тч обычную и все, без всяких РС и ПВХ
+
42. 3762515 01.07.14 15:50 Сейчас в теме
(41) Вожак, в плане видов характеристик хранятся виды характеристик, но не их значения
+
43. Вожак 01.07.14 15:53 Сейчас в теме
(42) 3762515, в спр номенклатура есть ТЧ - дополнительные реквизиты - это и есть характеристики номенклатуры, там 3 реквизита:
1. Свойство - тип ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
2. Значение - тип Характеристика.ДополнительныеРеквизитыИСведения
3. ТекстоваяСтрока
+
44. 3762515 01.07.14 15:58 Сейчас в теме
(43) Вожак, "Характеристика.ДополнительныеРеквизитыИСведения" - это РС или Справочник или что?
+
45. Вожак 01.07.14 16:01 Сейчас в теме
46. 3762515 01.07.14 16:04 Сейчас в теме
(45) Вожак, вот и нужно после записи справочника номенклатура, создать запись в РС "Характеристика.ДополнительныеРеквизитыИСведения", где владельцем будет номенклатура, а значением характеристика
+
47. Вожак 01.07.14 16:06 Сейчас в теме
(46) 3762515, как в РС создавать новую запись? раньше с этим не сталкивался(
+
48. 3762515 01.07.14 16:11 Сейчас в теме
(47) Вожак,
Курсы = РегистрыСведений.Характеристика.ДополнительныеРеквизитыИСведения.СоздатьНаборЗаписей();

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

Примерно так, это легко загуглить. А я давно ничего не писал на УФ.
+
49. 3762515 01.07.14 16:14 Сейчас в теме
(47) Вожак,вот нагуглил:
/// Как добавить новую записи регистра сведений в 1с 8.3, 8.2
/// Как изменить/удалить существующую запись регистра сведений 
/// в 1с 8.3, 8.2
 
Процедура КакДобавитьИзменитьИлиУдалитьЗаписьРегистраСведений()
 
    // добавление новой записи
    НоваяЗапись = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();
    НоваяЗапись.Период = ТекущаяДата();
    НоваяЗапись.Курс = 50;
    НоваяЗапись.Кратность = 1.0;
    // НоваяЗапись.Валюта = СсылкаНаВалюту;
    // НоваяЗапись.Записать(); 
 
 
    //Отбор = Новый Структура("Валюта", СсылкаНаВалюту);
    Выборка = РегистрыСведений.КурсыВалют.Выбрать('20130101', 
        '20131231');//, Отбор);
    Пока Выборка.Следующий() Цикл
 
        // изменение существующей
        МенеджерЗаписи = Выборка.ПолучитьМенеджерЗаписи();
        МенеджерЗаписи.Прочитать();
        МенеджерЗаписи.Курс = 25;
        // МенеджерЗаписи.Записать();
 
        // удаление существующей
        //Выборка.ПолучитьМенеджерЗаписи().Удалить();
 
    КонецЦикла;
 
КонецПроцедуры
Показать
+
50. DEMOS777 01.07.14 16:31 Сейчас в теме
Точнее это будет так:
м_Номенклатура = Справочники.Номенклатура.Создать();
м_Номенклатура.Реквизит = ....
м_Номенклатура.Записать();

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

НаборЗаписей.Записать();


Показать
+
51. Вожак 01.07.14 16:36 Сейчас в теме
(50) DEMOS777, Запись.<Реквизит> = .... тут добавляем все реквизиты - характеристики?
+
52. 3762515 01.07.14 16:38 Сейчас в теме
53. Вожак 01.07.14 16:40 Сейчас в теме
блин, в РС дополнительныеСведения у Объекта в типе данных нет номенклатуры((( то есть мне ее не впихнуть в него будет
+
54. 3762515 01.07.14 16:41 Сейчас в теме
(53) Вожак, Номенклатура должна быть Владельцем\Родителем
+
55. Вожак 01.07.14 16:42 Сейчас в теме
(54) 3762515, НаборЗаписей.Отбор.Владелец.Установить(Номен.ссылка);
так или так:НаборЗаписей.Отбор.Родитель.Установить(Номен.ссылка);
?
+
56. Вожак 01.07.14 16:48 Сейчас в теме
(55) - ни одни ни другой вариант че то не работают
+
57. 3762515 01.07.14 16:52 Сейчас в теме
(56) Вожак, ща посмотрел в УПП в РС "ЗначенияСвойствОбъектов", Измерение "Объект" имеет тип: "ДокументСсылка, СправочникСсылка" и соответственно объект может быть любым в том числе и Номенклатурой. И записи в этом РС: Объект, Свойство, Значение. У тебя должно быть так же, я так думаю.
+
58. 3762515 01.07.14 16:56 Сейчас в теме
(57) 3762515, перепутал свойства с характеристиками, это не относится к делу
+
59. 3762515 01.07.14 17:01 Сейчас в теме
(56) Вожак, напиши какая у тебя версия конфигурации. Дома у меня есть УТ 11, посмотрю вечером
+
61. Вожак 01.07.14 17:07 Сейчас в теме
(59) 3762515, напиши в личку почту, я те могу дтшник прислать
+
63. Вожак 01.07.14 17:20 Сейчас в теме
60. Вожак 01.07.14 17:07 Сейчас в теме
Делаю так:
Номен = Справочники.Номенклатура.СоздатьЭлемент();
			Номен.Наименование			= Наименование;
			Номен.НаименованиеПолное	= НаименованиеПолное;
			Номен.ЕдиницаИзмерения		= ЕдиницаИзмерения;
			Номен.ТипНоменклатуры		= ТипНоменклатуры;
			Номен.СтавкаНДС				= Объект.СтавкаНДС;
			Номен.ВидНоменклатуры		= Объект.ВидНоменклатуры;
			Номен.Родитель				= ГруппаНоменклатуры;
			Номен.Производитель		    = Производитель;
			Номен.ВариантОформленияПродажи	= Объект.ВидНоменклатуры.ВариантОформленияПродажи;
			Попытка
				Номен.Записать();
			Исключение
				Сообщить(ОписаниеОшибки());
			КонецПопытки;

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


но в номенклатуре потом значение цвета не появляется все равно
+
62. Вожак 01.07.14 17:15 Сейчас в теме
и еще как в (60), у меня для 1 номенклатуры несколько разных цветов будет, получается они будут перезаписываться?
+
65. МимохожийОднако 141 01.07.14 23:04 Сейчас в теме
(60) Вожак, В УТ11 Характеристики номенклатуры - это справочник, подчиненный Номенклатуре. В твоём коде им и не пахнет.
+
64. popro 01.07.14 18:47 Сейчас в теме
А так уже предлагали?


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

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

                Св = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("цвет");
                
               Реквизит.Свойство = Св;
                Реквизит.Значение = Цвет; //если Значение это Значение свойства тогда Справочники.ЗначениеСвойствОбъектов.НайтиПоНаименованию(Цвет,Истина);
            КонецЕсли;
             
            Попытка
                Номен.Записать();
            Исключение
                Сообщить(ОписаниеОшибки());
            КонецПопытки;
Показать
+
66. kot30688 3 02.07.14 02:41 Сейчас в теме
Вожак, поищи либо справочник Характеристики номенклатуры (как в 65 подсказали) или регистр сведений Значения характеристик номенклатуры (или что-то похожее). Если есть регистр, то
 
НачатьТранзакцию();
Категория = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет");
Номен                          = Справочники.Номенклатура.СоздатьЭлемент();
Номен.Наименование             = Наименование;
Номен.НаименованиеПолное       = НаименованиеПолное;
Номен.ЕдиницаИзмерения         = ЕдиницаИзмерения;
Номен.ТипНоменклатуры          = ТипНоменклатуры;
Номен.СтавкаНДС                = Объект.СтавкаНДС;
Номен.ВидНоменклатуры          = ВидНом;
Номен.Родитель                 = Группа.Ссылка;
Номен.Описание                 = ТекстовоеОписание;
Номен.Производитель            = Производитель;
Номен.ВариантОформленияПродажи = ВидНом.ВариантОформленияПродажи;
Попытка
     Номен.Записать();
Исключение
    ОтменитьТранзакцию();
    Сообщить(ОписаниеОшибки());
КонецПопытки;
             
нзЗначенияХарактеристикНоменклатуры = РегистрыСведений.ЗначенияХарактеристикНоменклатуры.СоздатьНаборЗаписей();
нзЗначенияХарактеристикНоменклатуры.Отбор.Объект.Установить(Номен.Ссылка);
нзЗначенияХарактеристикНоменклатуры.Отбор.Категория.Установить(Категория);
нзЗначенияХарактеристикНоменклатуры.Прочитать();
НоваяЗапись = нзЗначенияХарактеристикНоменклатуры.Добавить(); 
НоваяЗапись Объект   = Номен.Ссылка; 
НоваяЗапись Категория= Категория;
НоваяЗапись Значение = Цвет; 
нзЗначенияХарактеристикНоменклатуры.Записать();
ЗафиксироватьТранзакцию();
Показать

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


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

Вместо

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


Поставь

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


а как в посте 64 не пробовал?
+
72. Вожак 02.07.14 11:52 Сейчас в теме
(70) popro, как в 664, я не много добавил и вот так получается:
	НачатьТранзакцию();
			Категория = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет");
			Номен                          = Справочники.Номенклатура.СоздатьЭлемент();
			Номен.Наименование             = Наименование;
			Номен.НаименованиеПолное       = НаименованиеПолное;
			Номен.ЕдиницаИзмерения         = ЕдиницаИзмерения;
			Номен.ТипНоменклатуры          = ТипНоменклатуры;
			Номен.СтавкаНДС                = Объект.СтавкаНДС;
			Номен.ВидНоменклатуры          = Объект.ВидНоменклатуры;
			Номен.Родитель                 = ГруппаНоменклатуры;
			Номен.Описание                 = ТекстовоеОписание;
			Номен.Производитель            = Производитель;
			Номен.ВариантОформленияПродажи = Объект.ВидНоменклатуры.ВариантОформленияПродажи;
			Попытка
				Номен.Записать();
			Исключение
				ОтменитьТранзакцию();
				Сообщить(ОписаниеОшибки());
			КонецПопытки;
			
			спЗначенияХарактеристикНоменклатуры = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
			спЗначенияХарактеристикНоменклатуры.Владелец = Номен.Ссылка;
			ХарактеристикиРеквизиты = спЗначенияХарактеристикНоменклатуры.ДополнительныеРеквизиты.Добавить();
			ХарактеристикиРеквизиты.Значение = Цвет;
			ХарактеристикиРеквизиты.Свойство = Категория;
			//Заполняем остальные реквизиты 
			Попытка
				спЗначенияХарактеристикНоменклатуры.Записать();
			Исключение
			ОтменитьТранзакцию();
				Сообщить(ОписаниеОшибки());
			КонецПопытки;
			Если ТранзакцияАктивна() Тогда
				ЗафиксироватьТранзакцию();
			КонецЕсли; 
Показать


но все равно не получается запихнуть в карточку номенклатура характеристику
+
79. popro 02.07.14 13:20 Сейчас в теме
(72) Вожак,
Код в 64 записывает доп свойство "Цвет" в номенклатуру.
Код в 72 создает характеристику номенклатуры и записывает доп свойство "Цвет" в характеристику номенклатуры.

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

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

Было бы удобнее чтобы разделяли характеристики номенклатуры и дополнительные свойства.
(73) uk09, УТ 11.
+
69. Вожак 02.07.14 11:43 Сейчас в теме
(66) kot30688, и проблема в том, что в УТ нет ни РегистрыСведений.ЗначенияСвойствобъектов, ни ПланыВидовХарактеристик.СвойстваОбъектов. Данные записались у меня в РС дополнительные сведения. Но в карточке номенклатуры так и не появился мой цвет
+
71. popro 02.07.14 11:50 Сейчас в теме
(69) Вожак, в ут 11 дополнительные свойства хранятся в табличной части а не в регистре
+
73. uk09 02.07.14 12:06 Сейчас в теме
Вожак, привет! Обсуждение актуально? Если РежимДиалогаВопрос.ОК, тогда давай обсудим, помогу.Структура данных номенклатуры в БП 3.0 аналогична структуре в КА. Кстати, cf совсем бы не помешал, для скорости результата.
+
74. Вожак 02.07.14 12:26 Сейчас в теме
(73) uk09, могу дтшник дать)и у меня не КА, а УТ 11)
+
75. uk09 02.07.14 12:30 Сейчас в теме
dt давайте, все равно, думаю, есть дописки. У меня типовая УТ - Управление торговлей, редакция 11.0 (11.0.9.15). И коротенько описание обработки: делаем внешнюю (втсроенную), толстый (тонкий) клиент?
+
77. Вожак 02.07.14 12:36 Сейчас в теме
(75) uk09, напишите почту, обработка внешняя, я ее вам тоже скину и сам файл загрузки екселевский
+
76. Вожак 02.07.14 12:35 Сейчас в теме
	НачатьТранзакцию();
			Категория = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Цвет");
			Номен                          = Справочники.Номенклатура.СоздатьЭлемент();
			Номен.Наименование             = Наименование;
			Номен.НаименованиеПолное       = НаименованиеПолное;
			Номен.ЕдиницаИзмерения         = ЕдиницаИзмерения;
			Номен.ТипНоменклатуры          = ТипНоменклатуры;
			Номен.СтавкаНДС                = Объект.СтавкаНДС;
			Номен.ВидНоменклатуры          = Объект.ВидНоменклатуры;
			Номен.Родитель                 = ГруппаНоменклатуры;
			Номен.Описание                 = ТекстовоеОписание;
			Номен.Производитель            = Производитель;
			Номен.ВариантОформленияПродажи = Объект.ВидНоменклатуры.ВариантОформленияПродажи;
			Попытка
				Номен.Записать();
			Исключение
				ОтменитьТранзакцию();
				Сообщить(ОписаниеОшибки());
			КонецПопытки;
			
			спЗначенияХарактеристикНоменклатуры = Справочники.ХарактеристикиНоменклатуры.СоздатьЭлемент();
			спЗначенияХарактеристикНоменклатуры.Владелец = Номен.Ссылка;
			спЗначенияХарактеристикНоменклатуры.Наименование = Номен.Наименование;
			ХарактеристикиРеквизиты = спЗначенияХарактеристикНоменклатуры.ДополнительныеРеквизиты.Добавить();
			ХарактеристикиРеквизиты.Значение = Цвет;
			ХарактеристикиРеквизиты.Свойство = Категория;
			Попытка
				спЗначенияХарактеристикНоменклатуры.Записать();
			Исключение
			ОтменитьТранзакцию();
				Сообщить(ОписаниеОшибки());
			КонецПопытки;
			Если ТранзакцияАктивна() Тогда
				ЗафиксироватьТранзакцию();
			КонецЕсли; 

			КонецЦикла;
Показать


Вот делаю так, ошибок нет, номенклатура создается, а в самой карточке:
Прикрепленные файлы:
+
98. МимохожийОднако 141 02.07.14 19:10 Сейчас в теме
(76) Вожак, перед последней строчкой добавь
Номен.Записать();
Вдруг поможет...
..
Есть нюанс. Перед созданием элемента справочника Характеристики номенклатуры полезно проверять наличие этой характеристики.
...
+
99. Вожак 02.07.14 22:22 Сейчас в теме
(98) МимохожийОднако, тут не совсем элемент справочника характеристики. Тут значение из дополнительных реквизитов и сведений (эти реквизиты задаются в пользовательском режиме на закладке администрирование - общие - дополнительные реквизиты и сведения для почти всех объектов конфигурации, то есть выбираем справочник номенклатура там, и добавляем наши реквизиты)
+
100. МимохожийОднако 141 03.07.14 07:41 Сейчас в теме
(99) Вожак, в любом случае метод Записать() в конце алгоритма полезен. В сложных (да и других) случаях полезно включать отладчик и отследить то, что делаешь.
+
101. Вожак 03.07.14 10:55 Сейчас в теме
(100) МимохожийОднако, это понятно, не понятно как доп реквизиты и доп свойства заполнять
+
78. Вожак 02.07.14 13:07 Сейчас в теме
еще есть варианты, как при создании номенклатуры ей присвоить характеристики?
+
80. uk09 02.07.14 13:21 Сейчас в теме
Почта - citizen72@yandex.ru Вопрос: характеристики - цвет? Он впоследствии будет назначен, выберется из Excel или будет введен интерактивно в ходе обработки? Особо это ничего не меняет, просто решить - укладываем null или значение.
+
83. Вожак 02.07.14 13:31 Сейчас в теме
(80) uk09, Отпраивл дтшник, файл и обработку
+
81. popro 02.07.14 13:22 Сейчас в теме
Надо было страничку обновить перед отправкой :)
+
82. Вожак 02.07.14 13:24 Сейчас в теме
из Екселя я гружу все в ТЧ моей обработки, вместе с номенклатурой, затем по кнопке я начиаю создавать номенклатуру, и каждой из них приписывать цвет
+
84. uk09 02.07.14 14:07 Сейчас в теме
Спасибо, все пришло в почту,скачиваю. Через минут 40 обсудим, есть спорные моменты
+
85. Вожак 02.07.14 14:17 Сейчас в теме
(84) uk09, ок, буду готов
+
86. Вожак 02.07.14 15:32 Сейчас в теме
есть справочник ЗначениеСвойствОбъектов, вот как то через него можно может быть?
+
87. uk09 02.07.14 16:17 Сейчас в теме
Работает. Письмо в ящике
+
88. Вожак 02.07.14 16:18 Сейчас в теме
(87) uk09, обработку встроенной сделали что ли?
+
89. Вожак 02.07.14 16:20 Сейчас в теме
и как если я ъхочу грузит ьнесколько характеристик? помимо цвета, СТГ например еще - тип строка, и Блок?
+
90. uk09 02.07.14 16:22 Сейчас в теме
91. uk09 02.07.14 16:24 Сейчас в теме
В случае нескольких характеристик - спЗначенияХарактеристикНоменклатуры делать в цикле
+
92. Вожак 02.07.14 16:34 Сейчас в теме
(91) uk09, не совсем понял как с обработкой? вы же ее дорабатывали?
+
93. Вожак 02.07.14 16:42 Сейчас в теме
(91) uk09, все равно не заполняются. см скриншот
Прикрепленные файлы:
+
94. Вожак 02.07.14 16:51 Сейчас в теме
уже мозг кипит, как заполнить эти сраные свойства как на скриншоте выше? которые добавляются в пользовательском режиме на закладке администрирование?
+
95. uk09 02.07.14 16:58 Сейчас в теме
телефон в почту отправьте, пожалуйста..Я позвоню.Быстрее будет
+
96. uk09 02.07.14 17:01 Сейчас в теме
Вот как у меня заполняет:
Прикрепленные файлы:
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот