Имя: Пароль:
1C
1С v8
v8: Добавление строчки в ТЧ документа
0 Aerosol
 
07.05.13
13:03
8.2, толстый клиент.

Написал документ, в документе много табличных частей, мне нужно одну из них заполнить программно при открытии, из одного справочника, вот код:

Если ЭтоНовый()=Истина Тогда
СпрСтатьи = Справочники.СтатьиЗатрат;
Выборка = СпрСтатьи.Выбрать();
       
Пока Выборка.Следующий() Цикл
СтатьяЗ = Выборка.ПолучитьОбъект();
Если СтатьяЗ.КЗ = Истина Тогда
        ЭлементыФормы.ПроизводственныеРасходы.ДобавитьСтроку();
Строка = ЭлементыФормы.ПроизводственныеРасходы.ТекущаяСтрока;
Строка.СтатьяЗатрат = СтатьяЗ;
КонецЕсли;
КонецЦикла;
       
КонецЕсли;

При открытии ругаеццо: Значение не является значением объектного типа (СтатьяЗатрат).

Что не так пишу ? Подскажите.
1 drcrasher
 
07.05.13
13:04
Радченко! Немедленно Радченко! Не дожидаясь перитонитов!
2 cw014
 
07.05.13
13:05
Все не так
3 cw014
 
07.05.13
13:05
Строка = ЭлементыФормы.ПроизводственныеРасходы.ТекущаяСтрока;

На момент исполнения кода у тебя нету текущей строки
4 Волшебник
 
07.05.13
13:05
Строка = ЭлементыФормы.ПроизводственныеРасходы.ДобавитьСтроку();
Строка.СтатьяЗатрат = СтатьяЗ;
5 Godofsin
 
07.05.13
13:05
мдааа....
6 Wobland
 
07.05.13
13:05
а что это такое - Строка?
7 Волшебник
 
07.05.13
13:05
вернее так:

Строка = ПроизводственныеРасходы.Добавить();
Строка.СтатьяЗатрат = СтатьяЗ;
8 Aerosol
 
07.05.13
13:06
Я писал всю жизнь на 6ке, 7.7 потом, столкнулся с 8.2 недавно, аврально постигаю. Не кидайте камнями.
9 Godofsin
 
07.05.13
13:07
(8) см. (7)
10 Aerosol
 
07.05.13
13:09
(7) (9) Спасибо ! Не знал, что к ТЧ можно так обращаться. Ничего, через неделю просмотра видеоуроков и прочтения ЖКК, думаю, освоюсь.
11 Aerosol
 
07.05.13
13:09
Ну и насчет "мдааа" итд - лучше писать по делу, трудно сразу привыкнуть к другому синтаксису.
12 DexterMorgan
 
07.05.13
13:11
(11) Какой же удивительный мир открытий тебя ожидает впереди!)  Я по-доброму)
13 hhhh
 
07.05.13
13:12
(11) а разве в семерке встречается вот такой бред?

ЭлементыФормы.ПроизводственныеРасходы.ДобавитьСтроку()

что-то никогда там такого не видел.
14 snegovik
 
07.05.13
13:13
а в чем разница - добавлять строку в ЭлементыФормы и добавлять непосредственно в табличную часть документа?
15 hhhh
 
07.05.13
13:15
(14) ну, например у тебя 1000 строк в ТЧ. Ты предпочитаешь, чтобы у тебя форма 1000 раз дернулась, или один раз?
16 snegovik
 
07.05.13
13:17
(15) И это вся разница? А вот если я добавляю строку на форму - она тут же попадает в табличную часть?
17 hhhh
 
07.05.13
13:22
(16) ну если в сто раз медленнее и бредовый нечеловеческий текст программы для тебя не играет роли, то можешь делать через задницу.
18 snegovik
 
07.05.13
13:26
(17) Я так не делаю, просто интересует теория:-)
19 Aerosol
 
07.05.13
13:57
(17)
В 7.7 было НоваяСтрока() и погнал присваивать.
20 Aerosol
 
07.05.13
13:57
Все, всем спасибо, хватит умничать ;)
21 hhhh
 
07.05.13
17:27
(19) ну и здесь новая строка. С чего вдруг в голову ударило про элементы формы?