Имя: Пароль:
1C
1C 7.7
v7: Есть ли разница в заполнении Таблице Значений?
0 botman4
 
04.08.15
15:06
Собственно заполняю таблицу значений следующим образом:

тзДанные.новаястрока();
тзДанные.Колонка1 = КакаятоПеременная1;
тзДанные.Колонка2 = КакаятоПеременная2;
тзДанные.Колонка3 = КакаятоПеременная3;

увидел в обработке, что программер заполняет таблицу по иному:

тзДанные.новаястрока();
размерТЗ = тзДанные.КоличествоСтрока();
тзДанные.УстановитьЗначение(размерТЗ, "Колонка1", КакаятоПеременная1);
тзДанные.УстановитьЗначение(размерТЗ, "Колонка2", КакаятоПеременная2);
тзДанные.УстановитьЗначение(размерТЗ, "Колонка3", КакаятоПеременная3);

Есть ли разница в этих заполнениях?
СПАСИБО.
1 mikecool
 
04.08.15
15:07
первый способ без лишнего выполнения метода
2 mikecool
 
04.08.15
15:08
и кстати - что за метод КоличествоСтрока()?
3 Fuas4
 
04.08.15
15:08
Я бы замером производительности посмотрел
4 botman4
 
04.08.15
15:08
очепятка.
5 NikVars
 
04.08.15
15:09
(0) Первый - именной. Облизывай каждое имя. Второй удобен для перебора в цикле. Можно указывать номера строк, колонок.
6 mikecool
 
04.08.15
15:10
имхо
размерТЗ = тзДанные.КоличествоСтрока(); - лишнее время
да и каждый тзДанные.УстановитьЗначение(размерТЗ, "Колонка1", КакаятоПеременная1); - затрачивает время на позиционирование
7 botman4
 
04.08.15
15:12
(5) (размерТЗ, "Колонка3", КакаятоПеременная3) -  но тут тоже вписываешь и имя столбца и номер строки?
8 HawkEye
 
04.08.15
15:14
(0) со всех точек зрения - я за первый вариант, по быстродействию - замером посмотри если так интересно...

(5) если колонки совпадают проще загрузить/выгрузить, если не совпадают, чем цикл поможет?
9 botman4
 
04.08.15
15:14
смысл в том, что я не опытный программер, и пишу по первому варианту, а там писал уже маретый дядька, вот мне и стало интересно, есть ли разница и какая. если разница только в удобстве, тогда мне удобен первый способ, пока.
10 NikVars
 
04.08.15
15:15
(7) Можешь вписывать имя, а можешь и не вписывать.
В случае первом - вписываешь всегда.
Твой вопрос: "Есть ли разница в заполнении" требует уточнения
1) разница для программиста когда он только что пишет;
2) разница для программиста написать так, чтобы потом быстро вспомнить;
3) разница в исполнении, когда требуется обработка больших объемов и скорость.
Ты задумался, увидев иной текст. А спросил-то что?
11 Mikeware
 
04.08.15
15:16
(8) названия колонок можешь динамически формировать, номера сток - разные.
а в первом случае ты работаешь только с текущей строкой, и с заранее известными именами колонок
12 Mikeware
 
04.08.15
15:16
(10) разница - в цели кода.
13 NikVars
 
04.08.15
15:16
(9) Когда придется заполнять таблицы с десятками колонок, тогда задумаешься еще разок.
14 HawkEye
 
04.08.15
15:17
(11) могу динамически, а могу не динамически
15 botman4
 
04.08.15
15:19
Я уже все понял, спасибо. Но все равно, у него было в предопределенной таблице указано порядка 15 колонок и каждую он заполнял как я показал во втором способе, т.е. указывал номер строки, имя колонки и подкидывал значение.
буду пробывать юзать для создания динамических таблиц.
Всем спасибо.
16 NikVars
 
04.08.15
15:21
(15) Значит он преследовал иные цели. Читабельность кода, соответствовать какому-то шаблону, внести минимум изменений, сохранить логику старого отчета... Привычка, наконец.