Имя: Пароль:
1C
 
Самый быстрый способ создать нужное количество строк в ТЗ?
0 Hipocrisy2013
 
02.10.19
09:29
Есть пустая ТЗ, для загрузки колонки из массива, нужно чтобы количество строк совпадали с количеством элементов массива, есть ли более оптимальный способ, чем перебор через цикл, на создание нужного количество строк?
1 palsergeich
 
02.10.19
09:52
(0) Загрузить колонку?
2 palsergeich
 
02.10.19
09:52
ЗагрузитьКолонку()
3 palsergeich
 
02.10.19
10:03
В плане оптимальности чем плох перебор массива и добавление строк в ТЖ?
4 ads55
 
02.10.19
10:10
Запрос к любому справочнику Выбрать Первые по количеству элементов массива и разыменовать колонки как в ТЗ.
5 Hipocrisy2013
 
02.10.19
10:24
(4) А если в справочнике меньше элементов чем в массиве?
6 Hipocrisy2013
 
02.10.19
10:26
Ну в принципе вопрос не очень актуальный

Для Счетчик = 1 По Данные[0].Количество() Цикл
      ТЗДанные.Добавить();
КонецЦикла;

Через перебор в цикле в 120 тысяч строк код выполняется меньше секунды.
7 palsergeich
 
02.10.19
10:33
(6) ну я про что)
8 Raxla
 
02.10.19
13:32

select
    0 как Цифра
Поместить Цифры
union all
select
    1 как Цифра
union all
select
    2 как Цифра
union all    
select
    3 как Цифра
union all
select
    4 как Цифра
union all
select
    5 как Цифра
union all
select
    6 как Цифра
union all
select
    7 как Цифра
union all
select
    8 как Цифра
union all
select
    9 как Цифра
    ;
select
    (Разряд1.Цифра + Разряд2.Цифра * 10 + Разряд3.Цифра * 100) как Число
from
    Цифры как Разряд1, Цифры как Разряд2, Цифры как Разряд3
where
    (Разряд1.Цифра + Разряд2.Цифра * 10 + Разряд3.Цифра * 100) < &Количество
order by
    Число


Ну и Запрос.Выполнить().Выгрузить();