Запрос по произвольному Excel-файлу
Запрос по произвольному Excel файлу. Можно комбинировать данные базы с данными файла путем создания вложенных запросов. Можно сохранять любые данные, например, из отладчика данные какой-нибудь таблицы (Вывести список —> Сохранить в Excel —> полученный файл обработать данной обработкой). Или, может ещё кто-нибудь придумает этому какое-нибудь применение.
«Exel», говоришь… Ну-ну :).
хлс лутцце 🙂
(2) Лутцце чего?
Блин, а можно по-русски составить описание? Знаки препинания для кого придумали? Ни фига ж не понятно
(4)А что конкретно не понятно? Выбираем файл, затем если надо изменить тип колонок или убрать часть колонок затем пишем запросс к исходной таблице на языке запросов 1С (тот который выводится по умолчанию просто копирует таблицу в результат, а запрос, который изображен на первом скриншоте выводит итоги по полю размер с отбором по условию), далее нажимаем кнопку «Выполнить запрос» и всё
Обращение будет идти к виртуальной таблице, которая называется «Таблица» структура полей такая же как как в табличном поле: «Исходная таблица»
Удобно по быстрому отбирать соединением по базе. (+)
Необходимо как минимум указывать начальную строку для импорта из файла, а лучше диапазон строк. Иначе в запросе участвует и шапка таблицы. Еще неплохо бы удалять сразу несколько строк из исходной таблицы, а то по одной строке как-то не очень удобно.
для чего при изменении набора колонок происходит считывание файла заново?
Судя по всему функцинал по загрузке их xls файла взят у Шепота теней (http://infostart.ru/projects/5209/ ) . Сужу по характерному косяку в коде. N-ое количество раз встречается конструкция arr.Выгрузить():
ИндикаторВсего = arr.Выгрузить().Получить(0).Количество();
КоличествоКолонок= arr.Выгрузить().количество();
…….
Для н=0 по КоличествоКолонок-1 Цикл
ТабличноеПоле1.ЗагрузитьКолонку(arr.Выгрузить().Получить(н), ТабличноеПоле1.Колонки[н].Имя);
КонецЦикла;
…….
и т.д.
Т.е. многократно идет выгрузка одних и тех же данных в массив. Зачем!?
(9)чтобы перезначить типы для колонок таблицы
(10) Да скорее всего взято именно там не указал потому что не помнил где скачал, а насчет многократной выгрузки не заморачивался потому как еще не попадался файл, который сильно бы «тормозил процесс». я думаю такая процедура как выгрузка колонки в принципе не должна тормозить, хотя замечание вполне справедливое
(8) Диапозон считываемых строк думаю не нужен а вот диапазон удаляемых сделаю, он же решит и первую проблему
(8) Сделал Ctrl или shift -ом выделяешь нужный строки и удаляешь
(12) По команде arr.Выгрузить() выгружаются ЦЕЛИКОМ все данные в двумерный массив, а не только колонка.
(15) я понял — поменяю как будет время
Конструктор запроса (в форме) видит таблицу, как объект, но не видит ее поля даже после их переназначения, хотя руками вбивать поля получается…
(17) Да ладно а у меня видит… Опиши в конструкторе виртуальную таблицу
Забавно, что автор так и не понял коммент 1.
У Вас есть Excel? Вы им пользуетесь? А на заголовок окна внимание не обращали? 🙂
(19) Блин … Что не так с заголовком????
(20) У всех Excel стоит, Exel пока не встречал.
(18) В смысле в конфигураторе? На форме описание не открывается, не видит, только новую создает.
(18) Всё понял, работает.
))))
(21) нет на форме, сотри запрос который по умолчанию войди конструктор , там есть кнопочка «Создать описание временной таблицы» имя должно быть таблица, а поля — поля из табличного поля «Исходная таблица»
(20) Ну наконец-то Вы догадались как правильно пишется слово «Excel» 🙂
P.S. Я имел в виду заголовок «Microsoft Ex(!)c(!)el»
Я не сам мне подсказали ))).
(0) Поразили скриншоты. Живая база с миллиардными оборотами, с названиями и ИНН-ами. Нельзя же так палить.
Для этого есть демоверсии стандартных конф. Поменяйте скрины.
(26) это не обороты, а числовое представление ИНН, а название контрагента и ИНН ничего не палят, а скорее создают доп. рекламу
(27) Надо с них денег взять 😉
Точно
да, с первой строкой можно доделать.
(27) На первом скрине не обороты, а что тогда?
(31)я же говорю это ИНН переконвертированный в число
(32) А что тогда на третьем?
(33)Издеваешься?
не врублюсь как сделать, чтобы руками все колонки не добавлять вручную в описание таблицы.
чтобы в «создать описание временной таблицы» сами появились мои эти..кол1 кол2 и т.п
некошерно
(35) Выбрать * из …
(36) не нравится — не ешь
(37) да колонки то выбираются через * все. а мне нужно например кол1, кол,5, кол7 и кол8 и еще 15ть из 40ка. кроме как руками их прописывать разве нельзя вместо * сразу проставить все найденные колонки, а я удалю лишние и оставлю тогда те, которые мне нужны.
(39) Ну и в чем проблема…указывай строку Excel, где наименование колонок, либо формируй их сам, затем формируй запрос, вместо выбрать *