Top.Mail.Ru
Меню
Каталог Программы 1С Опыт и отзывы Услуги Компания Статьи Контакты

Запросы 1С

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft  10.11.2024 Актуальность проверена: 10.11.2024   7 мин. Прочитать позже
Подобрать перенос данных 1С

Специализируемся на переносах данных 1С с 2015г.

Подобрать перенос данных 1С >>

Интеграция 1С с маркетплейсами

Специализируемся на интеграциях 1С с маркетплейсами с 2021г.

Изучить продукты >>

Содержание

Механизм запросов

Воспользовавшись прикладными разработками технологической платформы «1С: Предприятия», пользователь получает обобщенную информацию, которая хранится в ИБ. Добыть её в недрах с огромным количеством гигабайт можно с помощью разных способов. Одним из них является механизм запросов. Однако для его эффективного использования надо, как минимум, знать его устройство. Тогда можно легко подготовить своеобразную «выжимку» из необъятного моря информации.

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

Как происходит доступ к данным

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

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

Схема группировки данных в таблицах. Все их значения взаимосвязаны.

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

Каким образом реализуются алгоритмы разработчика

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

Базируется язык «1С» на SQL. Кроме базовых возможностей, у него имеются свои расширения со специфическими задачами в финансово-экономической сфере. Они помогают по-максимуму сократить временные затраты на работу.

Cинтаксис запросов

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

В каком случае использовать кавычки и точку «.»

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

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

Работа с таблицами

В системе предусмотрено обращение к частям таблицы, являющимся вложениями в общий документ. Объектные (ссылочные) таблицы включают стандартное поле Ссылка, а также вложенные табличные части.

К примеру, открыв документ «Реализация товаров», мы видим в нем вложение «Товары с составом отгружаемых товаров». К этой табличной части можно относиться как к независимой полноценной таблице.

Пример кода работы с таблицами - документ Реализация товаров, мы видим в нем вложение Товары с составом отгружаемых товаров.

Но также мы можем считать заголовочную запись документа, в которой значением поля Товары будут все записи вложенной таблицы, подчиненные этому объекту (документу):

Пример кода - запросы в 1С

Автоупорядочивание

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

Пример запроса в 1С - Задаем режим автоматического упорядочивания при выводе информации

Преимущества многомерности и многоуровневости структуры

В «1С:Предприятии» справочники обладают, в большинстве своем, иерархической структурой с иерархией групп и элементов. Платформа по мере надобности добавляет в структуру основной таблицы справочника поля «Родитель» и «ЭтоГруппа». Как, например, в справочнике «Товары».

В случае с подчиненной структурой (Справочник «Расчетные Счета» находится в подчинении у «Поставщики») добавится поле «Владелец» со ссылкой. Наглядно видно, какие элементы справочника - владельца относятся к элементам подчиненного документа. Например, в цепочке расчетные счета — поставщики.

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

Пример запросов в 1С

В чем преимущество виртуальных таблиц

Во время выполнения запроса происходит формирование виртуальных таблиц. Их основой являются реальные таблицы ИБ. К примеру, есть таблица регистра «Цены». На ее базе сформируется «Регистр Сведений.Цены.Срез последних». В полученной виртуальной таблице будет представлена исчерпывающая информация по ценам за определенный период времени. Благодаря этому у пользователя отпадает необходимость формулировать более сложный запрос.

Пример кода в 1С. Формирование виртуальных таблиц при выполнении запросов в 1С

Использование в 1С стандартных операций

База для языка запросов «1С: Предприятия» — стандартный SQL:

  • UNION — для вертикального объединения набора данных;
  • JOIN — для соединения связанных столбцов из разных таблиц, когда в результате создаются строки с расширенными данными.

Каждый из этих операторов решает свои задачи по выводу информации из базы данных.

Пример стандартных запросов 1С. Пример стандартных запросов 1С.

Значение временных таблиц в конфигурации системы 1С

В запросе 1С имеются особые объекты СУБД — временные таблицы. Они хранятся в оперативной памяти или на жестком диске (при большом размере).

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

После создания временных таблиц в конфигурации системы 1С их можно удалить командой Truncate table, или «Уничтожить», а также методом МВТ.Закрыть.

Методика формирования пакетных запросов

Пакетные запросы служат удобным дополнением к временным таблицам, расширяющим функционал. Собственно говоря, это последовательность, в которой несколько запросов разделяются друг от друга символом «точка с запятой» («;»). Они связаны между собой, имеют одну область имен виртуальных таблиц. Хотя связанность в данном случае — не обязательный факт.

Итог формирования пакета:

  • Последовательное выполнение каждого запроса.
  • В результате разработчик принимает весь массив исполненных запросов (используется метод ВыполнитьПакет()) объекта запрос. Либо специалист берет только результат последнего запроса (по команде ВыполнитьЗапрос()).

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

Пакетные запросы - пример запросов 1С

В чем помогает Консоль запросов

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

Внешняя обработка «Консоль запросов» запускается в любом прикладном решении.

В Консоли запросов 1С: Предприятие есть 3 секции: Параметры, Текст запроса, Результат запроса. Набор текста возможен двумя способами: вручную и с помощью Конструктора запроса на платформе. Он вызывается правой кнопкой мыши из контекстного меню в области «Текст запроса».

ВАЖНЫЙ МОМЕНТ: Консоль запросов 1С: Предприятия обладает неоспоримым преимуществом. Выполняться может только выделенная часть запроса, которая появится в области «Результат запроса». Вложенный подзапрос либо временная таблица — словом, то, что выделит разработчик.

Консоль запросов 1С 8.3 может дорабатываться в конфигураторе: изменяться расположение секций, размещаться список запросов в виде дерева и т. д.

Для чего служит Конструктор запроса

Полезный и популярный инструмент, ускоряющий разработку — конструктор запроса. Даже если у разработчика отсутствуют необходимые знания и навыки программирования, он сумеет с помощью визуальных средств составить текст, довольно сложный код. Для этого достаточно использовать кнопки «Далее», «Назад» при перемещении по закладкам в Конструкторе. Нажимать на нужные строчки и выстраивать текст запроса. Инструмент платформы в автоматическом режиме сгенерирует правильную синтаксическую конструкцию.

Из Конструктора удобно копировать запрос в другую обработку, в Консоль запросов либо Консоль компоновки, чтобы сохранить на флэшку.

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

MoscowSoft логотип

Нужна помощь?

Если не получается разобраться с вопросом самостоятельно, обратитесь к нам. Получите бесплатную консультацию эксперта!

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft

Возврат к списку