Имя: Пароль:
1C
1С v8
Заполнить программно ТП на форме нового элемента справочника
,
0 бегинер
 
19.10.16
13:51
Задача:
программно открыть форму нового элемента справочника так, чтобы она открылась не пустая, а уже частично заполненная программно, при этом сам элемент справочника еще не записан в базу.
заполнить как реквизиты, так и заполнить табличную часть.

с обычными реквизитами делаем через параметры формы:

ПараметрыФормы = Новый Структура("ЗначенияЗаполнения", Новый Структура());
ПараметрыФормы.ЗначенияЗаполнения.Вставить("Автор", тек_пользователь.Ссылка);
Форма_элемента=ПолучитьФорму("Справочник.ЗаписнаяКнижка.ФормаОбъекта", ПараметрыФормы);
форма_элемента.открыть();

в конфигураторе в метаданных у реквизитов что будем заполнять программно: устанавливаем галку "Заполнять из данных заполнения".

вопрос: как заполнить аналогично программно табличное поле на форме у нового элемента?
1 Chameleon1980
 
19.10.16
14:39
не понял.

но про тп:

ПриПолученииДанных
и
ПриВыводеСтроки
2 Chameleon1980
 
19.10.16
14:40
может не своими именами вещи названы?
3 Lexey_
 
19.10.16
14:44
(0) ТП заполнится само, если оно связано с заполненной ТЧ
4 бегинер
 
19.10.16
14:45
ну заполнить нужно программно табличную часть - на форме это ТП привязанное к данным - источнику (ТЧ)
5 lxs
 
19.10.16
14:54
(1) Вообще мимо
(4) форма управляемая?
6 бегинер
 
19.10.16
14:54
вот так можно заполнить

НовыйОбъект = Справочники.ЗаписнаяКнижка.СоздатьЭлемент();
НоваяСтрока=НовыйОбъект.ТЧ_Записи.Добавить();
НоваяСтрока.Запись="текст ремарки";


но как мне не записывая не сохраняя этот элемент - открыть в форме элемента?

т.е. заполнить я могу - как далее открыть форму элемента этого не сохраненного элемента и чтоб форма была заполнена.

формы обычные
7 Chameleon1980
 
19.10.16
14:55
НоваяСтрокаВТЧ=НовыйСправочникОбъект.ИмяТЧ.Добавить();

НоваяСтрокаВТЧ.ИмяРеквизита=ЗначениеРеквизита;
НоваяСтрокаВТЧ.ИмяРеквизита2=ЗначениеРеквизита2;

про это?
8 Chameleon1980
 
19.10.16
14:56
(5)
дык я жеж говорю - вещи своими именами называть нужно
9 singlych
 
19.10.16
14:57
(6) НовыйОбъект.ПолучитьФорму("ФормаОбъекта")
10 Lexey_
 
19.10.16
15:05
+ (9) или ОткрытьЗначение(НовыйОбъект);
11 бегинер
 
19.10.16
15:10
всем спасибо, все получилось
12 lxs
 
19.10.16
15:12
Ф = Документы.РеализацияТоваровУслуг.ПолучитьФормуНовогоДокумента();
    
    Т = Ф.ЭлементыФормы.Товары.Значение;
    НС = Т.Добавить();
    НС = Т.Добавить();
    НС = Т.Добавить();
    НС = Т.Добавить();
    
    Ф.Открыть();
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший