Различия
Здесь показаны различия между двумя версиями данной страницы.
common_all:skd_language [2016/05/20 16:52] |
common_all:skd_language [2016/05/20 16:52] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | [[common_all:priemyraboty:reports|назад]] | ||
+ | ---- | ||
+ | <html><h1>Язык выражений системы компоновки данных</span></h1> | ||
+ | <p>Язык выражений системы компоновки данных предназначен для записи выражений, используемых в различных частях системы. | ||
+ | </p><p>Выражения используются в следующих подсистемах: | ||
+ | </p> | ||
+ | <ul><li>схема компоновки данных — для описания вычисляемых полей, полей итогов, выражений связи и т.д.; | ||
+ | </li><li>настройки компоновки данных — для описания выражений пользовательских полей; | ||
+ | </li><li>макет компоновки данных — для описания выражений связи наборов данных, описания параметров макета и т.д. | ||
+ | </li></ul> | ||
+ | <h2> <span class="mw-headline" id=".D0.9B.D0.B8.D1.82.D0.B5.D1.80.D0.B0.D0.BB.D1.8B">Литералы</span></h2> | ||
+ | <p>В выражении могут присутствовать литералы. Возможны литералы следующих типов: | ||
+ | </p> | ||
+ | <ul><li>Строка; | ||
+ | </li><li>Число; | ||
+ | </li><li>Дата; | ||
+ | </li><li>Булево. | ||
+ | </li></ul> | ||
+ | <h3> <span class="mw-headline" id=".D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0">Строка</span></h3> | ||
+ | <p>Строковый литерал записывается в символах «”», например: | ||
+ | </p> | ||
+ | <pre>“Строковой литерал“ | ||
+ | </pre> | ||
+ | <p>При необходимости использования внутри строкового литерала символа «”», следует использовать два таких символов. | ||
+ | </p><p>Например: | ||
+ | </p> | ||
+ | <pre>“Литерал ““в кавычках“““ | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.A7.D0.B8.D1.81.D0.BB.D0.BE">Число</span></h3> | ||
+ | <p>Число записывается без пробелов, в десятичном формате. Дробная часть отделяется при помощи символа «.». Например: | ||
+ | </p> | ||
+ | <pre>10.5 | ||
+ | 200 | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.94.D0.B0.D1.82.D0.B0">Дата</span></h3> | ||
+ | <p>Литерал типа дата записывается при помощи ключевого литерала ДАТАВРЕМЯ (DATETIME). После данного ключевого слова, в скобках, через запятую перечисляются год, месяц, день, часы, минуты, секунды. Указание времени не обязательно. | ||
+ | </p><p>Например: | ||
+ | </p> | ||
+ | <pre>ДАТАВРЕМЯ(1975, 1, 06) – Шестое января 1975 года | ||
+ | ДАТАВРЕМЯ(2006, 12, 2, 23, 56, 57) – Второе декабря 2006 года, 23 часа 56 минут 57 секундода, 23 часа 56 минут 57 секунд | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.91.D1.83.D0.BB.D0.B5.D0.B2.D0.BE">Булево</span></h3> | ||
+ | <p>Булевы значения могут быть записаны при помощи литералов Истина (True), Ложь (False). | ||
+ | </p> | ||
+ | <h3> <span class="mw-headline" id=".D0.97.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B5">Значение</span></h3> | ||
+ | <p>Для указания литералов других типов (системных перечислений, предопределенных данных) используется ключевое слово Значение, после которого в скобках идет указание имени литерала. | ||
+ | </p> | ||
+ | <pre>Значение(ВидСчета. Активный) | ||
+ | </pre> | ||
+ | <p><br /> | ||
+ | </p> | ||
+ | <h2> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D0.B8_.D0.BD.D0.B0.D0.B4_.D1.87.D0.B8.D1.81.D0.BB.D0.B0.D0.BC.D0.B8">Операции над числами</span></h2> | ||
+ | <h3> <span class="mw-headline" id=".D0.A3.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B9_.E2.80.93">Унарный –</span></h3> | ||
+ | <p>Данная операция предназначена для изменения знака числа на обратный. Например: | ||
+ | </p> | ||
+ | <pre>-Продажи.Количество | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.A3.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B9_.2B">Унарный +</span></h3> | ||
+ | <p>Данная операция не выполняет над числом никаких действий. Например: | ||
+ | </p> | ||
+ | <pre>+Продажи.Количество | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B9_-">Бинарный -</span></h3> | ||
+ | <p>Данная операция предназначена для вычисления разности двух чисел. Например: | ||
+ | </p> | ||
+ | <pre>ОстаткиИОбороты.НачальныйОстаток – ОстаткиИОбороты.КонечныйОстаток | ||
+ | ОстаткиИОбороты.НачальныйОстаток - 100 | ||
+ | 400 – 357 | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B9_.2B">Бинарный +</span></h3> | ||
+ | <p>Данная операция предназначена для вычисления суммы двух чисел. Например: | ||
+ | </p> | ||
+ | <pre>ОстаткиИОбороты.НачальныйОстаток + ОстаткиИОбороты.Оборот | ||
+ | ОстаткиИОбороты.НачальныйОстаток + 100 | ||
+ | 400 + 357 | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9F.D1.80.D0.BE.D0.B8.D0.B7.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5">Произведение</span></h3> | ||
+ | <p>Данная операция предназначена для вычисления произведения двух чисел. Например: | ||
+ | </p> | ||
+ | <pre>Номенклатура.Цена * 1.2 | ||
+ | 2 * 3.14 | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.94.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5">Деление</span></h3> | ||
+ | <p>Данная операция предназначена для получения результата деления одного операнда на другой. Например: | ||
+ | </p> | ||
+ | <pre>Номенклатура.Цена / 1.2 | ||
+ | 2 / 3.14 | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9E.D1.81.D1.82.D0.B0.D1.82.D0.BE.D0.BA_.D0.BE.D1.82_.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F">Остаток от деления</span></h3> | ||
+ | <p>Данная операция предназначена для получения остатка от деления одного операнда на другой. Например: | ||
+ | </p> | ||
+ | <pre>Номенклатура.Цена % 1.2 | ||
+ | 2 % 3.14 | ||
+ | </pre> | ||
+ | <p><br /> | ||
+ | </p> | ||
+ | <h2> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D0.B8_.D0.BD.D0.B0.D0.B4_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B0.D0.BC.D0.B8">Операции над строками</span></h2> | ||
+ | <h3> <span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D0.BA.D0.B0.D1.82.D0.B5.D0.BD.D0.B0.D1.86.D0.B8.D1.8F_.28.D0.91.D0.B8.D0.BD.D0.B0.D1.80.D0.BD.D1.8B.D0.B9_.2B.29">Конкатенация (Бинарный +)</span></h3> | ||
+ | <p>Данная операция предназначена для конкатенации двух строк. Например: | ||
+ | </p> | ||
+ | <pre>Номенклатура.Артикул + “: ”+ Номенклатура.Наименование | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D0.BE.D0.B1.D0.BD.D0.BE">Подобно</span></h3> | ||
+ | <p>Данная операция проверяет соответствие строки переданному шаблону. | ||
+ | </p><p>Значением оператора ПОДОБНО является ИСТИНА, если значение <Выражения> удовлетворяет шаблону, и ЛОЖЬ в противном случае. | ||
+ | </p><p>Следующие символы в <Строке_шаблона> имеют смысл, отличный от просто очередного символа строки: | ||
+ | </p> | ||
+ | <ul><li>% - процент: последовательность, содержащая ноль и более произвольных символов; | ||
+ | </li><li>_ - подчеркивание: один произвольный символ; | ||
+ | </li><li>[…] - один или несколько символов в квадратных скобках: один символ, любой из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона; | ||
+ | </li><li>[^…] - в квадратных скобках значок отрицания, за которым следует один или несколько символов: любой символ, кроме тех, которые перечислены следом за значком отрицания; | ||
+ | </li></ul> | ||
+ | <p>Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать <Спецсимвол>, указанный после ключевого слова СПЕЦСИМВОЛ (ESCAPE). | ||
+ | </p><p>Например, шаблон | ||
+ | </p> | ||
+ | <pre>“%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “\” | ||
+ | </pre> | ||
+ | <p>означает подстроку, состоящую из последовательности символов: буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем эта последовательность может располагаться, начиная с произвольной позиции в строке. | ||
+ | </p><p><br /> | ||
+ | </p> | ||
+ | <h2> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D0.B8_.D1.81.D1.80.D0.B0.D0.B2.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F">Операции сравнения</span></h2> | ||
+ | <h3> <span class="mw-headline" id=".D0.A0.D0.B0.D0.B2.D0.BD.D0.BE">Равно</span></h3> | ||
+ | <p>Данная операция предназначена для сравнения двух операндов на равенство. Например: | ||
+ | </p> | ||
+ | <pre>Продажи.Контрагент = Продажи.НоменклатураОсновнойПоставщик | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9D.D0.B5_.D1.80.D0.B0.D0.B2.D0.BD.D0.BE">Не равно</span></h3> | ||
+ | <p>Данная операция предназначена для сравнения двух операндов на неравенство. Например: | ||
+ | </p> | ||
+ | <pre>Продажи.Контрагент <> Продажи.НоменклатураОсновнойПоставщик | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9C.D0.B5.D0.BD.D1.8C.D1.88.D0.B5">Меньше</span></h3> | ||
+ | <p>Данная операция предназначена для проверки того, что первый операнд меньше второго. Например: | ||
+ | </p> | ||
+ | <pre>ПродажиТекщие.Сумма < ПродажиПрошлые.Сумма | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.91.D0.BE.D0.BB.D1.8C.D1.88.D0.B5">Больше</span></h3> | ||
+ | <p>Данная операция предназначена для проверки того, что первый операнд больше второго. Например: | ||
+ | </p> | ||
+ | <pre>ПродажиТекщие.Сумма > ПродажиПрошлые.Сумма | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9C.D0.B5.D0.BD.D1.8C.D1.88.D0.B5_.D0.B8.D0.BB.D0.B8_.D1.80.D0.B0.D0.B2.D0.BD.D0.BE">Меньше или равно</span></h3> | ||
+ | <p>Данная операция предназначена для проверки того, что первый операнд меньше либо равен второму. Например: | ||
+ | </p> | ||
+ | <pre>ПродажиТекщие.Сумма <= ПродажиПрошлые.Сумма | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.91.D0.BE.D0.BB.D1.8C.D1.88.D0.B5_.D0.B8.D0.BB.D0.B8_.D1.80.D0.B0.D0.B2.D0.BD.D0.BE">Больше или равно</span></h3> | ||
+ | <p>Данная операция предназначена для проверки того, что первый операнд больше либо равен второму. Например: | ||
+ | </p> | ||
+ | <pre>ПродажиТекщие.Сумма >= ПродажиПрошлые.Сумма | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.92">Операция В</span></h3> | ||
+ | <p>Данная операция осуществляет проверку наличия значения в переданном списке значений. Результатом операции будет Истина, в случае, если значение найдено, или Ложь - в противном случае. Например: | ||
+ | </p> | ||
+ | <pre>Номенклатура В (&Товар1, &Товар2) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.BF.D1.80.D0.BE.D0.B2.D0.B5.D1.80.D0.BA.D0.B8_.D0.BD.D0.B0.D0.BB.D0.B8.D1.87.D0.B8.D1.8F_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B2_.D0.BD.D0.B0.D0.B1.D0.BE.D1.80.D0.B5_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85">Операция проверки наличия значения в наборе данных</span></h3> | ||
+ | <p>Операция осуществляет проверку наличия значения в указанном наборе данных. Набор данных для проверки должен содержать одно поле. Например: | ||
+ | </p> | ||
+ | <pre>Продажи.Контрагент В Контрагенты | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.BF.D1.80.D0.BE.D0.B2.D0.B5.D1.80.D0.BA.D0.B8_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BD.D0.B0_NULL">Операция проверки значения на NULL</span></h3> | ||
+ | <p>Данная операция возвращает значение Истина в случае, если значение является значением NULL. Например: | ||
+ | </p> | ||
+ | <pre>Продажи.Контрагент ЕСТЬ NULL | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.BF.D1.80.D0.BE.D0.B2.D0.B5.D1.80.D0.BA.D0.B8_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BD.D0.B0_.D0.BD.D0.B5.D1.80.D0.B0.D0.B2.D0.B5.D0.BD.D1.81.D1.82.D0.B2.D0.BE_NULL">Операция проверки значения на неравенство NULL</span></h3> | ||
+ | <p>Данная операция возвращает значение Истина в случае, если значение не является значением NULL. Например: | ||
+ | </p> | ||
+ | <pre>Продажи.Контрагент ЕСТЬ НЕ NULL | ||
+ | </pre> | ||
+ | <p><br /> | ||
+ | </p> | ||
+ | <h2> <span class="mw-headline" id=".D0.9B.D0.BE.D0.B3.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D0.B5_.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D0.B8">Логические операции</span></h2> | ||
+ | <p>Логические операции принимают в качестве операндов выражения, имеющие тип Булево. | ||
+ | </p> | ||
+ | <h3> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.9D.D0.95">Операция НЕ</span></h3> | ||
+ | <p>Операция НЕ возвращает значение Истина в случае, если ее операнд имеет значение Ложь, и значение Ложь в случае, если ее операнд имеет значение Истина. Например: | ||
+ | </p> | ||
+ | <pre>НЕ Документ.Грузополучатель = Документ.Грузоотправитель | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.98">Операция И</span></h3> | ||
+ | <p>Операция И возвращает значение Истина в случае, если оба операнда имеют значение Истина, и значение Ложь в случае, если один из операндов имеет значение Ложь. Например: | ||
+ | </p> | ||
+ | <pre>Документ.Грузополучатель = Документ.Грузоотправитель И Документ.Грузополучатель = &Контрагент | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.98.D0.9B.D0.98">Операция ИЛИ</span></h3> | ||
+ | <p>Операция ИЛИ возвращает значение Истина в случае, если один из операндов имеет значение Истина, и Ложь в случае, если оба операнда имеют значение Ложь. Например: | ||
+ | </p> | ||
+ | <pre>Документ.Грузополучатель = Документ.Грузоотправитель ИЛИ Документ.Грузополучатель = &Контрагент | ||
+ | </pre> | ||
+ | <p><br /> | ||
+ | </p> | ||
+ | <h2> <span class="mw-headline" id=".D0.90.D0.B3.D1.80.D0.B5.D0.B3.D0.B0.D1.82.D0.BD.D1.8B.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8">Агрегатные функции</span></h2> | ||
+ | <p>Агрегатные функции осуществляют некоторое действие над набором данных. | ||
+ | </p> | ||
+ | <h3> <span class="mw-headline" id=".D0.A1.D1.83.D0.BC.D0.BC.D0.B0">Сумма</span></h3> | ||
+ | <p>Агрегатная функция Сумма рассчитывает сумму значений выражений, переданных ей в качестве аргумента для всех детальных записей. Например: | ||
+ | </p> | ||
+ | <pre>Сумма(Продажи.СуммаОборот) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9A.D0.BE.D0.BB.D0.B8.D1.87.D0.B5.D1.81.D1.82.D0.B2.D0.BE">Количество</span></h3> | ||
+ | <p>Функция Количество рассчитывает количество значений отличных от значения NULL. Например: | ||
+ | </p> | ||
+ | <pre>Количество(Продажи.Контрагент) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9A.D0.BE.D0.BB.D0.B8.D1.87.D0.B5.D1.81.D1.82.D0.B2.D0.BE_.D1.80.D0.B0.D0.B7.D0.BB.D0.B8.D1.87.D0.BD.D1.8B.D1.85">Количество различных</span></h3> | ||
+ | <p>Эта функция рассчитывает количество различных значений. Например: | ||
+ | </p> | ||
+ | <pre>Количество(Различные Продажи.Контрагент) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9C.D0.B0.D0.BA.D1.81.D0.B8.D0.BC.D1.83.D0.BC">Максимум</span></h3> | ||
+ | <p>Функция получает максимальное значение. Например: | ||
+ | </p> | ||
+ | <pre>Максимум(Остатки.Количество) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9C.D0.B8.D0.BD.D0.B8.D0.BC.D1.83.D0.BC">Минимум</span></h3> | ||
+ | <p>Функция получает минимальное значение. Например: | ||
+ | </p> | ||
+ | <pre>Минимум(Остатки.Количество) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.A1.D1.80.D0.B5.D0.B4.D0.BD.D0.B5.D0.B5">Среднее</span></h3> | ||
+ | <p>Функция получает среднее значение для значений, отличных от NULL. Например: | ||
+ | </p> | ||
+ | <pre>Среднее(Остатки.Количество) | ||
+ | </pre> | ||
+ | <h2> <span class="mw-headline" id=".D0.94.D1.80.D1.83.D0.B3.D0.B8.D0.B5_.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D0.B8">Другие операции</span></h2> | ||
+ | <h3> <span class="mw-headline" id=".D0.9E.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D1.8F_.D0.92.D0.AB.D0.91.D0.9E.D0.A0">Операция ВЫБОР</span></h3> | ||
+ | <p>Операция Выбор предназначена для осуществления выбора одного из нескольких значений при выполнении некоторых условий. Например: | ||
+ | </p> | ||
+ | <pre>Выбор Когда Сумма > 1000 Тогда Сумма Иначе 0 Конец | ||
+ | </pre> | ||
+ | <h2> <span class="mw-headline" id=".D0.9F.D1.80.D0.B0.D0.B2.D0.B8.D0.BB.D0.B0_.D1.81.D1.80.D0.B0.D0.B2.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B4.D0.B2.D1.83.D1.85_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B9">Правила сравнения двух значений</span></h2> | ||
+ | <p>Если типы сравниваемых значений отличаются друг от друга, то отношения между значениями определяются на основании приоритета типов: | ||
+ | </p> | ||
+ | <ul><li>NULL (самый низший); | ||
+ | </li><li>Булево; | ||
+ | </li><li>Число; | ||
+ | </li><li>Дата; | ||
+ | </li><li>Строка; | ||
+ | </li><li>Ссылочные типы | ||
+ | </li></ul> | ||
+ | <p>Отношения между различными ссылочными типами определяются на основе ссылочных номеров таблиц, соответствующих тому или иному типу. | ||
+ | </p><p>Если типы данных совпадают, то производится сравнение значений по следующим правилам: | ||
+ | </p> | ||
+ | <ul><li>у типа Булево значение ИСТИНА больше значения ЛОЖЬ; | ||
+ | </li><li>у типа Число обычные правила сравнения для чисел; | ||
+ | </li><li>у типа Дата более ранние даты меньше более поздних; | ||
+ | </li><li>у типа Строка - сравнения строк в соответствии с установленными национальными особенностями базы данных; | ||
+ | </li><li>ссылочные типы сравниваются на основе своих значений (номера записи и т. п.). | ||
+ | </li></ul> | ||
+ | <p><br /> | ||
+ | </p> | ||
+ | <h2> <span class="mw-headline" id=".D0.A0.D0.B0.D0.B1.D0.BE.D1.82.D0.B0_.D1.81.D0.BE_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B5.D0.BC_NULL">Работа со значением NULL</span></h2> | ||
+ | <p>Любая операция, в которой значение одного из операндов NULL, будет давать результат NULL. | ||
+ | </p><p>Есть исключения: | ||
+ | </p> | ||
+ | <ul><li>операция И будут возвращать NULL только в случае, если ни один из операндов не имеет значение Ложь; | ||
+ | </li><li>операция ИЛИ будет возвращать NULL только в случае, если ни один из операндов не имеет значение Истина. | ||
+ | </li></ul> | ||
+ | <p><br /> | ||
+ | </p> | ||
+ | <h2> <span class="mw-headline" id=".D0.9F.D1.80.D0.B8.D0.BE.D1.80.D0.B8.D1.82.D0.B5.D1.82.D1.8B_.D0.BE.D0.BF.D0.B5.D1.80.D0.B0.D1.86.D0.B8.D0.B9">Приоритеты операций</span></h2> | ||
+ | <p>Операции имеют следующие приоритеты (первая строка имеет низший приоритет): | ||
+ | </p> | ||
+ | <ul><li>ИЛИ; | ||
+ | </li><li>И; | ||
+ | </li><li>НЕ; | ||
+ | </li><li>В, ЕСТЬ NULL, ЕСТЬ НЕ NULL; | ||
+ | </li><li>=, <>, <=, <, >=, >; | ||
+ | </li><li>Бинарный +, Бинарный – ; | ||
+ | </li><li> *, /, %; | ||
+ | </li><li>Унарный +, Унарный -. | ||
+ | </li></ul> | ||
+ | <p><br /> | ||
+ | </p> | ||
+ | <h2> <span class="mw-headline" id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8_.D1.8F.D0.B7.D1.8B.D0.BA.D0.B0_.D0.B2.D1.8B.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D0.B9_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC.D1.8B_.D0.BA.D0.BE.D0.BC.D0.BF.D0.BE.D0.BD.D0.BE.D0.B2.D0.BA.D0.B8_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85">Функции языка выражений системы компоновки данных</span></h2> | ||
+ | <h3> <span class="mw-headline" id=".D0.92.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B8.D1.82.D1.8C">Вычислить </span></h3> | ||
+ | <p>Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки. Функция имеет следующие параметры: | ||
+ | </p> | ||
+ | <ul><li>Выражение. Тип Строка. Содержит вычисляемое выражение; | ||
+ | </li><li>Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например: | ||
+ | </li></ul> | ||
+ | <pre>Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог") | ||
+ | </pre> | ||
+ | <p>В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке. | ||
+ | </p> | ||
+ | <h3> <span class="mw-headline" id=".D0.A3.D1.80.D0.BE.D0.B2.D0.B5.D0.BD.D1.8C">Уровень</span></h3> | ||
+ | <p>Функция предназначена для получения текущего уровня записи. | ||
+ | </p><p>Пример: | ||
+ | </p> | ||
+ | <pre>Уровень() | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9D.D0.BE.D0.BC.D0.B5.D1.80.D0.9F.D0.BE.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BA.D1.83">НомерПоПорядку</span></h3> | ||
+ | <p>Получить следующий порядковый номер. | ||
+ | </p><p>Пример: | ||
+ | </p> | ||
+ | <pre>НомерПоПорядку() | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9D.D0.BE.D0.BC.D0.B5.D1.80.D0.9F.D0.BE.D0.9F.D0.BE.D1.80.D1.8F.D0.B4.D0.BA.D1.83.D0.92.D0.93.D1.80.D1.83.D0.BF.D0.BF.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B5">НомерПоПорядкуВГруппировке</span></h3> | ||
+ | <p>Возвращает следующий порядковый номер в текущей группировке. | ||
+ | </p><p>Пример: | ||
+ | </p> | ||
+ | <pre>НомерПоПорядкуВГруппировке() | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.A4.D0.BE.D1.80.D0.BC.D0.B0.D1.82">Формат</span></h3> | ||
+ | <p>Получить отформатированную строку переданного значения. | ||
+ | </p><p>Форматная строка задается в соответствии с форматной строкой 1С:Предприятие. | ||
+ | </p><p>Параметры: | ||
+ | </p> | ||
+ | <ul><li>Значение; | ||
+ | </li><li>Форматная строка. | ||
+ | </li></ul> | ||
+ | <p>Пример: | ||
+ | </p> | ||
+ | <pre>Формат(РасходныеНакладные.СуммаДок, "ЧДЦ=2") | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9D.D0.B0.D1.87.D0.B0.D0.BB.D0.BE.D0.9F.D0.B5.D1.80.D0.B8.D0.BE.D0.B4.D0.B0">НачалоПериода</span></h3> | ||
+ | <p>Функция предназначена для выделения определенной даты из заданной даты. | ||
+ | </p><p>Параметры: | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Заданная дата; | ||
+ | </li><li>Тип периода. Тип Строка. Содержит одно из значений: | ||
+ | <ul><li>Минута; | ||
+ | </li><li>Час; | ||
+ | </li><li>День; | ||
+ | </li><li>Неделя; | ||
+ | </li><li>Месяц; | ||
+ | </li><li>Квартал; | ||
+ | </li><li>Год; | ||
+ | </li><li>Декада; | ||
+ | </li><li>Полугодие. | ||
+ | </li></ul> | ||
+ | </li></ul> | ||
+ | <p>Пример: | ||
+ | </p> | ||
+ | <pre>НачалоПериода(ДатаВремя(2002, 10, 12, 10, 15, 34), "Месяц") | ||
+ | </pre> | ||
+ | <p>Результат: | ||
+ | </p> | ||
+ | <pre>01.10.2002 0:00:00 | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9A.D0.BE.D0.BD.D0.B5.D1.86.D0.9F.D0.B5.D1.80.D0.B8.D0.BE.D0.B4.D0.B0">КонецПериода</span></h3> | ||
+ | <p>Функция предназначена для выделения определенной даты из заданной даты. | ||
+ | </p><p>Параметры: | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Заданная дата; | ||
+ | </li><li>Тип периода. Тип Строка. Содержит одно из значений: | ||
+ | <ul><li>Минута; | ||
+ | </li><li>Час; | ||
+ | </li><li>День; | ||
+ | </li><li>Неделя; | ||
+ | </li><li>Месяц; | ||
+ | </li><li>Квартал; | ||
+ | </li><li>Год; | ||
+ | </li><li>Декада; | ||
+ | </li><li>Полугодие. | ||
+ | </li></ul> | ||
+ | </li></ul> | ||
+ | <p>Пример: | ||
+ | </p> | ||
+ | <pre>КонецПериода(ДатаВремя(2002, 10, 12, 10, 15, 34), "Неделя") | ||
+ | </pre> | ||
+ | <p>Результат: | ||
+ | </p> | ||
+ | <pre>13.10.2002 23:59:59 | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.B8.D1.82.D1.8C.D0.9A.D0.94.D0.B0.D1.82.D0.B5">ДобавитьКДате</span></h3> | ||
+ | <p>Функция предназначена для прибавления к дате некоторой величины. | ||
+ | </p><p>Параметры: | ||
+ | </p> | ||
+ | <ul><li>Выражение. Тип Дата. Исходная дата; | ||
+ | </li><li>Тип увеличения. Тип Строка. Содержит одно из значений: | ||
+ | <ul><li>Минута; | ||
+ | </li><li>Час; | ||
+ | </li><li>День; | ||
+ | </li><li>Неделя; | ||
+ | </li><li>Месяц; | ||
+ | </li><li>Квартал; | ||
+ | </li><li>Год; | ||
+ | </li><li>Декада; | ||
+ | </li><li>Полугодие. | ||
+ | </li></ul> | ||
+ | </li><li>Величина – на сколько необходимо увеличить дату. Тип Число. Дробная часть игнорируется. | ||
+ | </li></ul> | ||
+ | <p>Пример: | ||
+ | </p> | ||
+ | <pre>ДобавитьКДате(ДатаВремя(2002, 10, 12, 10, 15, 34), "Месяц", 1) | ||
+ | </pre> | ||
+ | <p>Результат: | ||
+ | </p> | ||
+ | <pre>12.11.2002 10:15:34 | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.A0.D0.B0.D0.B7.D0.BD.D0.BE.D1.81.D1.82.D1.8C.D0.94.D0.B0.D1.82">РазностьДат</span></h3> | ||
+ | <p>Функция предназначена для получения разницы между двумя датами. | ||
+ | </p><p>Параметры: | ||
+ | </p> | ||
+ | <ul><li>Выражение. Тип Дата. Исходная дата; | ||
+ | </li><li>Выражение. Тип Дата. Вычитаемая дата; | ||
+ | </li><li>Тип разности. Тип Строка. Содержит одно из значений: | ||
+ | <ul><li>Секунда; | ||
+ | </li><li>Минута; | ||
+ | </li><li>Час; | ||
+ | </li><li>День; | ||
+ | </li><li>Месяц; | ||
+ | </li><li>Квартал; | ||
+ | </li><li>Год. | ||
+ | </li></ul> | ||
+ | </li></ul> | ||
+ | <p>Пример: | ||
+ | </p> | ||
+ | <pre>РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34), | ||
+ | ДАТАВРЕМЯ(2002, 10, 14, 9, 18, 06), "ДЕНЬ") | ||
+ | </pre> | ||
+ | <p>Результат: | ||
+ | </p> | ||
+ | <pre>2 | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9F.D0.BE.D0.B4.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B0">Подстрока</span></h3> | ||
+ | <p>Данная функция предназначена для выделения подстроки из строки. | ||
+ | </p><p>Параметры: | ||
+ | </p> | ||
+ | <ul><li>Строка. Тип Строка. Строка, из которой выделяют подстроку; | ||
+ | </li><li>Позиция. Тип Число. Позиция символа, с которого начинается выделяемая из строки подстрока; | ||
+ | </li><li>Длина. Тип Число. Длина выделяемой подстроки. | ||
+ | </li></ul> | ||
+ | <p>Пример: | ||
+ | </p> | ||
+ | <pre>ПОДСТРОКА(Контрагенты.Адрес, 1, 4) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.94.D0.BB.D0.B8.D0.BD.D0.B0.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B8">ДлинаСтроки</span></h3> | ||
+ | <p>Функция предназначена для определения длины строки. | ||
+ | </p><p>Параметр: | ||
+ | </p> | ||
+ | <ul><li>Строка. Тип Строка. Строка, длину которой определяют. | ||
+ | </li></ul> | ||
+ | <p>Пример: | ||
+ | </p> | ||
+ | <pre>Строка(Контрагенты.Адрес) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.93.D0.BE.D0.B4">Год</span></h3> | ||
+ | <p>Данная функция предназначена для выделения года из значения типа Дата. | ||
+ | </p><p>Параметр: | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют год. | ||
+ | </li></ul> | ||
+ | <p>ГОД(РасхНакл.Дата) | ||
+ | </p> | ||
+ | <h3> <span class="mw-headline" id=".D0.9A.D0.B2.D0.B0.D1.80.D1.82.D0.B0.D0.BB">Квартал</span></h3> | ||
+ | <p>Данная функция предназначена для выделения номера квартала из значения типа Дата. Номер квартала в норме находится в диапазоне от 1 до 4. | ||
+ | </p><p>Параметр | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют квартал | ||
+ | </li></ul> | ||
+ | <pre>КВАРТАЛ(РасхНакл.Дата) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9C.D0.B5.D1.81.D1.8F.D1.86">Месяц</span></h3> | ||
+ | <p>Данная функция предназначена для выделения номера месяца из значения типа Дата. Номер месяца в норме находится в диапа-зоне от 1 до 12. | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют месяц. | ||
+ | </li></ul> | ||
+ | <pre>МЕСЯЦ(РасхНакл.Дата) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.94.D0.B5.D0.BD.D1.8C.D0.93.D0.BE.D0.B4.D0.B0">ДеньГода</span></h3> | ||
+ | <p>Данная функция предназначена для получения дня года из значения типа Дата. День года в норме находится в диапазоне от 1 до 365(366). | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют день года. | ||
+ | </li></ul> | ||
+ | <pre>ДЕНЬГОДА(РасхНакл.Дата) | ||
+ | </pre> | ||
+ | <p><br /> | ||
+ | </p> | ||
+ | <h3> <span class="mw-headline" id=".D0.94.D0.B5.D0.BD.D1.8C">День</span></h3> | ||
+ | <p>Данная функция предназначена для получения дня месяца из значения типа Дата. День месяца в норме находится в диапазоне от 1 до 31. | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют дня месяца. | ||
+ | </li></ul> | ||
+ | <pre>ДЕНЬ(РасхНакл.Дата) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9D.D0.B5.D0.B4.D0.B5.D0.BB.D1.8F">Неделя</span></h3> | ||
+ | <p>Данная функция предназначена для получения номера недели года из значения типа Дата. Недели года нумеруются, начиная с 1. | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют номера недели. | ||
+ | </li></ul> | ||
+ | <pre>НЕДЕЛЯ(РасхНакл.Дата) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.94.D0.B5.D0.BD.D1.8C.D0.9D.D0.B5.D0.B4.D0.B5.D0.BB.D0.B8">ДеньНедели</span></h3> | ||
+ | <p>Данная функция предназначена для получения дня недели из значения типа Дата. День недели в норме находится в диапазоне от 1 (понедельник) до 7(воскресенье). | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют день недели . | ||
+ | </li></ul> | ||
+ | <pre>ДЕНЬНЕДЕЛИ(РасхНакл.Дата) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.A7.D0.B0.D1.81">Час</span></h3> | ||
+ | <p>Данная функция предназначена для получения часа суток из значения типа Дата. Час суток находится в диапазоне от 0 до 23. | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют час суток. | ||
+ | </li></ul> | ||
+ | <pre>ЧАС(РасхНакл.Дата) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.9C.D0.B8.D0.BD.D1.83.D1.82.D0.B0">Минута</span></h3> | ||
+ | <p>Данная функция предназначена для получения минуты часа из значения типа Дата. Минута часа находится в диапазоне от 0 до 59. | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют минута часа. | ||
+ | </li></ul> | ||
+ | <pre>МИНУТА(РасхНакл.Дата) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.A1.D0.B5.D0.BA.D1.83.D0.BD.D0.B4.D0.B0">Секунда</span></h3> | ||
+ | <p>Данная функция предназначена для получения секунды минуты из значения типа Дата. Секунда минуты находится в диапазоне от 0 до 59. | ||
+ | </p> | ||
+ | <ul><li>Дата. Тип Дата. Дата, по которой определяют секунды минуты. | ||
+ | </li></ul> | ||
+ | <pre>СЕКУНДА(РасхНакл.Дата) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.92.D1.8B.D1.80.D0.B0.D0.B7.D0.B8.D1.82.D1.8C">Выразить</span></h3> | ||
+ | <p>Данная функция предназначена для выделения типа из выражения, которое может содержать составной тип. В случае, если выражение будет содержать тип, отличный от требуемого типа, будет возвращено значение NULL. | ||
+ | </p><p>Параметры: | ||
+ | </p> | ||
+ | <ul><li>Преобразуемое выражение; | ||
+ | </li><li>Указание типа. Тип Строка. Содержит строку типа. Например, "Число", "Строка" и т.п. Кроме примитивных типов данная строка может содержать имя таблицы. В этом случае будет осуществлена попытка выразить к ссылке на указанную таблицу. | ||
+ | </li></ul> | ||
+ | <p>Пример: | ||
+ | </p> | ||
+ | <pre>Выразить(Данные.Реквизит1, "Число(10,3)") | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.95.D1.81.D1.82.D1.8CNull">ЕстьNull</span></h3> | ||
+ | <p>Данная функция возвращает значение второго параметра в случае, если значение первого параметра NULL. | ||
+ | </p><p>В противном случае будет возвращено значение первого параметра. | ||
+ | </p><p>Пример: | ||
+ | </p> | ||
+ | <pre>ЕстьNULL(Сумма(Продажи.СуммаОборот), 0) | ||
+ | </pre> | ||
+ | <h3> <span class="mw-headline" id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8_.D0.BE.D0.B1.D1.89.D0.B8.D1.85_.D0.BC.D0.BE.D0.B4.D1.83.D0.BB.D0.B5.D0.B9">Функции общих модулей</span></h3> | ||
+ | <p>Выражение механизма компоновки данных может содержать вызовы функций глобальных общих модулей конфигурации. Никакого дополнительно синтаксиса для вызова таких функций не требуется. | ||
+ | </p><p>Пример: | ||
+ | </p> | ||
+ | <pre>СокращенноеНаименование(Документы.Ссылка, Документы.Дата, Документы.Номер) | ||
+ | </pre> | ||
+ | <p>В данном примере будет осуществлен вызов функции "СокращенноеНаименование" из общего модуля конфигурации. | ||
+ | </p><p>Отметим, что использование функций общих модулей разрешено только при указании соответствующего параметра процессора компоновки данных. | ||
+ | </p><p>Кроме того, функции общих модулей не могут быть использованы в выражениях пользовательских полей.</html> |