Как выделяются синтаксические инструкции языка запросов для системы компоновки данных

В случае, если в качестве набора данных для СКД был указан Запрос, собственно запрос нужно специфицировать. Из карточки отчета можно вызвать конструктор запросов:

Запрос при этом не обязательно указывать через конструктор, можно прописать вручную, либо скопировать из консоли. Каких-то ограничений на запросы нет, доступны все возможности языка; более того, язык запросов имеет расширения для СКД. Это синтаксические конструкции, заключенные в фигурные скобки:

Используется на деле это редко.

***

Вопрос 11.30 экзамена 1С:Профессионал по Платформе. Что произойдет, если в схеме компоновки данных использовать пакетные запросы?

  1. Результирующим запросом будет пакетный запрос
  2. Будет выдана ошибка
  3. Использование пакетных запросов не доступно

Правильный ответ первый — для отчета безотносительно, пакетный запрос или нет.

***

Вопрос 11.31 экзамена 1С:Профессионал по Платформе. Какие данные будут содержаться в наборе при использовании пакетных запросов?

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

Правильный ответ первый — будет использован только последний запрос пакета.

***

Вопрос 11.34 экзамена 1С:Профессионал по Платформе. Как выделяются синтаксические инструкции языка запросов для системы компоновки данных?

  1. фигурными скобками
  2. квадратными скобками
  3. угловыми скобками
  4. нет особых отличий

Правильный ответ первый, см. выше пример.

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

Создание схемы компоновки данных (СхКД) может быть выполнено:

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

СхКД может содержать:

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

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

Вкладки (разделы) схемы компоновки данных:

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

Вкладка «Набор данных» предназначена для добавления набора данных (одного или нескольких), из которого в отчет будут получены данные. 

В системе компоновки данных (СКД) можно использовать следующие наборы данных:

  1. набор данных — запрос;
  2. набор данных — объект;
  3. набор данных — объединение.

Добавление набора данных

Набор данных типа "Запрос"

Запрос при этом не обязательно указывать через конструктор, можно прописать вручную, либо скопировать из консоли. Каких-то ограничений на запросы нет, доступны все возможности языка; более того, язык запросов имеет расширения для СКД. Это синтаксические конструкции, заключенные в фигурные скобки:

Используется на деле это редко.

***

Вопрос 11.30 экзамена 1С:Профессионал по Платформе. Что произойдет, если в схеме компоновки данных использовать пакетные запросы?

  1. Результирующим запросом будет пакетный запрос
  2. Будет выдана ошибка
  3. Использование пакетных запросов не доступно

Правильный ответ первый — для отчета безотносительно, пакетный запрос или нет.

***

Вопрос 11.31 экзамена 1С:Профессионал по Платформе. Какие данные будут содержаться в наборе при использовании пакетных запросов?

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

Правильный ответ первый — будет использован только последний запрос пакета.

***

Вопрос 11.34 экзамена 1С:Профессионал по Платформе. Как выделяются синтаксические инструкции языка запросов для системы компоновки данных?

  1. фигурными скобками
  2. квадратными скобками
  3. угловыми скобками
  4. нет особых отличий

Правильный ответ первый, см. выше пример.

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

Создание схемы компоновки данных (СхКД) может быть выполнено:

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

СхКД может содержать:

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

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

Вкладки (разделы) схемы компоновки данных:

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

Вкладка «Набор данных» предназначена для добавления набора данных (одного или нескольких), из которого в отчет будут получены данные. 

В системе компоновки данных (СКД) можно использовать следующие наборы данных:

  1. набор данных — запрос;
  2. набор данных — объект;
  3. набор данных — объединение.

Добавление набора данных

Набор данных типа "Запрос"

[свернуть]

Если наборов данных несколько, то их можно связать на вкладке СхКД «Связи наборов данных» по ключу, аналогично механизму соединения таблиц запросов:

При этом флаг «Обязательный» определяет, задействованы ли поля, используемые в источнике (ЛОЖЬ) или в приемнике (ИСТИНА) и на основании этого добавляет связь в макет.

В таблице «Поля» (вкладки «Наборы данных») заполняются свойства:

  1. «Поле» — имя поля, заполняется:
    • в случае набор данных запрос — автоматически;
    • в случае набор данных объект — вручную.
  2. «Путь» — указывается путь к данным из набора. Название, указанное именно в этом поле, будет фигурировать во всех дальнейших настройках СКД.
  3. «Заголовок» — строка с заголовком поля, который выводится в отчет или в настройках (при установленном флаге).
  4. «Ограничение поля» — ряд флагов-настроек, служит для указания того, может ли данное поле быть использовано в настройках (флаг установлен — нельзя). Возможно указать следующие ограничения:
    • «Поле» — поле нельзя использовать в выборках СКД;
    • «Условие» — поле нельзя использовать как условие;
    • «Группа» — запрет на использование поля в группировках;
    • «Упорядочивание» — запрет использовать поле в сортировках.
  5. «Ограничение реквизитов» — ряд флагов-настроек ниже, указывает на ограничения для реквизитов поля, смысл установки данных ограничений такой же что и для полей.
  6. «Роль» — обозначает дополнительные свойства поля и его взаимоотношения с другими полями. Для редактирования ролей открывается специальный диалог:

    Диалог редактирования ролей в СКД

    Диалог редактирования ролей в СКД

    [свернуть]

    • «Без роли» — никаких особых «нагрузок» на поле не накладывается, режим по умолчанию для большинства полей;
    • «Период» — содержит номер периода, если поле имеет тип периода. Самый младший период должен иметь тип 1. Данный номер будет указывать, как в СКД рассчитывается итоги по полям остатка (например, в запросе рассчитываем итоги по различным периодам: ПериодСекунда = 1, ПериодДень=2, ПериодНеделя=3 и т.д.);
    • «Дополнительный» – указывает на то, что поле-период не является обязательным;
    • «Счет» — указывает на то, что поле является бухгалтерским счетом, используется для расчета бухгалтерских итогов;
    • «Вид» — строка-выражение, с помощью которого рассчитывается вид счета. Результатом выражения должно быть значение перечисления ВидСчета (Активный, Пассивный, Активно/Пассивный), либо число (0 соответствует активному счету, 1 – пассивному, 2 – активно-пассивному). Выражение записывается на языке выражений системы компоновки данных. Данная информация используется при расчете по полям бухгалтерских остатков; 
    • «Остатки» – признак того, что поле является полем остатка;
    • «Имя» – строка, содержащая имя группы полей остатка (например, «Сумма«, «Количество«);
    • «Тип» – тип остатка («НачальныйОстаток«, «КонечныйОстаток«, «Нет» — поле не является остатком);
    • «Бух. тип» – тип бухгалтерского остатка («Дебет«, «Кредит«, «Нет» — поле не является бухгалтерским остатком); 
    • «Поле счета» – имя поля-счета, для которого рассчитываются остатки;
    • флаг «Игнорировать значения NULL» – если установлен, то в результат не нужно включать групповые записи по данному полю в случае, если поле содержит значение NULL;
    • флаг «Обязательное» — при выполнении запроса поле с указанным флажком будут присутствовать всегда, даже если не были выбраны в выборке.
  7. «Выражение представления» — содержит выражение, которое используется при выводе значений поля в отчет (выражение, результат которого будет выводиться в результат компоновки для данного поля); в случае, если выражение представления не заполнено, выдаваться будет значение самого выражения поля. Например, нужно преобразовать:
    • дату в особый формат (для этого указываем такое выражение «Формат(ПериодПолугодие,»ДФ = ‘»»Полугодие с»» дд.ММ.гггг»»‘»)») или
    • ссылку на документ к произвольному виду (««Дата: »+Ссылка.Дата+«Номер: »+Ссылка.Номер»);
  8. «Выражение упорядочивания» — выражения, используемые для упорядочивания поля. Описывается аналогично выражениям упорядочивания для поля набора данных. При редактировании открывается диалог:

    Выражение упорядочивания СКД

    Выражения упорядочивания СКД

    [свернуть]

    • «Выражение» — как упорядочивается это поле;
    • «Тип упорядочивания» — «по возрастанию» или «по убыванию»;
    • флаг «Необходимость автоупорядочивания» – автоматическое определение полей, по которым необходимо упорядочивать результат компоновки данных
  9. «Проверка иерархии» — используется, в случае если нужно формировать нестандартные отборы:

    Рисунок

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

    [свернуть]

    • «Набор данных» – набор данных для проверки иерархии; 
    • «Параметр» – параметр, в который будет подставляться значение, для которого нужно получить дочерние элементы; 
  10. «Тип значения» — уточнение типа значения поля набора данных, полезно использовать для уточнения полей составного типа.
  11. «Оформление» — параметры оформления поля набора данных. При редактировании открывается диалог:

    Рисунок

    [свернуть]

Особенности использования набора данных:

  1. Платформа 1С допускает использование нескольких наборов данных.
  2. При определении в схеме компоновки данных связи между двумя наборами данных используется левое соединение первого набора ко второму, в ряде случаев устанавливается внутреннее соединение.
  3. Если необходимо разрешить установку отбора на вхождение в группу собственной иерархии, отличной от стандартной, то необходимо настраивать проверку иерархии на закладке «Наборы данных» в окне конструктора схемы компоновки.
  4. В системе компоновки могут быть реализованы следующие виды соединений двух наборов данных:
    • только «Все ко всем»;
    • «Левое»;
    • «Внутреннее».
  5. Если при настройке связи между двумя наборами данных установлен флаг «Обязательная связь» и в списке выбранных полей указаны поля только левого набора, то такие действия пользователя приведут к тому, что связь не будет реализована.
  6. Внешние данные передаются в набор-объект в системе компоновки данных средствами встроенного языка через процессор компоновки данных.

Особенности использования «набор данных — запрос»

Добавление «набор данных — запрос»:

Набор данных типа "Запрос"

[свернуть]

В случае, если в качестве набора данных для СКД был указан «набор данных — запрос», то собственно запрос нужно специфицировать.

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

Особенности набора данных — запроса:

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

[свернуть]

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

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

Существует два способа связи наборов данных:

  1. объединение;
  2. соединение (на специальной вкладке «Связи наборов данных»).

Связь — объединение

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

Особенности объединения наборов данных:

  1. Поля объединяемых наборов с одинаковым значением реквизита «Путь» сворачиваются в одно.
  2. Автоматической группировки строк по полям с одинаковым реквизитом «Путь» — не происходит.
  3. Поля с разными значениями реквизита «Путь» образуют отдельные поля в итоговом наборе.
  4. Если нужно, чтобы какие-либо значения из двух наборов объединились в одну колонку, это достигается путем указания у них одного и того же реквизита «Путь».

Связь — соединение

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

На закладке «Связи наборов данных», по аналогии с конструктором запросов можно выбрать наборы данных и поля наборов (выражения), по которым необходимо выполнить соединение.

Особенности соединения наборов данных:

  1. Вид соединения по умолчанию всегда «ЛЕВОЕ ВНЕШНЕЕ».
  2. Источником связи выступает основной набор данных, приемником связи – подчиненный.
  3. Выполнять соединение можно только для наборов данных верхнего уровня (т.е. наборы данных, которые входят в наборы «Объединения», соединять нельзя).

В подчиненный набор данных можно передать параметры через поля «Выражение источник«, «Выражение приемник» и «Параметр» (подробнее).

«Условие связи» – поле, в котором можно задать произвольное выражение, при этом связь будет выполняться только в том случае, если значение выражения будет «Истина» (с участием полей только из набора данных, указанного в источнике связи).

«Начальное значение связи» – используется для указания начального значения (корневого элемента) для связи набора данных с самим собой. Настройка может использоваться для создания собственной иерархии детальных записей.

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

[свернуть]

Ресурсы

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


Особенности использования вкладки «Ресурсы»:

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

    Рисунок

    в качестве ресурса не числовое полеВыражение «Количество(…)» формируется автоматически при добавлении нечислового ресурса. Помимо этого в раскрывающемся списке «Выражение» можно выбрать «Максимум(…)», «Минимум(…)».

    [свернуть]

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

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

Закладка "Ресурсы"

Для добавления всех доступных числовых полей в список ресурсов нужно нажать на кнопку «>>».

[свернуть]

Параметры

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

В запросе параметры определяются с помощью имени параметра и знака «&», например, &НачалоПериода, &КонецПериода, &СписокНомеклатуры.

  1. «Имя» — имя параметра, определенного в запросе, или нового, введенного пользователем непосредственно в таблицу параметров.
  2. «Заголовок» — наименование параметра, как оно будет представлено пользователю в диалоге «Настройки».
  3. «Тип» — доступные типы параметра, такие как Число, Дата, Строка, или типы, определенные в конфигурации – СправочникСсылка, ДокументСсылка и т.д. Можно назначать составные типы. Существует также специальный тип СтандартныйПериод для задания автоматического отрезка даты и передачи его в параметры &НачальнаяДата и &КонечнаяДата.

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

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

    Стандартный период

    [свернуть]

  • «Доступные значения» — если для параметра возможен ограниченный набор значений, то их следует указать в данном поле. 5. «Доступен список значений» — галочка влияет на последующее поле «Значения». Если галочка установлена то в поле «Значения» — доступен список значений. 6. «Значения» — значение или список значений параметра по-умолчанию. 7. «Выражение» — в данном поле можно указать выражение, по которому вычисляется пара-метр. В выражении можно использовать функции общих модулей, а также другие значения других параметров. 8. «Включать в доступные поля» — галочка регулирует видимость/невидимость параметра в списке выбранных полей диалога «Настройка». 9. «Ограничение доступности» — если установлена данная галочка, то пользователю интерактивная установка значений данных параметров будет недоступна.[/spoiler]
  • Макеты

    Макеты, созданные в окне конструктора схемы компоновки в разделе «Макеты», позволяют:

    1. задать оформление всего отчета;
    2. задать оформление отдельного элемента настроек;
    3. определить данные, которые необходимо выводить в отчет.

    Закладка Макеты

    Форматирование (оформление) ячеек доступно через палитру свойств:

    Форматирование ячейки макета 1С

    Задать оформление всего отчета или отдельного элемента настроек можно на закладке «Настройки»:

    оформление всего отчета или отдельного элемента настроек

    Приоритет настроек оформления отчета:

    1. Вкладка «Другие настройки» вкладки СКД «Настройки» (нижний уровень).
    2. Вкладка СКД «Макеты».
    3. Вкладка «Условное оформление» вкладки СКД «Настройки» (поверх предыдущих).

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

    1. поле «Склад» использовано в списке выбранных полей настроек системы компоновки данных;
    2. Поле «Склад» использовано в элементе структуры настроек системы компоновки данных «Группировка»;
    3. Поле «Склад» использовано в элементе структуры настроек системы компоновки данных «Таблица».

    Рисунки

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

    [свернуть]

    [свернуть]

    Настройки

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

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

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

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

    Замечание: Пользовательское поле может быть создано вида и поле-выбор, и поле-выражение.

    Рисунок

    Поле-выбор и поле-выражение

    [свернуть]

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

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

    Закладка Настройки

    Нажмем кнопку «Далее >».

    На следующем шаге нужно указать, по каким полям следует группировать строки и колонки таблицы. Мы хотим видеть в строках номенклатуру, а в колонках склад. Будем действовать соответственно — перетащим при помощи мыши все поля, за исключением поля «Склад», в табличное поле строк, а поле «Склад» — в табличное поле колонок.

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

    Нажмем кнопку «Далее >».

    На следующем шаге нам будет предложено выбрать поля, по которым нужно упорядочивать данные. Мы не будем выбирать поля упорядочивания, а доверим системе 1С:Предприятие 8 самой решать как будет упорядочиваться отчет. 

    Нажмем кнопку «ОК» для завершения работы конструктора.

    Созданные конструктором настройки система 1С:Предприятие 8 помещает в настройки схемы компоновки данных. Если в дальнейшем нам понадобится их изменить, мы сможем доработать их произвольным образом при помощи табличных полей или же снова воспользоваться конструктором.

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

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

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

     Как видно, не очень-то понятно…

    [свернуть]

    Результат после внесения небольших изменений

    Совсем другое дело.

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

    [свернуть]

    Результат с группировкой по полю «Материал»

    [свернуть]

    Автор Salmishskay2516, 03 дек 2012, 20:38

    0 Пользователей и 1 гость просматривают эту тему.

    11.33 Как выделяются синтаксические конструкции языка запросов
    для системы компоновки данных?
    1. фигурными скобками
    2. квадратными скобками
    3. угловыми скобками
    4. нет особых отличий

    Здравствуйте. Хотел бы увидеть пример конструкции языка в СКД.


    так же как для построителя отчетов :) фигурными скобками.
    ответ 1.

    пример

    ВЫБРАТЬ
       ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Период,
       ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.ДоговорКонтрагента,
       ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент,
       ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Контрагент.ОсновнойМенеджерПокупателя КАК ОсновнойМенеджерПокупателя,
       ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток КАК СуммаДолга,
       ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовНачальныйОстаток
    ИЗ
       РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(, , День {(&Периодичность)}, , {(Контрагент).* КАК Контрагент, (Контрагент.ОсновнойМенеджерПокупателя).* КАК ОсновнойМенеджерПокупателя, (Сделка).* КАК Сделка, (ДоговорКонтрагента).* КАК ДоговорКонтрагента, (Организация).* КАК Организация}) КАК ВзаиморасчетыСКонтрагентамиОстаткиИОбороты
    ГДЕ
       ВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток > 0


    Что подразумевается под синтаксическими конструкциями?


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



    • Форум База

    • ОБУЧЕНИЕ 1С. КУРСЫ. Подготовка к ЭКЗАМЕНАМ, ТЕСТАМ 1С

    • Сертификат 1С:Профессионал — Тесты

    • Вопрос тест профессионал 11 раздел. СКД.

    Похожие темы (5)

    Рейтинг@Mail.ru

    Rambler's Top100

    Поиск

    Как выделяются синтаксические конструкции языка запросов для системы компоновки данных?


    Posted: 1 февраля, 2013 in Вопросы к экзамену профессионал

    0

    1. фигурными скобками 

    2. квадратными скобками

    3. угловыми скобками

    4. нет особых отличий

    В памяти сразу возникают {}

    Добавить комментарий

    Введите свой комментарий…

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

    Gravatar

    E-mail (обязательно) (Адрес никогда не будет опубликован)

    Имя (обязательно)

    Сайт

    Логотип WordPress.com


    Для комментария используется ваша учётная запись WordPress.com.
    ( Выход / 
    Изменить )

    Фотография Facebook


    Для комментария используется ваша учётная запись Facebook.
    ( Выход / 
    Изменить )

    Отмена

    Подключение к %s

    Уведомлять меня о новых комментариях по почте.

    Уведомлять меня о новых записях по почте.

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Настройка полей схемы СКД для начинающих.

    Настройка полей схемы СКД для начинающих (часть первая).

    Давайте разберем с виду достаточно простую тему «Настройка полей схемы КД». Но далеко не все используют всю мощь СКД, хотя бы потому, что до конца не разобрались с настройками схемы компоновки данных. Я постарался изучить тему по-подробнее и вот мой отчет о проделанной работе:
    Создадим отчет на СКД. Обратимся к виртуальной таблице ТоварыНаСкладах.Остатки (в данном примере я использую «Комплексную конфигурацию» 1С 8.2, но думаю и в торговле и в бухгалтерии есть что то подобное). Далее открываем «Основную схему компоновки данных». В наборе данных добавляем новый набор с типом «Запрос».

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

    1. Поле

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

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

    2. Путь. Оно отвечает за то, как будет называться соответсвующее поле во всех остальных закладках КД(отбор, сортировка и т.д.). Система даже разрешает использовать пробелы в названии пути. Именно по этому полю будут сопоставляться поля при наборе данных объединение. (при выборе данных из нескольких источников данных). Еще одним очень полезным механизмом использования свойство путь является создание вложенных(виртуальных) реквизитов некоторых элементов). Например если мы хотим поместить Характеристика номенклатуры внутрь номенклатура. Для это мы поменяем путь характеристике номенклатуры на номенклатура.ХарактеристикаНоменклатуры. В результате мы получим:

    3. Автозаголовок. Строка. Именно так это поле будет отображаться при выводе отчета на СКД.
    4. Ограничение доступности.

    Мы видим напротив каждого поля четыре колонки с ограниченем доступности на
    — поле
    — условие
    — группу
    — упорядочивание

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

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

    Откроем базу «Знакомство с платформой» в конфигураторе, перейдем в ветку «Отчеты — Материалы» и создадим новый макет «Пример» с типом «Схема компоновки данных».

    После нажатия кнопки «Готово» откроется окно редактирования отчета на основе созданной нами СКД «Пример»:

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

    Закладка «Набор данных» предназначена для добавления набора данных, из которого собственно и будут получены данные.

    На закладке «Наборы данных» добавим новый набор данных типа «Запрос».

    Наборы данных первоначально определяются п ри построении отчета.

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

    «Оформление» — параметры оформления поля набора данных. При редактировании открывается диалог:

    Особенности использования набора данных:

    1. Платформа 1С допускает использование нескольких наборов данных.
    2. При определении в схеме компоновки данных связи между двумя наборами данных используется левое соединение первого набора ко второму, в ряде случаев устанавливается внутреннее соединение.
    3. Если необходимо разрешить установку отбора на вхождение в группу собственной иерархии, отличной от стандартной, то необходимо настраивать проверку иерархии на закладке «Наборы данных» в окне конструктора схемы компоновки.
    4. В системе компоновки могут быть реализованы следующие виды соединений двух наборов данных:
      • только «Все ко всем»;
      • «Левое»;
      • «Внутреннее».
    5. Если при настройке связи между двумя наборами данных установлен флаг «Обязательная связь» и в списке выбранных полей указаны поля только левого набора, то такие действия пользователя приведут к тому, что связь не будет реализована.
    6. Внешние данные передаются в набор-объект в системе компоновки данных средствами встроенного языка через процессор компоновки данных.

    В случае, если в качестве набора данных для СКД был указан «набор данных — запрос», то собственно запрос нужно специфицировать.

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

    Особенности набора данных — запроса:

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

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

    • либо с клавиатуры прямо в поле «Запрос»,
    • либо воспользоваться конструктором запроса, который позволяет создавать и редактировать запросы визуальными средствами.

    Рассмотрим вариант создания текста запроса с помощью конструктора. Для вызова конструктора запроса нажмем кнопку «Конструктор запроса. «:

    Закладки конструктора запроса 1С:

    На этой вкладке указывается источник данных и поля, которые необходимо выводить в отчет (по сути описываются конструкции ВЫБРАТЬ … ИЗ).

    В качестве источников данных могут служить:

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

    На закладке «Таблицы и поля» конструктора запросов задают:

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

    На вкладке «Связи» конструктора запросов можно определить соединение таблиц-источников данных и связи между ними.

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

    Соединение таблиц может быть:

    • безусловным ;
    • условным (или по ключу ), то есть по заданному условию связи:
      1. полным — все записи обеих таблиц; для тех, которым не нашлось соответствия, запрос возвращает NULL;
      2. левым/правым — все записи из соответственно левой/правой таблицы (из противоположной только те, которым есть соответствие), для не найденных запрос возвращает NULL. Примечание : консоль запросов всегда преобразует правое соединение в левое, меняя таблицы местами (в случае, если запрос написать вручную, и потом открыть конструктором);
      3. внутренним — только совпадающие записи обеих таблиц.

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

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

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

    Флажок «Все», устанавливаемый у таблицы, выбранной на закладке «Связи» конструктора запросов означает что в результат запроса надо включить все записи этой таблицы.

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

    На данной вкладке система позволяет группировать и суммировать нужные поля результата таблицы. Описывается использование конструкций СГРУППИРОВАТЬ ПО, СУММА, МИНИМУМ, СРЕДНЕЕ, МАКСИМУМ, КОЛИЧЕСТВО, КОЛИЧЕСТВО РАЗЛИЧНЫХ.

    При описании группировки в тексте запроса все поля должны делиться:

    • на те, по которым производится группировка;
    • на агрегатные функции (рассчитываемые поля);
    • на поля вложенных таблиц.

    Вложенные таблицы не попадают ни в группируемые, ни в агрегируемые поля.

    Количество записей в результате запроса можно узнать с помощью агрегатной функции КОЛИЧЕСТВО(*).

    Отвечает за все условия, накладываемые на получаемые данные, т.е. за всё, что идёт в тексте запроса после конструкции ГДЕ.

    Вкладка «Дополнительно» включает важные параметры.

    Группировка «Выборка записей»:

    • Первые — параметр, возвращающий в запрос только N записей (оператор ПЕРВЫЕ ); позволяет вывести в отчет первые N записей, которые будут отобраны с учетом правил упорядочивания, настроенных в конструкторе запросов;
    • Без повторяющихся — обеспечивает уникальность полученных записей (оператор РАЗЛИЧНЫЕ) и позволяет исключить из результирующей таблицы запроса одинаковые строки (данная операция распространяется только на детальные записи );
    • Разрешенные — позволяет выбирать только те записи, которые позволяет выбрать система с учетом настройки RLS (конструкция РАЗРЕШЕННЫЕ).

    Группировка «Тип запроса»:

    Флаг «Блокировать получаемые данные для последующего изменения»:

    1. позволяет включить возможность установки блокировки данных, которая обеспечивает сохранность данных от момента их чтения до изменения (актуально только для «Автоматического режима блокировок», конструкция ДЛЯ ИЗМЕНЕНИЯ); позволяет заблокировать данные указанных таблиц-источников на чтение (в рамках транзакции).
    2. в режиме автоматических транзакционных блокировок) происходят блокировки:
      • в варианте файл-сервер — на уровне таблиц базы данных;
      • в варианте клиент-сервер — на уровне записей таблиц базы данных.
    3. Если список «Таблицы для изменения» — пуст, то будут блокироваться данные всех таблиц, задействованных в запросе, иначе — только таблиц, указанных в списке.

    На этой вкладке устанавливается возможность объединения разных таблиц и псевдонимы (конструкция КАК).

    В левой части указываются таблицы, если установить флаги напротив таблицы, будут использоваться конструкции ОБЪЕДИНИТЬ, иначе — ОБЪЕДИНИТЬ ВСЕ (отличия двух способов тут ).

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

    На закладке «Объединения/Псевдонимы» конструктора запросов можно:

    1. Задать список запросов (в результирующую выборку попадут записи всех указанных запросов).
    2. Задать имена полей результирующей таблицы.

    При создании запросов, участвующих в объединении, с помощью конструктора запросов, он сам добавит в каждый запрос необходимое количество недостающих полей со значением NULL. Настроить соответствие добавленных конструктором полей и полей результата запроса можно на закладке «Объединения/Псевдонимы».

    Настройки, сделанные в разделе «Объединения/Псевдонимы» конструктора запросов, отразятся на информации, отображаемой в других разделах конструктора, следующим образом:

    1. Если заданы псевдонимы полей результирующей таблицы, то новые названия появляются на закладке «Порядок» в списке полей.
    2. При объединении запросов на ряде закладок (в том числе «Таблицы и поля») появляется возможность переключения между объединяемыми запросами.

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

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

    1. по полю, присутствующему в запросе;
    2. по любому полю таблицы-источника (кроме случаев объединенных запросов).

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

    Указывается порядок сортировки значений (УПОРЯДОЧИТЬ ПО) — по убыванию (УБЫВ) или возрастанию (ВОЗР).

    Флаг «Автоупорядочивание» (в запросе — АВТОУПОРЯДОЧИВАНИЕ):

    • если установлен, то система будет сортировать данные (по умолчанию система 1С 8.3 выводит данные в «хаотичном» порядке).
    1. записи в результирующей таблице запроса будут упорядочены по полям сортировки по умолчанию для таблиц-источников данных;
    2. если заданы настройки на станицах «Группировка» или «Итоги», то порядок записей в результирующей таблице запроса будет определяться этими настройками.

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

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

    1. Поле, по которому группируем, и тип его итогов:
      • Элементы — итоги только по конечным элементам;
      • Элементы и иерархия — итоги по папкам и по конечным элементам;
      • Только иерахия — итоги только по папкам.
    2. Флаг «Общие итоги» — суммирование всех полученных запросом строк;
    3. Итоговое поле — по которому собственно и считаем итоги.

    Таким образом, при использовании секции «ИТОГИ . ПО» количество записей в результате запроса увеличится (по сравнению с их количеством без секции «ИТОГИ . ПО»).

    Результатом запроса с итогами будет дерево значений:

    На этой вкладке можно создавать новые пакеты запросов, а также использовать её для навигации.

    В тексте запроса пакеты разделяются символом «;» (точка с запятой).

    В регистрах накопления на вкладке «Таблицы и поля» выберем виртуальную таблицу «ОстаткиМатериалов»и добавим её в окна «Таблицы» и «Поля»:

    1. Двойной щелчок на таблице приведет к тому, что таблица будет помещена в табличное поле «Таблицы». В этом поле отображаются все таблицы, из которых будут получаться данные запроса.
    2. Раскрыв таблицу «ОстаткиМатериалов», мы увидим, какие поля мы можем получать из нее. В данном случае нас интересуют все поля, поэтому просто сделаем двойной щелчок по таблице и конструктор запроса поместит все поля таблицы в выбранные поля.

    На этом создание запроса завершено — мы создали запрос, который будет получать данные из таблицы остатков.

    Нажмем кнопку «ОК» для завершения работы конструктора запроса:

    Флаг снят — поля не доступны.

    Текст запроса, который был создан с помощью конструктора запросов, система 1С:Предприятие 8 поместит в поле «Запрос». Это поле представляет собой текстовый редактор, в котором можно вручную отредактировать существующий запрос. Кроме того, можно снова вызвать конструктор запроса и отредактировать запрос при помощи него.

    Закладка «Ресурсы»

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

    Особенности использования закладки «Ресурсы»:

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

    Выражение «Количество(. )» формируется автоматически при добавлении нечислового ресурса. Помимо этого в раскрывающемся списке «Выражение» можно выбрать «Максимум(. )», «Минимум(. )».

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

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

    Для добавления всех доступных числовых полей в список ресурсов нужно нажать на кнопку «>>».

    Закладка «Макеты»

    Макеты, созданные в окне конструктора схемы компоновки в разделе «Макеты», позволяют:

    1. задать оформление всего отчета;
    2. задать оформление отдельного элемента настроек;
    3. определить данные, которые необходимо выводить в отчет.

    Форматирование (оформление) ячеек доступно через палитру свойств:

    Задать оформление всего отчета или отдельного элемента настроек можно на закладке «Настройки»:

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

    1. поле «Склад» использовано в списке выбранных полей настроек системы компоновки данных;
    2. Поле «Склад» использовано элементе структуры настроек системы компоновки данных «Группировка»;
    3. Поле «Склад» использовано элементе структуры настроек системы компоновки данных «Таблица».

    Закладка «Настройки»

    Закладка «Настройки» предназначена для задания настроек отчета по умолчанию, т.е. тех настроек, которые будет использовать пользователь при старте отчета в режиме 1С:Предприятие.

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

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

    Замечание: Пользовательское поле может быть создано вида и поле-выбор, и поле-выражение.

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

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

    На следующем шаге нужно указать, по каким полям следует группировать строки и колонки таблицы. Мы хотим видеть в строках номенклатуру, а в колонках склад. Будем действовать соответственно — перетащим при помощи мыши все поля, за исключением поля «Склад», в табличное поле строк, а поле «Склад» — в табличное поле колонок.

    На следующем шаге нам будет предложено выбрать поля, по которым нужно упорядочивать данные. Мы не будем выбирать поля упорядочивания, а доверим системе 1С:Предприятие 8 самой решать как будет упорядочиваться отчет.

    Нажмем кнопку «ОК» для завершения работы конструктора.

    Созданные конструктором настройки система 1С:Предприятие 8 помещает в настройки схемы компоновки данных. Если в дальнейшем нам понадобится их изменить, мы сможем доработать их произвольным образом при помощи табличных полей или же снова воспользоваться конструктором.

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

    Как видно, не очень-то понятно.

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

    Добавить комментарий Отменить ответ

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

    Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

    Источник

    Понравилась статья? Поделить с друзьями:
  • Как выделить долю в квартире в натуре пошаговая инструкция
  • Как выделить долю в доме в натуре пошаговая инструкция частном доме
  • Как выделать шкуру бобра в домашних условиях пошаговая инструкция видео
  • Как выделать шкурку кролика в домашних условиях пошаговая инструкция
  • Как выделать шкурку кролика в домашних условиях пошаговая инструкция