По созданной программно номенклатуре не записываются изменения цен в РС ЦеныНоменклатуры

1. user900476 12.04.18 12:59 Сейчас в теме
Выгружаю много данных из Excel. В случае отсутствия номенклатуры, создаю ее программно.

&НаСервере
Процедура СоздатьНоменклатуру(Строка)
	
	Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
	Номенклатура.Артикул = Строка.КодТовара;
	Номенклатура.ВесЕдиницаИзмерения = Справочники.УпаковкиЕдиницыИзмерения.НайтиПоКоду(796);
	
	Если Не ЗначениеЗаполнено(Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товары")) Тогда
		
		СоздатьВидНоменклатуры("Товары");
		
	КонецЕсли;
	
	Номенклатура.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("Товары");
	Номенклатура.ЕдиницаИзмерения = Справочники.УпаковкиЕдиницыИзмерения.НайтиПоКоду(796);
	Номенклатура.Наименование = Строка.Наименование;
	Номенклатура.НаименованиеПолное = Строка.Наименование;
	
	Если Не ЗначениеЗаполнено(Справочники.Производители.НайтиПоНаименованию(Строка.Производитель)) Тогда
		
		СоздатьПроизводителя(Строка);
		
	КонецЕсли;
	
	Номенклатура.Производитель = Справочники.Производители.НайтиПоНаименованию(Строка.Производитель);
	Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
	Номенклатура.ТипНоменклатуры = Перечисления.ТипыНоменклатуры.Товар;
	Номенклатура.Записать();
	
КонецПроцедуры
Показать


Затем программно создаю док-т установки цен.

Проблема в том, что по всей этой созданной номенклатуре не записываются данные в регистр сведений ЦеныНоменклатуры. Если руками добавлю в этот док-т номенклатуру, созданную через Предприятие, то по ней запись создается.
Если создаю руками новый док-т установки цен, добавляю туда, опять же, руками номенклатуру, созданную программно, то всё равно в РС не попадают данные.
Что не так с моей номенклатурой?


[UPD]
Добавляю копированием созданной программно номенклатуры новую, по ней запись создается. ШОЗАБРЕД?!
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. catena 110 12.04.18 13:11 Сейчас в теме
Универсальный способ: 1) сравнить программную и скопированную номенклатуру пореквизитно, например, запросом.
2) Найти все ссылки скопированной и созданной программно. Сравнить.

Либо какой-то реквизит недозаполнен/заполнен не правильно, либо в какой-то РС не прописываете.
3. user900476 12.04.18 13:15 Сейчас в теме
Разобрался!

Зашел в созданную мной номенклатуру, нажал "Записать" и получил ошибки:

-Поле "Вариант оформления продажи" не заполнено
-Поле "Использование характеристик" не заполнено

Дальше просто добавил две строчки кода и готово!

Номенклатура.ВариантОформленияПродажи = Перечисления.ВариантыОформленияПродажи.РеализацияТоваровУслуг;
Номенклатура.ИспользованиеХарактеристик = Перечисления.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать;
4. ryutao 50 12.04.18 13:20 Сейчас в теме
(3) а единицу измерения номенклатуры проверили? там все нормально?
Номенклатура.ВесЕдиницаИзмерения = Справочники.УпаковкиЕдиницыИзмерения.НайтиПоКоду(796);
user774630; +1 Ответить
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

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

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

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

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