Вывод временных таблиц запроса в файлы Excel











Расширение конфигурации, позволяющее вывести все временные таблицы запроса в файлы Excel

Предисловие

В современных типовых конфигурациях в запросах очень активно используются временные таблицы. Зачастую их количество измеряется десятками, также временные таблицы могут собираться из разных модулей, что затрудняет формирование текста запроса для отладки через консоль запросов. К счастью современные версии платформы 1С позволяют просмотреть временные таблицы в отладчике, но при большом количестве временных таблиц такой просмотр неудобен. Предлагаемое мной расширение поможет облегчить отладку и анализ временных таблиц путем сохранения их содержимого на диск в виде файлов Excel.

Установка

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

Программный интерфейс модуля Отладка

Вы можете изменить имена каталога/файла на собственные, либо задавать их каждый раз при вызове функций. Если база клиент-серверная, каталог должен быть доступен для записи пользователю, под которым запущен сервер 1С Предприятия.

Использование отладочных функций

Устанавливаем точку останова в нужном нам месте, выделяем Запрос или МенеджерВременныхТаблиц

Нажимаем Shift+F9, добавляем Отладка.СохранитьВТ(),

либо, если нужно сохранить файлы в каталог отличный от указанного по умолчанию в функции СохранитьВТ, указываем его во втором параметре.

Нажимаем «Рассчитать», временные таблицы сохраняются на диск в виде файлов Excel, в графе Значение выводится результат сохранения

Открываем каталог и видим что все временные таблицы запроса сохранены в виде файлов Excel. Имя файла формируется как [НомерТаблицыВМенеджереВременныхТаблиц]_[ИмяВременнойТаблицы]. Если временная таблица не содержит данных, к имени файла добавляется _Пустая, благодаря этому не открывая файл можно увидеть в каких таблицах есть данные, а в каких нет.

Теперь можно открыть любой файл, в нем уже будут подключены фильтры и ширина колонок подогнана под содержимое.

У запроса нет менеджера временных таблиц

Даже если у запроса не установлен менеджер временных таблиц, нет необходимости модифицировать конфигурацию чтобы посмотреть содержимое временных таблиц в виде файлов Excel. Устанавливаем точку останова на строке выполнения запроса:

Нажимаем Shift+F9 и набираем

У запроса подключится менеджер временных таблиц и после выполнения запроса мы сможем сохранить временные таблицы на диск.

9 Comments

  1. manuel

    Абсолютно бесполезное решение. Ну выгрузите вы таблицы в ексель, а дальше то что с ними делать, просто разглядывать? Вот пример решения, которое по нажатию одной кнопки вытягивает все таблицы менеджера прямо в консоль — https://infostart.ru/public/617990/.

    И естественно текст запроса и все параметры вытягиваются тоже.

    А в консоли вы сможете их не только просматривать. При выполнении любой части запроса, данные этих таблиц будут подтягиваться. И это помимо многого всего другого, что может эта обработка.

    Reply
  2. boln

    По ошибке поставил минус разработке. Как отозвать свой голос, кто знает?

    Reply
  3. boln

    Нашел «выход» — плюсанул другую разработку автора 🙂

    Автор, приношу извинения.

    Reply
  4. klinval

    (2) плюсануть эту же публикацию, тогда минус уйдёт, а плюс не придёт.

    Reply
  5. boln

    (5) Не работает. Раньше так можно было, сейчас не срабатывает.

    Reply
  6. artgen

    Никогда еще не сталкивался с необходимостью выводить все временные таблицы запроса в Excel, но наверное это кому-то обязательно пригодится.

    Reply
  7. klinval

    (6) Я на этой статье 2 раза опробовал (перед первым ответом и сейчас). Добавляете в избранное минусовую статью (надо не просто нажать на плюс, но и выбрать папку в избранном) и она не появляется в избранном, а минус уходит

    Reply
  8. boln

    (8)

    надо не просто нажать на плюс, но и выбрать папку в избранном

    Я этого не сделал. Спасибо, буду знать.

    Reply
  9. LomayaZakat
    ТЗ.ВыбратьСтроку()
    Reply

Leave a Comment

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