Временные таблицы запроса

Публикация № 1489859 30.07.21

Разработка - Запросы

Решил опубликовать эту маленькую статью для самых начинающих программистов 1С. Особенно для тех, кто часто сталкивается с отладкой запросов, а именно временных таблиц этих запросов. Сложность решений продуктов 1С сейчас заключается в том, что код нас уводит далеко вглубь общих модулей, перебрасывая из одного в другой и формируя в них временные таблицы запроса. Назад мы получаем кучу временных таблиц запроса, которые очень неудобно просматривать в отладчике. Для этого я и предлагаю свое ненавязчивое решение в виде расширения.

Решил опубликовать эту маленькую статью для самых начинающих программистов 1С. Особенно для тех, кто часто сталкивается с отладкой запросов, а именно  временных таблиц этих запросов. Сложность решений продуктов 1С сейчас заключается в том, что код нас уводит далеко вглубь общих модулей, перебрасывая из одного в другой и формируя в них временные таблицы запроса. Назад мы получаем кучу временных таблиц запроса, которые очень неудобно просматривать в отладчике. Для этого я и предлагаю свое ненавязчивое решение в виде расширения.

Для примера я взял конфигурацию ERP 1C. Допустим мне надо при открытии формы сотрудника и получении его кадровых данных и их анализа что-то изменить. Для этого, мне надо увидеть какие временные таблицы использует запрос, что в этих таблицах. Поехали.

Подключаю расширение, надеюсь, как это делать, не стоит рассказывать.

 

 

Для примера я нашел модуль, где формируется запрос с кадровыми данными сотрудника, вот он:

 

 

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

 

 

То есть выделить Выражение Запрос.МенеджерВременныхТаблиц, потом открыть окно выражений, в этом окне опять открыть у значения свойство Таблицы и снова нажать вычислить выражение и только тогда мы получим список временных таблиц нашего запроса и т.д.

Так как мы люди ленивые, то я в своем расширении это упростил и теперь достаточно в окне выражений набрать следующее:

КС_МенеджерВременныхТаблиц.ПолучитьСписокТаблиц(Запрос.МенеджерВременныхТаблиц)

Вот как это выглядит:

 

 

Я всего лишь вывожу то же самое, но в виде списка, но я еще в представление добавил количество строк в каждой таблице, чтобы понимать,  что из этого можно просматривать, а на что не стоит тратить времени, так ка таблиц бывает много. Далее вы можете под себя переделать и выводить что вам угодно и в каком виде угодно.

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

Запрос.МенеджерВременныхТаблиц.Таблицы[2].ПолучитьДанные().Выгрузить()

 

 

Неудобство в том, что надо всегда понимать какой индекс к какой таблице относится.

Для лентяев, в своем расширении достаточно написать эту команду

КС_МенеджерВременныхТаблиц.ПолучитьДанныеТаблицы(Запрос.МенеджерВременныхТаблиц, 2)

 

 

Или, чего нет у 1С, вместо индекса таблицы можем передать имя таблицы

КС_МенеджерВременныхТаблиц.ПолучитьДанныеТаблицы(Запрос.МенеджерВременныхТаблиц, "ВТКадровыеДанныеСотрудников")

Получим то же самое, но зная имя таблицы не надо искать его индекс

 

 

Подведем итог. Расширение использует две функции ПолучитьСписокТаблиц и ПолучитьДанныеТаблицы. Функции можно запускать в любом месте  и получать данные временных таблиц. Это на треть сокращает время, чем при поиске стандартным методом.

Прилагаю скрин самих функций, надеюсь Вам не составит труда это быстро сделать. Сам общий модуль Серверный

 

 

Проверено на платформе  8.3.18.1289.

Всем спасибо, надеюсь, начинающим это поможет!

Скачать файлы

Наименование Файл Версия Размер
Временные таблицы запроса

.cfe 5,70Kb
36
.cfe 5,70Kb 36 Скачать бесплатно

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 625 30.07.21 15:46 Сейчас в теме
Пусть начинающие сразу осваивают ИР или УИ
JohnyDeath; tormozit; Lok`Tar; Altez; +4 Ответить
2. TigerAdmin 02.08.21 09:39 Сейчас в теме
Использую просто вот так
Запрос.МенеджерВременныхТаблиц.Таблицы.Найти("ВТДанныеПоИндексации").ПолучитьДанные().Выгрузить()
3. Восьмой 81 04.01.22 22:54 Сейчас в теме
Спасибо коллега! ИР или УИ не всегда можно прикрутить к сломанной конфигурации, так что в арсенале такой лайфхак будет полезен.
Оставьте свое сообщение

См. также

Как собрать отладчиком отдельные части запроса в один

Запросы Платформа 1С v8.3 Запросы Россия Бесплатно (free)

Подробное описание функционала загрузки данных запроса из отладчика в консоли "Анализатор сложных запросов".

21.03.2023    2702    manuel    2    

13

Установка необязательного параметра запроса

Запросы Платформа 1С v8.3 Запросы Платформа 1C v8.2 Конфигурации 1cv8 Бесплатно (free)

Как установить необязательный параметр запроса без изменения его текста.

10.02.2023    2016    Serg2000mr    18    

6

Обработка результатов запроса произвольными вычисляемыми полями. Обзор некоторых новых функций СКД

Запросы СКД Платформа 1С v8.3 Запросы Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

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

07.02.2023    3273    quazare    7    

35

Идентификатор объекта в запросе. Вы этого хотели?

Запросы Механизмы платформы 1С Платформа 1С v8.3 Запросы Бесплатно (free)

В платформе 8.3.22 появилась возможность получать идентификатор в запросе. Лично я ждал этого давно, но по итогу ждал большего. Что не так?

12.01.2023    13089    dsdred    17    

68

Избавиться от скана таблицы в плане запроса

HighLoad оптимизация Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

Для запросов, содержащих "LIKE %СтрокаПоиска%". Справедливо для MS SQL и Postgres.

20.12.2022    3082    vasilev2015    31    

25

Практическая шпаргалка по новым возможностям языка запросов 1С

Механизмы платформы 1С Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

В предлагаемой статье решил привести примеры применения новых возможностей языка запросов 1С, начиная с версии платформы 8.3.20.

21.11.2022    16384    quazare    34    

113

Особенность задания периода в запросе в СКД

СКД Запросы Платформа 1С v8.3 Запросы Система компоновки данных 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Не используйте предопределённые названия переменных НачалоПериода, КонецПериода в текстах запросов в СКД. Остальное можно не читать.

11.11.2022    1992    slicem    10    

5

Новые возможности языка запросов в платформе 8.3.20

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

С платформы 8.3.20 анонсировали ряд изменений в языке запросов, с которыми интересно было повозиться на практике, что и было проделано. Результатом этих изысканий решил поделиться с вами.

27.09.2022    10673    zeltyr    17    

75

Партицированная дисциплина программиста в 1С

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 Бесплатно (free)

Почему при росте объемов базы 1С все становится медленней, даже если все индексы правильно сделаны? В статье на простом примере с регистром сведений показана причина и как этого избежать. Кто виноват больше, 1С или MS SQL решать Вам :)

20.09.2022    2030    1CUnlimited    2    

7

Делаем свой интервальный регистр в ЗУП

Механизмы типовых конфигураций Запросы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Бесплатно (free)

В статье, на примере реальной практической задачи попробуем снова погрузиться в одну из самых совершенных типовых конфигураций. Будем использовать механику интервальных регистров, правильно писать данные в такие регистры и правильно читать их.

09.09.2022    2485    vazelin    4    

30

Ускорим проведение в 1С:Управление холдингом

HighLoad оптимизация Запросы Платформа 1С v8.3 1С:Управление холдингом Бесплатно (free)

В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.

10.08.2022    5335    sapervodichka    64    

74

Порядковый номер в запросе. Нумерация строк в системе 1С

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

02.08.2022    3917    Koder_Line    11    

7

Обход по группировкам в запросе, соединение таблиц, параметры в запросе, выгрузка прайс-листа в Excel, PDF, Docx, TXT

Запросы Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В помощь начинающим программистам. Использую обработку из предыдущей моей публикации для разработки выгрузки Прайс-листа в Excel, PDF, Docx, TXT. Рассмотрю, как работает обход результата запроса ПоГруппировкам (релиз платформы 1С:Предприятие 8.3 (8.3.20.1674), самописная конфигурация).

18.07.2022    4656    Pproksima    2    

8

Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В данной статье хотим рассказать об одном нашем непростом расследовании, в котором удалось собрать сразу несколько проблем на разных уровнях инфраструктуры заказчика и изначальной методологии ведения учета. Само расследование в какой-то момент стало напоминать детективную историю, с роялями в кустах, ошибками платформы, странным поведением пользователей и магическим поведением хорошо знакомых механизмов. Но мы реалисты, поэтому все проблемы были выявлены и устранены ;)

11.07.2022    5767    it-expertise    27    

57

Кратность в Юанях (CNY) 10 и 1

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Обратите внимание на обмены данными с Юанями. Кратность там меняется между 10 и 1, в зависимости от значения курса > 10 или < 10. Т.е. НЕ ВСЕГДА равна 1. А многие разработчики (в том числе и я) грешат, ставя Кратность = 1 по умолчанию в обменах и выгрузках. P.S. Идём на Восток, становимся хитрее.

10.06.2022    9489    sapervodichka    13    

37

Генератор текста запроса

Инструментарий разработчика Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Простой инструмент для быстрой подготовки данных для демонстрации.

20.05.2022    5429    159    echo77    4    

64

Экспертный кейс. Расследование фатального замедления времени расчета себестоимости в 1С:ERP 2

HighLoad оптимизация Механизмы типовых конфигураций Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

При выполнении нагрузочного тестирования информационной системы на базе 1С:ERP для одного из клиентов с целью оценки возможности миграции системы на PostgreSQL и Astra Linux мы столкнулись с неприемлемым увеличением времени выполнения расчета себестоимости. Строго говоря, сценарий тестирования закрытия месяца не был выполнен вообще – он не укладывался в таймаут выполнения теста, 24 часа. По прошествии 18 часов всё ещё шло выполнение операции «Распределение затрат и расчет себестоимости». Более 16 часов выполнялся подэтап “Расчет партий и себестоимости. Этап. Расчет себестоимости: РассчитатьСтоимость”. Всё это время выполнялся запрос, который в текущей инфраструктуре клиента (СУБД MS SQL Server) выполняется чуть более 3 минут на аналогичных данных.

25.03.2022    5895    it-expertise    92    

68

Экспертный кейс. Расследование деградации производительности системы. Проведение документа “Поступление товаров и услуг” (1С:ERP 2)

Механизмы платформы 1С Запросы HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В ходе проведения нагрузочного тестирования одним из наших клиентов была выявлена сильная деградация производительности системы в целом и, в частности, выполнения ключевой операции “Проведение документа поступление товаров и услуг” в течение выполнения теста. Согласно данным подсистемы БСП “Оценка производительности”, время выполнения ключевой операции “Проведение документа поступление товаров и услуг” возрастало в процессе тестирования с 15-20 секунд в начале тестирования до 150-200 секунд в его финале.

02.03.2022    4304    it-expertise    50    

31

Задача по 1С - в базе данных есть таблица движения товара, пишем запрос для определения среднего значения остатка товара

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

В базе данных есть таблица движения товара, плюс означает, что товар пришел на склад, минус означает, что товар выбыл со склада: Необходимо написать запрос на 1С или SQL (по желанию), который вернет среднее значение остатка товара за январь 2021 (с 1 по 31). В результате должно получиться ProdID 1 = 1.58 ProdID 2 = 0.77

01.03.2022    2338    Greamdevil    5    

4

Генерация простых чисел в запросе (SQL) и сравнение производительности

Запросы Платформа 1С v8.3 Бесплатно (free)

Пишем запрос по генерацию последовательности простых чисел на языке запросов 1С и SQL.

09.01.2022    1558    AtamanovYS    2    

5

Заметки по SQL 4: Преобразование в запросе строки в дату одним выражением

Запросы Платформа 1С v8.3 Россия Бесплатно (free)

На "Инфостарте" есть несколько статей, описывающих преобразование строки в дату. Описанное в них преобразование осуществляется в несколько запросов и имеет сложные для понимания выражения. В статье описано относительно простое выражение в запросе, преобразующее строку в дату.

10.12.2021    1807    IVC_goal    17    

4

Готовые механизмы 1С: ЗУП, представления

Механизмы типовых конфигураций Запросы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Бесплатно (free)

Здесь будет храниться архив запросов, которые могут помочь разработчику правильно строить отчеты и получать данные в 1С: ЗУП. Статью буду периодически дополнять.

03.11.2021    7771    Margo462    19    

92

Работа с SQL. Шаблон общего модуля

Запросы Платформа 1С v8.3 Бесплатно (free)

Шаблон общего модуля для работы с MS/PG SQL из 1С.

21.10.2021    4474    mrChOP93    3    

67

Как читать чужой код? Часть 3. Разбор и доработка запросов

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Во всех вакансиях есть требование - умение читать чужой код. Но ни на одних курсах специально этому не учат. Чтобы устранить это противоречие, пишу данную статью. Рассмотрю случаи, в которых нам необходимо разбирать чужой код, поймём, чей код мы пытаемся разобрать, зачем и, главное, как. В статье описан личный опыт длиною в 18 лет начиная с версии платформы 7.7. Статья будет большой, набираемся терпения). Статья содержит в себе описание сценариев разбора кода, т.е. набор шагов. В статье не получится показать это на практике. Для этого планирую сделать онлайн или оффлайн курс, где на примерах будет показан разбор незнакомого кода. Статья разбита на 4 публикации для удобства изучения.

20.09.2021    5166    biimmap    33    

39

Еще один способ вычисления медианы запросом 1С

Запросы Платформа 1С v8.3 Платформа 1C v8.2 Бесплатно (free)

Вниманию сообщества предлагается еще один способ расчета медианы числового ряда одним пакетным запросом 1С.

09.08.2021    2479    direktorSan    0    

8

Пример использования объекта "Схема запроса" в реальном проекте

Запросы Платформа 1С v8.3 Бесплатно (free)

Разберём решение задачи реального проекта: контекст, логика решения, само решение. Рассмотрим возможности объекта СхемаЗапроса.

03.06.2021    5832    maraton1185    32    

29

Последний раз про срез последних (на каждую дату в запросе)

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

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

15.02.2021    37118    randomus    47    

155

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С)

Запросы Платформа 1С v8.3 Бесплатно (free)

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020    9004    Eugen-S    25    

71

Имитация sql выражения LIMIT в запросе 1С

Запросы Платформа 1С v8.3 Бесплатно (free)

Всем известно, что в SQL синтаксисе есть выражение LIMIT. Очень полезное выражение для постраничной навигации. Но его нет в запросах 1С. Кто-то может сказать, что есть ПЕРВЫЕ, но ПЕРВЫЕ не подходит для постраничной навигации. Рассмотрим в статье, как можно имитировать LIMIT в запросах 1С.

08.12.2020    3551    opx    51    

20

Итоги по объединенной совокупности группировок в запросе

Запросы Платформа 1С v8.3 Бесплатно (free)

Способ формирования итогов в запросе по совокупности группировок, объединенных в единый набор, при помощи функции АВТОНОМЕРЗАПИСИ.

18.11.2020    12536    antonivan    21    

100

Кадровые данные сотрудников ЗУП 3.1 в запросе

Запросы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Бесплатно (free)

Получение кадровый данных сотрудников в запросе при помощи функции КадровыйУчет.СоздатьНаДатуВТКадровыеДанныеСотрудников().

26.10.2020    7400    Danila7Zz    4    

7

Улучшенный конструктор запроса тонкого клиента (Infostart Toolkit)

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

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

07.09.2020    9014    Evg-Lylyk    23    

57

Меры центральной тенденции (вычисление среднего) в запросе 1С

Запросы Платформа 1С v8.3 Бесплатно (free)

Меры центральной тенденции (вычисление среднего) в запросе 1С: * Среднее арифметическое * Среднее гармоническое * Среднее квадратическое * Среднее усеченное * Среднее винсоризованное * Медиана * Мода

31.08.2020    2404    parcan    6    

5