документ УстановкаЦенНоменклатуры

Новая тема
"как в Управлении торговлей программно заполнить документ УстановкаЦенНоменклатуры?
я пишу:

УЦН = Документы.УстановкаЦенНоменклатуры.СоздатьДокумент();
УЦН.Дата = ТекущаяДата();
УЦН.ТипыЦен.Добавить().ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная");
УЦН.Товары.Добавить().Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("БЕЗЕ (АГРОБ)");
УЦН.Товары.Добавить().Цена = 123;
УЦН.Товары.Добавить().Валюта =  Справочники.Валюты.НайтиПоНаименованию(Строка("РУБ"));

Документ создаеться но при его открытии выскакивает ошибка:

{Документ.УстановкаЦенНоменклатуры.Форма.ФормаДокумента(591)}: Поле объекта не обнаружено (цена)
НоваяСтрока["цена" + НомерСоответствияТекущейКолонки] = СтрокаТаблицыТоваров.Цена;"
">  УЦН.Товары.Добавить().Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("БЕЗЕ (АГРОБ)");
>  УЦН.Товары.Добавить().Цена = 123;
>  УЦН.Товары.Добавить().Валюта =  Справочники.Валюты.НайтиПоНаименованию(Строка("РУБ"));
Здесь мне кажется не совсем корректно написано, каждый раз, когда вы устанавливаете реквизит добавляется новая строка
По моему мнению должно быть так
НоваяСтрока = УЦН.Товары.Добавить();
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию("БЕЗЕ (АГРОБ)");
НоваяСтрока.Цена = 123;
НоваяСтрока.Валюта =  Справочники.Валюты.НайтиПоНаименованию(Строка("РУБ"));
//И обязательно должен быть установлен тип цен в табличной части "Товары"
НоваяСтрока.ТипЦен = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Розничная");

Может это заодно решит и проблему с полем объекта "цена""
"...и еще

НоваяСтрока.ИндексСтрокиТаблицыЦен = 0; // 0 - для случая если тип цен в документе только один, иначе надо определить индекс типа цен по таб.части "ТипыЦен"."
Большое спасибо. После того как установил тип цен все заработало.
Читают тему
(гостей: 1)

Быстрый переход