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

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
Внимание! Тема сдана в архив

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