Excel выполнение фонового запроса
Встала задача. По электронной почте приходят письма с вложениями таблиц Excel. Получение почты производится встроенным клиентом 1С фоновым заданием. Необходимо было по расписанию несколько раз в день извлекать из новых писем вложения и загружать из них данные. Тут я столкнулся с проблемой - работать с Excel в фоновом задании ни через COM, ни через ADO не удавалось. Вываливалась ошибка. Нигде в сети четкого решения проблемы я не обнаружил. В итоге, собирая информацию по крупицам из разных источников (порой и вовсе не связанных с 1с) и нескольких дней мучений все же я решил данную проблему. Ниже я опишу свое решение, чтобы помочь таким же, как я )
Начну свой рассказ.
Попытка подключиться к Excel через COM объект
приводило к ошибке "Интерфейс не поддерживается".
Если использовать ADO
то возникала ошибка "указанный поставщик не найден".
Сразу оговорюсь, что Microsoft Office на сервере был установлен и при обычном запуске обработки (не в фоновом задании) все проходило на ура.
Так как фоновые задания выполняются от имени пользователя, под которым работает сервер 1С:Предприятие (обычно это USR1CV82), то возникло логичное предположение, то у этого пользователя не достаточно прав. Для эксперимента этому пользователю были выданы права администратора и фоновое задание завершилось успешно. Однако, это был не вариант. Требовались минимально возможные права и я окунулся в мир поиска информации в глобальной сети.
Итак. Первое что удалось выяснить, это то, что пользователю USR1CV82 необходимо дать права на запуск DCOM Microsoft Excel Application (прошу прошения, могу путаться в понятиях, но смысл, что делать, думаю, будет понятен).
Для этого необходимо:
1. Нажать кнопку Пуск и выбрать Панель управления.
2. Дважды щелкнуть значок Администрирование и выбрать пункт Службы компонентов.
3. В левой панели окна "Службы компонентов" дважды щелкнуть пункт Службы компонентов, дважды щелкнуть пункт Компьютеры и выбрать Мой компьютер.
4. Выбрать папку Настройка DCOM.
5. В окне сведений найти объект Microsoft Excel Application, щелкнуть его правой кнопкой и выбрать пункт Свойства (здесь есть подводный камень, с которым я довольно долго промучался - если сервер 64-х разрядный, то и выпуск Office так же должен быть х64, иначе объекта Microsoft Excel Application не будет в списке и права для него мне так и не удалось настроить пока не переустановил Office).
6. Открыть вкладку Безопасность.
7. В разделе Разрешения на запуск выбрать пункт Настроить и нажать кнопку Изменить.
8. Добавить пользователя USR1CV82.
Ниже поясняющие скриншоты.
Однако, после произведенных описанных выше настроек фоновое задание так и не заработало.
При работе с COM объектом экземляр Excel успешно создавался, но открыть файл не получалось
Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу "C:\xls_test\test.xls". Это может быть вызвано одной из следующих причин.
• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.
Поиски в просторах сети были продолжены и решение таки было найдено:
Необходимо создать папку
-
для Windows Server x64
Данное расположение папок указано для Office 2007. Для Office 2010 не зависимо от разрядности платформы необходимо создавать папку C:\Windows\System32\config\systemprofile\Desktop (данный факт так же потратил не мало моего времени). В общем, если создали папку, а ошибки не исчезли, создайте вторую. Так же необходимо дать права на созданную папку пользователю USR1CV82. Практика показала, что достаточно прав, выдаваемых системой по умолчанию.
Параметр Microsoft Query можно запрос путем изменения запроса, использования данных из ячейки в качестве запроса или константы.
Дополнительные сведения о создании запросов с параметрами см. в записи Использование Microsoft Query для извлечения внешних данных.
Примечание: Следующие процедуры не применимы к запросам, созданным с помощью Power Query.
Изменение настраиваемой подсказки для запроса с параметрами
На компьютере щелкните ячейку в любом месте диапазона внешних данных, созданного с помощью запроса с параметрами.
На вкладке Данные в группе Запросы & Connections нажмитекнопку Свойства.
В диалоговом окне Свойства нажмите кнопку Свойства подключения .
В диалоговом окне Свойства подключения перейдите на вкладку Определение и выберите параметры.
В диалоговом окне Параметры в списке Имя параметра выберите параметр, который вы хотите изменить.
В поле Запрос значения с использованием следующей строки введите текст запроса и нажмите кнопку ОК. Настраиваемая подсказка может содержать до 100 символов.
Чтобы использовать новую настраиваемую подсказку и обновить данные, щелкните стрелку рядом с кнопкой Обновить все на вкладке Данные в группе Запросы & Connections и выберите обновить .
В диалоговом окне Введите значение параметра отобразиться новое окно.
Примечание: При желании, чтобы избежать повторного запроса во время каждой операции обновления, можно выбрать вариант Использовать это значение или ссылку для будущих обновлений. Если в качестве значения параметра используются данные из ячейки, выберите автоматически обновлять при смене значения ячейки.
На компьютере введите значения, которые вы хотите использовать в запросе в качестве условия.
Щелкните ячейку в любом месте диапазона внешних данных, созданного с помощью запроса.
На вкладке Данные в группе Запросы & Connections нажмитекнопку Свойства.
В диалоговом окне Свойства нажмите кнопку Свойства подключения .
В диалоговом окне Свойства подключения перейдите на вкладку Определение и выберите параметры.
В диалоговом окне Параметры в списке Имя параметра выберите параметр, который вы хотите изменить.
Щелкните Получить значение из следующей ячейки.
Щелкните на нем ячейку со значением, которое вы хотите использовать.
Если вы хотите обновлять данные при изменении значения в ячейке, выберите автоматически обновлять при изменении значения ячейки.
Чтобы обновить данные, щелкните стрелку рядом с кнопкой Обновить все на вкладке Данные в группе Запросы & Connections и выберите обновить.
Щелкните на своем компьютере ячейку в диапазоне внешних данных, созданном с помощью запроса.
На вкладке Данные в группе Запросы & Connections нажмитекнопку Свойства.
В диалоговом окне Свойства нажмите кнопку Свойства подключения .
В диалоговом окне Свойства подключения перейдите на вкладку Определение и выберите параметры.
В диалоговом окне Параметры в списке Имя параметра выберите параметр, который вы хотите изменить.
Щелкните Использовать следующее значение.
Введите значение параметра и нажмите кнопку ОК.
Чтобы обновить данные, щелкните стрелку рядом с кнопкой Обновить все на вкладке Данные в группе Запросы & Connections и выберите обновить.
Изменение настраиваемой подсказки для запроса с параметрами
Щелкните ячейку на своем компьютере в любом месте диапазона внешних данных, созданного с помощью запроса с параметрами.
На вкладке Данные в группе Подключения нажмите кнопку Свойства.
В диалоговом окне Свойства нажмите кнопку Свойства подключения .
В диалоговом окне Свойства подключения перейдите на вкладку Определение и выберите параметры.
В диалоговом окне Параметры в списке Имя параметра выберите параметр, который вы хотите изменить.
В поле Запрос значения с использованием следующей строки введите текст запроса и нажмите кнопку ОК. Настраиваемая подсказка может содержать до 100 символов.
Чтобы использовать новый запрос и обновить данные, щелкните стрелку рядом с кнопкой Обновить все на вкладке Данные в группе Подключения. Затем нажмите кнопку Обновить.
В диалоговом окне Введите значение параметра отобразиться новое окно.
Примечание: При желании, чтобы избежать повторного запроса во время каждой операции обновления, можно выбрать вариант Использовать это значение или ссылку для будущих обновлений. Если в качестве значения параметра используются данные из ячейки, выберите автоматически обновлять при смене значения ячейки.
Примечание: Если вы хотите сохранить изменения в настраиваемом запросе, сохраните книгу. Вы также можете изменить запрос, чтобы изменить его. Дополнительные сведения о редактировании запроса Microsoft Query см. в справке Microsoft Query.
На компьютере введите значения, которые вы хотите использовать условия в запросе.
Щелкните ячейку в любом месте диапазон внешних данных, созданной с помощью запроса с параметрами.
На вкладке Данные в группе Подключения нажмите кнопку Свойства.
В диалоговом окне Свойства нажмите кнопку Свойства подключения .
В диалоговом окне Свойства подключения перейдите на вкладку Определение и выберите параметры.
В диалоговом окне Параметры в списке Имя параметра выберите параметр, который вы хотите изменить.
Щелкните Получить значение из следующей ячейки.
На компьютере щелкните ячейку со значением, которое вы хотите использовать.
Если вы хотите обновлять данные при изменении значения в ячейке, выберите автоматически обновлять при изменении значения ячейки.
Чтобы обновить данные, щелкните стрелку рядом с кнопкой Обновить все на вкладке Данные в группе Подключения и выберите обновить.
В Excel щелкните ячейку в диапазон внешних данных, созданной с помощью запрос с параметрами.
На вкладке Данные в группе Подключения нажмите кнопку Свойства.
В диалоговом окне Свойства нажмите кнопку Свойства подключения .
В диалоговом окне Свойства подключения перейдите на вкладку Определение и выберите параметры.
В диалоговом окне Параметры в списке Имя параметра выберите параметр, который вы хотите изменить.
Щелкните Использовать следующее значение.
Введите значение параметра и нажмите кнопку ОК.
Чтобы обновить данные, щелкните стрелку рядом с кнопкой Обновить все на вкладке Данные в группе Подключения и выберите обновить.
Изменение настраиваемой подсказки для запроса с параметрами
Щелкните ячейку на своем компьютере в любом месте диапазона внешних данных, созданного с помощью запроса с параметрами.
На вкладке Данные в группе Подключения нажмите кнопку Свойства.
В диалоговом окне Свойства нажмите кнопку Свойства подключения .
В диалоговом окне Свойства подключения перейдите на вкладку Определение и выберите параметры.
В диалоговом окне Параметры в списке Имя параметра выберите параметр, который вы хотите изменить.
В поле Запрос значения с использованием следующей строки введите текст запроса и нажмите кнопку ОК. Настраиваемая подсказка может содержать до 100 символов.
Чтобы использовать новый запрос и обновить данные, щелкните стрелку рядом с кнопкой Обновить все на вкладке Данные в группе Подключения. Затем нажмите кнопку Обновить.
В диалоговом окне Введите значение параметра отобразиться новое окно.
Примечание: При желании, чтобы избежать повторного запроса во время каждой операции обновления, можно выбрать вариант Использовать это значение или ссылку для будущих обновлений. Если в качестве значения параметра используются данные из ячейки, выберите автоматически обновлять при смене значения ячейки.
Примечание: Если вы хотите сохранить изменения в настраиваемом запросе, сохраните книгу. Вы также можете изменить запрос, чтобы изменить его. Дополнительные сведения о редактировании запроса Microsoft Query см. в справке Microsoft Query.
На компьютере введите значения, которые вы хотите использовать условия в запросе.
Щелкните ячейку в любом месте диапазон внешних данных, созданной с помощью запроса с параметрами.
На вкладке Данные в группе Подключения нажмите кнопку Свойства.
В диалоговом окне Свойства нажмите кнопку Свойства подключения .
В диалоговом окне Свойства подключения перейдите на вкладку Определение и выберите параметры.
В диалоговом окне Параметры в списке Имя параметра выберите параметр, который вы хотите изменить.
Щелкните Получить значение из следующей ячейки.
На компьютере щелкните ячейку со значением, которое вы хотите использовать.
Если вы хотите обновлять данные при изменении значения в ячейке, выберите автоматически обновлять при изменении значения ячейки.
Чтобы обновить данные, щелкните стрелку рядом с кнопкой Обновить все на вкладке Данные в группе Подключения и выберите обновить.
В Excel щелкните ячейку в диапазон внешних данных, созданной с помощью запрос с параметрами.
На вкладке Данные в группе Подключения нажмите кнопку Свойства.
В диалоговом окне Свойства нажмите кнопку Свойства подключения .
В диалоговом окне Свойства подключения перейдите на вкладку Определение и выберите параметры.
В диалоговом окне Параметры в списке Имя параметра выберите параметр, который вы хотите изменить.
Щелкните Использовать следующее значение.
Введите значение параметра и нажмите кнопку ОК.
Чтобы обновить данные, щелкните стрелку рядом с кнопкой Обновить все на вкладке Данные в группе Подключения и выберите обновить.
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Совет Чтобы упросить, сформированы ли данные на этом плане с помощью Power Query, выберите ячейку с данными, а если появится вкладка Лента контекстного запроса, данные загружаются из Power Query.
Знать, в какой среде вы сейчас? Power Query хорошо интегрирован с пользовательским интерфейсом Excel, особенно при импорте данных, работе с подключениями и редактировании таблиц, таблиц с Excel и именовых диапазонов. Чтобы избежать путаницы, важно в любой момент времени знать, в какой среде вы находитесь, в какой Excel или Power Query.
Знакомые Excel, лента и сетка
Лента редактора Power Query и предварительный просмотр данных
Например, работа с данными на Excel значительно отличается от Power Query. Кроме того, подключенные данные, которые вы видите на Excel, могут не работать с Power Query для их обработки. Это происходит только при загрузке данных на таблицу или в модель данных из Power Query.
Переименование я вкладок на таблицах Ямы лучше переименовывать по своему смыслу, особенно если их много. Особенно важно пояснить разницу между данными и данными, загруженными из редактора Power Query. Даже если у вас всего два листа: с таблицей Excel "Лист1"и запросом, созданным путем импорта таблицы Excel Таблица1,ее легко запутать. Всегда имеет смысл изменить названия ярлыков по умолчанию на более понятное. Например, переименуйте Лист1 в Таблицу данных и Таблицу1 в Таблицу запросов. Теперь понятно, какая вкладка с данными, а какая вкладка с запросом.
Вы можете создать запрос из импортируемых данных или пустой запрос.
Создание запроса из импортируемых данных
Это самый распространенный способ создания запроса.
Выберем ячейку в данных и выберите запрос> изменить.
Создание пустого запроса
Вы можете начать с нуля. Это можно сделать двумя способами.
Выберите Данные> Получить данные >из других источников > пустой запрос.
Выберите Данные> получить данные >запуск редактора Power Query.
На этом этапе вы можете вручную добавлять шаги и формулы, если хорошо знаете язык формул Power Query M.
Кроме того, можно выбрать команду На главная в группе Новый запрос. Выполните одно из указанных ниже действий.
Выберите Новый источник, чтобы добавить источник данных. Эта команда выглядит так же, как> "Получить данные" на Excel ленте.
Выберите Последние источники, чтобы выбрать источник данных, с помощью который вы работали. Эта команда выглядит так же, как> последние источники на Excel ленте.
Чтобы ввести данные вручную, выберите Ввести данные. Вы можете выбрать эту команду, чтобы попробовать редактор Power Query независимо от внешнего источника данных.
Предположим, что запрос действителен и не имеет ошибок, его можно загрузить обратно на таблицу или в модель данных.
Загрузка запроса из редактора Power Query
В редакторе Power Query сделайте следующее:
Чтобы загрузить на таблицу, выберите Главная> Закрыть & Загрузить > Закрыть & Загрузить.
Чтобы загрузить данные в модель данных, выберите Главная> Закрыть & Загрузить > Закрыть & Загрузка.
В диалоговом окне Импорт данных выберите добавить эти данные в модельданных.
Совет Иногда команда "Загрузить в" неатривна или отключена. Это может произойти при первом создании запроса в книге. В этом случае нажмите кнопку Закрыть & Загрузить, на новом > запросы данных & Connections > Запросы, щелкните запрос правой кнопкой мыши и выберите загрузить в . Кроме того, на ленте редактора Power Query выберите запрос> Загрузить в.
Загрузка запроса из области "Запросы и подключения"
В Excel может потребоваться загрузить запрос на другой таблицу или в модель данных.
В Excel выберите Запросы> запросы & Connections, а затем выберите вкладку Запросы.
В списке запросов найдите запрос, щелкните его правой кнопкой мыши и выберите загрузить в. Появится диалоговое окно Импорт данных.
Выберите, как вы хотите импортировать данные, а затем выберите ОК. Чтобы получить дополнительные сведения об использовании этого диалогового окна, выберите знак вопроса (?).
Существует несколько способов изменить запрос, загруженный на таблицу.
Изменение запроса на Excel данных
Чтобы изменить запрос, найдите ранее загруженную из редактора Power Query, выйдите ячейку в данных и выберите запрос > Изменить.
Изменение запроса в области "Запросы & подключения"
Возможно, вы & области Запросы и подключения удобнее использовать, если в одной книге много запросов и вы хотите быстро найти его.
В Excel выберите Запросы> запросы & Connections, а затем выберите вкладку Запросы.
В списке запросов найдите запрос, щелкните его правой кнопкой мыши и выберите изменить.
Изменение запроса в диалоговом окне "Свойства запроса"
В Excel выберите Data> Data & Connections > Запросы, щелкните запрос правой кнопкой мыши и выберите Свойства ,выберите вкладку Определение в диалоговом окне Свойства и нажмите кнопку Изменить запрос.
Совет Если вы работаете с запросом на > данных, в диалоговом окнеСвойства выберите вкладку Определение, а затем — Изменить запрос.
Модель данных обычно содержит несколько таблиц, расположенных в связи. Запрос загружается в модель данных с помощью команды Загрузить, чтобы отобразить диалоговое окно Импорт данных, а затем в поле Добавить эти данные в режим данныхl. Дополнительные сведения о моделях данных см. в дополнительных сведениях о том, какие источники данных используются в модели данных книги,Создание модели данных в Excelи Создание таблиц с помощью нескольких таблиц.
Чтобы открыть модель данных, выберите Power Pivot > Управление.
В нижней части окна Power Pivot выберите вкладку нужной таблицы.
Подтвердим, что отображается правильная таблица. Модель данных может иметь много таблиц.
Обратите внимание на имя таблицы.
Чтобы закрыть окно Power Pivot, выберите файл> Закрыть. Чтобы освободить память, может потребоваться несколько секунд.
Выберите > подключения & свойства >Запросы, щелкните запрос правой кнопкой мыши и выберите изменить.
Завершив внесение изменений в редакторе Power Query, выберите файл > Закрыть & загрузить.
Запрос на этом и в таблице в модели данных обновляются.
Если вы заметили, что загрузка запроса в модель данных занимает намного больше времени, чем загрузка на лист, проверьте действия Power Query, чтобы узнать, фильтруется ли текстовый столбец или структурированный столбец списка с помощью оператора Contains. Это действие приводит Excel повторно прогонять весь набор данных для каждой строки. Более того, Excel не могут эффективно использовать многопрочитанные выполнения. В качестве обходного решения попробуйте использовать другой оператор, например Равно или Начинает с.
Корпорация Майкрософт знает об этой проблеме и находится в стадии исследования.
Вы можете загрузить Power Query:
На один из них. В редакторе Power Query выберите Home> Close & Load > Close & Load.
В модель данных. В редакторе Power Query выберите Home> Close & Load > Close & Load To.
По умолчанию Power Query загружает запросы на новый таблицу при загрузке одного запроса и одновременно загружает несколько запросов в модель данных. Вы можете изменить поведение по умолчанию для всех книг или только для текущей книги. При настройке этих параметров Power Query не меняет результаты запроса на месте или в данных модели данных и примечаниях.
Кроме того, динамически переопределять стандартные параметры запроса можно в диалоговом окне Импорт, которое отображается после выбора параметра & Загрузитьв.
Глобальные параметры, которые применяются во всех книгах
В редакторе Power Query выберите Файл > параметры и параметры >параметры запроса.
В диалоговом окне Параметры запроса в левой части в разделе GLOBAL выберите Загрузка данных.
В разделе Загрузка Параметры запроса по умолчанию сделайте следующее:
Выберите Использовать стандартные параметры загрузки.
Выберите Указать настраиваемые параметры загрузкипо умолчанию, а затем выберите или отобирать параметр Загрузить на таблицу или Загрузить в модель данных.
Совет В нижней части диалогового окна можно выбрать восстановить параметры по умолчанию, чтобы вернуться к настройкам по умолчанию.
Параметры книги, которые применяются только к текущей книге
В диалоговом окне Параметры запроса в левой части в разделе ТЕКУЩАЯ КНИГА выберите Загрузка данных.
Выполните одно или несколько из указанных ниже действий.
В области Обнаружение типоввыберите или сберем для обнаружения типов столбцов и их заглавных колонок для неструктурированных источников.
По умолчанию они обнаруживаются. Если вы предпочитаете формировать данные самостоятельно, отоставьте этот параметр.
В области Связивыберите или отоберем создать связи между таблицами при первом добавлении в модель данных.
По умолчанию перед загрузкой в модель данных можно найти существующие связи между таблицами, например внешние ключи в реляционной базе данных, и импортировать их вместе с данными. Если вы предпочитаете делать это самостоятельно, сделайте это самостоятельно.
В области Связивыберите или отоберете update relationships when refreshing queries loaded to the Data Model (Связи) при обновлении запросов, загруженных в модель данных.
По умолчанию отношения не обновляются. При обновлении запросов, уже загруженных в модель данных, Power Query находит существующие связи между таблицами, например внешние ключи, в реляционной базе данных и обновляет их. Это может привести к удалению связей, созданных вручную после импорта данных, или к новым связям. Тем не менее, если вы хотите сделать это, выберите этот параметр.
В области Фоновыеданные выберите или отпустите разрешение предварительного просмотра данных для скачивания в фоновом режиме.
По умолчанию предварительный просмотр данных загружается в фоновом режиме. Если вы хотите сразу же видеть все данные, отобираем этот параметр.
После подключения книги Excel к внешнему источнику данных, такому как база данных SQL Server, база данных Access или другая книга Excel, вы можете поддерживать данные в своей книге в актуальном состоянии, обновляя ссылку на ее источник. Каждый раз, когда вы обновляете соединение, вы видите самые последние данные, включая все, что было новым или было удалено.
Давайте посмотрим, как обновить данные PowerPivot.
Шаг 1 – Переключитесь на просмотр данных .
Шаг 2 – Нажмите на Обновить .
Шаг 3 – Нажмите Обновить все .
Появится окно « Обновление данных» , в котором отображаются все таблицы данных в модели данных и отслеживается ход обновления. После завершения обновления отображается состояние.
Шаг 4 – Нажмите на Закрыть. Данные в вашей модели данных обновляются.
Обновите соединения данных
Шаг 1 – Нажмите любую ячейку в таблице, которая содержит ссылку на импортированный файл данных.
Шаг 2 – Нажмите на вкладку Данные .
Шаг 3 – Нажмите Обновить все в группе Соединения.
Шаг 4 – В раскрывающемся списке нажмите Обновить все . Все подключения к данным в Рабочей книге будут обновлены.
Автоматически обновлять данные
Здесь мы узнаем, как автоматически обновлять данные при открытии рабочей книги.
Шаг 1 – Щелкните любую ячейку в таблице, которая содержит ссылку на импортированный файл данных.
Шаг 2 – Нажмите на вкладку Данные .
Шаг 3 – Нажмите на Соединения в группе Соединения . Откроется окно Подключения к рабочей книге.
Шаг 4 – Нажмите на Свойства . Откроется окно свойств подключения .
Шаг 5 – Вы найдете вкладку « Использование » и вкладку « Определение ». Нажмите на вкладку Использование . Появятся параметры для управления обновлением .
Шаг 6 – Выберите Обновить данные при открытии файла.
У вас также есть опция под этим: «Удалить данные из диапазона внешних данных перед сохранением рабочей книги» . Вы можете использовать эту опцию, чтобы сохранить книгу с определением запроса, но без внешних данных.
Шаг 7 – Нажмите ОК .
Каждый раз, когда вы открываете свою рабочую книгу, в вашу рабочую книгу будут загружаться новейшие данные.
Автоматически обновлять данные через равные промежутки времени
Шаг 1 – Щелкните любую ячейку в таблице, которая содержит ссылку на импортированный файл данных.
Шаг 2 – Нажмите на вкладку Данные .
Шаг 3 – Выберите опцию « Подключения» в группе « Подключения ». Откроется окно Подключения к книге.
Шаг 4 – Нажмите на Свойства . Откроется окно свойств подключения .
Шаг 5 – Нажмите на вкладку Использование . Появятся параметры для управления обновлением .
Шаг 6 – Теперь выберите «Обновить каждые» и введите 60 минут между каждой операцией обновления.
Шаг 7 – Нажмите ОК . Ваши данные будут обновляться каждые 60 минут, то есть каждый час.
Включить фоновое обновление
Для очень больших наборов данных рекомендуется запустить фоновое обновление. Это возвращает вам контроль Excel, вместо того, чтобы заставлять вас ждать несколько минут, пока обновление не закончится. Вы можете использовать эту опцию, когда вы выполняете запрос в фоновом режиме. Однако вы не можете выполнить запрос для любого типа соединения, который извлекает данные для модели данных.
Шаг 1 – Щелкните любую ячейку в таблице, которая содержит ссылку на импортированный файл данных.
Шаг 2 – Нажмите на вкладку Данные .
Шаг 3 – Нажмите на Соединения в группе Соединения . Откроется окно Подключения к рабочей книге.
Шаг 4 – Нажмите на Свойства . Откроется окно свойств подключения .
Шаг 5 – Нажмите на вкладку Использование . Появятся параметры управления обновлением .
Шаг 6 – Нажмите Включить фоновое обновление, а затем нажмите ОК .
Представим себе ситуацию, при которой Вам надо совместить данные из файла excell и действующей базы на 1С. Впринципе можно выгрузить данные из 1С в тот же Эксель и "ПроВПРить". Но во-первых, нам могут понадобиться более продвинутые средства получения данных, чем ВПР, во-вторых, для сложных конструкций это долго, а в третьих, для порядочного 1С-ника это ФИ (не зря же мы изучали язык запросов! да и конструктор запросов- вещь крутая). Но сосредоточимся на главном - это получение данных из файла Эксель(или другого табличного файла, можно и какого-нибудь csv) и использование их в запросе.
Я использую следующую методику:
1) Сначала читаем этот файл и загоняем данные в таблицу значений (ТЗ).
2) Передаем полученную ТЗ как параметр запроса и создаем на основе нее временную таблицу (ВТ).
3) Используем полученную ВТ для дальнейших манипуляций с запросами (через 2-ой пакет запросов).
Для удобства я доработал Консоль запросов (для управляемых форм), чтобы она выполняла первые 2 пункта на автомате, читая файл и дописывая запрос до нужного нам вида. Первая строка таблицы используется как заголовки(Она обязательно должна быть!). Нам останется лишь в конструкторе запросов добавить второй пакет и в нем уже получить нужные нам выборки. В параметрах Вы можете назначить типы данных. Так же для функционала добавил исполняемый код для строк выборки. Все параметры и код сохраняются в файл вместе с запросом.
Обработку прилагаю, можете посмотреть, что да как сделано, и использовать вместо обычной консоли запросов. Или не использовать. Если обработка окажется полезной, доработаю её под другие типы файлов(csv например).
Чтобы добавить несколько таблиц, надо переименовать параметр с Таб например не Таб2 в параметрах и в самом запросе в первом пакете. так же переименовать временную таблицу, тогда после прочтения другого файла, будет добавлен новый пакет запросов и новый параметр.
Поработал с обработкой и допилил её до вполне юзабельного на мой взгляд вида:
Читайте также: