Представим себе ситуацию, при которой Вам надо совместить данные из файла excell и действующей базы на 1С. Впринципе можно выгрузить данные из 1С в тот же Эксель и "ПроВПРить". Но во-первых, нам могут понадобиться более продвинутые средства получения данных, чем ВПР, во-вторых, для сложных конструкций это долго, а в третьих, для порядочного 1С-ника это ФИ (не зря же мы изучали язык запросов! да и конструктор запросов- вещь крутая). Но сосредоточимся на главном - это получение данных из файла Эксель(или другого табличного файла, можно и какого-нибудь csv) и использование их в запросе.
Я использую следующую методику:
1) Сначала читаем этот файл и загоняем данные в таблицу значений (ТЗ).
2) Передаем полученную ТЗ как параметр запроса и создаем на основе нее временную таблицу (ВТ).
3) Используем полученную ВТ для дальнейших манипуляций с запросами (через 2-ой пакет запросов).
Для удобства я доработал Консоль запросов (для управляемых форм), чтобы она выполняла первые 2 пункта на автомате, читая файл и дописывая запрос до нужного нам вида. Первая строка таблицы используется как заголовки(Она обязательно должна быть!). Нам останется лишь в конструкторе запросов добавить второй пакет и в нем уже получить нужные нам выборки. В параметрах Вы можете назначить типы данных. Так же для функционала добавил исполняемый код для строк выборки. Все параметры и код сохраняются в файл вместе с запросом.
Обработку прилагаю, можете посмотреть, что да как сделано, и использовать вместо обычной консоли запросов. Или не использовать. Если обработка окажется полезной, доработаю её под другие типы файлов(csv например).
Чтобы добавить несколько таблиц, надо переименовать параметр с Таб например не Таб2 в параметрах и в самом запросе в первом пакете. так же переименовать временную таблицу, тогда после прочтения другого файла, будет добавлен новый пакет запросов и новый параметр.
-------------------------------------UPD-------------------------------------------------
Поработал с обработкой и допилил её до вполне юзабельного на мой взгляд вида:
- добавлены типы читаемых файлов, теперь: xls,xlsx,ods,mxl.
- файлы теперь читаются быстрее и не требуют установленного Excel.
- таблица по-нормальному подставляется в параметр, это особенно важно когда надо отредактировать типы данных полей (щелкнув на редактирование параметра).
- для повторного выполнения запроса не надо каждый раз заново читать файл.
- добавил поле для произвольного кода для обработки выборки(сохраняется вместе с запросом) .
- добавил возможность использовать параметры в исполняемом коде.
- добавил возможность запускать код в фоновом задании. Если код в цикле не заполнен, то по нажатию кнопки Выполнить обработку запрос не выполняется.
- добавил возможность добавлять параметры из строки: в отладке для нужного параметра выполняете ЗначениеВСтрокуВнутр() и получившуюся строку вставляете по кнопке "из строки". Передавать можно как параметры по одному, так и всю структуру целиком.
- добавил возможность настраивать какой лист загружать и появилась возможность "сворачивать" многоэтажные шапки.
- добавил возможность чтения CSV.
- добавил возможность выбрать произвольную область табличного документа.
- отвязал обработку от БСП.
- добавил редактор кода в отдельном окне с подсветкой кода (спасибо salexdv и его разработке //infostart.ru/public/1266087/).