Имя: Пароль:
1C
1С v8
УФ. Программное заполнение табличной чати.
0 Вельможа
 
15.04.19
10:23
Здравствуйте.
УТ 11. Создаю программно документ оприходования, попутно добавляя в его табличную часть товары.

&НаКлиенте
Процедура СоздатьОткрытьОприходование()
    ФормаНовогоДокумента = ПолучитьФорму("Документ.ОприходованиеИзлишковТоваров.Форма.ФормаДокумента",,, Истина);
    КопияДанныхФормы = ФормаНовогоДокумента.Объект;
    ЗаполнитьДанныеФормыНаСервере(КопияДанныхФормы);    
    КопироватьДанныеФормы(КопияДанныхФормы, ФормаНовогоДокумента.Объект);
    ФормаНовогоДокумента.Открыть();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьДанныеФормыНаСервере(ДанныеФормы)
    Оприходование = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.ОприходованиеИзлишковТоваров"));
    
    НоваяСтрока = Оприходование.Товары.Добавить();
    НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул", "123456");
    НоваяСтрока.Количество = 100;

    ЗначениеВДанныеФормы(Оприходование, ДанныеФормы);
КонецПроцедуры

В табличную часть товары добавляются, форма открывается. НО. В табличной части в поле "Номенклатура" товар добавлен, но вот в поле "Артикул" артикул товара не отображен. Если взять и перевыбрать номенклатуру, то тогда артикул появляется, как ему и положено.

Что я делаю не так? Как добиться того, чтобы товар добавлялся в ТЧ как положено, будто я его ввел вручную?
1 lucbak
 
15.04.19
10:34
Видимо поле "Артикул" идет как реквизит не связанный  номенклатурой поэтому заполняй его сам.
2 Вельможа
 
15.04.19
10:36
(1), спасибо, посмотрю-попробую.
3 Вельможа
 
15.04.19
10:57
(1), глядя в конфигураторе, видно, что у строки ТЧ "Товары" есть реквизит "Номенклатура", и уже у него есть реквизит "Артикул". При указании номенклатуры для новой строки ТЧ этот "Артикул" принимает нужное значение. А вот если в конфигураторе же посмотреть на реквизиты ТЧ "Товары", то там да, Артикул числится не только как реквизит Номенклатуры, но и отдельным реквизитом. Но обратиться к нему НоваяСтрока.Артикул невозможно, так как его просто у НовойСтроки нет. Как до него добраться?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший