Запрос по произвольному Excel-файлу



Запрос по произвольному  Excel-файлу

Запрос по произвольному Excel файлу. Можно комбинировать данные базы с данными файла путем создания вложенных запросов. Можно сохранять любые данные, например, из отладчика данные какой-нибудь таблицы (Вывести список —> Сохранить в Excel —> полученный файл обработать данной обработкой). Или, может ещё кто-нибудь придумает этому какое-нибудь применение.

40 Comments

  1. aexeel

    «Exel», говоришь… Ну-ну :).

    Reply
  2. matros71

    хлс лутцце 🙂

    Reply
  3. gusinea

    (2) Лутцце чего?

    Reply
  4. hame1e00n

    Блин, а можно по-русски составить описание? Знаки препинания для кого придумали? Ни фига ж не понятно

    Reply
  5. gusinea

    (4)А что конкретно не понятно? Выбираем файл, затем если надо изменить тип колонок или убрать часть колонок затем пишем запросс к исходной таблице на языке запросов 1С (тот который выводится по умолчанию просто копирует таблицу в результат, а запрос, который изображен на первом скриншоте выводит итоги по полю размер с отбором по условию), далее нажимаем кнопку «Выполнить запрос» и всё

    Reply
  6. gusinea

    Обращение будет идти к виртуальной таблице, которая называется «Таблица» структура полей такая же как как в табличном поле: «Исходная таблица»

    Reply
  7. volod

    Удобно по быстрому отбирать соединением по базе. (+)

    Reply
  8. V1V

    Необходимо как минимум указывать начальную строку для импорта из файла, а лучше диапазон строк. Иначе в запросе участвует и шапка таблицы. Еще неплохо бы удалять сразу несколько строк из исходной таблицы, а то по одной строке как-то не очень удобно.

    Reply
  9. V1V

    для чего при изменении набора колонок происходит считывание файла заново?

    Reply
  10. Alltruist

    Судя по всему функцинал по загрузке их xls файла взят у Шепота теней ( http://infostart.ru/projects/5209/ ) . Сужу по характерному косяку в коде. N-ое количество раз встречается конструкция arr.Выгрузить():

    ИндикаторВсего = arr.Выгрузить().Получить(0).Количество();

    КоличествоКолонок= arr.Выгрузить().количество();

    …….

    Для н=0 по КоличествоКолонок-1 Цикл

    ТабличноеПоле1.ЗагрузитьКолонку(arr.Выгрузить().Получить(н), ТабличноеПоле1.Колонки[н].Имя);

    КонецЦикла;

    …….

    и т.д.

    Т.е. многократно идет выгрузка одних и тех же данных в массив. Зачем!?

    Reply
  11. gusinea

    (9)чтобы перезначить типы для колонок таблицы

    Reply
  12. gusinea

    (10) Да скорее всего взято именно там не указал потому что не помнил где скачал, а насчет многократной выгрузки не заморачивался потому как еще не попадался файл, который сильно бы «тормозил процесс». я думаю такая процедура как выгрузка колонки в принципе не должна тормозить, хотя замечание вполне справедливое

    Reply
  13. gusinea

    (8) Диапозон считываемых строк думаю не нужен а вот диапазон удаляемых сделаю, он же решит и первую проблему

    Reply
  14. gusinea

    (8) Сделал Ctrl или shift -ом выделяешь нужный строки и удаляешь

    Reply
  15. Alltruist

    (12) По команде arr.Выгрузить() выгружаются ЦЕЛИКОМ все данные в двумерный массив, а не только колонка.

    Reply
  16. gusinea

    (15) я понял — поменяю как будет время

    Reply
  17. elizarovs

    Конструктор запроса (в форме) видит таблицу, как объект, но не видит ее поля даже после их переназначения, хотя руками вбивать поля получается…

    Reply
  18. gusinea

    (17) Да ладно а у меня видит… Опиши в конструкторе виртуальную таблицу

    Reply
  19. Altair777

    Забавно, что автор так и не понял коммент 1.

    У Вас есть Excel? Вы им пользуетесь? А на заголовок окна внимание не обращали? 🙂

    Reply
  20. gusinea

    (19) Блин … Что не так с заголовком????

    Reply
  21. elizarovs

    (20) У всех Excel стоит, Exel пока не встречал.

    (18) В смысле в конфигураторе? На форме описание не открывается, не видит, только новую создает.

    Reply
  22. elizarovs

    (18) Всё понял, работает.

    Reply
  23. gusinea

    ))))

    (21) нет на форме, сотри запрос который по умолчанию войди конструктор , там есть кнопочка «Создать описание временной таблицы» имя должно быть таблица, а поля — поля из табличного поля «Исходная таблица»

    Reply
  24. Altair777

    (20) Ну наконец-то Вы догадались как правильно пишется слово «Excel» 🙂

    P.S. Я имел в виду заголовок «Microsoft Ex(!)c(!)el»

    Reply
  25. gusinea

    Я не сам мне подсказали ))).

    Reply
  26. larisab

    (0) Поразили скриншоты. Живая база с миллиардными оборотами, с названиями и ИНН-ами. Нельзя же так палить.

    Для этого есть демоверсии стандартных конф. Поменяйте скрины.

    Reply
  27. gusinea

    (26) это не обороты, а числовое представление ИНН, а название контрагента и ИНН ничего не палят, а скорее создают доп. рекламу

    Reply
  28. Altair777

    (27) Надо с них денег взять 😉

    Reply
  29. gusinea

    Точно

    Reply
  30. rasswet

    да, с первой строкой можно доделать.

    Reply
  31. larisab

    (27) На первом скрине не обороты, а что тогда?

    Reply
  32. gusinea

    (31)я же говорю это ИНН переконвертированный в число

    Reply
  33. larisab

    (32) А что тогда на третьем?

    Reply
  34. gusinea

    (33)Издеваешься?

    Reply
  35. rasswet

    не врублюсь как сделать, чтобы руками все колонки не добавлять вручную в описание таблицы.

    чтобы в «создать описание временной таблицы» сами появились мои эти..кол1 кол2 и т.п

    Reply
  36. cool.vlad4

    некошерно

    Reply
  37. gusinea

    (35) Выбрать * из …

    Reply
  38. gusinea

    (36) не нравится — не ешь

    Reply
  39. rasswet

    (37) да колонки то выбираются через * все. а мне нужно например кол1, кол,5, кол7 и кол8 и еще 15ть из 40ка. кроме как руками их прописывать разве нельзя вместо * сразу проставить все найденные колонки, а я удалю лишние и оставлю тогда те, которые мне нужны.

    Reply
  40. cool.vlad4

    (39) Ну и в чем проблема…указывай строку Excel, где наименование колонок, либо формируй их сам, затем формируй запрос, вместо выбрать *

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *