Новости экономики и финансов. Курсы валют, ситуация на биржах, акции, котировки, аналитика: 💫 💫 💫 💫 читайте на сайте

1C Запрос Итоги по Разным Группировкам • Выбор когда

Если у группировки действуют оба параметра Расположение группировок и Расположение итогов , то результат их действия объединяется через ИЛИ.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
х После нажатия на кнопку у тебя должна зполниться ТЗ столбцами Дата и ДатаВыполнения Потом создаешь для этой ТЗ процедуру при выводе строки вида Код 1C v 8. 1С скд количество записей в группировке Обращайтесь в форму связи

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

Для получения подчиненных элементов иерархического справочника в языке запросов предусмотрена конструкция В ИЕРАРХИИ :

В данном примере будут получены все записи справочника Номенклатура , находящиеся в группе &Группа , включая ее саму, ее подчиненные группы и элементы, принадлежащие подчиненным группам.

Если же нас интересуют только элементы и группы, находящиеся непосредственно в заданной группе, то такие элементы мы можем получить, установив условие на поле Родитель :

Такой запрос выберет группы и элементы, находящиеся в подчинении группы со ссылкой &Группа .

Green FiLin s blog: Второй параметр в методе Выбрать. Группировки.

Вывод иерархического справочника в отчет

Для вывода иерархического справочника в отчет с сохранением иерархии необходимо пользоваться запросом аналогичным следующему:

Данный запрос выбирает все записи из справочника и производит упорядочивание по иерархии. Результат будет упорядочен по наименованию, с учетом иерархии.

Для того, чтобы группы справочника размещались выше элементов необходимо в данном запросе заменить предложение УПОРЯДОЧИТЬ ПО на следующее:

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

Возможна также замена предложения УПОРЯДОЧИТЬ ПО на предложение АВТОУПОРЯДОЧИВАНИЕ . В этом случае результат будет упорядочен в соответствии с настройками справочника, т.е. если в справочнике указано, что группы должны располагаться выше элементов, то они будут расположены выше.

Получить иерархическую структуру справочника также возможно и при помощи итогов:

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

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
Впервые в истории планеты Земля все люди во всех странах задались единой целью заработать столько денег, чтобы уподобиться героям рекламы. Вложенные таблицы в языке запросов 1С | Обращайтесь в форму связи

Вложенные таблицы в языке запросов 1С.

В этой статье мы разберем такую тему, как вложенные таблицы в языке запросов 1С.

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

В своей учебной базе я запущу консоль запросов, открою конструктор запросов и выберу таблицу «Оказание Услуг».

Какую часть дохода тратите на еду?
До 50%Больше 50%

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

Обращаю Ваше внимание, что табличная часть, по сути, идет как отдельное поле, которое называется «Услуги» и тип которого будет «РезультатЗапроса». Научимся использовать вложенную таблицу в запросе.

Оставим три поля вложенной таблицы и добавим некоторые поля из шапки документа.

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

Как видите, в запросе после поля «Услуги» идет точка, а за ней в скобках перечислены выбранные поля.

На рисунке мы видим, что все выбранные поля табличной части документа перечислена через запятую в поле «Услуги». Не во всех консолях запросов бывает такое отображение как на рисунке выше, иногда может просто идти надпись «ТаблицаЗначений«.

Ещё интересный момент, у вложенной таблицы можно вместо полей поставить звездочку, тогда выйдут все поля табличной части. Это нельзя сделать в конструкторе, только вручную в запросе. Запрос приобретет следующий вид:

Единственно, что эта звездочка у нас не сохранится, если открыть конструктор запроса.

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

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

Ниже приведу небольшой пример кода, в котором осуществляется работа с вложенной таблицей:

Первым делом мы получили линейную выборку, и обходим эту выборку в цикле, в котором создаем верхнюю строку дерева значений (оно на форме), и в неё записываем ссылку на наш документ.

А дальше самое интересное, можете даже посмотреть это потом в отладчике самостоятельно, мы обращаемся к полю выборки Товары, и записываем для удобства это поле в отдельную переменную ТаблТовары. Данная переменная имеет тип «РезультатЗапроса». И можно спокойно получить выборку этого результата. Что мы и делаем. Осталось обойти эту выборку с помощью функции следующий и цикла пока.

Горящие товары с бесплатной доставкой
 «AliExpress Россия» работает отдельно от глобального «AliExpress» принадлежащего Alibaba. Он не зависит от мировых банковских систем и не попал под санкционный список со стороны США и Великобритании. Из Китая соответственно тоже можно заказывать ничего не опасаясь.

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

Вы ответите на них сами, когда изучите мой курс «Запросы в 1С для начинающих». Где эти и многие другие вопросы рассматриваются более подробно. Вся информация дается в простой и доступной форме и понятна даже тем, кто особо не знаком с программированием в 1С.

Примеры запросов для работы с иерархическими справочниками. Категория: 1С: Предприятие • Язык запросов

При этом не важно в какой части запроса вы используете реквизит, полученный через точку от поля составного типа — в списке возвращаемых полей, в условии и т.

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

Параметры виртуальных таблиц

В данном случае оперирование идет с полями таблиц, например ресурсами, измерениями, реквизитами. В этих условиях обращение идет без точки (контекст этого не требует).

ВЫБРАТЬ * ИЗ РегистрСведений.КурсыВалют.СрезПоследних(, Валюта.Код = «RUR»)

Стоит отметить, что обычно используется ограничение над измерениями, так как иначе условие отнесется к выборке для получения, а не на сам результат (на ресурсы ограничения следует наложить в операторе ГДЕ, чтобы получить ожидаемый результат).

Накладывание условия в запросе на измерения, если нет обращения через точку (как в примере выше), ускоряет выборку: на больших таблицах, это будет визуально заметно; на небольших можно использовать как удобно.

Хрусталева Е. Ю. Язык запросов 1С-Предприятия 8 (2013) — Стр 16

  • Проиндексировать измерение «Номенклатура»
  • Поставить измерение «Номенклатура» первым в списке измерений. Будьте внимательны при использовании этого метода. В конфигурации могут присутствовать другие запросы, которые могут замедлиться в результате этой перестановки.

ИМЕЮЩИЕ

Для наложения отбора для результата «группировочных» функции

ВЫБРАТЬ
Контрагенты.ИНН,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагенты.Ссылка) КАК Ссылка
ИЗ
Справочник.Контрагенты КАК Контрагенты

ИМЕЮЩИЕ
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Контрагенты.Ссылка) > 1 И
Контрагенты.ИНН «»

В данную выборку попадут дубли ИНН, когда оно вообще заполнено.

В конструкторе запроса также находится на вкладке условия

В этой конструкции также возможно использование «группировочных» операторов И,ИЛИ, но сравнивать можно с константами запроса, с функцией или значением, входящим в группировку (другие реквизиты справочника в данном примере не будут доступны для сравнения -> тогда следует использовать ГДЕ).

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

Краткое содержание:

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

Основные причины неоптимальной работы запросов, диагностируемые на уровне кода конфигурации и структуры метаданных:

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

ru db v837doc bookmark dev TI000000582 Теперь для расчета, продублируем поле Заказать , с различными значениями Рассчитывать по , используя следующие выражения, обратите внимание, что в каждом выше стоящем уровне используются значения уровней ниже стоящих группировок.

Мнение эксперта
1С:Эксперт по технологическим вопросам
Задавайте мне вопросы, и я помогу разобраться!
В отдельной позицици все реквизиты выводятся в отдельной колонке, но колонка в отличие от значения Вместе одна для всех группировок. Использование подзапросов в условии соединения Обращайтесь в форму связи

Трюк №3. Шапка-невидимка

При разработке схемы в предопределённом макете оформления добавьте макет группировки, с определением по имени группировки «Невидимка» так, как показано на скриншоте. Обратите внимание, что поле «Область» должно остаться пустым!

А затем задайте для группировки «Субконто2» имя «Невидимка»:

И вуаля. шапка группировки «Субконто2» исчезает, а отчёт становится вот таким:

Спросите, почему макет оформления задаётся через имя, а не через указание конкретного поля группировки? Просто так получается более универсальное решение и впоследствии это имя группировки можно задать в вариантах отчёта на любой группировке, а вот менять предопределённый макет в вариантах уже не получится.

Да, есть ещё один ньюанс этого трюка: учитывайте, что «шапка-невидимка» накрывает не только эту группировку, но и все нижестоящие! Т.е. если вы назначите имя «Невидимка» группировке «Субконто1», то в шапке не будет видно ни «Субконто1», ни «Субконто2»!

Рекомендации

Трюк №2. Отбор на группировках.

Пример.
Цель примера: отобразить ОСВ, в которой для взаиморасчетных счетов (60,62,76) показать расшифровку по контрагентам, а для затратных (20,23,25,26) — по статьям затрат.

Сама СКД реализована в виде набора данных, где используется запрос к виртуальной таблице остатков и оборотов регистра бухгалтерии «Хозрасчетный».
Размещаем вложенные группировки «Организация» и «Счет». В группировке «Счет» параллельно размещаем 2 группировки «Субконто1» и «Субконто2», для которых задаем соответствующие отборы.
Иллюстрацию настройки привожу в скриншоте:

Если в основных настройках отчёта на закладке «Другие настройки» вы не отключали вывод отборов, то это обязательно нужно будет сделать в «других настройках» наших группировок «Субконто1» и «Субконто2»

💥Принимайте участие в опросе и получайте бесплатную консультацию

Related posts

Добавить комментарий

*