Следующая ситуация. Мне надо получить список файлов из папки и сверить их программно с колнокой из СКД, содержащей номер документа. Как получить массив файлов я уже нашел НайтиФайлы(путь, маска). Знаю как получить имя файла (Файл.Имя), так как файлы названы по номеру документа. И, признаюсь, я до сих пор не понимаю как получить всю колонку из запроса, и пройтись по ней циклом.

Предполгается, что задавая парметры, пользователь будет отбирать небольшую часть данных из запроса и программа через вложеный цикл будет проходиться по всем именам файлов и номерам документов, сравнивать их и выводить информацию о том есть ли у данного документа в конфигурации файл (скан документа) в папке.
---
Сильной разницы в быстродействии думаю нет, так что выбирайте сами
На мой взгляд чтение списка файлов займет много времени (зависит конечно, сколько файлов)
В любом случае количество файлов вероятней всего будет увеличиваться

В первом варианте:
1) Создать Тз
2) Создать колонку (но если Тз в реквизите, то эти два шага не нужны)
3) Пройти циклом файлы и добавить строки в Тз
4) Написать запрос
5) пройти циклом выборку или выгрузить/загрузить (смотря какой вывод нужен)

Во втором варианте:
1) Написать запрос
2) Выгрузить в Тз
3) добавить колонку (либо сразу в запросе, тогда этот шаг не нужен)
4) Пройти циклом файлы и сохранить имена в какую нибудь коллекцию
5) пройти циклом Тз из запроса и проверять наличие файла и выводить информацию
---
на мой взгляд легче список с именами файлов закинуть в ТЗ
Потом этот ТЗ в запрос и объединить с документами из базы, получив готовый результат
---
Я думаю закинуть запрос в тз, создать в нем доп колонку, а дальше проверять, если есть файл в папке с номером из тз, тогда писать его туда, а если нет, то отсавлять поле пустым
---
Сильной разницы в быстродействии думаю нет, так что выбирайте сами
На мой взгляд чтение списка файлов займет много времени (зависит конечно, сколько файлов)
В любом случае количество файлов вероятней всего будет увеличиваться

В первом варианте:
1) Создать Тз
2) Создать колонку (но если Тз в реквизите, то эти два шага не нужны)
3) Пройти циклом файлы и добавить строки в Тз
4) Написать запрос
5) пройти циклом выборку или выгрузить/загрузить (смотря какой вывод нужен)

Во втором варианте:
1) Написать запрос
2) Выгрузить в Тз
3) добавить колонку (либо сразу в запросе, тогда этот шаг не нужен)
4) Пройти циклом файлы и сохранить имена в какую нибудь коллекцию
5) пройти циклом Тз из запроса и проверять наличие файла и выводить информацию
---
Данные можно получить в событии ПриКомпоновкеРезультата. Мб для такой задачи имеет смысл тупо заполнять таблицу значений вместо СКД?
---
Я молодой зеленый, мне дали листинг задачи, я делаю по нему. Там не все до мелочей расписано, только что с чем соединить, где что взять, но тажке написнао, что проще будет сделать все через СКД. Это внешний отчет. Может и можно через таблицу.

Когда получить данные я знаю, меня больше интресует вопрос как. Я во всех этих ИсточникиДанных, НаборыДанных Получить и Найти запутался совсем, вот с этим хочу разобраться
---
Вот код если это поможет

```1c
    КомпМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    Данные = КомпМакета.Выполнить("ОсновнаяСхемаКомпоновкиДанных");
    Файлы = НайтиФайлы("F:\group\otd54\Спецификации на поставку ГП", "?пецификация*", Истина);

    Для каждого Файл из Файлы Цикл
    Для каждого Номер из Данные Цикл
    Если Номер.НаборыДанных.Получить(ZAK_POTR) = Сред(Файл.Имя, 14, 12) Тогда

    КонецЕсли;
    КонецЦикла;
    КонецЦикла;
```