Система компоновки данных

Статус
Закрыто для дальнейших ответов.

Verojer

New member
[h=1]Система компоновки данных[/h]

Система компоновки данных предназначена для создания отчетов 1С:Предприятия 8 на основе их декларативного описания. Использование декларативного описания отчетов позволяет реализовать следующие возможности:
  • создание отчета без программирования;
  • использование автоматически генерируемых форм просмотра и настройки отчета;
  • разбиение исполнения отчета на этапы;
  • исполнение отдельных этапов построения отчета на различных компьютерах;
  • независимое использование отдельных частей системы компоновки данных;
  • программное влияние на процесс выполнения отчета;
  • настройки структуры отчета;
  • совмещение в отчете нескольких таблиц;
  • создание вложенных отчетов;
  • и др.
Система компоновки данных представляет собой совокупность элементов, каждый из которых соответствует определенному этапу выполнения отчета. Таким образом, весь процесс выполнения отчета в системе компоновки данных сводится к последовательному переходу от одного элемента к другому, доходя, в итоге, до готового отчета.
 

Verojer

New member
[h=1]Конструктор схемы компоновки данных[/h]

Как создать наборов данных, источники данных, запрос и поля запроса?
Как настроить схему компоновки данных?
Как настроить структуру отчета?
Параметры настройки
С помощью конструктора схемы компоновки данных производится формирование новой и редактирование имеющейся схемы компоновки данных.
На закладке Наборы данных выполняется создание/редактирование наборов данных, создание/редактирование источников данных, редактирование запроса и полей запроса.
Схема компоновки данных может содержать несколько источников данных. Под источником данных подразумевается источник, из которого будут получаться данные. В качестве источника данных, например, может выступать информационная база 1С:Предприятия 8.
Наборы данных в схеме компоновки данных содержат информацию о том какие поля можно получать из данного набора, какие поля набора данных можно использовать в отборе и т.п. В схеме компоновки данных допускается наличие нескольких наборов данных. Набор данных может содержать описания полей, которые будут доступны для этого набора данных. Каждое поле набора данных имеет следующие свойства:
  • Поле – имя поля набора данных, для которого делается описание;
  • Путь – строка, содержащая путь к данным, под которым поле будет фигурировать в настройках и выражениях. Важно, что поле будет фигурировать именно под данным именем, а не под именем, указанным в свойстве Поле. В случае, если несколько наборов данных имеют поля с одинаковыми путями к данным, будет использовано поле набора данных, являющегося родительским набором данных. Указание одинаковых путей к данным для полей несвязанных наборов данных не допускается;
  • Заголовок – заголовок поля - строка, отображаемая в пользовательских настройках и в заголовке результата компоновки для данного поля;
  • Ограничение доступности поля – указывается, как данное поле не может быть использовано в настройках. Использование поля определяется самим набором данных. В данном свойстве можно лишь ограничить использование, но нельзя разрешить то, что запрещено в описании части набора данных. Например, если в запросе указано, что поле может быть выбрано, но не указано, что поле может быть использовано в фильтре, то отсутствие ограничения на отбор в данном свойстве не делает данное поле доступным для использования в отборе. Ограничение может быть указано на следующие виды использования:
    • Поле – поле не может выводиться в результат компоновки (поле не может являться выбранным полем системы компоновки данных);
    • Условие – по полю не может выполняться отбор (поле не может входить в отбор системы компоновки данных);
    • Группа – по полю не может быть выполнена группировка (поле не может входить в поля группировки системы компоновки данных);
    • Упорядочивание – по полю не может быть выполнено упорядочивание (поле не может входить в порядок системы компоновки данных);
  • Ограничение доступности полей-реквизитов – указывается, каким образом можно использовать реквизиты (поля "через точку") в пользовательских настройках. Ограничению подлежат те же виды использования, что и для ограничения использования поля (Поле, Условие, Группа и Упорядочивание);
  • Роль - роль поля – указывает, каким образом следует интерпретировать поле;
  • Представление – выражение, по которому вычисляется представление поля. Может быть использовано для переопределения стандартного представления поля;
  • Выражения упорядочивания – описание выражений, по которым следует упорядочивать в случае, если требуется упорядочивать по данному полю.
  • Проверка иерархии - в случае, если для поля условие отбора необходимо отрабатывать нестандартным образом, для поля может быть указан набор данных, в котором получаются данные для проверки принадлежности ссылки иерархии некоторого значения ;
    • Набор данных – набор данных для проверки иерархии;
    • Параметр – параметр, в который будет подставляться значение, для которого нужно получить дочерние элементы;
  • Тип значения - тип значения поля набора данных;
  • Оформление - параметры оформления поля набора данных.
На закладке "Связи наборов данных" выполняется настройка связей между различными наборами данных по одному или нескольким полям. Каждая связь наборов данных содержит следующие свойства:
  • Источник связи – имя набора данных, от которого будет осуществляться связь;
  • Приемник связи – имя набора данных, к которому будет осуществляться связь;
  • Выражение источник – выражение, по которому будет определяться значение связи источника;
  • Выражение приемник – выражение, по которому будет определяться значение связи приемника;
  • Параметр – имя параметра, в который будет помещено значение связи источника. Данный параметр может быть использован в запросе набора данных приемника, при этом будут получаться данные только для указанного значения;
  • Список параметров – возможность использования в качестве значения параметра списка значений. Список значений допустим в случае, если параметр используется в операции В;
  • Условие связи – выражение, результат которого проверяется перед осуществлением связи. Связь будет осуществляться только в случае, если результатом исполнения выражение является значение Истина. Условие связи может быть пустым. В таком случае связь будет осуществляться всегда;
  • Начальное значение – выражение, значение которого будет использоваться как начальное значение источника связи. Применяется в случае необходимости организации связи набора данных самого к себе, для указания начального значения связи.
На закладке Вычисляемые поля выполняется создание и редактирование вычисляемых полей - полей, которые будут вычисляться по некоторым выражениям с использованием полей наборов данных. Каждое вычисляемое поле содержит следующие свойства:
  • Путь к данным – имя, под которым будет фигурировать данное поле;
  • Выражение – выражение, по которому будет вычисляться значение данного поля. В выражении могут быть использованы только поля наборов данных. Использование в выражении вычисляемых полей не допускается;
  • Заголовок – текст, под которым будет фигурировать данное поле в настройках пользователя и в результате компоновки;
  • Ограничение использования – указание, каким образом нельзя использовать данное поле. Ограничение использования описывается также как и ограничение использования поля набора данных;
  • Выражение представления – выражение, результат которого будет выводиться в результат компоновки для данного поля. В случае, если выражение представления не заполнено, выдаваться будет выдаваться значение самого выражения поля;
  • Выражения упорядочивания – выражения, используемые для упорядочивания поля. Описывается аналогично выражениям упорядочивания для поля набора данных.
  • Доступные значения - содержит список доступных значений;
  • Оформление - содержит формат поля, которое может быть применено к вычисляемым полям.
На закладке Ресурсы при необходимости можно описать поля – ресурсы, значения которых будут вычисляться для групповых записей. Каждое поле-ресурс имеет следующие свойства:
  • Поле – путь к данным поля, для которого описывается формула расчета итога;
  • Выражение – выражение, по которому будет осуществляться расчет итога по полю. Например: "Сумма(КоличествоКонечныйОстаток)";
  • Рассчитывать по... - позволяет выбрать группировки, для которых должны быть рассчитаны итоги (в случае, если расчет итогов имеет смысл выполнять не для всех, а только для определенных группировок).
Для управления списком полей следует использовать кнопки переноса ">", ">>", "<" и "<<".
Нажатием на кнопку ">>" можно добавить в ресурсы все поля типа Число. При этом допускается ввод нескольких строк для одного ресурса. Компоновщик макета, получая выражение для ресурса, использует информацию о том, для какой группировки оно получается и выдаст соответствующее выражение.
Если для ресурса было указано, что его можно рассчитывать только в разрезе некоторой группировки (то есть в колонке "Рассчитывать по…" было выбрано хотя бы одно поле группировки), то данный ресурс будет выводиться в результат только для этой группировки и группировок в нее вложенных.
На закладке Параметры описываются параметры схемы компоновки данных. Каждый параметр данных содержит следующие свойства:
  • Имя – имя параметра;
  • Заголовок – текст, который будет фигурировать в настройках пользователя для данного параметра;
  • Тип – указавается тип параметра;
  • Доступные типы – содержит набор доступных типов;
  • Доступные значения – содержит список доступных значений;
  • Доступен список значений – флажок, определяющий использование списка доступных значений;
  • Значение – значение параметра по умолчанию;
  • Выражение – содержит выражение, по которому будет вычисляться значение данного параметра (для вычисляемых параметров);
  • Параметр функциональной опции – указывается имя параметра функциональной опции, определенного в Конфигураторе;
  • Включать в доступные поля – указывает, будет ли доступен данный параметр как поле;
  • Ограничение доступности – определяет возможность настройки значения параметра пользователем;
  • Запрещать незаполненные значения - если установлен, то указывает на необходимость проверки заполнения значения параметра;
  • Использование – если свойство имеет значение Авто, необходимость использования данного параметра получается из настроек компоновки данных. Если свойство имеет значение Всегда, то параметр всегда считается используемым и всегда используется его значение, указанное в настройках компоновки;
  • Параметры редактирования – задаются параметры редактирования;
На закладке Макеты могут быть описаны макеты, которые будут использоваться для вывода поля, группировки или заголовка группировки. Каждое описание макета схемы компоновки данных имеет следующие свойства:
  • Имя – имя, идентифицирующее макет;
  • Тип макета – указание, для какого типа макета (заголовок/подвал/иерархический заголовок/иерархический подвал) будет использоваться макет;
  • Область – область табличного документа, которая будет использована в качестве макета;
  • Параметры макета – параметры макета. Каждый параметр макета содержит следующие свойства:
    • Имя параметра – имя параметра;
    • Выражение – выражение, по которому вычисляется значение параметра.
На закладке Вложенные схемы могут быть описаны вложенные схемы компоновки данных. Каждая вложенная схема компоновки данных имеет следующие свойства:
  • Имя – имя вложенной схемы;
  • Заголовок – текст, который будет видеть пользователь при выборе вложенного объекта;
  • Схема – непосредственно сама схема компоновки данных вложенного объекта;
  • Настройки – настройки, которые будет применены к настройкам вложенного объекта при добавлении его в настройку родительского объекта.
На закладке Настройки при необходимости можно можно задать настройки схемы компоновки данных.
[h=4]Вложенные поля[/h]Для числовых ресурсов система автоматически формирует вложенные поля. Эти поля автоматически рассчитываются системой и позволяют упростить получение различных показателей, например, для получения процентного отношения значения ресурса к сумме значений ресурса во всех данных отчета. К этим полям относятся:
[h=6]% в группе иерархии[/h]
Идентификатор:
ПроцентВИерархии (PercentInHierarchy)
Описание:
Содержит процент значения ресурса в текущей иерархической группе. При выводе вне таблицы равно 100%.
[h=6]% в группе иерархии колонки или точки[/h]
Идентификатор:
ПроцентВИерархииВКолонкеИлиТочке (PercentInColumnOrPointHierarchy)
Описание:
Содержит отношение значения ресурса в текущей ячейке к значению итога ресурса на текущем уровне иерархии текущей группировки по колонке или точке (в процентах). При выводе вне таблицы равно полю % в группе иерархии.
[h=6]% в группе иерархии строки или серии[/h]
Идентификатор:
ПроцентВИерархииВСтрокеИлиСерии (PercentInRowOrSeriesHierarchy)
Описание:
Содержит отношение значения ресурса в текущей ячейке к значению итога ресурса на текущем уровне иерархии текущей группировки по строке или серии (в процентах). При выводе вне таблицы равно 100%.
[h=6]% в группировке[/h]
Идентификатор:
ПроцентВГруппе (GroupPercent)
Описание:
Данное поле содержит отношение значения ресурса в текущей ячейке к значению итога ресурса в текущей группировке. При выводе вне таблицы содержит 100%.
[h=6]% в группировке колонки или точки[/h]Идентификатор:
ПроцентВГруппеВКолонкеИлиТочке (ColumnOrPointGroupPercent)
Описание:
Данное поле содержит отношение значения ресурса в текущей ячейке к значению итога ресурса в текущей группировке по колонке или точке (в процентах). При выводе вне таблицы содержит 100%.
[h=6]% в группировке строки или серии[/h]
Идентификатор:
ПроцентВГруппеВСтрокеИлиСерии (RowOrSeriesGroupPercent)
Описание:
Данное поле содержит отношение значения ресурса в текущей ячейке к значению итога ресурса в текущей группировке по строке или серии (в процентах). При выводе вне таблицы содержит поле % в группировке.
[h=6]% в колонке или точке[/h]
Идентификатор:
ПроцентВКолонкеИлиТочке (ColumnOrPointPercent)
Описание:
Данное поле содержит отношение значения ресурса в текущей ячейке к значению итога ресурса по колонке или точке (в процентах). При выводе вне таблицы содержит поле % общий.
[h=6]% в строке или серии[/h]
Идентификатор:
ПроцентВСтрокеИлиСерии (RowOrSeriesPercent)
Описание:
Данное поле содержит отношение значения ресурса в текущей ячейке к значению итога ресурса по строке или серии (в процентах). При выводе вне таблицы содержит 100%.
[h=6]% общий[/h]
Идентификатор:
ПроцентОбщий (OverallPercent)
Описание:
Данное поле содержит отношение значения ресурса в текущей ячейке к значению общего итога ресурса в таблице (в процентах). При выводе вне таблицы содержит 100%.
[h=4]Системные поля[/h]В списке выбранных полей система формирует специальную группу системных полей, которые предназначены для определения порядкового номера записи, как во всем отчете, так и в рамках группировок. Следует помнить, что при этом системные поля не попадают в список полей, получающихся при развороте автополя, поэтому их необходимо добавлять вручную.
[h=6]№ п/п[/h]
Идентификатор:
СистемныеПоля.НомерПоПорядку (SystemFields.SerialNumber)
Описание:
Содержит порядковый номер строки в данном отчете. Начинается с 1.
[h=6]№ в группе[/h]
Идентификатор:
СистемныеПоля.НомерПоПорядкуВГруппировке (SystemFields.GroupSerialNumber)
Описание:
Содержит порядковый номер строки в текущей группировке. Начинается с 1.
[h=6]Уровень[/h]
Идентификатор:
СистемныеПоля.Уровень (SystemFields.Level)
Описание:
Содержит текущий уровень записи. Начинается с 1.
[h=6]Уровень в группе[/h]
Идентификатор:
СистемныеПоля.УровеньВГруппировке (SystemFields.LevelInGroup)
Описание:
Содержит текущий уровень записи относительно группировки. Начинается с 1.
[h=4]Поля параметров[/h]В выбранных полях присутствует специальная группа Параметры, которая предоставляет возможность поместить в отчет параметры схемы компоновки данных, у которых установлен флажок Включать в доступные поля.

Схема компоновки данных содержит настройки компоновки данных по умолчанию, которые могут быть заданы разработчиком.
Для всего отчета в целом можно задать следующие настройки на соответствующих закладках:
  • Выбранные поля - набор полей, выводимых в результат компоновки. Каждое выбранное поле системы компоновки данных обладает следующими свойствами:
    • Флаг использования поля - если установлен - поле используется;
    • Выбранное поле - путь к данным поля;
    • Расположение – для группы выбранных полей указывает, каким образом располагать поля группы;
  • Отбор - отбор, задаваемый для всего отчета в целом. Каждый элемент отбора системы компоновки данных обладает следующими свойствами:
    • Флаг использования отбора - если установлен - элемент отбора используется;
    • Элемент отбора - значение в левой части условия;
    • Вид сравнения – вид сравнения, которым будут сравниваться левое и правое значения;
    • Правое значение - значение в правой части условия;
  • Сортировка - описывает, каким образом нужно упорядочивать записи, выводимые в результат, по умолчанию для всех элементов компоновки. Каждый элемент порядка системы компоновки данных обладает следующими свойствами:
    • Флаг использования порядка - если установлен - элемент порядка используется;
    • Порядок - путь к данным поля упорядочивания;
    • Направление сортировки - направление упорядочивания: по возрастанию / по убыванию.
  • Условное оформление - описание того, каким образом оформлять различные поля результата. Каждый элемент условного оформления системы компоновки данных обладает следующими свойствами:
    • Флаг использования оформления – если установлен - элемент условного оформления используется;
    • Область – поля, к которым будет применяться оформление;
    • Отбор – условие, при выполнении которого будет применяться оформление;
    • Оформление - применяемое оформление;
  • Пользовательские поля - набор полей, определенных пользователем. Пользовательские поля могут быть использованы при формировании настроек наравне с обычными полями, кроме определения других пользовательских полей. Система компоновки данных поддерживает два вида пользовательских полей: поле-выражение и поле-выбор.
  • Другие настроки - содержит дополнительный список настроек для выбранного элемента структуры.
[h=2]Настройки схемы компоновки данных[/h]Настройки схемы компоновки данных могут содержать структуру, включающую в себя доступные элементы настроек. Такими элементами являются:
  • группировка;
  • таблица;
  • диаграмма;
  • вложенный отчет.
Для группировки доступны следующие настройки:
  • Флаг использования группировки - если установлен - группировка используется при компоновке;
  • Поля группировки - набор полей, по которым осуществляется группировка. Каждое поле группировки системы компоновки данных обладает следующими свойствами:
    • Флаг использования поля - если установлен - поле используется;
    • Поле группировки - путь к данным поля, по которому осуществляется группировка;
    • Тип группировки – тип группировки (Иерархия, Только иерархия, Элементы);
    • Тип дополнения – необходимость дополнения дат в периоде;
    • Начальная дата - начальная дата периода. Может содержать константное значение, либо значение – поле;
    • Конечная дата - конечная дата периода. Может содержать константное значение, либо значение - поле;
  • Выбранные поля;
  • Отбор;
  • Порядок;
  • Условное оформление;
  • Параметры вывода. Группировка диаграммы не имеет параметров вывода;
Для таблицы доступны следующие настройки:
  • Флаг использования таблицы - если установлен - таблица используется при компоновке;
  • Колонки - коллекция значений, определяющая колонки таблицы;
  • Строки - коллекция значений, определяющая строки таблицы;
  • Выбранные поля;
  • Условное оформление ;
  • Параметры вывода.
Для диаграммы доступны следующие настройки:
  • Флаг использования диаграммы - если установлен - диаграмма используется при компоновке;
  • Точки - коллекция значений, определяющая точки диаграммы;
  • Серии - коллекция значений, определяющая серии диаграммы;
  • Выбранные поля - выбранные поля определяют ресурсы, выводимые в диаграмму при компоновке;
  • Условное оформление;
  • Параметры вывода.
[h=3]Табличное поле структуры отчета[/h]Содержание отчета формируется на закладке "Настройки" конструктора схемы компоновки данных в табличном поле структуры отчета. Рядом с каждым элементом в структуре можно поставить пометку. Если пометка установлена, элемент выводится в результат отчета.
Для добавления новой группировки используйте команду "Новая группировка". В открывшемся диалоге следует выбрать поле группировки и тип группировки. Если поле группировки не задается, то в ней будут выводиться детательные записи и она будет называться "<Детальные записи>".
При добавлении новой группировки, в ее параметрах автоматически добавляются поля автопорядка и автовыбора. При добавлении новой диаграммы – автовыбор.
Для группировки выбранных записей по заданному полю в контекстном меню элемента структуры отчета следует выбрать команду "Сгруппировать", в диалоге выбрать поле группировки и тип группировки (возможен выбор иерархической группировки и группировки по элементам). При этом, если группируемый элемент уже содержит поле автопорядка, то оно войдет и в новую группировку. Если создание группировки потеряло смысл, нажмите "Отмена".
Если по полю проводится иерархическая или только иерархическая группировка, в структуре отчета после заголовка поля в скобках отобразится тип иерархии.
Для изменения текущей группировки используйте команду "Изменить". С помощью этой команды можно выбрать иное поле группировки и тип группировки для текущей группировки.
Для удаления элемента из структуры отчета, следует выбрать его, нажать Del и подтвердить удаление.
Для переключения режима настройки данных следует использовать команды "Текущий отчет" и "Текущий элемент отчета".
[h=3]Возможности настройки схемы компоновки данных[/h]В зависимости от вида выбранного элемента структуры отчета меняется состав параметров настройки. При добавлении отбора, сортировки, условного оформления и пр. в текущей строке табличного поля структуры отчета появится соответствующая пиктограмма. В настройках схемы компоновки данных, по умолчанию, везде, где используются поля, отображаются не заголовки полей, а пути к данным этих полей.
[h=4]Режим настройки "Текущий отчет"[/h]В этом режиме доступны закладки: "Параметры" (если для схемы был задан хотя бы один параметр), "Выбранные поля", "Отбор", "Сортировка", "Условное оформление", "Пользовательские поля", "Другие настройки"
[h=4]Режим настройки "Текущий элемент структуры настроек"[/h]В этом режиме доступны закладки:
  • Для элемента типа "Группировка":
    • Поля группировки
    • Выбранные поля
    • Отбор
    • Сортировка
    • Условное оформление
    • Другие настройки
  • Для элементов типа "Таблица" и "Диаграмма":
    • Выбранные поля
    • Условное оформление
    • Другие настройки
Если на закладке "Параметры" конструктора схемы компоновки данных были заданы поля – параметры, то они отобразятся в списке доступных полей в папке "Параметры Данных". В тех местах, где будут использоваться эти поля, при выполнении отчета будет подставляться значение соответствующих параметров. Поля – параметры могут использоваться в любом месте настроек, кроме отбора и группировки. Если на поле – параметр наложено условное оформление, оно будет применяться к параметру при выводе его значения в результат компоновки.
В качестве параметров могут быть использованы предопределенные данные и перечисления (в режиме Конфигуратора).
Примечание. В качестве значений параметров, которые недоступны пользователю, но значения которых установлены в настройках по умолчанию, будут браться именно значения этих параметров из настроек, а не из схемы компоновки данных.
На закладке "Выбранные поля" выбираются поля, которые будут входить в результат компоновки. Имеется возможность с помощью меню или контекстного меню добавить Новое поле, Новую папку полей, Новое автополе.
На закладке "Поля группировки" выбираются поля, по которым будет проводиться группировка и тип группировки. Имеется возможность с помощью меню или контекстного меню добавить Новое поле, Новое автополе.
На закладке "Отбор" выбираются поля для фильтрации записей результата компоновки. С помощью меню или контекстного меню можно добавить Новый элемент или Новую группу. В колонках этой закладки добавленному элементу можно установить значение, по которому будет проводиться отбор записей результата компоновки. Можно использоваться предопределенные данные и перечисления (в режиме Конфигуратора).
На закладке "Сортировка" выбираются поля, по которым результат выполнения отчета будет отсортирован. Возможно добавление как "элемента порядка", так и "авто элемента порядка". Для авто элемента порядка в контекстном меню есть команда "Развернуть". При развороте авто элемента, когда в порядок добавляются элементы, соответствующие полям группировки, система проверяет наличие реквизитов этих полей в глобальном упорядочивании. Если они присутствуют, то они добавляются в упорядочивание вместо поля группировки.
На закладках "Поля группировки", "Выбранные поля", "Отбор", "Сортировка" из списка доступных полей можно переносить в окно выбора поле или непрерывную группу полей с помощью стандартного механизма перетаскивания. Также, используя контекстное меню списка доступных полей можно выбрать текущее или все поля для того, чтобы поместить их в соответствующую коллекцию (команда "Выбрать все").
Доступные поля настройки компоновки данных отображаются в последовательности: вначале поля - не ресурсы по алфавиту заголовка, после них поля – ресурсы по алфавиту заголовка, и в конце списка – системные папки.
На закладке "Пользовательские поля" можно задать пользовательские поля (выбор или выражение), которые выводятся в результат компоновки. Полю-выбор следует задать Заголовок и выражение отбора, значение и представление. Полю-выражению можно задать Заголовок и выражения для детальных и итоговых записей.
Если полю или параметру установлен список доступных значений, то в настройках компоновки данных для параметра можно будет выбрать значение из этого списка, а в настройке отбора для поля можно будет выбрать значение поля из его списка доступных значений. При выводе значения параметра или поля, имеющих доступные значения, в результат компоновки вместо значения будет выводиться его представление из списка доступных значений.
Примечание. По умолчанию, везде, где используются поля, отображаются не заголовки полей, а пути к данным этих полей.
На закладке "Условное оформление" можно задавать "специфическое оформление" элементам компоновки.
На закладке "Другие параметры" в режиме "Текущий отчет" задаются параметры вывода отчета, в режиме "Текущий элемент..." задаются специфические параметры вывода элементов отчета.
На закладках "Отбор" и "Условное оформление" по кнопке "Подробно" становится доступной колонка "Представление", в которой отображаемым полям можно задавать имена, с которыми они будут выводиться в результат отчета.
Команда "Стандартная настройка" сменит все пользовательские изменения настроек отчета на стандартные.
Примечание 1. Если вложенный отчет был изменен на закладке "Вложенные схемы", чтобы изменения отразились в составляемом отчете, нужно удалить старый отчет и добавить новый.
Примечание 2. При генерации макета компоновки, система выдаст ошибку, если во вложенном отчете используется поле верхнего отчета, значение которого невозможно определить. Это происходит в случаях, когда отчет вложен в группировку по данному полю, либо когда отчет вложен в детальные записи.
Примечание 3. При размещении диаграммы в структуре отчета следует иметь в виду, что при выборе вида диаграммы "Круговая" если не заданы серии, но заданы точки, то в качестве серий системой будут автоматически использоваться точки. А при выборе вида диаграммы "График" если не заданы точки, но заданы серии, то в качестве точек будут использоваться серии.
Для настроек схемы компоновки данных может также использоваться конструктор настроек.
 

Verojer

New member
[h=1]Конструктор настроек компоновки данных[/h]

Конструктор настроек компоновки данных облегчает работу с параметрами вывода данных в отчете.
Вызов этого конструктора может привести к потере настроек, установленных вручную, поэтому на экране появится вопрос "Настройки, введенные вручную, будут утеряны. Продолжить?".
При ответе "Да" запустится конструктор настроек компоновки данных.
Выберите необходимый вид расположения данных и нажмите кнопку "Далее>". Если не нужно настраивать остальные параметры или хотите сделать это вручную, нажмите кнопку "OK". Чтобы прекратить конфигурирование настроек отчета нажмите "Отмена".
В открывшемся окне выбора полей, выберите поля, которые должны отображаться в отчете. Для этого можно использовать как кнопки, так и перетаскивание мышью.
Выбранные поля можно сортировать при помощи стрелок "вверх", "вниз".
Нажмите "Далее>" для перехода на следующий шаг настроек.
Для типа отчета "Таблица" можно указать группировки в строках, колонках и таблиц. Для типа отчета "Диаграмма" - в сериях, точках и таблицах.
В открытом окне выберите поля и тип группировки, в качестве которого могут выступать: "Без иерархии", "Иерархия", "Только иерархия".
После нажатия кнопки "Далее>" конструктор настроек переходит к выбору поля упорядочивания.

Поля упорядочивания выбираются аналогично полям группировок. Для каждого поля устанавливается направление сортировки.
Для типов отчета "Список" и "Таблица" на этом конфигурирование параметров в конструкторе настроек заканчивается. Для типа отчета "Диаграмма", после нажатия кнопки "Далее>", выбирается тип диаграммы.
Для сохранения выбранных настроек нажмите "ОК". Для отказа – "Отмена".
По окончании работы с конструктором настроек компоновки данных сохраненные настройки станут доступными для последующих изменений в окне конструктора схемы компоновки данных.
 

Verojer

New member
[h=1]Двуязычное представление ключевых слов системы компоновки данных[/h]

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

Русское написание
Английское
написание

В
IN
ВИДЫХАРАКТЕРИСТИК
CHARACTERISTICTYPES
ВЫБРАТЬ
CHOICE
ВЫРАЗИТЬ
CAST
ВЫЧИСЛИТЬ
EVALUATE
ВЫЧИСЛИТЬВЫРАЖЕНИЕ
EVALEXPRESSION
ВЫЧИСЛИТЬВЫРАЖЕНИЕСГРУППИРОВКОЙМАССИВ
EVALEXPRESSIONWITHGROUPARRAY
ВЫЧИСЛИТЬВЫРАЖЕНИЕСГРУППИРОВКОЙТАБЛИЦАЗНАЧЕНИЙ
EVALEXPRESSIONWITHGROUPVALUETABLE
ГОД
YEAR
ДАТАВРЕМЯ
DATETIME
ДЕНЬ
DAY
ДЕНЬГОДА
DAYOFYEAR
ДЕНЬНЕДЕЛИ
WEEKDAY
ДЛИНАСТРОКИ
STRINGLENGTH
ДОБАВИТЬКДАТЕ
DATEADD
ЕСТЬNULL
ISNULL
ЗНАЧЕНИЕЗАПОЛНЕНО
VALUEISFILLED
ЗНАЧЕНИЯХАРАКТЕРИСТИК
CHARACTERISTICVALUES
И
AND
ИЛИ
OR
ИСТИНА
TRUE
ГРУППОВАЯОБРАБОТКА
GROUPPROCESSING
КВАРТАЛ
QUARTER
КОЛИЧЕСТВО
QUANTITY
КОНЕЦПЕРИОДА
ENDOFPERIOD
ЛОЖЬ
FALSE
МАКСИМУМ
MAXIMUM
МАССИВ
ARRAY
МЕСЯЦ
MONTH
МИНИМУМ
MINIMUM
МИНУТА
MINUTE
НАЧАЛОПЕРИОДА
BEGINOFPERIOD
НЕ
NOT
НЕДЕЛЯ
WEEK
НОМЕРПОПОРЯДКУ
SEQUENCENUMBER
НОМЕРПОПОРЯДКУВГРУППИРОВКЕ
SEQUENCENUMBERINGROUPING
ПОДОБНО
LIKE
ПОДСТРОКА
SUBSTRING
ПОЛЕВИДА
TYPEFIELD
ПОЛЕЗНАЧЕНИЯ
VALUEFIELD
ПОЛЕИМЕНИ
NAMEFIELD
ПОЛЕКЛЮЧА
KEYFIELD
ПОЛЕОБЪЕКТА
OBJECTFIELD
ПОЛЕТИПАЗНАЧЕНИЯ
VALUETYPEFIELD
ПРЕДСТАВЛЕНИЕ
PRESENTATION
РАЗЛИЧНЫЕ
DISTINCT
РАЗНОСТЬДАТ
DATEDIFFERENCE
СВЕРНУТЬ
GROUPBY
СЕКУНДА
SECOND
СОЕДИНИТЬСТРОКИ
JOINSTRINGS
СПЕЦСИМВОЛ
ESCAPE
СРЕДНЕЕ
AVERAGE
СТРОКА
STRING
СУММА
SUM
ТАБЛИЦАЗНАЧЕНИЙ
VALUETABLE
ТИП
TYPE
УПОРЯДОЧИТЬ
ORDER
УРОВЕНЬ
LEVEL
УРОВЕНЬВГРУППИРОВКЕ
LEVELINGROUP
ФОРМАТ
FORMAT
ЧАС
HOUR

<tbody>
</tbody>
 

Verojer

New member
[h=1]Язык выражений системы компоновки данных[/h]

Общее
Литералы
Строка
Число
Дата
Булево
Значение
Язык выражений системы компоновки данных предназначен для записи выражений, используемых в различных частях системы.
Выражения используются в следующих подсистемах:
  • схема компоновки данных — для описания вычисляемых полей, полей итогов, выражений связи и т.д.;
  • настройки компоновки данных — для описания выражений пользовательских полей;
  • макет компоновки данных — для описания выражений связи наборов данных, описания параметров макета и т.д.
[h=2]Литералы[/h]В выражении могут присутствовать литералы. Возможны литералы следующих типов:
  • Строка;
  • Число;
  • Дата;
  • Булево.
[h=3]Строка[/h]Строковый литерал записывается в символах «”», например:
“Строковой литерал“
При необходимости использования внутри строкового литерала символа «”», следует использовать два таких символов.
Например:
“Литерал ““в кавычках“““
[h=3]Число[/h]Число записывается без пробелов, в десятичном формате. Дробная часть отделяется при помощи символа «.». Например:
10.5
200

[h=3]Дата[/h]Литерал типа дата записывается при помощи ключевого литерала ДАТАВРЕМЯ (DATETIME). После данного ключевого слова, в скобках, через запятую перечисляются год, месяц, день, часы, минуты, секунды. Указание времени не обязательно.
Например:
ДАТАВРЕМЯ(1975, 1, 06) – Шестое января 1975 года
ДАТАВРЕМЯ(2006, 12, 2, 23, 56, 57) – Второе декабря 2006 года, 23 часа 56 минут 57 секундода, 23 часа 56 минут 57 секунд

[h=3]Булево[/h]Булевы значения могут быть записаны при помощи литералов Истина (True), Ложь (False).
[h=3]Значение[/h]Для указания литералов других типов (системных перечислений, предопределенных данных) используется ключевое слово Значение, после которого в скобках идет указание имени литерала.
Значение(ВидСчета. Активный)
 

Verojer

New member
[h=1]Операции над числами[/h]

Унарный –
Унарный +
Бинарный -
Бинарный +
Произведение
Деление
Остаток от деления
[h=2]Унарный –[/h]Данная операция предназначена для изменения знака числа на обратный. Например:
-Продажи.Количество
[h=2]Унарный +[/h]Данная операция не выполняет над числом никаких действий. Например:
+Продажи.Количество
[h=2]Бинарный -[/h]Данная операция предназначена для вычисления разности двух чисел. Например:
ОстаткиИОбороты.НачальныйОстаток – ОстаткиИОбороты.КонечныйОстаток
ОстаткиИОбороты.НачальныйОстаток - 100
400 – 357

[h=2]Бинарный +[/h]Данная операция предназначена для вычисления суммы двух чисел. Например:
ОстаткиИОбороты.НачальныйОстаток + ОстаткиИОбороты.Оборот
ОстаткиИОбороты.НачальныйОстаток + 100
400 + 357

[h=2]Произведение[/h]Данная операция предназначена для вычисления произведения двух чисел. Например:
Номенклатура.Цена * 1.2
2 * 3.14

[h=2]Деление[/h]Данная операция предназначена для получения результата деления одного операнда на другой. Например:
Номенклатура.Цена / 1.2
2 / 3.14

[h=2]Остаток от деления[/h]Данная операция предназначена для получения остатка от деления одного операнда на другой. Например:
Номенклатура.Цена % 1.2
2 % 3.14

 

Verojer

New member
[h=1]Операции над строками[/h]

[h=2]Конкатенация (Бинарный +)[/h]Данная операция предназначена для конкатенации двух строк. Например:
Номенклатура.Артикул + “: ”+ Номенклатура.Наименование
[h=2]Подобно (Like)[/h]Данная операция проверяет соответствие строки переданному шаблону.
Значением оператора ПОДОБНО является ИСТИНА, если значение <Выражения> удовлетворяет шаблону, и ЛОЖЬ в противном случае.
Следующие символы в <Строке_шаблона> имеют смысл, отличный от просто очередного символа строки:
  • % - процент: последовательность, содержащая ноль и более произвольных символов;
  • _ - подчеркивание: один произвольный символ;
  • […] - один или несколько символов в квадратных скобках: один символ, любой из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z, означающие произвольный символ, входящий в диапазон, включая концы диапазона;
  • [^…] - в квадратных скобках значок отрицания, за которым следует один или несколько символов: любой символ, кроме тех, которые перечислены следом за значком отрицания;
Любой другой символ означает сам себя и не несет никакой дополнительной нагрузки. Если в качестве самого себя необходимо записать один из перечисленных символов, то ему должен предшествовать <Спецсимвол>, указанный после ключевого слова СПЕЦСИМВОЛ (ESCAPE).
Например, шаблон
“%АБВ[0-9][абвг]\_абв%” СПЕЦСИМВОЛ “\”
означает подстроку, состоящую из последовательности символов: буквы А; буквы Б; буквы В; одной цифры; одной из букв а, б, в или г; символа подчеркивания; буквы а; буквы б; буквы в. Причем эта последовательность может располагаться, начиная с произвольной позиции в строке.
 

Verojer

New member
[h=1]Операции сравнения[/h]

Равно
Не равно
Меньше
Больше
Меньше или равно
Больше или равно
Операция В
Операция проверки наличия значения в наборе данных
Операция проверки значения на NULL
Операция проверки значения на неравенство NULL
[h=2]Равно[/h]Данная операция предназначена для сравнения двух операндов на равенство. Например:
Продажи.Контрагент = Продажи.НоменклатураОсновнойПоставщик
[h=2]Не равно[/h]Данная операция предназначена для сравнения двух операндов на неравенство. Например:
Продажи.Контрагент <> Продажи.НоменклатураОсновнойПоставщик
[h=2]Меньше[/h]Данная операция предназначена для проверки того, что первый операнд меньше второго. Например:
ПродажиТекщие.Сумма < ПродажиПрошлые.Сумма
[h=2]Больше[/h]Данная операция предназначена для проверки того, что первый операнд больше второго. Например:
ПродажиТекщие.Сумма > ПродажиПрошлые.Сумма
[h=2]Меньше или равно[/h]Данная операция предназначена для проверки того, что первый операнд меньше либо равен второму. Например:
ПродажиТекщие.Сумма <= ПродажиПрошлые.Сумма
[h=2]Больше или равно[/h]Данная операция предназначена для проверки того, что первый операнд больше либо равен второму. Например:
ПродажиТекщие.Сумма >= ПродажиПрошлые.Сумма
[h=2]Операция В (IN)[/h]Данная операция осуществляет проверку наличия значения в переданном списке значений. Результатом операции будет Истина, в случае, если значение найдено, или Ложь - в противном случае. Например:
Номенклатура В (&Товар1, &Товар2)
[h=2]Операция проверки наличия значения в наборе данных[/h]Операция осуществляет проверку наличия значения в указанном наборе данных. Набор данных для проверки должен содержать одно поле. Например:
Продажи.Контрагент В Контрагенты
[h=2]Операция проверки значения на NULL[/h]Данная операция возвращает значение Истина в случае, если значение является значением NULL. Например:
Продажи.Контрагент ЕСТЬ NULL
[h=2]Операция проверки значения на неравенство NULL[/h]Данная операция возвращает значение Истина в случае, если значение не является значением NULL. Например:
Продажи.Контрагент ЕСТЬ НЕ NULL
 

Verojer

New member
[h=1]Логические операции[/h]

Операция НЕ
Операция И
Операция ИЛИ
Логические операции принимают в качестве операндов выражения, имеющие тип Булево.
[h=2]Операция НЕ (NOT)[/h]Операция НЕ возвращает значение Истина в случае, если ее операнд имеет значение Ложь, и значение Ложь в случае, если ее операнд имеет значение Истина. Например:
НЕ Документ.Грузополучатель = Документ.Грузоотправитель
[h=2]Операция И (AND)[/h]Операция И возвращает значение Истина в случае, если оба операнда имеют значение Истина, и значение Ложь в случае, если один из операндов имеет значение Ложь. Например:
Документ.Грузополучатель = Документ.Грузоотправитель И Документ.Грузополучатель = &Контрагент
[h=2]Операция ИЛИ (OR)[/h]Операция ИЛИ возвращает значение Истина в случае, если один из операндов имеет значение Истина, и Ложь в случае, если оба операнда имеют значение Ложь. Например:
Документ.Грузополучатель = Документ.Грузоотправитель ИЛИ Документ.Грузополучатель = &Контрагент
 

Verojer

New member
[h=1]Агрегатные функции[/h]

Сумма
Количество
Количество различных
Максимум
Минимум
Среднее
Массив
ТаблицаЗначений
Свернуть
ПолучитьЧасть
Упорядочить
СоединитьСтроки
ГрупповаяОбработка
Агрегатные функции осуществляют некоторое действие над набором данных.
[h=2]Сумма (Total)[/h]Агрегатная функция Сумма рассчитывает сумму значений выражений, переданных ей в качестве аргумента для всех детальных записей. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.
Пример:
Сумма(Продажи.СуммаОборот)
[h=2]Количество (Count)[/h]Функция Количество рассчитывает количество значений отличных от значения NULL. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.
Пример:
Количество(Продажи.Контрагент)
[h=2]Количество различных[/h]Эта функция рассчитывает количество различных значений. В указания получения различных значений следует перед параметром метода Количество указать Различные (Distinct). В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.
Пример:
Количество(Различные Продажи.Контрагент)
[h=2]Максимум (Maximum)[/h]Функция получает максимальное значение. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.
Пример:
Максимум(Остатки.Количество)
[h=2]Минимум (Minimum)[/h]Функция получает минимальное значение. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.
Пример:
Минимум(Остатки.Количество)
[h=2]Среднее (Average)[/h]Функция получает среднее значение для значений, отличных от NULL. В качестве параметра можно передавать Массив. В этом случае функция будет применена к содержимому массива.
Пример:
Среднее(Остатки.Количество)
[h=2]Массив (Array)[/h]Функция формирует массив, содержащий для каждой детальной записи значение параметра.
Синтаксис:
Массив([Различные] Выражение)
В качестве параметра можно использовать таблицу значений. При этом результатом работы функции будет массив, содержащий значения первой колонки таблицы значений, переданной в качестве параметра.
Если выражение содержит функцию Массив, то считается, что данное выражение является агрегатным.
Если указано ключевое слово Различные, то получаемый массив не будет содержать дублирующихся значений.
Пример:
Массив(Контрагент)
[h=2]ТаблицаЗначений (ValueTable)[/h]Функция формирует таблицу значений, содержащую столько колонок, сколько параметров у функции. Детальные записи получаются из наборов данных, которые нужны для получения всех полей, участвующих в выражениях параметров функции.
Синтаксис:
ТаблицаЗначений([Различные] Выражение1 [КАК ИмяКолонки1][, Выражение2 [КАК ИмяКолонки2],...])
Если параметрами функции выступают поля–остатки, то в результирующую таблицу значений попадут значения для записей по уникальным комбинациям измерений из других периодов. При этом значения получаются только для полей-остатков, измерений, счетов, полей периодов и их реквизитов. Значениями остальных полей в записях из других периодов считаются равными NULL.
Если выражение содержит функцию ТаблицаЗначений, то считается, что данное выражение является агрегатным.
Если указано ключевое слово Различные, то в получаемой таблице значений не будет строк, содержащих одинаковые данные.
После каждого параметра может располагаться необязательное ключевое слово КАК и имя, которое будет назначено колонке таблицы значений.
Пример:
ТаблицаЗначений(Различные Номенклатура, ХарактеристикаНоменклатуры КАК Характеристика)
[h=2]Свернуть (GroupBy)[/h]Функция предназначена для удаления дубликатов из массива.
Синтаксис:
Свернуть(Выражение, НомераКолонок)
Параметры:
  • Выражение - выражение типа Массив или ТаблицаЗначений, значения элементов которого нужно свернуть;
  • НомераКолонок - (если выражение имеет тип ТаблицаЗначений) тип Строка. Номера или имена (через запятую) колонок таблицы значений, среди которых нужно искать дубликаты. По умолчанию – все колонки.
Пример:
Свернуть(ТаблицаЗначений(НомерТелефона, Адрес) ,"НомерТелефона");
[h=2]ПолучитьЧасть (GetPart)[/h]Функция получает таблицу значений, содержащую определенные колонки из исходной таблицы значений.
Синтаксис:
ПолучитьЧасть(Выражение, НомераКолонок)
Параметры:
  • Выражение - тип ТаблицаЗначений. Таблица значений, из которой нужно получить колонки;
  • НомераКолонок - тип Строка. Номера или имена (через запятую) колонок таблицы значений, которые нужно получить.
Возвращаемое значение: ТаблицаЗначений, в которой имеются только колонки, которые указаные в параметре.
Пример:
ПолучитьЧасть(Свернуть(ТаблицаЗначений(НомерТелефона, Адрес) ,"НомерТелефона"),"НомерТелефона");
[h=2]Упорядочить (Order)[/h]Предназначена для упорядочивания элементов массива и таблицы значений.
Синтаксис:
Упорядочить(Выражение, НомераКолонок)
Параметры:
  • Выражение - Массив или ТаблицаЗначений, из которой нужно получить колонки;
  • НомераКолонок - (если выражение имеет тип ТаблицаЗначений) номера или имена (через запятую) колонок таблицы значений, по которым нужно упорядочить. Может содержать направление упорядочивания и необходимость автоупорядочивания: Убыв/Возр + Автоупорядочивание.
Возвращаемое значение: Массив или ТаблицаЗначений, с упорядоченными элементами.
Пример:
Упорядочить(ТаблицаЗначений(НомерТелефона, Адрес, ДатаЗвонка),"ДатаЗвонка Убыв");
[h=2]СоединитьСтроки (JoinStrings)[/h]Предназначена для объединения строк в одну строку.
Синтаксис:
СоединитьСтроки (Значение, РазделительЭлементов, РазделителиКолонок)
Параметры:
  • Значение - выражения, которые нужно объединить в одну строку. Если является Массивом, то в строку будут объединяться элементы массива. Если является ТаблицаЗначений, то в строку будут объединяться все колонки и строки таблицы;
  • РазделительЭлементов - строка, содержащая текст, который нужно использовать в качестве разделителя между элементами массива и строками таблицы значений. По умолчанию – символ перевода строк;
  • РазделителиКолонок -строка, содержащая текст, который нужно использовать в качестве разделителя между колонками таблицы значений. По умолчанию "; ".
Пример:
СоединитьСтроки(ТаблицаЗначений(НомерТелефона, Адрес));
[h=2]ГрупповаяОбработка (GroupProcessing)[/h]Возвращает объект ДанныеГрупповойОбработкиКомпоновкиДанных. В объект в свойство Данные помещается в виде таблицы значений значения группировок для каждого выражения, указанного в параметре функции Выражения. В случае использования иерархической группировки каждый уровень иерархии обрабатывается отдельно. Значения для иерархических записей также помещаются в данные.
В свойство ТекущийЭлемент объекта помещается строка таблицы значений, для которой в настоящий момент вычисляется функция.
Синтаксис:
ГрупповаяОбработка(Выражения, ВыраженияИерархии, ИмяГруппировки)
Параметры:
  • Выражения. Выражения, которые нужно вычислить. Строка, в которой через запятую перечислены выражения, которые нужно вычислить. После каждого выражение возможно наличие необязательного ключевого слова КАК и имени колонки результирующей таблицы значений. Каждое выражение образует колонку таблицы значений свойства Данные объекта ДанныеГрупповойОбработкиКомпоновкиДанных.
  • ВыраженияИерархии. Выражения, которые нужно вычислить для иерархических записей. Аналогично параметру Выражения с тем отличием, что параметр ВыраженияИерархии используется для иерархических записей. Если параметр не указан, то для вычисления значений для иерархических записей используется выражения, указанные в параметре Выражение.
  • ИмяГруппировки. Имя группировки, в которой нужно вычислять группировку обработки. Строка. Если не указано, то вычисление происходит в текущей группировке. Если вычисление идет в таблице и параметр содержит пустую строку, или не указан, то значение вычисляется для группировки – строки. Компоновщик макета при генерации макета компоновки данных заменяет данное имя на имя группировки в результирующем макете. Если группировка не доступна, то функция будет заменена на значение NULL.
 

Verojer

New member
[h=1]Другие операции[/h]

[h=2]Операция ВЫБОР[/h]Операция Выбор предназначена для осуществления выбора одного из нескольких значений при выполнении некоторых условий. Например:
Выбор Когда Сумма > 1000 Тогда Сумма Иначе 0 Конец
 

Verojer

New member
[h=1]Правила сравнения двух значений[/h]

Если типы сравниваемых значений отличаются друг от друга, то отношения между значениями определяются на основании приоритета типов:
  • NULL (самый низший);
  • Булево;
  • Число;
  • Дата;
  • Строка;
  • Ссылочные типы
Отношения между различными ссылочными типами определяются на основе ссылочных номеров таблиц, соответствующих тому или иному типу.
Если типы данных совпадают, то производится сравнение значений по следующим правилам:
  • у типа Булево значение ИСТИНА больше значения ЛОЖЬ;
  • у типа Число обычные правила сравнения для чисел;
  • у типа Дата более ранние даты меньше более поздних;
  • у типа Строка - сравнения строк в соответствии с установленными национальными особенностями базы данных;
  • ссылочные типы сравниваются на основе своих значений (номера записи и т. п.).
 

Verojer

New member
[h=1]Работа со значением NULL[/h]

Любая операция, в которой значение одного из операндов NULL, будет давать результат NULL.
Есть исключения:
  • операция И будут возвращать NULL только в случае, если ни один из операндов не имеет значение Ложь;
  • операция ИЛИ будет возвращать NULL только в случае, если ни один из операндов не имеет значение Истина.
 

Verojer

New member
[h=1]Приоритеты операций[/h]

Операции имеют следующие приоритеты (первая строка имеет низший приоритет):
  • ИЛИ;
  • И;
  • НЕ;
  • В, ЕСТЬ NULL, ЕСТЬ НЕ NULL;
  • =, <>, <=, <, >=, >;
  • Бинарный +, Бинарный – ;
  • *, /, %;
  • Унарный +, Унарный -.
 

Verojer

New member
[h=1]Функции языка выражений системы компоновки данных[/h]

Вычислить
ВычислитьВыражение
ВычислитьВыражениеСГруппировкойМассив
ВычислитьВыражениеСГруппировкойТаблицаЗначений
Уровень
НомерПоПорядку
НомерПоПорядкуВГруппировке
Формат
НачалоПериода
КонецПериода
ДобавитьКДате
РазностьДат
Подстрока
ДлинаСтроки
Год
Квартал
Месяц
ДеньГода
День
Неделя
ДеньНедели
Час
Минута
Секунда
Выразить
ЕстьNull
Функции общих модулей
Представление
Строка
ЗначениеЗаполнено
УровеньВГруппировке
[h=2]Вычислить (Evaluate)[/h]Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки.
Синтаксис:
Вычислить(Выражение, Группировка, ТипРасчета)
Параметры:
  • Выражение. Тип Строка. Содержит вычисляемое выражение;
  • Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например:
Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")
В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке.
  • ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки. В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки.
[h=2]ВычислитьВыражение (EvalExpression)[/h]Функция Вычислить предназначена для вычисления выражения в контексте некоторой группировки.
Синтаксис:
ВычислитьВыражение(Выражение, Группировка, ТипРасчета, Начало, Конец, Сортировка, ИерархическаяСортировка, ОбработкаОдинаковыхЗначенийПорядка)
Параметры:
  • Выражение. Тип Строка. Содержит вычисляемое выражение;
  • Группировка. Тип Строка. Содержит имя группировки, в контексте которой необходимо вычислить выражение. В случае если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. В случае если в качестве имени группировки будет использована строка ОбщийИтог, вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем. Например:
Сумма(Продажи.СуммаОборот) / Вычислить("Сумма(Продажи.СуммаОборот)", "ОбщийИтог")
В данном примере в результате получится отношение суммы по полю "Продажи.СуммаОборот" записи группировки к сумме того же поля во всей компоновке;
  • ТипРасчета. Тип Строка. В случае если данный параметр имеет значение "ОбщийИтог", выражение будет вычисляться для всех записей группировки.
    В случае если значение параметра "Группировка", значения будут вычисляться для текущей групповой записи группировки.
    Если параметр имеет значение "ГруппировкаНеРесурса", то при вычислении функции для групповой записи по ресурсам, выражение будет вычислено для первой групповой записи исходной группировки.
    При вычислении функции ВычислитьВыражение со значением "ГруппировкаНеРесурса" для групповых записей, не являющихся группировками по ресурсам, функция вычисляется так же, как бы она вычислялась со значением параметра "Группировка".
    Компоновщик макета компоновки данных при генерации макета компоновки данных при выводе в макет поля – ресурса, по которому выполняется группировка, выдает в макет выражение, вычисляемое при помощи функции ВычислитьВыражение, с указанным параметром "ГруппировкаНеРесурса". Для остальных ресурсов в группировке по ресурсу выдаются обычные выражения ресурсов.
    Если параметр имеет значение "Иерархия", то выражение нужно вычислять для родительской иерархической записи, если таковая имеется, и для всей группировки, если родительской иерархической записи не имеется. Компоновщик макета при генерации выражения для поля "% в группе иерархии" генерирует выражение, содержащее отношение выражения ресурса к функции ВычислитьВыражение для выражения ресурса, вычисляемого для текущей группировки с типом вычисления "Иерархия".
  • Начало. Указывает, с какой записи нужно начинать фрагмент, в котором рассчитывать агрегатные функции выражения и из какой записи получать значения полей вне агрегатных функций. Строка, содержащая одно из:
    • "Первая" ("First"). Необходимо получать первую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от начала группировки. Получаемое значение должно целым быть числом, больше нуля.
      Например, Первая(3) – получение третьей записи от начала группировки.
      Если первая запись выходит за пределы группировки, то считается, что записей нет.
      Например, если записей 3, а требуется получить Первая(4), то считается, что записей нет.
    • "Последняя" ("Last"). Необходимо получить последнюю запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от конца группировки. Получаемое значение должно целым быть числом, больше нуля.
      Например, Последняя(3) – получение третьей записи от конца группировки.
      Если последняя запись выходит за пределы группировки, то считается, что записей нет.
      Например, если записей 3, а требуется получить Последняя(4), то считается, что записей нет.
    • "Предыдущая" ("Previous"). Необходимо получить предыдущую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение назад от текущей записи группировки.
      Например, Предыдущая(2) – получение предыдущей от предыдущей записи.
      Если предыдущая запись выходит за пределы группировки (например, для второй записи группировки требуется получить Предыдущая(3)), то получается первая запись группировки.
      При получении предыдущей записи для итога по группировке считается, получается первая запись.
    • "Следующая" ("Next"). Необходимо получить следующую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение вперед от текущей записи группировки.
      Например, Следующая(2) – получение следующей от следующей записи.
      Если следующая запись выходит за пределы группировки, то считается, что записей нет.
      Например, если записей 3 и для третьей записи получают Следующая, то считается, что записей нет.
      При получении следующей записи для итога по группировке считается, что записи нет.
    • "Текущая" ("Current"). Необходимо получить текущую запись.
      При получении для итога по группировке получается первая запись.
    • "ОграничивающееЗначение" ("BoundaryValue"). Необходимость получить запись по указанному значению. После слова ОграничивающееЗначение в скобках нужно указать выражение, со значения которого нужно начинать фрагмент, первого поля упорядочивания.
      В качестве записи будет получаться первая запись, значение поля упорядочивания у которой больше или равно указанному значению.
      Например, если в качестве поля упорядочивания используется поле Период, и оно имеет значения 01.01.2010, 01.02.2010, 01.03.2010, и требуется получить ОграничивающееЗначение(ДатаВремя(2010, 1, 15)), то будет получена запись с датой 01.02.2010.
  • Конец. Указывает, до какой записи нужно продолжать фрагмент, в котором рассчитывать агрегатное выражение. Строка, содержащая одно из:
    • "Первая" ("First"). Необходимо получать первую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от начала группировки. Получаемое значение должно целым быть числом, больше нуля. Например, Первая(3) – получение третьей записи от начала группировки.
      Если первая запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Первая(4), то считается, что записей нет.
    • "Последняя" ("Last"). Необходимо получить последнюю запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение от конца группировки. Получаемое значение должно целым быть числом, больше нуля. Например, Последняя(3) – получение третьей записи от конца группировки.
      Если последняя запись выходит за пределы группировки, то считается, что записей нет. Например, если записей 3, а требуется получить Последняя(4), то считается, что записей нет.
    • "Предыдущая" ("Previous"). Необходимо получить предыдущую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение назад от текущей записи группировки. Например, Предыдущая(2) – получение предыдущей от предыдущей записи.
      Если предыдущая запись выходит за пределы группировки (например, для второй записи группировки требуется получить Предыдущая(3)), то считается, что записей нет.
      При получении предыдущей записи для итога по группировке считается, получается последняя запись.
    • "Следующая" ("Next"). Необходимо получить следующую запись группировки. После слова в скобках можно указывать выражение, результат которого будет использоваться как смещение вперед от текущей записи группировки. Например, Следующая(2) – получение следующей от следующей записи.
      Если следующая запись выходит за пределы группировки, получается последняя запись. Например, если записей 3 и для третьей записи получают Следующая, то получается третья запись.
      При получении следующей записи для итога по группировке считается, что записи нет.
    • "Текущая" ("Current"). Необходимо получить текущую запись.
      При получении для итога по группировке получается первая запись.
    • "ОграничивающееЗначение" ("BoundaryValue"). Необходимость получить запись по указанному значению. После слова ОграничивающееЗначение в скобках нужно указать выражение, со значения которого нужно начинать фрагмент, первого поля упорядочивания.
      В качестве записи будет получаться последняя запись, значение поля упорядочивания у которой меньше или равно указанному значению. Например, если в качестве поля упорядочивания используется поле Период, и оно имеет значения 01.01.2010, 01.02.2010, 01.03.2010, и требуется получить ОграничивающееЗначение(ДатаВремя(2010, 1, 15)), то будет получена запись с датой 01.01.2010.
  • Сортировка. Строка, в которой перечисляются выражения, разделенные запятыми, в направлении которых нужно упорядочивать последовательность. Если не указана, то упорядочивание выполняется также как и у группировки, для которой вычисляется выражение. После каждого выражения можно указать ключевое слово Возр, для упорядочивания по возрастанию, Убыв, для упорядочивания по убывания, Автоупорядочивание, для упорядочивания ссылочных полей по полям, по которым нужно упорядочивать объект, на который выполняется ссылка. Слово Автоупорядочивание может использоваться как со словом Возр, так и со словом Убыв.
  • ИерархическаяСортировка. Аналогично сортировке. Применяется для упорядочивания иерархических записей. Если не указано, компоновщик макета генерирует упорядочивание в соответствии с упорядочиванием, указанным в параметре Сортировка.
  • ОбработкаОдинаковыхЗначенийПорядка. Строка, содержащее одно из:
    • "Вместе" ("Together") - обозначает, что для определения предыдущей и следующей записей используется последовательность упорядоченных записей;
    • "Отдельно" ("Separately") - обозначает, что предыдущая и следующие записи определяются на основании значений выражений упорядочивания;
Например, если полученная последовательность упорядочена по дате:
1. 01 января 2001 Иванов М. 10
2. 02 января 2001 Петров С. 20
3. 02 января 2001 Сидоров Р. 30
4. 03 января 2001 Петров С. 40
При использовании обработки одинаковых значений порядка "Отдельно", предыдущей к записи 3 будет запись 2, а при использовании "Вместе" - запись 1. А фрагментом для текущей записи к записи 2 для "Отдельно" будет запись 2, а для "Вместе" - записи 2 и 3. Таким образом, сумма по текущей записи для "Отдельно" составит 20, а для "Вместе" - 50.
При указанном "Вместе" в параметрах Начало и Конец нельзя указывать смещение для позиций "Первая", "Последняя", "Предыдущая", "Следующая".
Значение по умолчанию "Отдельно".
Примечания:
Функция учитывает отбор группировок, но не учитывает иерархические отборы.
Функция не может применяться к группировке в групповом отборе этой группировки. Например, в отборе группировки Номенклатура нельзя использовать выражение ВычислитьВыражение("Сумма(СуммаОборот)", , "ОбщийИтог") > 1000. Но такое выражение можно использовать в иерархическом отборе.
Если конечная запись предшествует начальной, то считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют.
При расчете интервальных выражений для общего итога (параметр Группировка имеет значение "ОбщийИтог") считается, что записи для расчета детальных данных и расчета агрегатных функций отсутствуют.
Компоновщик макета при генерации выражения функции ВычислитьВыражение, в случае если выражение упорядочивания содержит поля, которые не могут быть использованы в группировке, заменяет функцию ВычислитьВыражение на NULL.
[h=2]ВычислитьВыражениеСГруппировкойМассив (EvalExpressionWithGroupArray)[/h]Синтаксис:
ВычислитьВыражениеСГруппировкойМассив (Выражение, ВыраженияПолейГруппировки, ОтборЗаписей, ОтборГруппировок)
Параметры:
  • Выражение - выражение, которое нужно вычислить. Тип Строка. Например, "Сумма(СуммаОборот)";
  • ВыраженияПолейГруппировки - выражения полей группировки, перечисленные через запятую. Например, "Контрагент, Партия";
  • ОтборЗаписей - выражение, применяемое к детальным записям. Например, "ПометкаУдаления = Ложь";
  • ОтборГруппировок - отбор, применяемый к групповым записям. Например: "Сумма(СуммаОборот) > &Параметр1".
Функция возвращает массив, каждый элемент которого содержит результат вычисления выражения для группировки по указанному полю.
Пример:
Максимум(ВычислитьВыражениеСГруппировкойМассив ("Сумма(СуммаОборот)", "Контрагент"));
Компоновщик макета при генерации макета преобразовывает параметры функции в термины полей макета компоновки данных. Например, поле Контрагент будет конвертировано в НаборДанных.Контрагент.
Компоновщик макета при генерации выражений для вывода пользовательского поля, в выражении которого присутствует только функция ВычислитьМассивСГруппировкой генерирует выводимое выражение таким образом, чтобы данные выводить представления и данные были упорядочены.
Например, для пользовательского поля с выражением:
ВычислитьВыражениеСГруппировкойМассив("Сумма(СуммаОборот)", "Контрагент")
компоновщик макета сгенерирует для вывода следующее выражение:
СоединитьСтроки(Массив(Упорядочить(ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Представление(Сумма(НаборДанных.СуммаОборот)), Сумма(НаборДанных.СуммаОборот)", "НаборДанных.Контрагент"), "2")))
[h=2]ВычислитьВыражениеСГруппировкойТаблицаЗначений (EvalExpressionWithGroupValueTable)[/h]Синтаксис:
ВычислитьВыражениеСГруппировкойТаблицаЗначений (Выражение, ВыраженияПолейГруппировки, ОтборЗаписей, ОтборГруппировок)
Параметры:
Параметры:
  • Выражение - выражение, которое нужно вычислить. Тип Строка. В строке может быть перечислено несколько выражений через запятую. После каждого выражения может быть необязательное ключевое слово КАК и имя колонки таблицы значений. Например: "Контрагент, Сумма(СуммаОборот) Как ОбъемПродаж".
  • ВыраженияПолейГруппировки - выражения полей группировки, перечисленные через запятую. Например, "Контрагент, Партия";
  • ОтборЗаписей - выражение, применяемое к детальным записям. Например, "ПометкаУдаления = Ложь";
  • ОтборГруппировок - отбор, применяемый к групповым записям. Например: "Сумма(СуммаОборот) > &Параметр1".
Функция возвращает таблицу значений, каждый элемент которого содержит результат вычисления выражения для группировки по указанному полю.
Пример:
ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Контрагент КАК Контрагент, Сумма(СуммаОборот) Как ОбъемПродаж", "Контрагент")
Результатом работы данной функции будет таблица значений с колонками Контрагент и ОбъемПродаж, в которых будут находиться контрагенты с их объемами продаж.
Компоновщик макета при генерации макета преобразовывает параметры функции в термины полей макета компоновки данных. Например, поле Контрагент будет конвертировано в НаборДанных.Контрагент.
Например, пользовательского поля с выражением:
ВычислитьВыражениеСГруппировкойТаблицаЗначений ("Контрагент, Сумма(СуммаОборот)", "Контрагент")
Компоновщик макета сгенерирует для вывода следующее выражение:
СоединитьСтроки(ПолучитьЧасть(Упорядочить(ВычислитьВыражениеСГруппировкойТаблицаЗначений ("НаборДанных.Контрагент, НаборДанных.КонтрагентПредставление, Сумма(НаборДанных.СуммаОборот), Представление(НаборДанных.СуммаОборот), НаборДанных.ПолеУпорядочивание", "НаборДанных.Контрагент"), "5, 1, 3"), "2, 4"))
[h=2]Уровень (Level)[/h]Функция предназначена для получения текущего уровня записи.
Пример:
Уровень()
[h=2]НомерПоПорядку (SequenceNumber)[/h]Получить следующий порядковый номер.
Пример:
НомерПоПорядку()
[h=2]НомерПоПорядкуВГруппировке (SequenceNumberInGrouping)[/h]Возвращает следующий порядковый номер в текущей группировке.
Пример:
НомерПоПорядкуВГруппировке()
[h=2]Формат (Format)[/h]Получить отформатированную строку переданного значения.
Синтаксис:
Формат(Значение, ФорматнаяСтрока)
Параметры:
  • Значение - выражение, которое требуется отформатировать;
  • ФорматнаяСтрока - форматная строка задается в соответствии с форматной строкой 1С:Предприятие.
Пример:
Формат(РасходныеНакладные.СуммаДок, "ЧДЦ=2")
[h=2]НачалоПериода (BeginOfPeriod)[/h]Функция предназначена для выделения определенной даты из заданной даты.
Синтаксис:
НачалоПериода(Дата, ТипПериода)
Параметры:
  • Дата - тип Дата. Заданная дата;
  • ТипПериода - тип Строка. Содержит одно из значений:
    • Минута;
    • Час;
    • День;
    • Неделя;
    • Месяц;
    • Квартал;
    • Год;
    • Декада;
    • Полугодие.
Пример:
НачалоПериода(ДатаВремя(2002, 10, 12, 10, 15, 34), "Месяц")
Результат:
01.10.2002 0:00:00
[h=2]КонецПериода (EndOfPeriod)[/h]Функция предназначена для выделения определенной даты из заданной даты.
Синтаксис:
КонецПериода(Дата, ТипПериода)
Параметры:
  • Дата - тип Дата. Заданная дата;
  • ТипПериода - тип Строка. Содержит одно из значений:
    • Минута;
    • Час;
    • День;
    • Неделя;
    • Месяц;
    • Квартал;
    • Год;
    • Декада;
    • Полугодие.
Пример:
КонецПериода(ДатаВремя(2002, 10, 12, 10, 15, 34), "Неделя")
Результат:
13.10.2002 23:59:59
[h=2]ДобавитьКДате (DateAdd)[/h]Функция предназначена для прибавления к дате некоторой величины.
Синтаксис:
ДобавитьКДате(Выражение, ТипУвеличения, Величина )
Параметры:
  • Выражение - тип Дата. Исходная дата;
  • ТипУвеличения - тип Строка. Содержит одно из значений:
    • Минута;
    • Час;
    • День;
    • Неделя;
    • Месяц;
    • Квартал;
    • Год;
    • Декада;
    • Полугодие.
  • Величина – на сколько необходимо увеличить дату. Тип Число. Дробная часть игнорируется.
Пример:
ДобавитьКДате(ДатаВремя(2002, 10, 12, 10, 15, 34), "Месяц", 1)
Результат:
12.11.2002 10:15:34
[h=2]РазностьДат (DateDifference)[/h]Функция предназначена для получения разницы между двумя датами.
Синтаксис:
РазностьДат(Выражение1 , Выражение2 , ТипРазности)
Параметры:
  • Выражение1 - тип Дата. Исходная дата;
  • Выражение2 - тип Дата. Вычитаемая дата;
  • ТипРазности - тип Строка. Содержит одно из значений:
    • Секунда;
    • Минута;
    • Час;
    • День;
    • Месяц;
    • Квартал;
    • Год.
Пример:
РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34),
ДАТАВРЕМЯ(2002, 10, 14, 9, 18, 06), "ДЕНЬ")
Результат:
2
[h=2]Подстрока (Substring)[/h]Данная функция предназначена для выделения подстроки из строки.
Синтаксис:
Подстрока(Строка, Позиция, Длина)
Параметры:
  • Строка - тип Строка. Строка, из которой выделяют подстроку;
  • Позиция - тип Число. Позиция символа, с которого начинается выделяемая из строки подстрока;
  • Длина - тип Число. Длина выделяемой подстроки.
Пример:
ПОДСТРОКА(Контрагенты.Адрес, 1, 4)
[h=2]ДлинаСтроки (StringLength)[/h]Функция предназначена для определения длины строки.
Синтаксис:
ДлинаСтроки(Строка)
Параметр:
  • Строка - тип Строка. Строка, длину которой определяют.
Пример:
Строка(Контрагенты.Адрес)
[h=2]Год (Year)[/h]Данная функция предназначена для выделения года из значения типа Дата.
Синтаксис:
Год(Дата)
Параметр:
  • Дата - тип Дата. Дата, по которой определяют год.
Пример:
ГОД(РасхНакл.Дата)
[h=2]Квартал (Quarter)[/h]Данная функция предназначена для выделения номера квартала из значения типа Дата. Номер квартала в норме находится в диапазоне от 1 до 4.
Синтаксис:
Квартал(Дата)
Параметр
  • Дата - тип Дата. Дата, по которой определяют квартал
Пример:
КВАРТАЛ(РасхНакл.Дата)
[h=2]Месяц (Month)[/h]Данная функция предназначена для выделения номера месяца из значения типа Дата. Номер месяца в норме находится в диапа-зоне от 1 до 12.

Синтаксис:

Месяц(Дата)
Параметр:
  • Дата - тип Дата. Дата, по которой определяют месяц.
Пример:
МЕСЯЦ(РасхНакл.Дата)
[h=2]ДеньГода (DayOfYearv8help://dcsui/SKD_Functions#YearDay)[/h]Данная функция предназначена для получения дня года из значения типа Дата. День года в норме находится в диапазоне от 1 до 365(366).

Синтаксис:

ДеньГода(Дата)
Параметр
  • Дата - тип Дата. Дата, по которой определяют день года.
Пример:
ДЕНЬГОДА(РасхНакл.Дата)

[h=2]День (Day)[/h]Данная функция предназначена для получения дня месяца из значения типа Дата. День месяца в норме находится в диапазоне от 1 до 31.
Синтаксис:

День(Дата)
Параметр
  • Дата - тип Дата. Дата, по которой определяют дня месяца.
Пример:
ДЕНЬ(РасхНакл.Дата)
[h=2]Неделя (Week)[/h]Данная функция предназначена для получения номера недели года из значения типа Дата. Недели года нумеруются, начиная с 1.
Синтаксис:

Неделя(Дата)
Параметр
  • Дата - тип Дата. Дата, по которой определяют номера недели.
Пример:
НЕДЕЛЯ(РасхНакл.Дата)
[h=2]ДеньНедели (WeekDay)[/h]Данная функция предназначена для получения дня недели из значения типа Дата. День недели в норме находится в диапазоне от 1 (понедельник) до 7(воскресенье).
Синтаксис:

ДеньНедели(Дата)
Параметр
  • Дата - тип Дата. Дата, по которой определяют день недели .
Пример:
ДЕНЬНЕДЕЛИ(РасхНакл.Дата)
[h=2]Час (Hour)[/h]Данная функция предназначена для получения часа суток из значения типа Дата. Час суток находится в диапазоне от 0 до 23.
Синтаксис:

Час(Дата)
Параметр
  • Дата - тип Дата. Дата, по которой определяют час суток.
Пример:
ЧАС(РасхНакл.Дата)
[h=2]Минута (Minute)[/h]Данная функция предназначена для получения минуты часа из значения типа Дата. Минута часа находится в диапазоне от 0 до 59.
Синтаксис:

Минута(Дата)
Параметр
  • Дата - тип Дата. Дата, по которой определяют минута часа.
Пример:
МИНУТА(РасхНакл.Дата)
[h=2]Секунда (Second)[/h]Данная функция предназначена для получения секунды минуты из значения типа Дата. Секунда минуты находится в диапазоне от 0 до 59.
Синтаксис:

Секунда(Дата)
Параметр
  • Дата - тип Дата. Дата, по которой определяют секунды минуты.
Пример:
СЕКУНДА(РасхНакл.Дата)
[h=2]Выразить (Choice)[/h]Данная функция предназначена для выделения типа из выражения, которое может содержать составной тип. В случае, если выражение будет содержать тип, отличный от требуемого типа, будет возвращено значение NULL.
Синтаксис:

Выразить(Выражение, УказаниеТипа)
Параметр
Параметры:
  • Выражение - преобразуемое выражение;
  • УказаниеТипа - тип Строка. Содержит строку типа. Например, "Число", "Строка" и т.п. Кроме примитивных типов данная строка может содержать имя таблицы. В этом случае будет осуществлена попытка выразить к ссылке на указанную таблицу.
Пример:
Выразить(Данные.Реквизит1, "Число(10,3)")
[h=2]ЕстьNull (IsNull)[/h]Данная функция возвращает значение второго параметра в случае, если значение первого параметра NULL.
В противном случае будет возвращено значение первого параметра.
Пример:
ЕстьNULL(Сумма(Продажи.СуммаОборот), 0)
[h=2]Функции общих модулей[/h]Выражение механизма компоновки данных может содержать вызовы функций глобальных общих модулей конфигурации. Никакого дополнительно синтаксиса для вызова таких функций не требуется.
Пример:
СокращенноеНаименование(Документы.Ссылка, Документы.Дата, Документы.Номер)
В данном примере будет осуществлен вызов функции "СокращенноеНаименование" из общего модуля конфигурации.
Отметим, что использование функций общих модулей разрешено только при указании соответствующего параметра процессора компоновки данных.
Кроме того, функции общих модулей не могут быть использованы в выражениях пользовательских полей.
[h=3]Представление (Resentation)[/h]Данная функция возвращает строковое представление переданного значения не примитивного типа. Для значений примитивного типа возвращает само значение.
Если в качестве параметра используется массив или таблица значений, то функция возвращает строку, содержащую строковые представление всех элементов массива, разделенных символами "; ". Если у какого либо элемента строковое представление пустое, то вместо его представления выводится строка "<Пустое значение>".
Пример:
Представление(Контрагент)
[h=3]Строка (String)[/h]Данная функция преобразует переданное значение в строку.
Если в качестве параметра используется массив или таблица значений, то функция возвращает строку, содержащую строковые представление всех элементов массива, разделенных символами "; ". Если у какого либо элемента строковое представление пустое, то вместо его представления выводится строка "<Пустое значение>".
Пример:
Строка(ДатаПродажи)
[h=3]ЗначениеЗаполнено (ValueIsFilled)[/h]Для значений NULL, Неопределено всегда возвращает Ложь.
Для значений Булево всегда возвращат Истину.
Для остальных типов возвращает Истину, если значение отличается от значения по умолчанию для данного типа.
Пример:
ЗначениеЗаполнено(ДатаДоставки)
[h=3]УровеньВГруппировке (LevelInGroupv8help://dcsui/SKD_Functions#LevelInGroup)[/h]Данная функция получает текущий уровень записи относительно группировки.
Может быть использована для получения уровня вложенности записи в иерархической группировке.
Пример:
УровеньВГруппировке()
 

Verojer

New member
[h=1]Механизм свойств (характеристик) и категорий[/h]

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

Если информация о характеристиках указана и в запросе (с помощью конструкции ХАРАКТЕРИСТИКИ) и с помощью диалога метаданных, то приоритетом обладает конструкция ХАРАКТЕРИСТИКИ.
Синтаксис:
ХАРАКТЕРИСТИКИ
ТИП(<Имя типа>)
ВИДЫХАРАКТЕРИСТИК <Имя таблицы | (<Объединение запросов>)
ПОЛЕКЛЮЧА <Поле>
ПОЛЕИМЕНИ <Поле>
[ПОЛЕТИПАЗНАЧЕНИЯ <Поле>]
ЗНАЧЕНИЯХАРАКТЕРИСТИК <Имя таблицы | (<Объединение запросов>)
ПОЛЕОБЪЕКТА <Поле>
ПОЛЕВИДА <Поле>
[ПОЛЕЗНАЧЕНИЯ <Поле>]
После ТИП указывается <Имя типа> - имя типа, для которого определяются характеристики.
После ВИДЫХАРАКТЕРИСТИК указывается <Имя таблицы | (<Объединение запросов>) - имя таблицы или текст запроса для получения видов характеристик.
После ПОЛЕКЛЮЧА указывается <Поле> - имя поля из таблицы или запроса ВИДЫХАРАКТЕРИСТИК, которое содержит ключ вида характеристики.
После ПОЛЕИМЕНИ указывается <Поле> - имя поля из таблицы или запроса ВИДЫХАРАКТЕРИСТИК, которое содержит имя характеристики.
После ПОЛЕТИПАЗНАЧЕНИЯ указывается <Поле> - имя поля из таблицы или запроса ВИДЫХАРАКТЕРИСТИК, которое содержит тип значения характеристики.
После ЗНАЧЕНИЯХАРАКТЕРИСТИК указывается <Имя таблицы | (<Объединение запросов>) - имя таблицы или запрос, откуда получать значения характеристик.
После ПОЛЕОБЪЕКТА указывается <Поле> - имя поля из таблицы или запроса ЗНАЧЕНИЯХАРАКТЕРИСТИК, которое содержит объект, для которого указана характеристика.
После ПОЛЕВИДА указывается <Поле> - имя поля из таблицы или запроса ЗНАЧЕНИЯХАРАКТЕРИСТИК, которое содержит вид характеристики.
После ПОЛЕЗНАЧЕНИЯ указывается <Поле> - имя поля из таблицы или запроса ЗНАЧЕНИЯХАРАКТЕРИСТИК, которое содержит значение характеристики.
 

Verojer

New member
[h=1]Макеты оформления[/h]

Конструктор макета оформления компоновки данных открывается из конструктора макета при указании типа макета "Макет оформления компоновки данных".
Окно конструктора состоит из списка областей оформления, таблицы настройки оформления и поля табличного документа "Пример" для показа результата выбранных настроек.
Последовательность действий для настройки оформления следующая:
  • Выбирается область оформления;
  • В таблице настроек указываются (устанавливаются пометки) параметры, оформление которых требуется изменить, и указываются значения оформления;
  • Результат внесенных изменений контролируется в поле "Пример".
Если предполагается, что в отчет будет выведено несколько уровней группировки, то нужно в списке областей для каждой области, в которой будут уровни, создать подчиненные области по числу уровней группировки. Для создания уровня области укажите область и нажмите кнопку "Добавить" командной панели. В список областей добавляется строка, имя которой "УровеньN", где N - номер уровня группировки. Выбор оформления уровня группировки выполняется как описано выше.
Замечание: Если было указано несколько уровней, то при удалении уровня группировки, всегда удаляется самый нижний уровень текущей области, не зависимо от того, какой уровень в списке был выбран.
 
Статус
Закрыто для дальнейших ответов.
Верх