Различия

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

Ссылка на это сравнение

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>​Номенклатура.Цена&​nbsp;​% 1.2 
 +2&​nbsp;​% 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>​Значением оператора ПОДОБНО является ИСТИНА,​ если значение &​lt;​Выражения&​gt;​ удовлетворяет шаблону,​ и ЛОЖЬ в противном случае. 
 +</​p><​p>​Следующие символы в &​lt;​Строке_шаблона&​gt;​ имеют смысл, отличный от просто очередного символа строки:​ 
 +</​p>​ 
 +<​ul><​li>​% - процент:​ последовательность,​ содержащая ноль и более произвольных символов;​  
 +</​li><​li>​_ - подчеркивание:​ один произвольный символ;​  
 +</​li><​li>​[…] - один или несколько символов в квадратных скобках:​ один символ,​ любой из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны,​ например a-z, означающие произвольный символ,​ входящий в диапазон,​ включая концы диапазона;​  
 +</​li><​li>​[^…] - в квадратных скобках значок отрицания,​ за которым следует один или несколько символов:​ любой символ,​ кроме тех, которые перечислены следом за значком отрицания;​ 
 +</​li></​ul>​ 
 +<​p>​Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов,​ то ему должен предшествовать &​lt;​Спецсимвол&​gt;,​ указанный после ключевого слова СПЕЦСИМВОЛ (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>​Продажи.Контрагент &​lt;&​gt;​ Продажи.НоменклатураОсновнойПоставщик 
 +</​pre>​ 
 +<h3> <span class="​mw-headline"​ id="​.D0.9C.D0.B5.D0.BD.D1.8C.D1.88.D0.B5">​Меньше</​span></​h3>​ 
 +<​p>​Данная операция предназначена для проверки того, что первый операнд меньше второго. Например:​ 
 +</​p>​ 
 +<​pre>​ПродажиТекщие.Сумма &lt; ПродажиПрошлые.Сумма 
 +</​pre>​ 
 +<h3> <span class="​mw-headline"​ id="​.D0.91.D0.BE.D0.BB.D1.8C.D1.88.D0.B5">​Больше</​span></​h3>​ 
 +<​p>​Данная операция предназначена для проверки того, что первый операнд больше второго. Например:​ 
 +</​p>​ 
 +<​pre>​ПродажиТекщие.Сумма &gt; ПродажиПрошлые.Сумма 
 +</​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>​ПродажиТекщие.Сумма &lt;= ПродажиПрошлые.Сумма 
 +</​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>​ПродажиТекщие.Сумма &gt;= ПродажиПрошлые.Сумма 
 +</​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>​Номенклатура В (&​amp;​Товар1,​ &​amp;​Товар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>​Документ.Грузополучатель = Документ.Грузоотправитель И Документ.Грузополучатель = &​amp;​Контрагент 
 +</​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>​Документ.Грузополучатель = Документ.Грузоотправитель ИЛИ Документ.Грузополучатель = &​amp;​Контрагент 
 +</​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>​Выбор Когда Сумма &gt; 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>​=,​ &​lt;&​gt;,​ &lt;=, &lt;, &gt;=, &gt;;  
 +</​li><​li>​Бинарный +, Бинарный –&​nbsp;;​  
 +</​li><​li>​ *, /,&​nbsp;​%;​  
 +</​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>​