<<
>>

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

Схема компоновки данных представляется объектом встроенного языка системы «1С: Предприятие» СхемаКомпоновкиДанных и состоит из множества других вложенных объектов. Схема компоновки данных имеет представление в виде XML; таким образом, может быть создана любыми средствами, позволяющими генерировать XML, равно как и использована любыми средствами, которые могут читать XML.

Схема компоновки данных используется для предоставления информации о доступных настройках, а также при формировании макета компоновки данных (см.

стр. 1-558), т. е. при исполнении компоновки данных.

Для визуального редактирования схемы компоновки данных предназначен конструктор схемы компоновки данных (см. стр. 1-532).

Загрузку схемы компоновки данных из XML можно осуществить стандартными средствами встроенного языка.

ЧтениеХМЬ = Новый ЧтениеХМЬ; ЧтениеХМЬ.УстановитьСтроку(

ЭлементыФормы.ТекстСхемыКомпоновкиДанных. ЛолучитьТекст () } ; СКД в СериализаторХИТО.ПрочитатьХМЬ( ЧтениеХМЬ,

Тип ("СхемаКомпоновкиДанных") ) ;

Все выражения, описываемые в схеме компоновки данных, записываются на языке выражений системы компоновки данных (см.

стр. 1-562).

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

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

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

Рис. 167. Составные части схемы компоновки данных

Источники данных

Схема компоновки данных может содержат ь несколько источников данных.

Под источником данных подразумевается источник, из которого будут получаться данные. В качестве источника данных выступает информационная база системы «1С:Предприятие».

Источники данных описываются в свойстве ИсточникиДанных схемы, которое содержит коллекцию значений, состоящую из элементов ИсточникДакныхСхемыКомпоновкиДанных.

Наборы данных

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

п.

В схеме компоновки данных допускается наличие нескольких наборов данных (см. стр. 1-525).

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

Набор данных - запрос содержит свойство Запрос - текст запроса, при помощи которого будут получаться данные из источника данных. Текст запроса записывается в терминах источника данных. Так. для типа источника данных Local текст запроса будет записан в терминах языка запросов системы «І ^Предприятие». с применением специального расширения- расширения языка запросов для системы компоновки данных (см. стр. 1-529).

Набор данных - объединение содержит свойство Элементы, содержащее перечень наборов данных, входящих в объединение (см. стр. 1-521

Набор данных — запрос

Содержит обычный запрос к данным, расположенным в информационной базе «1 С: Предприятия».

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

Содержимым набора данных будет считаться результат последнего запроса пакета.

Набор данных - объект

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

Этт «источник» данных описывается в схеме компоновки, затем он заполняется программным образом, например, по нажатию какой-то кнопки, п в качестве внешнего набора данных передается в процессор компоновки.

Набор данных - объединение

Набор данных объединение содержит свойство Элементы, описывающее наборы данных, которые необходимо объединить.

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

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

Набор данных может содержать описания полей, которые будут доступны для этого набора данных.

Поля набора данных описываются в свойстве Поля наборов данных, которое содержит коллекцию значений, состоящую из элементов ПолеНабо- раДанныхСхемыКомпоновкиДанных.

Связи наборов данных

Наборы данных, присутствующие в схеме компоновкн данных, могут быть связаны друг с другом.

Связи наборов данных описываются в свойстве СвязиНаборовДанных схемы компоновки данных, которое содержит коллекцию значении, состоящую из элементов СвязьНаборовДанныхСхемыКомпо- новкиДанных,

Вычисляемые поля

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

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

Поля ресурсов

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

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

Параметры

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

І Іараметрьі данных описываются в свойстве Параметры схемы компоновки данных, которое содержит коллекцию значении, состоящую из элементов

ПараметрСхемыКомпоновхиДанных.

Вложенные схемы

Схема компоновки данных может содержать описания вложенных схем компоновки данных.

Вложенные схемы компоновки данных описываются в свойстве ВложенныеСхемыКомпоновкиДанных схемы компоновки данных, которое содержит коллекцию значений, состоящую из элементов Вложен- наяСхемаКомпоновкиДанных.

Макеты

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

При указании макета дня поля или группировки указывается имя макета, описанного в данном свойстве.

Макеты описываются в свойстве Макеты схемы компоновки данных. Свойство содержит коллекцию значений, состоящую из элементов Описа- ниеМакетаСхемыКомпоновкиДанных.

10.3.1.9. Макеты полей

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

Схема компоновки шш

_ J—'

Нйбор ДВЛШЯ Попе наборе ПОПА Mil КО! Макет 1 данных

Попе набора двннк* Пш* Мжет norm ^ Макет

Рис. I6S. Макеты нп.іей

Связь поля с макетом описывается с помощью объекта МакетПоляСхе- мыКомпоновкиДанных. Коллекция этих объектов содержится в свойстве

МакетыПолей объекта СхемаКомпоновкиДанных.

Макеты группировок

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

Связь группировки с макетом описывается с помощью объекта МакетГруппировкиСхемыКомпоновкиДаиных. Коллекция этих объектов содержится в свойстве МакетыГруппировок объекта СхемаКомпо-новкиДанных.

Макеты заголовков группировок

Для каждой группировки могут описываться также макеты заголовков группировок.

Связь заголовка группировки с макетом описывается с помощью объекта МакетГруппировкиСхемыКомпоновкиДанных (см. предыдущий раздел). Коллекция этих объектов содержится в свойстве МакетыЗаголов- ковГруппировок объекта СхемаКомпоновкиДанных.

10.3.1.12. Настройки по умолчанию

Каждый вариант отчета, который задан в схеме компоновки данных, содержит настройки компоновки данных по умолчанию, которые могут быть заданы разработчиком. При этом вариантом по умолчанию будет считаться тот вариант, который стоит первым в списке вариантов настроек системы компоновки данных (вариант Диаграмма по периодам на рис. 169). Настройки варианта по умолчанию будут применяться при первом открытии отчета, при выборе команды Все действия - Стандартные настройки, а также могут быть использованы для программной установки настроек по умолчанию.

gj

¦ * eg ,'w, шшгшшш^л ГЬштгг.— Jf яя ? ¦'(1 03 •f ii И-афа^ма Сер». Квсройч» Отчет j Omgi П* Вьб Отвар (до Уст Пвп а» Юто&мвдтв недоступен» паоа^то» (устачатвагь эдчеч 19 ПЄІІ П«»мсгр Знвчечк -а Бата наваги йа'й Dl№AwR (1 Период ФВ 0101 гооэ этик» Рис. 169. Вариант по умолчанию

Подробнее о настройках компоновки данных см. стр, 1-544,

10.3.2. Работа с несколькими наборами данных

Система компоновки данных позволяет использовать в одной компоновке несколько наборов данных.

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

Рассмотрим следующий пример.

Запишем три набора данных: ПрайсЛист, Остатки и Продажи.

Рис. 170. Пример нескольких наборов данных

Опишем связи между наборами данных. Создадим связь между наборами данных ПрайсЛист и Остатки, а также связь между наборами данных ПрайсЛист и Продажи (см. рис. 171).

Огчет Продам Toaapon (]аюі*і<тСдг«иКоотюновт?ігтмх _ ? X Hafnc Се»si и В wen Ресурса Парам Макета ВПСХЕИ Насіро АЛ* Игпжм as ¦э< Привь»«к сев Вс*рах?ч<ен ВВРАХЕМКП Параметр Crwaiit идам Усгї ПрайсГЪст Г^айсПигт Продэзд Ссжгпа Осетии Ссвгаа Товао То ыо Номвнкгвг/ра wl •

Рис. 171. С ии ш наборов данных

Дополнительно опишем ресурсы (см. рис. 172). _ ? X

аснш!нл«|1:хрмаКпмпоновкнЛэнны> Поле

- ВапкігнанСуммаКонечньи'нО

Наборе »аа««Ы* CMSM наборе* ДАН№« Доступные пою

>.. — ВапютнгчСчі.о.ч4Копеч>4.іі'<Остзто»;Кт

ВалютнэеСулгчаНачапьньв'Остатй Дт -» В а литкапС у -елаН ачальньлії ггзта ? т » Валип>«яСф<іма0бсроті1т

ВалютнаяСу|<«гла06орС7Нт

Су-1маКсиечнын0стат»Дт » Су»>1ма>.онечмымОстагок> т

СуммаНач&****'*7ет.згоіЛт

•• Су«лаОбор0гДг

СуьмаОборотН

ЁажппаяС^гг-ч^.омьчнычОаатог.Дт «=¦ ВажлнмСу»-»4а»'онечнмй0сі«огКі = Ва^на^^имаНачальныйОстлтсгДт = В л грот та«С v+узН зчз<ь**>»'«0 сі «і or К т

• Баі>стпачСуи-іаОборотД» ВатотначСумлаОборог» т о Сдо-м! огемыйОстагог Дт » Сулиа* оне»**<Оетате»1т

— Су*иНач*льмыйОстагок#,Г

•з СуммлОйсрогДт

a СзнмаОборотГі

= Счет

Вычисляемое паяя Ресурсы Параметры Макеты Впо*е»«ыес*емы Нйстрййкы

Выражение Рассчиты

СуііП.їі!ііВалкітнйяСуг.іі.іаК.

онечныйОотб Валюта

Су-ма|Валлтма<уммаКйнвчиыйС>сга Вадатта

СуммаіВалотпдеСумілаНачальньвіСк Валюта

Сунма|ВаиотнаяС^*-«Нача^н&вЮс Валотэ

Сулма(Ва^иааС^лаОбо(ютДт| Валюта

L умма( В а ФОТГЧЙЯС снс<мь»Ап4ТО«.І т| йч**«м<0ств! о» Дт |

»м0борсгДг|

СуммаїСінмаОборотІ т I Рис. 172. Ресурсы схемы компоновки данных Если в системе компоновки данных описывается связь между двумя наборами данных, то набор данных, к которому идет связь, будет считаться зависимым. Набор данных, от которого идет связь, будет считаться родительским по отношению к зависимому от него набору данных.

Рис. 173. Зависимые наборы данных

В приведенных примерах зависимыми наборами данных будут наборы данных Остатки и Продажи. А родительским по отношению к обоим этим наборам - ПрайсЛист.

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

В макете компоновки данных (см. стр. 1-558) возможно указание типа связи. Тип связи генерируется компоновщиком макета в зависимости от накладываемых глобальных отборов. Если на поле набора данных, являющегося зависимым, накладывается глобальный отбор, генерируемые связи в макете компоновки данных от этого набора данных до всех его родительских наборов (вплоть до начала иерархии наборов данных) будут иметь тип Внутренняя. Это означает, что записи родительского набора данных будут участвовать в компоновке только в том случае, если будут найдены записи в зависимых наборах данных.

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

Рис. 17-1. Внутренняя связь

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

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

Рис. 175. Ошцсс иоле

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

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

В одной группировке не могут быть использованы поля из не связанных друг с другом наборов данных, при этом наборы данных, имеющие общие родительские наборы данных, связанными не считаются. Исключение сделано для полей-итогов, которые могут быть использованы в любой группировке. В приведенном примере мы не сможем в одной группировке задействовать поля Склад и Контрагент. Однако поля КоличествоОстаток и СуммаОборот - сможем, т. к. они являются ресурсами.

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

набора автоматически будут получаться и данные из родительского набора (и всех родителей родителя). В нашем примере при получении набора данных Остатки будуі получаться данные и из набора ПрайсЛист.

Если в группировке используются наборы данных из нескольких наборов данных, при исполнении компоновки будет осуществляться обход по последнему зависимому набору данных. Так. если в группировке будут использоваться поля наборов ПрайсЛист и Остатки, обход будет происходить по набору Остатки.

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

10.3.3. Расширение языка запросов для системы компоновки данных

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

10.3.3.1. Синтаксические элементы расширения языка запросов системы компоновки данных

ВЫБРАТЬ

Описание:

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

После псевдонима поля может находиться комбинация символов «.*», что обозначает возможность использования дочерних полей от данного поля.

Например, запись Номенклатура . * обозначает возможность использования дочерних полей поля Номенклатура (например, поля Номенк-латура. Код). Элемент ВЫБРАТЬ может присутствовать только в первом за просе объед и нения.

Пример:

{ВЫБРАТЬ Номенклатура, Склад} ГДЕ

Описание:

Описываются поля, на которые пользователь сможет накладывать отбор. В данном предложении используются поля таблиц. Использование псевдонимов полей списка выборки недопустимо. Каждая часть объединения может содержать собственный элемент ГДЕ.

Если значения параметров не заданы, то предложение ГДЕ в результирующий запрос не включается.

Пример:

(ГДЕ Номенклатура.*, Склад }

(ГДЕ Документ.Дата >= ЬДатаНачала, Документ.Дата <= &ДатаКонца]

ХА РАКТЕРИСТИКИ

Описание:

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

В примере (см. выше) описываются характеристики для полей типа Ссылка на справочник Номенклатура.

В характеристиках описываются следующие свойства:

ТИП — имя типа, для которого описываются характеристики;

СПИСОК - имя таблицы или запрос для получения списка характеристик;

ИДЕНТИФИКАТОР - имя поля, содержащего идентификатор характеристики;

ИМЯ - имя поля, содержащего имя характеристики;

ТИПЗНАЧЕНИЯ - имя поля, содержащего тип значения характеристики. Если тип значения не указан, считается, что характеристика имеет тип

Булево;

ЗНАЧЕНИЯ имя таблицы или запрос дія получения значений характеристик;

ОБЪЕКТ- имя поля, содержащего идентификатор объекта (например, ссылка номенклатуры);

ХАРАКТЕРИСТИКА - имя поля, содержащего идентификатор характеристики;

• ЗНАЧЕНИЕ - имя поля, содержащего значение характеристики. Вели не указано, значение будет равно Истина (если такая характеристика у объекта есть), Ложь - в противном случае.

Пример:

{ХАРАКТЕРНО ТИКИ ТИП < Спра воч ник.Номенклатура) СПИСОК (ВЫБРАТЬ ВидыДопСвойств.Ссылка, ВидыДопСвойств.Наименование, ВидыДопСвойств.ТипЗначения ИЗ

ОланБидовХарактеристик.ВидыДоггСаойста КАК ВидыДопСвойств) ИДЕНТИФИКАТОР Ссылка ИМЯ Наименование ТИПЗНАЧЕНИЯ ТипЗначения ЗНАЧЕНИЯ РегистрСведений.ДопСвойства ОБЪЕКТ Номенклатура ХАРАКТЕРИСТИКА ВидСвойства ЗНАЧЕНИЕ Свойство

)

Параметры

Описание:

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

Поля ДатаНачала, ДатаКонца, Номенклатура и Склад (см. пример) станут доступными в отборе, т. е. пользователь сможет применять для них фильтры.

Пример: ВЫБРАТЬ

УчетНоменклатурыОбороты.Номенклатура КАК Номенклатура, УчетНоменклатурыОбороты.Склад КАК Склад,

УчетНоменклатурыОбороты.КоличествоПрмход КАК КоличествоПрмход, УчетНоменклатурыОбороты.КоличествоРасход КАК КоличествоРасход ИЗ

РегистрНакопления.УчетНоменклатуры.Обороты({ЗДатаНачала}, {йДатаКонца},

{Номенклатура.*,

Склад.*)) КАК УчетНоменклатурыОбороты

10.3.3.2. Автоматическое заполнение доступных полей

При автоматическом заполнении доступных полей запроса выполняются следую щие действ и я:

все поля списка выборки и их дочерние поля становятся доступными хтя выбора, упорядочивания, группировки, отбора и др.;

параметры виртуальных таблиц становятся доступными для отбора.

10.3.4. Конструктор схемы компоновки данных

Конструктор схемы компоновки данных представляет собой объект встроенного языка КонструкторСхемыКомпоновкиДанных,

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

Для наборов данных запрос - конструктор автоматически получает вложенные наборы данных из текста запроса и оформляет их как поля набора данных - вложенный набор данных.

Для наборов данных объект- конструктор позволяет' добавлять поля - вложенные наборы данных.

& Річет ОитицпСдеиаКрмюноп-мДаитд _ ? X Связи *. Вычисл. Ресурсы Парам Макеты Вгожен H астра fcp - & X i*~[l Добавить набор данных-запрос і* Добавить набор данных ¦ объект fc) Добавить набор данных объединение f і J nd ? Рис. 176. Добавление іншого набора данных

Ниже приведен пример открытия окна конструктора схемы компоновки данных и последующей сериализации полученной схемы компоновки в XML.

Процедура КомакднаяПанельРедактораОтчета (Кнопка)

Конструктор = Новый КонструкторСхемыКомпоновкиДанных;

Конструктор.УстановитьСхему(ПолучитьСхемуКомпоновкиДанных О); Конструктор.Редактировать(ЭтаФорма);

КонецПроцедуры

Процедура ОбработкаВыбора(ЗначениеВыбора, Источник)

Если ТипЗнч(Источник) =

Тип("КонструкторСхемыКомлоновкиДанных") Тогда

СхемаКомпоновкиДанных - Источник.ПолучитьСхему(); ЗаписьХМЬ = Новый ЗаписьХМЬ; ЗаписьХМЬ.УстановитьСтроку(); Сериализаторхото.записатьхмь( ЗаписьХмь,

СхемаКомпоновкиДанных, "dataCompoaitionScheme",

"http://v8.Хс.ru/8/data-composition-system/scheme"); ЭлементыФормы,ТекстСхемыКомпововкиДанных. УстановитьТекст(ЗаписьХМЬ.Закрыть()); КонецЕсли;

КонецПроцедуры

Работа со схемой компоновкн данных подразделяется на следующие этапы:

редактирование наборов данных;

редактирование нолей наборов данных;

редактирование связей наборов данных;

редактирование вычисляемых полей;

редактирование ресурсов;

редактирование параметров;

редактирование макетов;

редактирование вложенных настроек;

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

10.3.4.1. Редактирование наборов данных

Система компоновки данных поддерживает редактирование следующих объектов:

набор данных - запрос;

набор данных - объект;

набор данных —объединение;

полей запроса.

При добавлении набора данных ему автоматически генерируется имя и источник данных (если источника данных не существует).

Поде набора данных схемы компоновки данных - вложенный набор данных может быть описано в запросе и описано в наборе данных - объекте.

В тексте запроса набора данных - объект в предложениях {ВЫБРАТЬ} и {ГДЕ} можно использовать вложенные таблицы.

ВЫБРАТЬ ПриходТовара.Дата, ПриходТовара.Номер, ПриходТовара.Поставщик, ПриходТовара.Склад, ПриходТовара.Товары.( НомерСтроки, Товар, Цена,

Количество, Сумма )

{ВЫБРАТЬ Дата, Номер,

Поставщик.*, Склад.*, Товары.( НомерСтроки, Товар,*, Цена,

Количество,

Сумма

)}

ИЗ

Документ.ПриходТовара КАК ПриходТовара {ГДЕ

ПриходТовара.Дата, ПриходТовара.Номер, ПриходТовара.Поставщик.*, ПриходТовара.Склад.*, ПриходТовара.Товары.( НомерСтроки, Товар.•, Цена,

Количество,

Сумма

)}

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

Редактирование набора данных - запрос

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

Если флаг Автозаполнение установлен, то система компоновки данных автоматически заполняет поля схемы компоновки данных на основании созданного запроса.

Редактирование набора данных - объект

Редактирование набора данных- объект заключается в добавлении/редактировании имени объекта, содержащего данные; в добавлении/редактировании полей и группировок. Ооюиия _ О х f ^leS» ' -С", " f

Pecfpcu Парам ЬЬкгтъ БЛСЇЕ h&CTPG . in- х у + * X ' м-'і Qof) n ..W-1, ¦ Пїть гиля Pet* Ш rfcwdVrci У 3d г: лого. Г У. Г. , 1. п_. У. г У — Tome ТоЕф О О ? О Иэиервме 1 Toes О О a D Q D о и ? ? ? ? — Lbd 1ІН О ? a О Шна о О a D j Имя 'ft*.', споержлазп, QM.M ІйсньГоварза Рис. 178. Набор данных - объект

Редактирование набора данных - объединение

Редактирование набора данных - объединение заключается в редактировании объединенных полей из состава полей, подчиненных данному набору данных. Созданные наборы данных- запросы и объекты можно добавлять в набор данных - объединение, перемещая их мышкой. п у Г- у — Товар Товар Q a ? a Б Товаь Q ? ? - llflUsH* ТиіЦенп ¦ имя: У Ibvueb ? о Q a - Ueng Lfcna ? ? ? о 1f Цем ? О о Kol»««ClB00c131t>»r ? ? С] г- пкесік ; -.- J-- ¦ с ? ? D о О Cow О 3

паї»

п.. у г у

ш

- СЇІЧСТ Г

Няіюр

Спя*

и- X

КзїіХіс ДЭ^Ы

ІГТ1 ГЬайсПип

J н

Рис. 179. Набор данных-объединение 10.3.4.2. Редактирование полей набора данных При редактировании полей существует возможность задать:

заголовок поля;

ограничение доступности поля;

ограничение доступности полей-реквизитов;

роль для поля;

представление поля;

выражения упорядочивания;

способ проверки иерархии (набор данных и параметр);

тип значения поля;

оформление поля.

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

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

Синонимы для поля запроса получаются следующим образом:

если запрос ие содержит объединений:

если выражение поля запроса состоит из одного поля, то синоним получается из этого поля.

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

если запрос содержит объединения:

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

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

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

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

Если разработчику требуется изменить заголовок, он включает флажок, при этом текст заголовка поля заполняется на основании текста, который ранее отображался в колонке Заголовок. При сбросе флажка конструктор очищает текст заголовка и начинает отображать в заголовке автоматически генерируемый заголовок.

Роль поля изначально определяется в запросе, но есть возможность ее изменения в отдельном диалоге.

Ропі. ¦ Гчмк.Лпне-шыйС статен Дт X

Рп.».

Б» роли

ПерИОЦ I " Д^ТШПН Т- І-і-сП'), Измерение РОДТТРМІЬ От 8щ Им Сут»и Тіл Ксмечядо остаток - Бух тип Befer - Попе счета

Итос^кмгъ ЗМічглйіНиїД.

СЖ ; Отмена Страна

Рис. 180. Роль поля

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

Для поля измерения в параметре Измерение можно указать путь к данным родительского измерения.

Установленный признак Игнорировать значения NULL означает, что в результат не будут включены групповые записи по данному полю, если оно содержит значение NULL.

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

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

10.3.4.3. Редактирование связей наборов данных

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

^ Опкгг 1Чх>д.)п. ItMMpon ОітімгілнАипмтДмшх ? X Набге Свяжи Вьмкп Р scjcca Парам Маеты Вшхем Нветро 0 Ъ X История сві э» Прив»*«« СП Вьражм «е н Еьсахе^ме п Параметр Слмпк парам Услс ГЬайсАіп Продам* Ссыгка Товар Ьомепсвтура © ПнйсЛіст Осчт «я Сев/» Го вас LiHMta » Рис. 181. Спи ні наборов данных

Источником п приемником связи являются наборы данных. Выражениями источника и приемника - поля наборов данных.

10.3.4.4. Редактирование вычисляемых полей

Закладка Вычисляемые поля позволяет создавать и редактировать следующие свойства/характеристики вычисляемых полей:

путь к данным;

выражение;

заголовок;

ограничение доступности;

выражение представления;

выражения упорядочивания:

тип значения;

оформление;

доступные значения.

Выражения упорядочивания редактируются в отдельном диалоге. 10.3.4.5. Редактирование ресурсов

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

" Они ОборотноСллмодоыПепмость: ПсномаяСяекиКйнпомнкнДйякде _ Л х Наборы датС*«эм наборов да***» BtMct sp'Miwh Ресурсы Параметры Магеты В «з слт Настрой»* Доступи ПОЛЯ Поде Рассалье 1 " Валюта ГЩ — 1 С»#-іаіБ.мотнадС»е4а> ош^ьаЮста Ва«рта - ВфютдаС^-отаї шСстус» Дг МОТЇІІ^ fr«»fe*43cT а ?-а*та BaAimwCy*-u# оие***43стаю»* т — Дт С в«*л « jaf чН *«ачм%*<к ба-wt а Вался •»*? у>маН »*ai**wOcr are* Д* - ВалртнмСэнмаНлчзлымйст s?-> Рт СумафалотнаоС у^аН балата - « 8 awmadCy-v-iaOCopPt Ді CpNlBlM ндаС *-».«0ворсі Дт | Валюта В алюгпмС ywaGeopcff Д» — Є з'ткзт наоС уг-»-иСбсоат*» Су»да(В4«?тиаоС^иаОЄсро»І т| Валета - В awTHMC v »ia06ofwTi т — Ci#w«l. оме***<0 с« at п». Дт Сумм* Су »іа» оие-***Юстаті> Дт) - С^*>«аіопе-**нйОст«то* Дт — Qjrv-tal очеччОстлпог.Р т Су-*-iaf Су.імаКонм*»Остато»! і) - СугмГ еигчимйОст якя11 т — Су*-чКачальчгійОстап» Дт Су>*ла»Су'»лаНа«ям»*Фсгато»іДт( -» C^».»aH*»a'fcnb*tOcTero Д» — C^MaHa48i*rf*»«0cTeiq»J г Сумма(Су*іаНача<*>№*«Остат»І( »| - СрімаНммиМіОствгсіФ т - СуммаО борот Дт Су.«.и(Су имлОСорот Ді 1 - ОрчмаОйсротДг СулчОбсротКт Су^лаїСумаОборот* ті - Су-ма04срстгІ т Счет Рис. 182. Редактирование ресурсов

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

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

10.3.4.6. Редактирование параметров Редактирование параметров включает в себя:

редактирование имени параметра:

редактирование заголовка;

редактирование доступных типов н значений параметра;

определение значения и доступности списка значений параметра;

определение выражения;

• определение параметра в качестве доступного поля настройки компоновки данных;

• ограничение доступности. На бос Се*» Е(*+»ся Ресурсе Парам Rroxe Касірс У о х v • Имс Заготовок Тіл Л Гъсиед rieswea мес ^чег-кгв-** Jipaeow". і_ Справ макало Пк»чда нача.-® пер^эйв Лат» о <2"«цПерМО?а *Со«еи периода Лап о Рис. [ЯЗ. Редактирование параметров

При неопределенном значении параметра считается, что значение нулевая ссылка на заданный тип. В параметрах моїуг использоваться предопределенные данные и перечисления (режим Конфигуратор).

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

ПРИМЕЧАНИЕ. При использовании типа параметра СтандартныйПериод следует учитывать, что даты начала и конца стандартного периода также содержат is время. Причем, начальная дата имеет время 00:00:00. а конечная дата 23:59:59. таким образом, к запросе не обязательно использовать функции НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА.

10.3.4.7. Редактирование макетов

Добавление макетов осуществляется нажатием кнопки Добавить макет на командной панели. Ресдаь

¦ ? X

Довіяв мв^ттл

^а».,,, инг xmww

10.3.4.8. Вложенные схемы

Закладка Вложенные схемы позволяет создавать и редактировать вложенные схемы компоновки данных. В роли схемы могут выступать вложенные схемы, редактируемые конструктором схемы компоновкн данных. Набор С ens. Ви^сп Ресурсы Парам Макета Егпяе Кастро ty» X Ими За голово* Сжмэ Настрой^ Вшхяжьй отчет Сиена

Рис. 185. Вложенные схемы

10.3.4.9. Настройки

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

ІЛ ОгчвгОт-ипЛоНоимипя»: Мдкяг ? X |

Свяэ*иайор»да№М< Вь»клммые паля Ресурсы Параметры Макеты стемы Настроїли ©а * ¦

Имя еарма

Предстмп Осиовнсй

dS аЗ J3

аЯ

у, ЕЯ

чШ

ill

у ни Номенклатура І5!вв Смас - * Ы Диаграмма - Точмі

Іу]«иі Склад Серии Настройки Отчет j Отчет

Параметры Выбранные Отбор Сортировка У с поеное о, Польэомте Другие нас Отображать недоступные параметры ^сганавлмвать значения неаост^ны* параметров не рекомендуется) Параметр Значение

Hffffl Произвольная дата

Дата

Рис. 186. Редактор настроек схемы компоновки данных 10.3.5. Настройки варианта компоновки данных

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

Например, для отчета Динамика продаж одним вариантом отчета может служить диаграмма, показывающая продажи товаров по периодам, а другим - табличный отчет, показывающий продажи товаров в разрезе покупателей. При этом каждый вариант отчета обладает своим набором пользовательских наст роек (см. стр. 1-551).

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

Система предоставляет возможность создания нового варианта отчета непосредственно в режиме 1С:Предприятие. Такое действие рекомендуется выполнять опытным пользователям, В этом случае новый вариант отчета сохраняется в хранилище вариантов отчетов, из которого другие пользователи могут заірузить необходимый вариант. Описание хранилища вариантов отчетов см. стр. 1-209.

При помощи механизма сравнения и объединения конфигураций (см. стр. 2-947) части настроек можно сравнивать п объединять.

Загрузку схемы компоновки данных из XML можно осуществить стандартными средствами встроенного языка.

10.3.5.1. Структура варианта настроек компоновки данных

Структура это некоторый скелет настроек. Она определяет взаимное расположение их основных элементов.

Структура настроек доступна через свойство Структура объекта НастройкиКомпоновкиДанных. Элементами структуры настроек могут быть:

группировки;

таблицы (ТаблицаКомпоновкиДанных);

диаграммы (ДиаграммаКомпоновкиДанных);

вложенные объекты настройки (НастройкиВложен- ногоООъектаСистемыКомпоновкиДанных).

Группировка

Для реализации группировки в структуре настроек предусмотрено три разных типа данных:

группировки (ГруппировкаКомпоновкиДанных);

группировки таблиц (ГруппировкаТаблицыКомпоновкиДанных):

группировки диаграмм (ГруппировкаДиаграммыКомпо- новкиДанных).

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

Поля группировки

Набор полей, но которым осуществляется группировка, описывается с помощью объекта ПоляГруппировкиСистемыКомпоновкиДанных. В свойстве Элементы этого объекта содержится коллекция полей группировки, состоящая из объектов ПсшеГруппировкиСистемыКомпоновкиДанных.

ПРИМЕЧАНИЕ. При выполнении группировки по полю-периоду в группировку автоматически добавляется родительское поле-период, не являющееся дополнительным периодом, в том случае, если в родительских группировках не осуществлялась группировка по этому родительскому полю-периоду, • Если поде уже включено в данные поля группировки, повторно оно не добавляется.

Таблица

Описание таблицы в структуре настроек выполняется с помошыо объекта

ТаблицаСистемыКомпоновкиДанных.

Диаграмма

Описание диаграммы в структуре настроек выполняется с помощью объекта ДиаграммаСистемыКомпоновкиДанных.

Вложенный объект

Описание вложенного объекта в структуре настроек выполняется с помощью объекта НастройкиВложенногоОбъектаСистемыКомпоновкиДанных.

Для объекта реализовано свойство Имя. предназначенное .тля идентификации вложенного отчета в сгенерированном макете компоновки данных.

10.3.5.2. Свойства настроек компоновки данных Выбор

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

Группа выбранных полей

Используется для группировки полей. Описывается с помощью объекта

ГруппаВыбранныхПолейКомпоновкиДанных.

Автовыбранное поле

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

ВНИМАНИЕ! Система при обходе учитывает только те группировки, тип которых Без иерархии или Иерархия.

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

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

Для диаграммы автополе выбора заменяется ресурсом, первым из встреченных при описанном выше обходе.

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

ПРИМЕЧАНИЕ. Если поле уже включено в выбранные поля, повторно оно не добавляется.

Группа элементов отбора

Используется для группировки элементов отбора, которая упорядочивает данные результата. Описывается с помощью объекта ГруппаЭлемен- товОтбораКомпоновкиДанных.

Порядок

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

Автозлемент порядка

Перед использованием автоматический элемент порядка будет преобразован в набор элементов порядка.

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

Условное оформление

Описание того, каким образом оформлять различные поля результата. Представляет собой объект УсловноеОформлениеКомпоновкиДанных. В свойстве Элементы этого объекта содержится коллекция элементов порядка, состоящая из объектов ЭлементУсловногоОформленияКомпо- новкиДанных,

В оформлении компоновки данных конструктора компоновки данных параметры Формат. Текст редактируются как многоязычные.

Оформляемые поля

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

Параметры вывода

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

Параметры данных

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

Пользовительские поля

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

Пользовательские поля описываются с помощью объекта

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

поле-выражение (объект ПользовательскоеПолеВыражениеКомпо- ноЕкиДанных);

поле-выбор (объект ПользовательскоеПолеВыборКомпо- новкиДанных).

Тип поля определяется системой автомат ически, на основе его свойств.

Варианты пользовательского поля

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

Работа с автополями

Если один элемент структуры настроек содержит автололя

АвтоПолеГруппировкиСистемыКомпоновкиДанных, АвтоВыбран- ноеПолеСистемыКомпоновкиДанных н АвтоЭлементПоряд- каСистемыКомпоновкиДанных, они преобразовываются в следующем порядке:

АвтоПолеГруппировкиСистемыЕСомлоновкиДанных;

АвтоВыбранноеПолеСистемыКомпоновкиДанных;

АвтоЭлементПорядкаСистемыКомпоновкиДанных.

Доступные объекты

Доступные объекты - набор, определяющий объекты, которые могут быть использованы в компоновке как вложенные. Например, вложенные отчеты.

Доступные поля

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

поля для выбора (свойство ДоступныеПоляВыбора);

поля группировок {свойство ДоступныеПоляГруппировок);

поля порядка (свойство ДоступныеПоляПорядка);

поля параметров данных (свойство ДоступныеПоляПара- метровДанных);

поля отбора (свойство ДоступныеПоляОтбора);

поля отбора элементов структуры- используются во всех элементах структуры, кроме верхнего (свойство ДоступныеПоляОтбораЭле- ментовСтруктуры);

поля дополнительных отборов - используются в условном оформлении (свойство ДоступныеПоляДополнительныхОтборов).

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

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

Доступное поле отбора

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

Компоновщик настроек компоновки данных

Компоновщик настроек представляется объектом встроенного языка системы «IС":Предприятие» КомпоновщикНастроекКомпоновкиДанных. Объект предназначен для связи настроек компоновки данных и схемы компоновки данных. На основе схемы компоновки данных строится источник доступных настроек для работы конструктора настроек.

10.3.6. Пользовательские настройки системы компоновки данных

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

При выполнении компоновкн применяются как пользовательские, так и полные настройки. При этом пользовательские настройки «накладываются» на полные, формируя при этом реально исполняемые настройки.

10.3.6.1. Объектная модель пользовательских настроек

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

ОтборКомпоновкиДанных,

ЭлементОтбораКомпоновкиДанных,

ГруппаЭлементовОтбораКомпоновкиДанных,

ПорядокКомпоновкиДанных,

Выбра н ныеП ол я Ком п о но в к иДа н ных,

УсловноеОформлениеКомпоновкиДанных,

ЭлементУсловногоОформленияКомпоновкиДанных,

ЗначениеПараметраНастроекКомпоновкиДанных,

ГруппировкаКомпоновкиДанных,

ГруппировкаТаблицыКомпоновкиДанных,

ГруппировкаДиаграммыКомпоновкиДанных,

ТаблицаКомпоновкиДанных,

ДиаграммаКомпоновкиДанных,

ВложеннаяСхемаКомпоновкиДаиных,

КоллекцияЭлементовСтруктурыКомпоновкиДанных,

КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных,

КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных. У данных объектов существуют следующие свойства:

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

ПредставлениеПользовательскойНастройки - строка, используемая для отображения представления в пользовательских настройках. В конструкторе схемы возможен ввод представления на нескольких языках.

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

Пользовательские настройки в объектной модели представляются отдельным

объектом ПользовательскиеНастройкиКомпоновкиДанных, Данный

объект имеет свойство Элементы. В этой коллекции находятся элементы

пользовательских настроек. Возможны объекты следующих типов:

ОтборКомпоновкиДанных,

ЭлементОтбораКомпоновкиДанных.

ГруплаЭлементовОтбораКомпоновкиДанных,

ПорядокКомпоновкиДанных.

ВыбранныеПоляКомгтоновкиДанных,

УсловноеОформлениеКомпоновкиДанных,

ЭлементУсловногоОформленияКомпоновкиДанных,

ЗначениеПараметраКомпоновкиДанных,

ГруппировкаКомпоновкиДанных,

ГруплировкаТаблицыКомпоновкиДанных,

ГруппировкаДиаграммыКомпоновкиДанных,

ТаблицаКомпоновкиДанных,

ДиаграммаКомпоноакиДанных,

НастройкиВложенногоОбъектаКомпоновкиДанных,

СтруктураНастроекКомпоновкиДанных.

10.3.6.2. Настройка пользовательских элементов настроек

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

Рис. 1N7. Открыть пользовательскую настройку

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

Рис. INK. Свойство пользовательской настройки

В списке структуры настроек команда Свойства элемента пользовательских настроек позволяет настраивать пользовательские настройки для текущего элемента структуры. Для каждого элемента структуры определен свой состав н аст ра 11 вас м ы х элементов. Объект 11 ас і ра и васм ые э.темси і м Отчет выбранные поля,

порядок,

отбор,

условное оформление, состав іруппировок Группировка/

группировка таблицы/ группировка диаграммы группировка, выбранные поля, отбор, порядок,

условное оформление, состав вложенных группировок

Объект Настраиваемые элемеи ты Диаграмма диаграмма, выбранные поля, условное оформление, состав группировок серий, состав группировок точек Таблица таблица, выбранные поля, условное оформление, состав группировок строк, состав группировок колонок Вложенная схема вложенный отчет, выбранные поля, отбор, порядок.

условное оформление, состав группировок

В зависимости от того, где происходит вызов, команда Свойства элемента пользовательских настроек позволяет изменять различные настройки:

список отбора - пользовательские настройки для текущего элемента/групп отбора.

список параметров вывода и параметров данных - пользовательские настройки для текущего параметра,

список условного оформления - пользовательские настройки для текущего элемента условного оформления.

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

10.3.6.3. Редактирование пользовательских настроек

Редактирование объекта ПользовательскиеНастройки осуществляется в таблице (см. рис, 189),

НдсцжДт lie П|.глічі»вгвг| М М- М- X —11 1 ^ш

Насїиойкм січем "Продаж.* і овалов" НіСЦЯІїЛ М ЭТОГО ГОМ TJ * 0MTHIW Рім J Оляа Ртт Зі Отбор УсПОИНОЄ ОГСр»|і*ЧІІЄ Устмжлено Заеерееяь роїшімрое*** '".«і Всеідаст»*«- -ф Рис. 189. Редактор пользовательских настроек

СОВЕТ. В пользовательские имеет смысл выносить те настройки (нз всего многообразия, предлагаемого системой компоновки данных), которые предназначены для управления отчетом конечным пользователем. Предполагается, что пользователь будет оперировать только этими настройками.

Например, в запросе (который используется в качестве набора данных для отчета) существует большое количество полей, по которым можно выполнять отбор. Однако разработчик отчета считает, что есть ряд элементов отбора, которые используются наиболее часто и их логично вынести в пользовательские настройки. Тогда пользователь будет иметь возможность отредактировать как «особые» элементы отбора (строка Поставщик на рис. 189), так и отбор целиком (строка Отбор на рис. 189).

Также логично выносить в пользовательские настройки такие настройки, как:

Период иди дата - практически для всех отчетов:

Группировки и условное оформление - для табличных отчетов;

Значение счета бухгалтерского учета— для бухгалтерских отчетов и т. д.

При этом для каждого отчета разработчик будет самостоятельно принимать решение о том, какие настройки станут пользовательскими в его отчете (или варианте отчета),

10.3.6.4. Быстрые пользовательские настройки

Среди пользовательских настроек разработчик отчета может выделить такие настройки, которые пользователь редактирует наиболее часто (например, фильтр по товару в отчете Остатки товаров или фильтр по организации в бухгалтерском отчете). Тогда можно указать, что пользовательская настройка является быстрой (свойство РежимОтображения установлено в значение Быстрый доступ). Такие настройки будут редактироваться прямо в форме отчета. '.jc^^-i Отчет по оплатам - Демонстраимон... редпри*™EJ , - ? X Отчет по оплатам ^г Вариант отчета 0 сноб нон jr Выбрато вариант > Сформировать Jo Настрои'.а Л» Все действия - ilj 1 1 ІІЙ^ЇЇГ^^^^И Равно ftff Рас-*тны»"| с*т пост Равно Отбор > Рис. 190, Быстрые пользовательские настройки

У таблицы, предназначенной для редактирования пользовательских настроек, также имеется свойство РежимОтображения, которое определяет, показывать все пользовательские настройки или только быстрые.

Компоновщик настроек

У компоновщика настроек имеется свойство ПользовательскиеНастройки. В данном свойстве находятся значения редактируемых пользовательских настроек. Свойство недоступно для записи с помощью встроенного языка. Кроме того, у компоновщика настроек имеется метод ЗагрузитьПользовательскиеНастройки (), который загружает значения пользовательских настроек, переданные в качестве параметра метода.

Метод ПолучитьНастройки () позволяет получить копию текущих настроек (с учетом пользовательских настроек).

Метод Загрузить Настройки () - загружает переданные настройки в компоновщик настроек (пользовательские настройки также перезаполняются на основании переданных данных).

Заполнение значений пользовательских настроек

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

Для типов ЭлементОтбораКомпоновкиДанных, ГруппаЭлемен- товОтбораКомпоновкиДанных, ЭлементУсловногоОформленияКом- поновкиДанных, ЗначениеПараметраКомпоновкиДанных, Груп- пировкаКомлоновкиДанных, ГруплировкаТаблицыКомпоновкиДан- ных, ГруппировкаДиаграммыКомпоновкиДанных, ТаблицаКомпо- новкиДанных, ДиаграммаКомпоновкиДанных, ВложеннаяСхе- маКомпоновкиДаыных и соответствующих пользовательских элементах заполняется свойство ИдентификаторГТользовательскойНастройки и свойства, которые реально редактируются в пользовательских настройках.

Для типов ОтборКомпоновкиДанных. УсловноеОформлениеКомпо- новкиДанных. ПорядокКомпоновкиДанных, ВыбранныеПоляКомпо- новкиДанных создается объект соответствующего типа. В его коллекцию добавляются элементы, у которых свойство РежимОтображения отлично от

Недоступный.

Имеются исключения:

• не будут добавляться элементы, которые сами отмечены как пользовательские. Например, в пользовательский отбор не будет помещен элемент отбора, который отмечен как пользовательский;

не будут добавлены элементы, содержащие пользовательские элементы. Например, не будет добавлена группа условий, если в этой группе присутствуют элементы, отмеченные как пользовательские;

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

Для типов КоллекцияЭлементовСтруктурыКомпоновкиДанных. КоллекцияЭлементовСтруктурыТаблицыКомпоновкиДанных, КоллекцияЭлементовСтруктурыДиаграммыКомпоновкиДанных создается объект СтруктураНастроекКомпоновкиДанных, в который помещаются группировки, которые уже присутствуют в структуре. Помещаются только группировки с установленными полями группировок (не помещают ся детальные записи). Помещение группировок происходит до того, как будут встречены детальные записи, ветвление, таблица, диаграмма, вложенная схема. неиспользуемая группировка. [руппировка с п ол ьзовател ьской с тру кту рой.

10.3.6,7. Применение пользовательских настроек

Применение пользовательских настроек к основным настройкам выполняется в методе ПолучитьНастройки () компоновщика настроек. При этом выполняются описанные ниже действия:

для ТИПОВ ЭлементОтбораКомпоновкиДанных, ЭлементУс- ловногоОформленияКомпоновкиДанных, ЗначениеПарамет- раКомпоновкиДанных содержимое элементов копируется в соответствующие пользовательские элементы настроек.

для типов ОтборКомпоновкиДанных, УсловноеОформле- ниеКомпоновкиДанных, ПорядокКомпоновкиДанных. Выбран- ныеПоляКомпоновкиДанных элементы, находящиеся в основных настройках н отмеченные как Недоступный, остаются без изменения. Элементы из пользовательских настроек переносятся в основные. Они добавляются в конец коллекции для Отбора, ВыбранныхПолей и УсловногоОформления и в начало коллекции для Порядка.

для гипов ГруппаЭлементовОтбораКомпоновкиДанных, Груп- пировкаКомпоновкиДанных. ГруппировкаТаблицыКомпонов- киДанных, ГруппировкаДиаграммыКомпоновкиДанных, Табли- цаКомпоновкиДанных. ДиаграммаКомпоновкиДанных, Настрой- киВложенногоОбъектаКомпоновкиДанных устанавливается свойство Использование в соответствующем элементе основных настроек (на основании признака Использование элемента пользовательских настроек).

дзя типа СтруктураНастроекКомпоновкиДанных в элементе структуры основных настроек ищутся соответствующие группировки и располагаются в правильном порядке. Недостающие группировки создаются. Не найденные в пользовательских настройках группировки либо группировки, отключенные пользователем, не удаляются, а помечаются особым образом. Это позволит сохранить их для возможного использования в будущем. Пользовательские группировки с пустым набором полей (детальные записи) при применении игнорируются.

10.3.7. Макет компоновки данных

Макет компоновки данных представляется объектом встроенного языка системы «ІС:Предприятие» МакетКомпоновкиДанных и состоит из множества других вложенных объектов. Макет компоновки данных является инструкцией но выполнению компоновки данных для системы компоновкн данных. Макет компоновки уже содержит в себе описание макетов областей, тексты исполняемых запросов, расположение группировок и т. д.

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

Каждый макет компоновки данных содержит множество объектов, описывающих ту или иную часть. Рассмотрим эти составные части.

Рис. 191. Составные части макета компоновки данных

• Источники данных

Макет компоновки данных может содержать несколько описаний источников данных.

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

Источники данных описываются в свойстве ИсточникиДанных макета, которое содержит коллекцию значений, состоящую из элементов

ИсточникДанных МакетаКомпоновкиДанных.

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

Наборы данных

Наборы данных макета компоновки данных содержат описание того, какие данные необходимо получать в компоновке данных.

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

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

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

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

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

ПолеНабораДанныхМакетаКомпоновкиДанных.

Значения параметров макета компоновки данных

Макет компоновки данных может содержать параметры в любых выражениях, присутствующих в нем.

Значения параметров описываются в свойстве ЗначенияПараметров макета компоновки данных, которое содержит коллекцию значений, состоящую из элементов ЗначениеПараметраМакетаКампо- новкиДанных.

Связи наборов данных макета компоновки данных

Наборы данных, присутствующие в макете компоновки данных, могут быть связаны друг с другом. Связи между наборами данных описываются в макете компоновки данных.

Связи наборов данных описываются в свойстве СвязиНаборовДанных макета компоновки данных, которое содержит коллекцию значений, состоящую из элементов СвязьНаборовДанныхМакетаКомпо- новкиДанных.

Макеты областей макета компоновки данных

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

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

ОписаниеМакетаОбластиМакетаКомпоновкиДанных.

Тело макета компоновки данных

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

Возможно использование следующих типов элементов:

группировка - описывает выводимую в результат группировку;

детальные записи - описывает выводимые в результат детальные записи набора данных;

таблица - описывает таблицу, выводимую в результат:

диаграмма - описывает диаграмму, выводимую в результат;

макет-описывает макеты, используемые при выводе.

Группировка таблицы

Описывает группировку таблицы и представляется объектом встроенного языка ГруппировкаТаблицыМакетаКомпоновкиДаиных.

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

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

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

возможно использование свойств:

МакетОбщихИтогов- указывает макет, используемый при выводе общих итогов по группировке. типа МакетГруппи- ровкиТаблицыМакетаКомпоновкиДанных.

РасположениеОбшихИтогов - содержит расположение общих итогов для группировки, типа РасположениеИтоговКомпо- новкиДанных.

Детальные записи таблицы

Описывают детальные записи таблицы и представляются объектом встроенного языка ЗагшсиТаблицыМакетаКомпоновкиДанных.

Макет группировки таблицы

Макет группировки таблицы описывает макеты, используемые при выводе группировки таблицы, и представляется объектом встроенного языка

МакетГруппировкиТаб.пицыМакетаКомпоновкиДанных,

Групп правка диаграмм ы

Описывает группировку диаграммы и представляется объектом встроенного языка ТелоГруппировкиДиаграммыМакетаКомпоновкиДанных.

Группировка диаграммы содержит те же свойства, что и обычная группировка, со следующими различиями:

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

отсутствуют макеты для заголовка и подвала.

Макет группировка диаграммы

Макет группировки диаграммы описывает макеты, используемые при выводе

группировки диаграммы, и представляется объектом встроенного языка

МакетГруппировкиДиаграммыМакетаКомпоновкиДанных.

Ю.3.7.2. Язык выражений системы компоновки данных

Язык выражений системы компоновки данных предназначен дія записи

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

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

схема компоновки данных - хзя описания вычисляемых полей, полей итогов, выражений связи и т. д.;

насгройки компоновки данных - дія описания выражений пользовательских полей;

макет компоновки данных — дія описания выражений связи наборов данных, описания параметров макета и т. д.

ПРИМЕЧАНИЕ. В языке выражений компоновки данных отсутствует возможность получения поля через точку от выражения.

Литералы

В выражении могут присутствовать литералы типов, описанных далее.

Строка

Описание:

Строковый литерал записывается в символах «"».

При необходимости использования внутри строкового литерала символа «"» следует использовать два таких символа.

Пример:

"Литерал ""в кавычках"""

ЧИСЛО
Описание:

Число записывается без пробелов, в десятичном формате. Дробная часть отделяется прн помошн символа «.».

Пример: 10.5 200

Дата

Описание:

Литера.;] тниа Дата записывается при помощи ключевого литерала ДАТАВРЕМЯ (DATETIME). После данною ключевого слова в скобках, через заняіл'ю. перечисляются год, месяц, лень. часы, минуты, секунды. Указание времени необязательно.

Пример:

// Шестое января 1975 гола ДАТАВРЕМЯ(1975, 1, 06)

// Второе декавря 2006 года, 23 часа 56 минут 57 секунд ДАТАВРЕМЯ(2006, 12, 2, 23, 56, 57)

Булево

Описание:

Булевы значения могут быть записаны при помощи литералов Истина (True). Ложь (False).

Значение

Описание:

Для указания литералов других типов (системных перечислений, предопределенных данных) используется ключевое слово ЗНАЧЕНИЕ, после которого в скобках идет указание имени литерала.

Пример:

ЗНАЧЕНИЕ(ВидСчета.Активный)

Поля

Описание:

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

Пример:

Номенклатура.Артикул Продажи. СуммаОСорот

Параметры

Описание:

Выражения могут использовать параметры. Для использования в выражении параметра достаточно написать его имя. которому будет предшествовать символ «&». например:

Пример:

^Контрагент &ДатаНачала

Операции над числами

Унарный "-"

Описание:

Данная операция предназначена дія изменения знака числа на обратный.

Пример:

-Продажи.Количество

Унарный "+"

Описание:

Данная операция не выполняет над числом никаких действий.

Пример:

+Продажн.Количество

Бинарный "-"

Описание:

Данная операция предназначена для вычисления разности двух чисел. Пример:

ОстИОбрт.НачальныйОстаток - ОстИОбрт.конечкыйостаток ОстШбрт.НачальныйОстзток - 100 400 - 357

Бинарный "+"

Описание:

Данная операция предназначена дія вычисления суммы двух чисел.

Пример:

ОстИОбрт.НачальныйОстаток + ОстИОСрт.Оборот ОстИОБрт.НачальныйОстаток +100 400 + 357

Произведение "*"

Описание:

Данная операция предназначена для вычисления произведения двух чисел. Пример:

Номенклатура.Цена * 1.2 2 * 3.14

Деление "/"

Описание:

Данная операция предназначена дія получения результата деления одного операнда на другой.

Пример:

Номенклатура.Цена / 1.2 2 / 3.14

Остаток от деления "% "

Описание:

Данная операция предназначена для получения остатка от деления одного операнда на другой.

Пример:

Номенклатура.Цена % 1.2 2 % 3.14

Операции над строками

Конкатенация (Бинарный "+")

Описание:

Данная операция предназначена для конкатенации двух строк. Пример:

Номенклатура.Артикул + ": ¦+ Номенклатура.Наименование

ПОДОИ НО (LIKE)
Описание:

Данная операция проверяет соответствие строки переданному шаблону.

Значением оператора ПОДОЕНО является Истин если значение выражения удовлетворяет шаблону, и Ложь - в противном случае.

Следующие символы в строке шаблона имени смысл, отличный от просто очередного символа строки:

«%»- процент: последовательность, содержащая ноль и более произвольных символов;

« _» подчеркивание: один произвольный символ:

«[...]» один или несколько символов в квадратных скобках: один символ, любой из перечисленных внутри квадратных скобок. В перечислении могут встречаться диапазоны, например a-z. означающие произвольный символ, входящий в диапазон, включая концы диапазона;

«[А...]»- в квадратных скобках значок отрицания, за которым следует один или несколько символов: любой символ, кроме тех. которые перечислены следом за значком отрицания:

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

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

буквы А:

буквы Б;

буквы В;

одной цифры:

одной из букв а. б. в или г:

символа подчеркивания:

буквы а:

буквы б:

буквы в.

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

Пример:

ПАБВ[0-9Пабвг] \ аОв*" СПЕЦСИМВОЛ

Операции сравнения

Равно (=)

Описание:

Данная операция предназначена для сравнения двух операндов на равенство. Пример:

Пропажи.Контрагент = Продажи.НоменклатураОсновнойПоставшик

Не равно (о)

Описание:

Данная операция предназначена для сравнения двух операндов на неравенство.

Пример:

Продажи.Контрагент о Продажи,НоменклатураОсновнойПоставщик

Меньше (<)

Описание:

Данная операция предназначена ятя проверки того, что первый операнд меньше второго.

Пример:

ПродажиТекущие.Сумма < ПродажиПрошлые.Сумма

Польше (>)

Описание:

Данная операция предназначена для проверки гого, что первый операнд больше второго.

Пример:

ПродажиТекущие.Сумма > ПродажиПрошлые.Сумма

Меньше или равно (<~)

Описание:

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

Пример:

ПродажиТекущие.Сумма <= ПродажиПрошлые.Сумма

Больше или равно (>=)

Описание:

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

Пример:

ПролажиТекущие. Суша >« Прола*иПретшше . Суша

Операция (B/IN)

Описание:

Данная операция осуществляет проверку наличия шачення в переданном списке значений. Результатом операции будет Истина, если значение найдено, или Лечсь - в противном случае.

Пример:

Номенклатура В (іТоварІ, ЬТОвар2)

Операция проверки наличия значения в наборе данных (В/ІХ)

Описание:

Операция осуществляет проверку наличия значения в указанном наборе данных. I (абор данных для проверки должен содержат ь одно ноле.

Пример:

Продажи.Контрагент В Контрагенты

Операция проверки точения на NULL (ЕСТЬ NULL/ IS NULL)

Описание:

Данная операция возвращает значение Истина, если оно является значением NULL.

Пример:

Продажи.контрагент ЕСТЬ NULL

Операция проверки шачення пи неравенство NULL (ЕСТЬ НЕ NULL/IS NOT NULL)

Описание:

Данная операция возвращает значение Истина, если оно не является значением NULL.

Пример:

Продажі.Контрагент ЕСТЬ НЕ HULL

Логические операции

Логические операции принимают в качестве операндов выражения, имеющие

тип Булево.

Операция НЕ (ЛОТ)

Описание:

Операция НЕ возвращает значение Истина, если ее операнд имеет значение Ложь, и значение Ложь, если ее операнд имеет значение Истина.

Пример:

НЕ Документ.Грузополучатель = Документ.Грузоотправитель

Операция И (AND)

Описание:

Операция И возвращает значение Истина, если оба операнда имеют значение Истина, и значение Ложь, если один из операндов имеет значение Ложь, например:

Пример:

Документ.Грузополучатель « Документ.Грузоотправитель И Документ.Грузополучатель - ^Контрагент

Операция ИЛИ (OR)

Описание:

Операция ИЛИ возвращает значение Истина, если одни из операндов имеет значение Истина, и Ложь, если оба операнда имеют значение Ложь.

Пример:

Документ.Грузополучатель = Документ.Грузоотправитель ИЛИ Документ.Грузополучатель = ЬКонтрагент

Агрегатные функции

Ai регатные функции осуществляют некоторое действие над набором данных.

СУММА (SUM)

Описание:

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

Пример:

СУМКА(Продажи.СуиыаООорот)

КОЛИЧЕСТВО (COUNT)

Описание:

Функция КОЛИЧЕСТВО рассчитывает количество значении, отличных от значения NULL.

Пример:

КОЛИЧЕСТВО(Продажи.Контрагент)

КОЛИЧЕСТВО (РАЗЛИЧНЫЕ) (COUNT (DISTINCT))

Описание:

">та функция рассчитывает количество различных значений. Пример:

КОЛИЧЕСТВО(Различные Продажи.Контрагент)

МАКСИМУМ (МАХ)

Описание:

Функция получает максимальное значение.

Пример:

МАКСИМУМ(Остатки.Количество)

МИНИМУМ (MfN)

Описание:

Функция получает минимальное значение. Пример:

МИНИМУМ(Остатки.Количество)

СРЕДНЕЕ ( 41 G)

Описание:

Функция получает среднее значение для значений, отличных от NULL. Пример:

СРЕДНЕЕ(Остатки.Количество)

Другие операции

Операция ВЫБОР (CASE)

Описание:

Операция ВЫБОР предназначена для осуществления выбора одного из нескольких значений при выполнении некоторых условий.

Пример:

ВЫБОР Когда Сумма > 1000 Тогда Сумма Иначе 0 Конец

Правила сравнения двух значений

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

NULL (самый низший);

Булево;

Число;

Дата;

Строка;

ссылочные типы.

Отношения между различными ссылочными типами определяются на основе ссылочных номеров таблиц, соответствующих тому или иному типу.

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

у типа Булево значение Истина больше значения Ложь;

у типа Число обычные правила сравнения для чисел;

у типа Дата более ранние даты меньше более поздних;

у типа Строка сравнения строк в соответствии с установленными национальными особенностями базы данных;

ссылочные типы сравниваются на основе своих значений (номера записи и т. п.).

Работа со значением NULL

Любая операция, в которой значение одного из операндов NULL, будет давать результат NULL.

Есть исключения:

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

Приоритеты операций

Операции имеют следующие приоритеты (первая строка имеет низший

приоритет):

ИЛИ;

И;

НЕ;

В, ЕСТЬ NULL. ЕСТЬ НЕ NULL;

о. <=. <, >=, >;

Бинарный +. Бинарный -;

* о/., !, /о.

Унарный +, Унарный Функции

ВЫЧИСЛИТЬ (EVAL)

Описание:

Функция ВЫЧИСЛИТЬ предназначена для вычисления выражения в контексте

некоторой г руппировки. Функция имеет следующие параметры:

Выражение строка, содержащая вычисляемое выражение;

Группировка строка, содержащая имя группировки, в контексте которой необходимо вычислить выражение. Если в качестве имени группировки используется пустая строка, вычисление будет выполнено в контексте текущей группировки. Если в качестве имени группировки будет использована строка ОбшийИтог. вычисление будет выполнено в контексте общего итога. В остальных случаях вычисление будет выполняться в контексте родительской группировки с таким именем;

Тип расчета - строка, содержащая тин расчета. Если данный параметр имеет значение ОбшийИтог, выражение будет вычисляться .хтя всех записей группировки. Если значение параметра- Группировка, значения будут вычисляться дія текущей групповой записи группировки, например:

Пример:

Сумма (П родаяси. СумыаООорот) /

ВЫЧИСЛИТЬ("Сумыа(пропажи.СуммаОборот)"ОбшийИтог")

В данном примере в результате получится отношение суммы по пазю Продажи. СуымаОС орот записи группировки к сумме того же поля во всей компоновке.

УРОВЕНЬ (LEI EL)

Описание:

Функция предназначена для получения текущего уровня записи.

Пример: УРОВЕНЬ()
У РОВЕНЬВГРУППИРОВ KEfLEl EL I NCR ОI P)

Описание:

Функция предназначена для получения уровня записи относительно корня группировки.

Пример:

УРОВЕНЬВГРУППИРОВКЕ()
ЗИЛ ЧЕНИЕЗЛ ПОЛНЕН О (VALUEISFILLED)

Описание:

Возвращает Истина, если значение отлично от значения данного типа по умолчанию, отлично от значения NULL, отлично от пустой ссылки, отлично от шачення Неопределено. Для логических значений осуществляется проверка на значение NULL. Дія строк осуществляется проверка на отсутствие не пробельных символов.

НОМЕРПОПОРЯДКУ (SER1ALNL MBER)

Описание:

Получить следующий порядковый номер. Пример:

НОМЕРПОПОРЯДКУI)

НОМЕРПОПОРЯДКУBf РУППИРОВКЕ (GROLPSERIALXL MBER)

Описание:

Возвращает следующий порядковый номер в текущей группировке.

Пример:

НОМЕРПОПОРЯДКУВГРУППИРОВКЕ[)

ФОРМАТ (FORMAT)

Описание:

Получить отформатированную строку переданного значения. Форматная строка задается в соответствии с форматной строкой системы «1С: Предприятие».

Параметры:

Значение.

Форматная строка. Пример:

ФОРМАТ(РасходныеНакладкые.СумыаДок, ¦ ЧДЦ=2")

НА ЧАЛОПЕРИОДА (BEGIXOFPER/OO)

Описание:

Функция предназначена дія выделения определенной даты из заданной даты. Параметры:

Выражение тина Дата;

Тип периода- строка, содержащая одно из значений: Минута, Час, День, Неделя, Месяц, Квартал, Год, Декада, Полугодие.

Пример:

НАЧАЛОПЕРИОДА(ДатаВремя(2 002, 10, 12, 10, 15, 34), "Месяц")

Результат: 01.10.2002 0:00:00

КОНЕЦПЕРИОДА (ENDOFPERIOD)

Описание:

Функция предназначена для выделения определенной даты из заданной даты. Параметры:

Выражение типа Дата;

Тип периода- строка, содержащая одно из значений: Минута. Час, День, Неделя, Месяц, Квартал. Год. Декада. Полугодие.

Пример:

КОНЕЦПЕРИОДА(ДатаВремя(2002, 10, 12. 10, 15, 34), "Неделя")

Результат:

13.10,2002 23:59:59

ДОБА ВИ ТЬКДА ТЕ (D4 ТЕ ADD)

Описание:

Функция предназначена для прибавления к дате некоторой величины. Параметры:

Выражение типа Дата;

Тип увеличения- строка, содержащая одно из значений: Секунда, Минута, Час. День, Неделя, Месяц, Квартал, Год, Декада, Полугодие.

Величина - на сколько необходимо увеличить дату. Тин Число. Дробная часть игнорируется.

Пример:

ДОБАВИТЬКДАТЕ(ДатаВреыя<2002, 10, 12, 10, 15, 34), "Месяц*, 1)

Результат:

12.11.2002 10:15:34

РАЗИОСТЬДА Т (DA TEDIFF)

Описание:

Функция предназначена для получения разницы между двумя датами. Параметры:

Выражение типа Дата;

Выражение типа Дата;

Тип разности - одно из значений: Секунда, Минута, Час, День, Месяц, Квартал, Год.

Пример:

РАЗНОСТЬДАТ(ДАТАВРЕМЯ(2002, 10, 12, 10, 15, 34), ДАТАВРЕМЯ(2002, 10, 14, 9, 1В, 06), "ДЕНЬ">

Результат: 2 ТЕКУЩАЯДА ТА (CURRENTDA ТЕ)

Описание:

Возвращает системную дату. При компоновке макета компоновки во всех выражениях. которые присутствуют в компоновке, функция ТекущаяДата () заменяется значением текущей даты.

Пример: ТЕКУЩАЯДАТА ()

ПОДСТРОКА (SUBSTRING)
Описание:

Данная функция предназначена для выделения подстроки из строки. Параметры:

выражение, имеющее строковый тип:

позиция символа, с которого начинается выделяемая из строки подстрока;

длина выделяемой подстроки.

Пример:

ПОДСТРОКА(Контрагенты.Алрес, 1, 4)

ДЛИНА С ТРОКИ (S TRINGL ENG ТН)
Описание:

Функция предназначена для определения длины строки. Параметр - выражение сі рокового гнпа.

Пример:

ДЛИНАСТРОКИ(Контрагенты.Адрес)

ГОД (YEAR)

Описание:

Данная функция предназначена для выделения года из значения типа Дата. Единственный параметр - это выражение, имеющее тип Дата.

Пример:

год(РэсхНакл.Лата)

КВАРТАЛ (QUARTER)

От/сонне:

Данная функция предназначена дія выделения номера квартала из значения типа Дата. Номер квартала в норме находится в диапазоне от 1 до 4. Единственный параметр функции -это выражение, имеющее тип Дата.

Пример:

КВАРТАЛ(РасхНакл.Дата)

МЕСЯЦ (MONTH)

Описание:

Данная функция предназначена для выделения номера месяца из значения типа Дата. Номер месяца в норме находится в диапазоне от I до 12. Единственный параметр функции - это выражение, имеющее тип Дата.

Пример:

МЕСЯЦ(РасхНакл.Дата)

ДЕНЬГОДА (DA YOFYEAR)

Описание:

Данная функция предназначена для получения дня года из значення типа Дата. День года в норме находится в диапазоне от 1 до 365 (366). Единственный параметр функции - это выражение, имеющее тип Дата.

Пример:

ДЕНЬГОДА(РасхНакл.Дата)

ДЕНЬ (DA Y)

Описание:

Данная функция предназначена хтя получения дня месяца из значения типа Дата. День месяца в норме находится в диапазоне от I до 31. Единственный параметр функции - это выражение, имеющее тип Дата.

Пример:

ДЕНЬ(РасхНакл.Дата)

НЕДЕЛЯ (WEEK)
Описание:

Данная функция предназначена ХЇЯ получения номера недели года из значения типа Дата. Недели года нумеруются, начиная с 1. Единственный параметр функции это выражение, имеющее тип Дата.

Пример:

НЕЛЕЛЯ(РасхНакл.Дата)

ДЕНЬНЕДЕЛН (HEEKDA Y)

Описание:

Данная функция прс та значена лля получения лня нелелн m значения типа Дата. День недели а норме находится в лиана кніс от I (понедельник) до 7 (воскресенье). Единственный параметр функции это выражение, имеющее тин Дата.

Пример:

ДЕНЬ Н ЕДЕЯИ(РасхНакл.ДатаI

ЧАС (HOUR)

Описание:

Данная функция предназначена для полу чения часа суток нт значения типа Дата. Час суток находится в диапазоне от 0 до 23. Единственный параметр функции это выражение, имеющее тип Лата.

Пример"

ЧАС(РасхНакл.Дата)

МИНУТА (MINUTE)

Описание:

Данная функция предназначена для получения минуты часа из значения типа Дата. Минута часа находится в диапазоне от 0 до 59. Единственный параметр функции это выражение, имеющее тип Дата,

Пример:

МИНУТА(РасяНакл.Дата)

СЕКУНДА (SECOND)

Описание:

Данная функция предназначена для получения секунды минуты ні значения лита Дата. Секунда минуты находится в диапазоне от 0 до 59. Единственный параметр функции эю выражение, имеющее тип Дата.

Пример:

СЕКУНДА(РасхНакл.Дата)

ВЫРАЗИТЬ (CAST)
Описание:

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

Параметры:

Преобразуемое выражение;

Тип - строка, содержащая строку типа. Например, Число, Строка и т. п. Кроме примитивных типов данная строка может содержать имя таблицы. В таком случае будет осуществлена попытка выразить к ссылке на указанную таблицу.

Пример:

ВЫРАЗИТЬ{Данные.Реквизиті, "Число(10,3)*)

ЕСТЬ NULL (ISNULL)

Описание:

Данная функция возвращает значение второго параметра, если значение первого параметра NULL. В противном случае будет возвращено значение первого параметра.

Пример:

ECTbNULL(Сумма{Продажи.СуммаОборот} , 0)

Функции общих модулей

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

СокрашенноеНаиыенование(Докум.Ссылка, Докум.Дата, Докум.Номер)

В данном примере будет осуществлен вызов функции Сокращен- ноеНаименование () из общего модуля конфигурации.

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

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

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

Существуют несколько принципиально различных макетов областей:

собственно макет области,

макеты областей диаграммы. Структура макетов показана на рнс. 192.

Рис. 192. Структура макета

Во встроенном языке системы «1С: Предприятие» макет области представляется объектом типа МакетОСластиКомпоновкиДадных. Данный объект является коллекцией объектов СтрокаТаб- лицыОбластиКомпоновкиДанных.

Структура макета области

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

Коллекция ячеек таблицы

Данный объект представляет собой коллекцию ячеек строки таблицы. Описывается объектом встроенного языка ЯчейкиТаблицыОб- ластиКомпоновкиДанных. Элементами коллекции являются ячейки таблицы - объекты типа ЯчейкаТаблицыОбластиКомпоновкиЛанных.

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

Коллекция элементов макета

Коллекция элементов макета (объект ЭлементыМакетаОблас- тиКомпоновкиДанных) представляет собой коллекцию полей (объектов гима ПолеОбластиКомпоновкиДанных). Данные объекты моїут содержаться н коллекции в произвольном порядке. Данные, содержащиеся в этих объектах, используются при выводе в документы рахтичных форматов.

Поле

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

ПолеОбластиКомпоновкиДанных.

Оформление ячейки таблицы

Оформление ячейки таблицы представляет собой коллекцию объектов, описывающих оформление ячейки таблицы. Описывается объектом встроенного языка ОформлениеЯчейкиТаблииыОСластиКомпо- новкиДанных.

Оформление поля

Оформление ноля представляет собой коллекцию, содержащую всею один объект - элемент оформления Формат, Описывается объектом встроенного языкаОформлениеПоляОбластиКомпоновкиДанных.

Структура макетов областей диаграммы

Существует три типа макетов областей диаграммы:

макет диаграммы- объект типа МакетДиаграммыОблас- тиКомпоновкиДанных;

макет ресурса диаграммы объект типа Ма ке т Ре сур са Д и а грам мыОбластиКомпоновкиДанных:

максі группировки диаграммы- объект типа МакетГруплировкиДиаграммыОбластиКомпоновкиДанных.

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

Принцип работы

Макеты областей используются при выводе отчетов в документы различных форматов. Макет области является составной частью определения макета компоновки данных - объекта типа ОпределениеМакетаСхемыКом- поновкиДанных.

Для того чтобы в ячейках или элементах списка макета области выводились значения выводимых полей отчета, необходимо свойству Значение поля области компоновки данных (объект типа ГТолеОбластиКомпонов- киДанных) присвоить значение типа ПараметрСистемыКом- поновкиДанных. содержащее имя параметра. Сам параметр необходимо добавить к списку параметров определения макета и в качестве имени присвоить имя параметра, а в качестве выражения - имя выводимого поля или выражение в терминах я тыка выражений системы компоновки данных.

Макет диаграммы

Макет диаграммы используется для описания типа диаграммы. Описывается объектом встроенного языка МакетДиаграммыОбластиКомпо- новкиДанных.

Макет ресурса диаграммы

Макет ресурса диаграммы используется для формирования значений диаграммы п описывается объектом встроенного языка

МакетРесурсаДиаграммыОбластиКомпоновкиДанных.

Макет группировки диаграммы

Макет группировки диаграммы используется для формирования точек и серий дпаїраммьі. Описывается объектом встроенного языка

МакетГруппировкиДиаграммыООластиКомпоновкиДанных.

10.3.7.4. Макеты оформления

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

Для интерактивного создания макета оформления необходимо при создании макета с помощью кон сіру ктора макетов указать его тип Макет оформления компоновки данных и нажать кнопку Готово. На экран выводится окно макета оформления.

0 « • ¦ ¦

П(ММЙ М
Заголово» грут»с>се* »• сгьс* а

Под—я г^інш»н оке» а

ЗвГОЛМО* *Єр4р»*«С» ОЙ ГруГ*С0в»И (ПОв

Поомл дерарммесг ой гру*«оое»м сгшкг а

Злі ПІННІМ группировки колонии

Параметры да» «і

* 93

| 0 0 0 I 0.0 0 | 172.200 189

Шри«т диалогов и мв

Прижаяь влево Очистить мак п

_ D х

Пример отчета

Параметр ¦ 01 01 2006 ООО 00 Гртттмх>«»а1 Содержит "Грулпфоекв

Пример таблицы

Грулпмровкві

f рушій Грулпи Груп

ровкаї ровкаї ров»

Иерарх 1 Hep.

Параметр Цвв» ФОп* Цвет тексте Цв*тграииіь< ¦ СТМ1ЪПММ«Ы Шомфт Отступ АгТООТГТЧП

Гооихнгаяьиое d Стапаарт«*« макет

ия ия

Ресурс Ресурс Рес>

10 10

їв ю

ГруппировкаИерархия

Гругтефовіа2Иерасимя

Групг»фоеів2 -1 Группирома? - 2 Грулпироа»а2- 2

Грулпфо»іа2ИврарА«а 1 7 Если предполагается, что в отчет будет выведено несколько уровней группировки, то нужно в списке областей для каждой области, в которой будут уровни, создать подчиненные области по числу уровней группировки. Для создания уровня области укажите область и нажмите кнопку Добавить командной панели. В список областей добавляется строка, имя которой УровеньІЧ. где N номер уровня группировки. Выбор оформления уровня группировки выполняется как описано выше.

ПРИМЕЧАНИЕ. Если было указано несколько уровней, то при удалении уровня группировки всегда удаляется самый нижний уровень текущей области, независимо оттого. какой уровень в списке был выбран.

10.3.7.5. Генератор областей макетов

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

При работе генератора областей макетов можно выделить следующие этапы:

формирование общих макетов отчета:

формирование макетов группировок:

расположение группировок:

расположение выводимых полей группировок:

применение макета оформления;

применение условных оформлений;

объединение ячеек.

Рассмотрим каждый этап работы генератора областей макетов.

Форм про вин tie общих макетов отчета

На данном этане генератором областей макетов на основании настройки компоновки данных создаются общие макеты. Тин п количество макетов зависят от типа шемента настройки компоновки данных.

Макет групп иранки

Для группировки формируется специальный макет шапка группировки. Данный макет содержит названия выводимых полей в левом части макета и названия выводимых ресурсных полей в правой части макета, например: Контрагент Контрагент. Код Количество Сумма 1 Іименклатура 1 Іоменклатура.Код Номенклатура. Наименование

Макет таблицы

Для таблицы формируется следующая группа макетов:

• Макет пшики їло. шны Данный макет содержи і названия выводимых полей строк таблицы, например: Контрагент Контрагент. Код Номенклатура 1 Іоменклатура.Код Номенклатура. Наименование • Макет итогов по строкам. Данный макет содержит специальное слово Итого и названия ресурсных полей, если они выводятся горизонтально, например: Итого Количество Сумма

• Макет и мн он пи колонкам. Данный макет содержит специальное слово Итого и названия ресурсных полей, если они расположены вертикально, например: Итого Количество Сумма

• Макет общих пішов. Данный макет содержит ресурсные поля, выводимые в таблице и необходимые для отображения в таблице общих итогов, например: Представлений П редставлен ис( С'умма( Сумма( Продажн. Ко. і ичест вп( Хюрот)) 11 родажн .СуммаОборот))

Расположение данных макетов внутри таблицы показано ниже.

Шапка таблицы Область колонок Макет итогоапо строкам Область строк Область ресурсов Область итогонпо строкам Макет итогов по колонкам Область итогов по колонкам Макет общих итогов

Расположение макетов итогов построкам и колонкам управляется свойствами РасположениеОбщихИтоговПоГоризонтали и РасположениеОб- щихИтогс ыПоВертикали соответственно. Возможны следующие варианты расположения общих итогов:

• Нет - общие и mi и не выводятся. Шапка таблицы Область колонок Область строк Область ресурсов

• Начало общие итоги выводятся в первой колонке или в первой строке таблицы соответственно. Шапка таблицы Макет ІГТОГОВ по строкам Область колонок Максі иннин по колонкам Макет общих

ІГТОГОВ Область итогов по колонкам Область строк Область итогов по строкам Область ресурсов

• Коней общие итога выводятся в последней колонке или в последней строке таблицы соответственно. Шапка таблицы Область колонок Макет итогов но строкам Область строк Область ресурсов Область итогов но строкам Максі итогов но колонкам Область итогов но колонкам Макет общих итого» • НачалоИКонец - общие итоги выводятся в первой колонке строке, а также в последней колонке строке таблицы.

Шапка таблицы Макет итогов по строкам Область колонок Макет итогов по строкам Макет итог ов по колонкам Макет общих итогов Область итогов по колонкам Макет общих итогов Область строк Область итогов но строкам Область ресурсов Облас г ь итогов по сг рокам Макет итогов по колонкам Макет общих итогов Область итогов по колонкам Макет общих И101 он

• Авто - итоги но колонкам располаг аются в последней строке, а итоги по ст рокам н последней колонке.

Макет диаграммы

В макете содержатся оформительские свойства диаграммы.

Формирование макетов группировок

В настройке компоновки данных существует три вида группировок:

группировка;

группировка таблицы;

группировка диаграммы.

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

Определение типа макета группировки. Тип макета группировки

получается из параметра ТилМакетаГруппировкиКоыпоновкиДанных объекта ЗначенияПараметровВыводаКоипоновкиДанных. Данное свойство имеет смысл только для простых группировок, т. е. группировок, не

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

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

• Горизонтальный- расположение выбранных полей горизонтально, друг за другом слева направо. Контрагент Контра гент.Код Номенклатура НомснK-iaiypa Код Номенклатура.Наименование Алекс-2002 00009 1С:Бухгалтерия 8 00013 1С:Бухгалтерия 8

• Вертикальный - расположение выбранных полей вертикально, друг иод другом. Контрагент Алекс-2002 Контрагент. Кол 00001) Номенклатура 1С:Бухгалтерия 8 Номенклатура. Код 00013 Номенклатура,! Іпименоваїше 1С:Бу.\гп.ттерия 8

Расположение группировок друг относительно друга. Расположение группировок друг относительно друга управляется параметром Распо- ложениеПолейГруппировки объекта ЗначеиияПараметровВы- водаКомпоновкиДанных. Возможны следующие варианты расположения:

• Вместе- группировки располагаются друг под другом. Например, для группировок по контрагенту и номенклатуре. Контрагент Контрагент.Код Номенклатура Номенклатура. Код Номенклатура.! Іапменоваиие Алекс-2002 00009 1 С:Бухгшггерия к 00013 1С: Бухгалтерия 8

• Отдельно- каждая группировка располагается в отдельной области. Группировки располагаются друг за другом слева направо. Выводимые поля группировки выводятся также и во вложенных группировках. Контрагент Контрагент.Код Номенклатура Номен клатура. Код Номенклатура. Наименование Алекс- 2002 00009 Алекс- 2002 00009 1С:Аспект 7.7 00015 1С:Аспект 7.7. Компактная торговая система • ОтдельноИТолькоВИтогах - каждая группировка располагается в отдельной области. Группировки располагаются друг за другом слева направо. Выводимые поля выводятся только в данной группировке.

Контрагент Контрагент.Код Номенклатура 1 Іоменклатура. Код Номенклатура. І Іаимснованнс Алекс- 2002 00009 1С:Аспект 7.7 00015 1С:Аспект 7.7. Компактная торговая система

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

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

РасположениеРеквизитов объекта ЗначенияПараметровВы- водаКомпоновкиДанных. Возможны следующие варианты расположения:

" Вместе - поля реквизитов располагаются вместе в отдельной

колонке и при выводе разделяются запятой. Контрагент Контрагент.Код Номенклатура 1 Іоменклатура.Код. Номенклатура.Наименование ¦ Отдельно- каждое поде реквизита располагается в отдельной колонке. Контрагент Контрагент.Код Номенклатура Номенклатура.Код Номенклатура.Наименование

¦ ВместеСВладельцем- поля реквизитов располагаются в одной колонке с их полем-владельцем и прн выводе разделяются запятой.

Контрагент. Контрагент.Код

Номенклатура. 1 Іоменклатура.Код. Номенклатура.Наименование

¦ ВСпециальнойПозиции— поля-реквизиты располагаются в специальной колонке, размещенной правее всех остальных колонок группировки. Контрагент Контрагент.Код Номенклатура 1 Іоменклатура.Код, Номенклатура.! Іаименовашіе

• Вывод полей, расположенных в папках. Расположение данных полей управляется свойством Расположение папки. Возможны следующие варианты расположения:

¦ Авто- поля выводятся в зависимости от типа группировки. Если

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

Контрагент Номенклатура Реквизиты номенклатуры Иомен клату ра. Код і Іоменклатура.Наименование Номенклатура. ОснПост

¦ Горизонтально - поля выводятся горизонтально слева направо.

Контрагент 1 іоменклатура Реквизиты номенклатуры Номенклатура. Код Номенклатура. Наименование Номенклатура.ОснПост

¦ Вертикально - поля выводятся вертикально Друг под другом.

Кош раї сш Номенклатура Реквизиты номенклатуры Номенклатура. Код Номенклатура. Наименование 1 Іоменклатура.ОснГІост

¦ Вотдельнойколонке - поля выводятся в отдельной колонке, расположенной правее всех остальных колонок. Контрагент Контрагент. Код Номенклатура Реквизиты номенклатуры Номенклатура. Код Номенклатура. Наименование Номенклатура. ОснПоет

• Вместе - поля выводятся вместе и при выводе разделяются запятой.

Контрагент Номенклатура Рекнизнты номенклатуры 1 Іоменклатура. Код. 1Іомснк-татура.Наименование. Иомен клату ра. Основі юн Поста він н к

Применение условных оформлении

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

Объединение ячеек

После формирования макета области в ней могут оказаться незаполненные ячейки. Такие ячейки необходимо объединять для более наглядного представления макета области. Возможны следующие варианты расположения ячеек.

• незаполненные ячейки расположены справа от заполненных ячеек. Ячейки, расположенные справа, объединяются с ячейками слева.

Рис. 194. Незаполненные ячейки справа

• незаполненные ячейки расположены под заполненными ячейками. Ячейки, расположенные снизу, объединяются с ячейками вверху. 1 1 1 1 Рис. 195. Незаполненные ячейки снизу

• незаполненные ячейки расположены и справа, п под заполненными ячейками. Ячейки, расположенные справа, объединяются с ячейками слева. Затем ячейки, расположенные снизу, объединяются с ячейками вверху. • — h) Рис. 196. Незаполненные ячейки снизу и справа

10.3.7.6. Формирование макета компоновки данных

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

Формирование макета компоновки осуществляется при помощи объекта встроенного языка КомпоновщикМакетаКомпоновкиДанных.

Данный объект не имеет свойств и имеет один метод Выполнить (). в который передается схема компоновки данных, настройки компоновки данных, переменная, в которую помещается объект Данные Расшифровки, и макет оформления. Данный метод возвращает созданный макет компоновки данных.

В процессе работы компоновщик макета:

создает макет компоновки;

модифицирует запросы наборов данных дія получения нужной пользователю информации и помещает их в макет компоновки;

формирует фильтры в тексте запроса или описании набора данных;

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

в макете компоновки данных создает нужные параметры со значениями, установленными пользователем;

заполняет элементы зела макета компоновкн данных, в которые помещает группировки, таблицы и т. д., заполняет их параметры;

использует генератор областей макета (см. стр. І-585). Если указан макет оформления (четвертый параметр), данный макет будет использоваться для оформления генерируемого макета;

если указан третий параметр, создает объект Данные Расшифровки н помещает его в переданную переменную. Созданный таким образом объект нужно использовать при работе процессора компоновки и при отработке расшифровки.

Пример:

СхемаКомпоновкиДанных = ПолучитьСхеыуКомпоновкиДанных ()

ИсполняемыеНастройки = ПолучитьИсполняеыыеНастройки();

КомпоновшикМакета - Новый КоипонопщикМахетаКомпоновкиДанных;

МакетКоыпоновки = КомлоновкикНакета.Выполнить( СхемаКомпоновкиДанных, ИсполняемыеНастройки);

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

<< | >>
Источник: А.Алексеев, А. Безбородое, Д. Бескоровайнов. 1С:Предприятие 8.2. Руководство разработчика. 2009

Еще по теме Схема компоновки данных:

  1. 10.4. Процессор компоновки данных
  2. 10.1. Общие сведения о компоновке данных
  3. 10.6. Результат компоновки данных
  4. Общие объекты системы компоновки данных
  5. 10.8. Работа с иерархией в системе компоновки данных
  6. 10.10, Особенности использования системы компоновки данных
  7. 10.9. Использование системы компоновки данных при разработке прикладных решений
  8. 10.7. Расчет итогов по полям остатка в системе компоновки данных
  9. Единая база данных или отдельные группы данных
  10. 3. Модели представления данных в электронных базах данных
  11. Директива 95/46/ЕС Европейского парламента и Совета Европейского Союза от 24 октября 1995 года «О защите прав частных лиц применительно к обработке персональных данных и о свободном движении таких данных»
  12. МЫСЛИ О КОМПОНОВКЕ
  13. РАБОЧАЯ КОМПОНОВКА
  14. СХЕМА
  15. ПЕРЕМЕНЫ В РАБОЧЕЙ КОМПОНОВКЕ
  16. ОБЩАЯ СХЕМА РЕГИСТРАЦИИ ПРЕДПРИЯТИЯ
- Аудит - Бухгалтерский учет - Макро и микро экономика - Экономическая теория -
- Бизнес - Компьютеры и интернет - Психология - Философия - Финансы - Экономика - Юриспруденция и право -