Имя: Пароль:
1C
1С v8
Как передать в запрос массив и получить ТЗ с данными из этого массива
,
0 deziren1
 
27.04.16
10:23
Всем доброго дня!!!
Прошу подсказать решение вопроса.
Есть массив с ссылками на объекты. Необходимо получить ТаблицуЗначений со строковыми данными, Представлениями этих объектов из массива.
Пробовали так
        Для Номер =1 По МасСсылок.Количество() Цикл
                 ТЗВсе.Добавить();
    КонецЦикла;
    ТЗВсе.ЗагрузитьКолонку(МасСсылок, "Объект");
Все работает, но записей очень много и это не рациональное решение.
Хочется как-то передать массив МасСсылок в запрос и из него получить ТЗВсе с данными из массива.
Кто что подскажет???
1 ДенисЧ
 
27.04.16
10:24
В запросе из массива данные получать нельзя. Его там можно использовать только в условии
2 deziren1
 
27.04.16
10:25
(1) И даже использую временную таблицу. Никак?
3 FIXXXL
 
27.04.16
10:25
ТЗВсе.ЗагрузитьКолонку( чем не устраивает?
потом пробегись и получи текстовое представление
4 Лодырь
 
27.04.16
10:27
Загрузи массив в список если хочешь передать в запрос.
5 deziren1
 
27.04.16
10:27
Устраивает. Просто думали найти более рациональное решение, через запрос.
6 deziren1
 
27.04.16
10:28
(4) Передать в запрос можно и массив, а вот как из него выгрузить данны в ТЗ через запрос, не знаю!
7 salvator
 
27.04.16
10:30
(6)
ВЫБРАТЬ ЧтоТо.Ссылка ИЗ ЧтоТо ГДЕ ЧтоТо.Ссылка В (&МассивСсылок)

И получай ТЗ из результата запроса.
Только вот для чего это нужно?
8 deziren1
 
27.04.16
10:35
(7) НЕ не катит.
В том то и вопрос, что Что-то такого просто нет.
Есть Массив ссылок. Нужно получить ТЗ, со значениями теми, что в Массиве.
Решение есть:

    Для Н=1 По Массив.Количество() Цикл
        ТЗВсе.Добавить();
    КонецЦикла;
    ТЗВсе.ЗагрузитьКолонку(Массив,"Объект");

Но, данных в массиве около 7000. И будет еще больше.
Вот и возник вопрос, о поиске более рационального решения. Возможно через запрос. Но не знаю как.
Обращаюсь к вам?!!?
9 Timon1405
 
27.04.16
10:36
Интересно послушать, как в представлении автора запрос узнает про типы объектов передаваемые в запрос в массиве?
Если даже чтобы передать ТЗ в запрос она должна быть типизирована.
10 ДенисЧ
 
27.04.16
10:37
У тебя ссылки разных типов что-ли?
11 salvator
 
27.04.16
10:37
(8) Сколько различных типов у ссылок в массиве?
12 deziren1
 
27.04.16
10:45
Массив ссылок на различные объекты БД.
ПОлучаем его из функции
НайтиПомеченныеНаУдаление().
13 Лодырь
 
27.04.16
10:48
(12) Не лучше тогда цикл по метаданным прогнать и внутри цикла вызывать функцию?
14 deziren1
 
27.04.16
10:49
Функцию????
15 Лодырь
 
27.04.16
10:51
Ну. НайтиПомеченныеНаУдаление(<ОбластьПоиска>, <ВключитьОбъекты>, <ИсключитьОбъекты>)
16 mikecool
 
27.04.16
10:53
а чего сразу в тз не загонять ссылки, а потом тз в запрос?
17 deziren1
 
27.04.16
10:54
Нет, нет, нет.
Функция отрабатывает. Все ок. Потом работать надо с массивом.
Возможно этот вопрос не корректный.
Наверное решения нет. Через запрос из массива получить ТЗ.
18 xxTANATORxx
 
27.04.16
10:54
(12)и зачем тебе ТЗ?, что ты собираешься с ней делать?
19 deziren1
 
27.04.16
10:56
(16) Вобщем так и сделано.
Единственное, смущает что сначало надо циклом в ТЗ добавлять пустые строки, а потом из массива загонять значения.
Поэтому возник вопрос поиск аболее шустрого решения. Вот.
20 deziren1
 
27.04.16
10:58
(18)Далее из ТЗ запросом выбирать данные, которые не попали в другую ТЗ. :(
21 Wern
 
27.04.16
11:57
Запрос это гараздо менее шустрое решение. Ты данные будешь гонять на сервер баз данных и обратно ради простейшей операции?
22 deziren1
 
27.04.16
13:37
(21) Возможно вы и правы!!!
Спасибо!!!
23 deziren1
 
27.04.16
13:38
Всем спасибо за потраченное время и комменты!
Программист всегда исправляет последнюю ошибку.