Следующая ситуация. Мне надо получить список файлов из папки и сверить их программно с колнокой из СКД, содержащей номер документа. Как получить массив файлов я уже нашел НайтиФайлы(путь, маска). Знаю как получить имя файла (Файл.Имя), так как файлы названы по номеру документа. И, признаюсь, я до сих пор не понимаю как получить всю колонку из запроса, и пройтись по ней циклом.
Предполгается, что задавая парметры, пользователь будет отбирать небольшую часть данных из запроса и программа через вложеный цикл будет проходиться по всем именам файлов и номерам документов, сравнивать их и выводить информацию о том есть ли у данного документа в конфигурации файл (скан документа) в папке.
Предполгается, что задавая парметры, пользователь будет отбирать небольшую часть данных из запроса и программа через вложеный цикл будет проходиться по всем именам файлов и номерам документов, сравнивать их и выводить информацию о том есть ли у данного документа в конфигурации файл (скан документа) в папке.
По теме из базы знаний
- Поиск по дереву значений рекурсией, методом НайтиСтроки(), с помощью СКД. Вывод результата поиска в отдельную таблицу. Активация строки в дереве значений при выборе в таблице
- Полезняшки по СКД и построителям. Просто код
- Метод восстановления битых ссылок в настройках СКД при консольно-конфигураторной разработке отчетов
- Динамическая расшифровка СКД (на примере отчета)
- Варианты применения СКД вне отчетов в отраслевых конфигурациях
Найденные решения
(6) Сильной разницы в быстродействии думаю нет, так что выбирайте сами
На мой взгляд чтение списка файлов займет много времени (зависит конечно, сколько файлов)
В любом случае количество файлов вероятней всего будет увеличиваться
В первом варианте:
1) Создать Тз
2) Создать колонку (но если Тз в реквизите, то эти два шага не нужны)
3) Пройти циклом файлы и добавить строки в Тз
4) Написать запрос
5) пройти циклом выборку или выгрузить/загрузить (смотря какой вывод нужен)
Во втором варианте:
1) Написать запрос
2) Выгрузить в Тз
3) добавить колонку (либо сразу в запросе, тогда этот шаг не нужен)
4) Пройти циклом файлы и сохранить имена в какую нибудь коллекцию
5) пройти циклом Тз из запроса и проверять наличие файла и выводить информацию
На мой взгляд чтение списка файлов займет много времени (зависит конечно, сколько файлов)
В любом случае количество файлов вероятней всего будет увеличиваться
В первом варианте:
1) Создать Тз
2) Создать колонку (но если Тз в реквизите, то эти два шага не нужны)
3) Пройти циклом файлы и добавить строки в Тз
4) Написать запрос
5) пройти циклом выборку или выгрузить/загрузить (смотря какой вывод нужен)
Во втором варианте:
1) Написать запрос
2) Выгрузить в Тз
3) добавить колонку (либо сразу в запросе, тогда этот шаг не нужен)
4) Пройти циклом файлы и сохранить имена в какую нибудь коллекцию
5) пройти циклом Тз из запроса и проверять наличие файла и выводить информацию
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6) Сильной разницы в быстродействии думаю нет, так что выбирайте сами
На мой взгляд чтение списка файлов займет много времени (зависит конечно, сколько файлов)
В любом случае количество файлов вероятней всего будет увеличиваться
В первом варианте:
1) Создать Тз
2) Создать колонку (но если Тз в реквизите, то эти два шага не нужны)
3) Пройти циклом файлы и добавить строки в Тз
4) Написать запрос
5) пройти циклом выборку или выгрузить/загрузить (смотря какой вывод нужен)
Во втором варианте:
1) Написать запрос
2) Выгрузить в Тз
3) добавить колонку (либо сразу в запросе, тогда этот шаг не нужен)
4) Пройти циклом файлы и сохранить имена в какую нибудь коллекцию
5) пройти циклом Тз из запроса и проверять наличие файла и выводить информацию
На мой взгляд чтение списка файлов займет много времени (зависит конечно, сколько файлов)
В любом случае количество файлов вероятней всего будет увеличиваться
В первом варианте:
1) Создать Тз
2) Создать колонку (но если Тз в реквизите, то эти два шага не нужны)
3) Пройти циклом файлы и добавить строки в Тз
4) Написать запрос
5) пройти циклом выборку или выгрузить/загрузить (смотря какой вывод нужен)
Во втором варианте:
1) Написать запрос
2) Выгрузить в Тз
3) добавить колонку (либо сразу в запросе, тогда этот шаг не нужен)
4) Пройти циклом файлы и сохранить имена в какую нибудь коллекцию
5) пройти циклом Тз из запроса и проверять наличие файла и выводить информацию
(2) Я молодой зеленый, мне дали листинг задачи, я делаю по нему. Там не все до мелочей расписано, только что с чем соединить, где что взять, но тажке написнао, что проще будет сделать все через СКД. Это внешний отчет. Может и можно через таблицу.
Когда получить данные я знаю, меня больше интресует вопрос как. Я во всех этих ИсточникиДанных, НаборыДанных Получить и Найти запутался совсем, вот с этим хочу разобраться
Когда получить данные я знаю, меня больше интресует вопрос как. Я во всех этих ИсточникиДанных, НаборыДанных Получить и Найти запутался совсем, вот с этим хочу разобраться
Вот код если это поможет
КомпМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Данные = КомпМакета.Выполнить("ОсновнаяСхемаКомпоновкиДанных");
Файлы = НайтиФайлы("F:\group\otd54\Спецификации на поставку ГП", "?пецификация*", Истина);
Для каждого Файл из Файлы Цикл
Для каждого Номер из Данные Цикл
Если Номер.НаборыДанных.Получить(ZAK_POTR) = Сред(Файл.Имя, 14, 12) Тогда
КонецЕсли;
КонецЦикла;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот