Меню

1с запрос связь таблиц условие



Эффективные условия запросов

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

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

Поля основного условия в секциях ГДЕ, ПО и виртуальных таблицах должны быть проиндексированы. Основное условие может быть уточнено дополнительным условием, но объединять их следует только по И.

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

Основное условие – это то, что позволяет ограничить объем выборки больше других условий и его составляющие объединены по И.

Дополнительное условие – это то, что объединено с основным условием по И и его составляющие могут быть любой сложности (НЕ, <>, +, -, /, *, функции и т.п.).

Основное условие должно содержать только такие операции, которые позволяют выполнять поиск по индексу:

  • для первого и всех используемых полей индекса, кроме последнего, только = и И;
  • для последнего или единственного используемого поля индекса допустимо использовать =, >, =, 0

ГДЕ
Таблица.Поле1 — 1 > 0 // Основное условие (поиск по индексу невозможен)

7. Если в конфигурации описано несколько ролей с разным ограничением доступа на уровне записей (RLS), то не следует назначать одному пользователю более одной такой роли. Если один пользователь будет включен, например, в две роли с RLS — бухгалтер и кадровик, то при выполнении всех его запросов к их условиям будут добавляться условия обоих RLS с использованием логического ИЛИ. Таким образом, даже если в исходном запросе нет условия ИЛИ, оно появится там после добавления условий RLS. Такой запрос так же может выполняться неоптимально — медленно и с избыточными блокировками.

Источник

Соединение таблиц в запросе

Соединение таблиц в запросе

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

Всего 4 вида соединений

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

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

Условием соединения может быть и простое условие «ИСТИНА», которое соединит таблицы с значительным увеличением количества строк (каждая строка соединится с каждой строкой второй таблицы).

[qu_note note_color=»#f7ebe6″]Такие запросы на больших источниках может вызвать нехватку памяти, либо длительно выполнятся, вплоть до «зависания».[/qu_note]

Различные виды объединений используются для своих своих задач и целей:

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

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

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

В управлении торговлей для решения такой задачи соединение не так уж важно, достаточного было бы обратится к регистру «Продажи», а вот в «Бухгалтерии предприятия» соединение будет более верным решением: ведь мы не знаем заранее какой счет учета используется для продажи, могут быть созданные пользователем субсчета (это даст более короткое решение, но все зависит от ситуации — не обязательно же оно должно быть универсальным).

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

Требование к таким таблицам:

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

Как задать соединение в конструкторе запроса:

Шаг 1: выберите необходимые таблицы, которые возможно соединить

  • Это производится на вкладке таблицы конструктора запроса.
  • Далее можно сразу выбрать нужные поля.

Шаг 2: Переходим на вкладку «Связи»

  • Для простых таблиц, где явно определяются связи, система их объединит самостоятельно
  • В данном случае левое соединение
  • Чтобы получить внутреннее: снимаются оба флажка «Все» — тогда в таблицу попадут только контрагенты у которых есть контактные лица
  • Чтобы получить полное: устанавливаются оба флажка
  • Если требуется соединение по двум условиям добавляется еще одна строка связи.

Вид соединения задается соответствующим словом перед «СОЕДИНЕНИЕ», остальной синтаксис идентичен. Правое не рассматриваем, так как конструктор запроса автоматически поменяет таблицы местами и сделает левое соединение.

Пример текста запроса «Внутреннее соединение»:

Пример левого соединения

Пример «полного соединения»

На что следует обратить внимание:

  • Как уже было сказано на пустые значения при левом или полном соединении.
  • С осторожностью используйте полные соединения и срезы последних из регистров, это может сильно замедлить выборку.
  • При использовании конструктора обращайте внимание на соединяемые таблицы иногда он может подставить в левую таблицу не ожидаемое вами, если это упустить вначале придется затем исправлять руками или через правое (одна секунда внимания сбережет время в дальнейшем).
  • Если вы выберете 2 таблицы, но не укажите связи, то получится неявное полное соединение (таблицы будут через «запятую»). Пример:

Реклама — виновница того, что народ выбрал себе в вожди Гитлера. Реклама призвана убеждать граждан, что ситуация нормальна, когда она катастрофически ненормальна.

— Фредерик Бегбедер

Источник

Соединения в запросах 1С 8.3

  1. Перекрестное соединение таблиц
  2. Виды соединений в запросе
  3. Внутреннее соединение
  4. Левое соединение
  5. Правое соединение
  6. Полное соединение
  7. Два левых соединения в запросе
  8. Левое соединение с условием
  9. Декартово произведение через полное соединение

Перекрестное соединение таблиц

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

Например, в базе есть 2 таблицы: ЛеваяТаблица и ПраваяТаблица. Состав таблиц следующий:

Соединения в запросах Соединения в запросах

В результате выполнения следующего запроса:

Будет получен такой результат:

Соединения в запросах

Каждая запись из левой таблицы была связана с каждой записью из правой таблицы.

Виды соединений в запросе

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

Язык запросов 1С поддерживает следующие виды соединений:

  • Внутреннее соединение
  • Левое внешнее соединение
  • Правое внешнее соединение
  • Полное внешнее соединение

В запросах позволяется не указывать слова внутреннее и внешнее.

Внутреннее соединение

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

Внутреннее соединение

В результат запроса не попала четвертая запись из левой таблицы, потому что для нее не нашлось записи в правой таблице, которая бы удовлетворяла условию ЛеваяТаблица.Код = ПраваяТаблица.Код.

Левое соединение

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

Левое соединение

В четвертой строке в полях ПравоеНаименование и ПравыйКод будет NULL.

Правое соединение

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

Правое соединение

В четвертой строке в полях ЛевоеНаименование и ЛевыйКод будет NULL.

Полное соединение

В результате полного соединения таблиц в выборку попадут все записи из левой таблицы и все записи из правой таблицы. Где условие соединения будет выполнено — записи будут объединены. Где не будет выполнено будет NULL.

Полное соединение

В четвертой строке в полях ЛевоеНаименование и ЛевыйКод будет NULL. В пятой строке в полях ПравоеНаименование и ПравыйКод будет NULL.

Два левых соединения в запросе

Допустим, что есть еще одна таблица со следующим содержимым:

Два левых соединения

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

Два левых соединения

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

Левое соединение с условием

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

Левое соединение с условием

Казалось бы при левом соединении в результат запроса должны были попасть все записи из левой таблицы, но в результате только одна запись. Так происходит, потому что в строках с кодами «000000001», «000000003» и «000000004» в колонке ПравыйКод был получен NULL. После чего было выполнено сравнение значений данной колонки со значением «000000002». Сравнение с NULL всегда возвращает Ложь, поэтому такие записи не попали в результат запроса. На уровне СУБД оптимизатор запроса сразу отлавливает такие моменты и просто преобразует соединение во внутреннее.

Чтобы получить правильный результат нужно условие перенести из предложения ГДЕ в условие соединения:

Источник

1c8.pl.ua

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

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

Существует четыре вида соединений таблиц, которые обрабатывает механизм запросов 1С:Прсдприятия: Внутреннее, Левое внешнее. Правое внешнее, Полное Внешнее (или. проще. Внутреннее, Левое, Правое, Полное).

Внутреннее соединение

[ВНУТРЕННЕЕ] СОЕДИНЕНИЕ означает, что из обеих исходных таблиц – источников данных в результат запроса необходимо включить только те комбинации записей, которые соответствуют указанному условию. Остальные записи в результат не попадают.Ключевое слова ВНУТРЕННЕЕ можно не указывать вообще, оно повышает наглядность и удобочитаемость текста запроса.

Самый простейший вид соединения — внутреннее. В этом случае запрос просто находит пары строк с совпадающим значением» ключа (в данном примере, как и во всех последующих, в качестве ключевого поля используется поле «Контрагент»).

Контрагенты
Контрагент Полное наименование
Иванов Иванов И.И.
Петров Петров П.П.
Сидоров Сидоров С.С.
Продажи
Контрагент Сумма
Иванов 5000
Петров 7500
Сидоров 15000
Продажи контрагентам
Контрагент Полное наименование Сумма
Иванов Иванов И.И. 5000
Петров Петров П.П. 7500
Сидоров Сидоров С.С. 15000

Левое (Правое) соединение

ЛЕВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ означает, что в результат запроса надо включить комбинации записей из обеих исходных таблиц, которые соответствуют указанному условию. Но, в отличие от внутреннего соединения, в результат запроса надо включить также еще и записи из первого (указанного слева от слова СОЕДИНЕНИЕ) источника, для которых не найдено соответствующих условию записей из второго источника. Таким образом, в результат запроса будут включены все записи из первого источника; они будут соединены с записями из второго источника при выполнении указанного условия. Строки результата запроса, для которых не найдено соответствующих условию записей из второго источника, будут содержать NULL в полях, формируемых на основании записей из этого источника.

ПРАВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ означает, что в результат запроса надо включить комбинации записей из обеих исходных таблиц, которые соответствуют указанному условию. Кроме того, в результат запроса надо включить также еще и записи из второго (указанного справа от слова СОЕДИНЕНИЕ) источника, для которых не найдено соответствующих условию записей из первого источника.Таким образом, в результат запроса будут включены все записи из второго источника; они будут соединены с записями из первого источника при выполнении указанного условия. Строки результата запроса, для которых не найдено соответствующих условию записей из первого источника, будут содержать NULL в полях, формируемых на основании записей из этого источника.

Ситуация осложняется, когда источники совпадают не полностью. ‘Го есть, в одной таблице есть запись с некоторым значением ключа, а в другой такой записи нет. На схеме показана ситуация, когда запись есть в таблице контрагентов, но нет в таблице продаж. Это означает, что некий контрагент ничего у нас не покупал, хотя в справочнике контрагентов он у нас имеется (например, попросил человек выписать ему счёт на оплату, а покупать передумал; вполне жизненная ситуация). В этом случае в выборке на месте отсутствующей записи появится значение Null.

Контрагенты
Контрагент Полное наименование
Иванов Иванов И.И.
Петров Петров П.П.
Сидоров Сидоров С.С.
Семёнов Семёнов С.С.
Продажи
Контрагент Сумма
Иванов 5000
Петров 7500
Сидоров 15000
Продажи контрагентам
Контрагент Полное наименование Сумма
Иванов Иванов И.И. 5000
Петров Петров П.П. 7500
Сидоров Сидоров С.С. 15000
Семёнов Семёнов С.С. Null

Полное соединение

ПРАВОЕ [ВНЕШНЕЕ] СОЕДИНЕНИЕ означает, что в результат запроса надо включить комбинации записей из обеих исходных таблиц, которые соответствуют указанному условию. Кроме того, в результат запроса надо включить также еще и записи из второго (указанного справа от слова СОЕДИНЕНИЕ) источника, для которых не найдено соответствующих условию записей из первого источника.Таким образом, в результат запроса будут включены все записи из второго источника; они будут соединены с записями из первого источника при выполнении указанного условия. Строки результата запроса, для которых не найдено соответствующих условию записей из первого источника, будут содержать NULL в полях, формируемых на основании записей из этого источника.

Полное внешнее соединение, это, как ясно уже из названия, дальнейшее развитие Левого (или Правого) соединений. При организации полного соединения важно учитывать такое обстоятельство: при соединении данного вида в запрос попадают все записи из обеих таблиц. Иначе говоря, значение ключевого ноля нам нужно будет получать и из левой, и из правой таблиц. Обратите внимание: обязательно из обеих таблиц! Один из вариантов решения такой: создать для этого дополнительное поле, в котором делать проверку на Null. Если ключ в одной из таблиц равен Null, тогда нужно брать его значение из другой таблицы.

Поскольку полное соединение несколько сложнее других видов соединений, немного изменим наш пример. Теперь нам нужно получить не просто развёрнутый список продаж, а список всех действующих контрагентов.

Источник

Конструктор запросов 1С — обучение на примерах

Урок 3. Настройка связей таблиц в конструкторе запросов

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

Пояснение: конфигурациях Бухгалтерия 2.0 / 3.0 в реализации не хранится ссылка на выставленную счет-фактуру. Связь этих документов обратная: в счет-фактуре (в реквизите ДокументОснование) хранится ссылка на реализацию к которой она относится. Таким образом чтобы понять у каких реализаций нет счет-фактур, потребуется использовать в запросе две таблицы: РеализацияТоваровУслуг и СчетФактураВыданный.

Задача №2: допустим в базе у справочника Договоры контрагентов создано дополнительное сведение Отсрочка (место хранения регистр Дополнительные сведения). Выбрать запросом все договоры указанного контрагента с отсрочкой от 0 до 10 дней.

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

Новые вкладки: Связи.

Новые механизмы: проверка на null в запросе 1с.

Теоретическая часть урока №3

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

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

  • ВНУТРЕННЕЕ СОЕДИНЕНИЕ — запись из левой таблицы попадет в результат запроса только при выполнении условия связи, запись из правой таблицы попадет в результат запроса только при выполнении условия связи;
  • ЛЕВОЕ СОЕДИНЕНИЕ — запись из левой таблицы попадет в результат запроса в любом случае, запись из правой таблицы попадет в выборку только при выполнении условия связи. Аналогом левого является ПРАВОЕ СОЕДИНЕНИЕ, данные правой таблицы попадают в результат в любом случае, данные левой таблицы только при выполнении условия. Обычно при написании запроса используется Левое соединение, если же вы используете правое, при следующем открытии запроса конструктор запросов преобразует его в левое поменяв таблицы местами;
  • ПОЛНОЕ СОЕДИНЕНИЕ — запись из левой таблицы попадет в результат запроса сначала в любом случае, потом только при выполнении условия связи, запись из правой таблицы попадет в результат запроса сначала в любом случае, потом только при выполнении условия связи. При этом получившиеся в результате связи повторяющиеся строки исключаются из выборки.

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

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

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

Кнопки работы со связями в конструкторе запросов

После добавления новой связи необходимо заполнить все колонки таблицы. Разберем каждую колонку таблицы связей:

  • Таблица 1. В данную колонку выбирается левая таблица связи. Можно использовать только таблицы выбранные на вкладке Таблицы и поля;
  • Все. Флаг в данной колонке ставится в случае, если вам нужно выбрать все данные для левой таблицы (для Левого или Полного соединений);
  • Таблица 2. В данную колонку выбирается правая таблица связи;
  • Все. Флаг в данной колонке ставится в случае, если вам нужно выбрать все данные для правой таблицы (для Правого или Полного соединений);
  • Произвольное. Флаг при помощи которого можно перейти в ручной режим редактирования условия связи;
  • Условие связи. Условие на языке запросов, аналогичное условиям рассмотренным в Уроке №2. Представляет из себя выражение, которое всегда должно возвращать одно из двух значений: Истина или Ложь. Обычно условие связи состоит из трех частей:
    • Левая часть. Обычно поле левой таблицы, но это также может быть и полем правой таблицы или параметром (только в произвольном режиме редактирования условия);
    • Оператор сравнения. По умолчанию доступны «=», «<>», « », «>=», « ЕСТЬ NULL. Он возвращает значение Истина, если поле имеет значение NULL и Ложь — в обратно случае.

    Замечу, что проверить значение поля на NULL можно только при помощи указанной функции, конструкцией = NULL осуществить данную проверку не получится.

    • Перейдем на вкладку Условия;
    • Перетащи в раздел условий одно из полей таблицы СчетФактураВыданный, например поле Ссылка;
    • Установим в строке флаг Произвольное и допишем после поля оператор ЕСТЬ NULL, предварительно стерев ненужную часть условия;

    Проверка на NULL в запросе 1с

    В итоге у нас получится запрос со следующим текстом:

    Задача №2

    • Создадим новый запрос;
    • Запустим конструктор запросов;
    • На вкладке Таблицы и поля выберем две таблицы: ДоговорыКонтрагентов из ветки Справочники и ДополнительныеСведения из ветки РегистрыСведений;
    • Из таблицы ДоговорыКонтрагентов выберем поле Ссылка;

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

    • Перейдем на вкладку Условия. Из таблицы ДоговорыКонтрагентов перенесем в раздел условий поле Владелец. В правой части условия зададим имя параметра в который будем передавать нужного нам контрагента, назовем его Контрагент;
    • Задачу по выборке договоров с отсрочками от 0 до 10, также разобьем на две подзадачи:
      • выберем все договоры и при помощи связей попытаемся найти их отсрочки;
      • при помощи условия выберем только договоры с нужными нам отсрочками;
    • Настроим связи между договорами и дополнительными сведениями. Перейдем на вкладку Связи, и добавим новую связь;
    • В поле Таблица 1 выберем таблицу ДоговорыКонтрагентов (это будет левая таблица);
    • Так как нам нужны все договоры, будем использовать Левое соединение. Поставим флаг в колонке Все, относящейся к левой таблице;
    • В поле Таблица 2 выберем таблицу ДополнительныеСведения (это будет правая таблица);
    • Так как ссылка на договор хранится в измерении Объект регистра сведений Дополнительные сведения, в условии связи выберем:
      • В левой части поле ДоговорыКонтрагентов .Ссылка;
      • Оставим стандартный оператор сравнения «=»;
      • В правой части поле: ДополнительныеСведения.Объект.

    Мы добавили связь, при помощи которой мы выберем все доп. сведения каждого договора. Но так как нам нужно только одно доп. сведение — Отсрочка, нам необходимо добавить еще одну связь. В данном случае Отсрочка — это дополнительное свойство. Дополнительные свойства имеют тип План видов характеристик ДополнительныеРеквизитыИСведения. В регистре ДополнительныеСведения значение доп. свойства хранится в измерении Свойство. Таким образом нам необходимо добавить связь ограничивающую дополнительные сведения только свойством Отсрочка.

    • Добавим новую связь;
    • В поле Таблица 1 выберем таблицу ДоговорыКонтрагентов;
    • Важно знать, что если у вас есть несколько связей на одну и ту же пару таблиц, то для них необходимо использовать один тип соединения. В нашем случае — это Левое соединение. Поэтому поставим флаг в колонке Все, относящейся к левой таблице;
    • В поле Таблица 2 выберем таблицу ДополнительныеСведения;
    • В условии связи нам не нужно будет использовать поле левой таблицы, вместо этого мы наложим условие на измерение Свойство, приравняв его к доп. свойству Отсрочка, которое будет передано в запрос при помощи параметра;
    • Установим флаг Произвольное в значение Истина и напишем вручную следующий текст условия: «ДополнительныеСведения.Свойство = &СвойствоОтсрочка»;
    • Настройка связей закончена;

    Теперь осталось наложить условие на размер отсрочки. Так как у нас используется интервал от 0 до 10 необходимо будет использовать оператор сравнения Между. Так как нулевая отсрочка не хранится в дополнительных сведениях, при соединении в данном случае все поля регистра будут возвращать значение NULL. Для того чтобы в условии подменить значение NULL на 0, будем использовать функцию языка запросов ЕСТЬNULL( , ). Функция возвращает Выражение1, если оно не равно NULL и Выражение2 в обратном случае.

    • Перейдем на вкладку Условия конструктора запросов и добавим новое условие;
    • Установим в нем флаг Произвольное и перейдем в редактор произвольных выражений;
    • В разделе функций языка запросов раскроем ветку Функции -> Прочие функции;
    • Перетащим в раздел выражений функцию ЕСТЬNULL;
    • Вместо Выражения 1 вставим поле ДополнительныеСведения.Значение, а вместо Выражения 2 — 0;
    • После получившейся конструкции впишем оператор сравнения Между и зададим интервал: 0 и 10;
    • Нажмем ОК, условие готово;

    Создание условия в редакторе произвольных выражений 1с

    Последнее, что необходимо сделать — вывести значение отсрочки в поля запроса. Для того чтобы вместо NULL выводилоcь значение 0, также используем редактор произвольных выражений и функцию ЕСТЬNULL.

    • Перейдем на вкладку Таблицы и поля и добавим новое поле;
    • В открывшемся редакторе произвольных выражений выберем функцию ЕСТЬNULL;
    • Вместо Выражения 1 вставим поле ДополнительныеСведения.Значение, а вместо Выражения 2 — 0;
    • Нажмем ОК, поле готово;

    Создание поля запроса с использованием ЕСТЬNULL

    В итоге у нас получится запрос со следующим текстом:

    Также прочтите статьи о языке запросов 1с 8:

    Источник

Читайте также:  Марс параметры планеты таблица
Adblock
detector