Запрос по произвольному 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 не будет опубликован. Обязательные поля помечены *