Дополнительные реквизиты скд через характеристики

Что у нас есть?

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

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

Создаем отчет и настраиваем характеристики

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

ВЫБРАТЬ
  Организации.Ссылка КАК Организация,
  Организации.ИНН,
  Организации.КПП
ИЗ
  Справочник.Организации КАК Организации

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

На скриншоте ниже представлен вывод отчета с текущими настройками.

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

  • План видов характеристик СвойстваОбъектов
  • Регистр сведений ЗначенияСвойствОбъектов

Графически связь между объектом информационной базы и его характеристиками можно изобразить по такой схеме:

Опишем схему подробнее. В регистре сведений ЗначенияСвойствОбъектов в измерении Объект содержится ссылка на элемент информационной базы, для которого сохраняется свойство. В нашем примере это ссылка на элемент справочника Организации. Все возможные свойства объекта определяются в плане видов характеристик (ПВХ) СвойстваОбъектов. Значение характеристики, сохраняемое в регистре сведений, зависиот от доступных типов данных для элемента плана видов характеристик, записанного в измерение Свойство. Это описание должно дать лишь общее представление о механизме доп.свойств. На практике он сложнее.

Теперь перейдем к настройке характеристик в схеме компоновки данных. Для этого запустим конструктор запроса и перейдем на вкладку «Характеристики». Здесь нужно добавить поле связи объекта информационной базы с таблицами свойств и значений свойств. Ранее мы рассматривали схему связи между объектами конфигурации для хранения доп.свойств/характеристик. В соответствии с этой информацией настройка будет следюущей:

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

ВЫБРАТЬ
  Организации.Ссылка КАК Организация,
  Организации.ИНН,
  Организации.КПП
ИЗ
  Справочник.Организации КАК Организации
// Доп. инструкции для получения характеристик
{ХАРАКТЕРИСТИКИ
  ТИП(Справочник.Организации)
  ВИДЫХАРАКТЕРИСТИК ПланВидовХарактеристик.СвойстваОбъектов
  ПОЛЕКЛЮЧА Ссылка
  ПОЛЕИМЕНИ Наименование
  ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
  ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.ЗначенияСвойствОбъектов
  ПОЛЕОБЪЕКТА Объект
  ПОЛЕВИДА Свойство
  ПОЛЕЗНАЧЕНИЯ Значение}

На этом все. Функционал отчета теперь позволяет выбрать поля дополнительных характеристик в отчете (поля вывода, отборы и т.д.). Но есть одно НО. Использовать эти поля в настройках отчета мы можем только в режиме 1С:Предприятия. В конфигураторе мы не можем увидеть поля характеристик, что логично, ведь характеристики вводятся пользователем и хранятся в информационной базе.

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

Программная работа с характеристиками

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

ТекущиеНастройки = КомпоновщикНастроек.Настройки;
КоллекцияОтборов = ТекущиеНастройки.Отбор.Элементы;

// Добавляем отбор по доп. реквизиту номенклатуры "Основной склад" 
НовЭл = КоллекцияОтборов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовЭл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовЭл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация.[Основной склад]");
НовЭл.Использование = Ложь;

// Добавляем отбор по доп. реквизиту номенклатуры "Страна размещения"
НовЭл = КоллекцияОтборов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовЭл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовЭл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация.[Страна размещения]");
НовЭл.Использование = Ложь;

// Добавляем отбор по доп. реквизиту номенклатуры "Связанный контрагент"
НовЭл = КоллекцияОтборов.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовЭл.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовЭл.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация.[Связанный контрагент]");
НовЭл.Использование = Ложь;

Тогда если мы посмотрим в отбор отчета в режиме 1С:Предприятие, то увидим следующиую картину:

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

Новый ПолеКомпоновкиДанных("Организация.[Связанный контрагент]")

а именно на текст [Связанный контрагент]. Если мы напишем вот так:

Новый ПолеКомпоновкиДанных("Организация.СвязанныйКонтрагент"),

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

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

Новый ПолеКомпоновкиДанных(".[]")

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

Вывод

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

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

Я
   Valerianich

26.08.16 — 10:37

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

Например

Наименование Номер Свойство1(Цвет) Свойство2(Ширина) Свойство3(Длина)

Радуга        0002   Синий            100               15

  

Партнерская программа EFSOL Oblako

   birkoFFFF

1 — 26.08.16 — 10:39

Что пробовали, что не получилось?

   Valerianich

2 — 26.08.16 — 10:41

(1)В настройках СКД добавил таблицу. В колонки вывел Свойство. Не получается вывести Значения в ячейки.

   vicof

3 — 26.08.16 — 10:41

(1) ну не стыдно человеку такие вопросы задавать?)

   vicof

4 — 26.08.16 — 10:45

(2) а почему не использовал вкладку характеристики в конструктора запроса?

   Valerianich

5 — 26.08.16 — 11:30

(4) Спасибо за подсказку.

А откуда брать Значения характеристик?

   Valerianich

6 — 26.08.16 — 11:52

(5) Значения характеристик получаю из запроса по ТЧ Доп реквизиты справочника. Но не появляются доп реквизиты на закладке Настройки в СКД. В предприятие при изменение варианта также доп реквизитов нет.

   Deon

7 — 26.08.16 — 11:56

(6) Кидай уже скриншот вкладки Характеристики, поглядим

   Valerianich

8 — 26.08.16 — 12:00

http://s018.radikal.ru/i503/1608/45/efce9754cb07.jpg

   Deon

9 — 26.08.16 — 12:31

(8) Вроде всё правильно, правда можно запрос не писать, а просто указать ТЧ характеристик.

А ты же в предприятии в настройках ищешь доп.реквизиты, раскрывая плюсиком ДоговорыКонтрагентов?

   Valerianich

10 — 26.08.16 — 12:55

Разобрался, спасибо!

   Deon

11 — 26.08.16 — 13:09

(10) В чём косяк-то был?

   Худой

12 — 26.08.16 — 13:17

(11)Он уже убег.

У меня вопрос по поводу » использования вкладку характеристики в конструктора запроса».

Никогда не использовал эту возможность. Все делал руками.

Как его использовать?

   Deon

13 — 26.08.16 — 13:20

(12) Тут проще погуглить: http://1cskd.ru/2011/09/ispolzovanie-xarakteristik-v-skd/

   Худой

14 — 26.08.16 — 13:23

(13)Спасибо. То, что надо.

  

Valerianich

15 — 26.08.16 — 13:29

(10) Я не вывел ссылку на договор.)

TurboConf — расширение возможностей Конфигуратора 1С

Учебный курс: Подготовка на 1С:Специалист по платформе 1С:Предприятие 8.3

Общие приемы и механизмы решения задач – тема № 31:
Как реализовать использование дополнительных свойств объектов в отчетах, чтобы ускорить разработку на экзамене

Постановка задачи:

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

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

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

Использование механизма характеристик в отчетах на СКД

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

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

Рассмотрим пример. При настройке отчета в пользовательском режиме в отборах можно использовать поля «Разрешение экрана» или «Тип SIM-карты».

Доступность характеристик в виде вложенных полей

Доступность характеристик в виде вложенных полей

Рисунок 1 – Доступность характеристик в виде вложенных полей

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

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

К сожалению, у Вас недостаточно прав для дальнейшего просмотра.

Если Вы приобрели курс, но еще не активировали токен — пожалуйста, активируйте доступ по инструкциям, высланным на Ваш email после покупки.

Если Вы не залогинены на сайте — залогиньтесь, вернитесь на эту страницу и обновите ее.

Если Вы залогинены, у Вас активирован токен доступа, но Вы все равно видите эту запись — напишите нам на e-mail поддержки.

Комментарии закрыты

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

Предыдущие статьи можно посмотреть по ссылкам ниже:

  • СКД – основные понятия и элементы
  • СКД — Настройки вариантов отчетов
  • Работа с пользовательскими настройками

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

{……}

И так, для чего же необходимы расширения языка запросов?

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

Понимание, и грамотное использование расширений языка запросов позволяет более гибко управлять формированием итогового запроса макета компоновки:

Общая схема расширений языка запросов

Оглавление

  1. Автоматическое заполнение полей компоновки данных
  2. Расширение языка запроса для СКД
  • Секция ВЫБРАТЬ­
  • Секция ГДЕ
  • Параметры виртуальных таблиц
  • Выделение в расширение отдельных таблиц запроса
  1. Использование дополнительных данных, секция ХАРАКТЕРИСТИКИ

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

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

Автоматическое заполнение полей копоновки

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

Также, при установленном флаге, в список полей компоновки попадают все измерения виртуальных таблиц, используемых в запросе. Если измерения не указаны в секции ВЫБРАТЬ в запросе набора данных, они будут доступны только для отбора данных в отчете. Их использование во всех остальных разделах настроек компоновки будет отключено:

Ограничение использования полей

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

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

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

Еще несколько моментов при использовании флага «Автозаполнение»:

  1. Если в запросе источника данных используется виртуальная таблица, и в настройках компоновки добавлен отбор по какому-либо измерению, в итоговом запросе макета, СКД будет накладывать отбор на параметры виртуальных таблиц, если это возможно. Если кроме виртуальных таблиц, в запросе присутствуют и другие таблицы (не виртуальные), в итоговом запросе будет добавлен дополнительный отбор в секции ГДЕ всего запроса. То-есть будет присутствовать два отбора.
  2. Если в наборе данных используется пакет запросов, СКД будет пытаться наложить отбор на все запросы пакета, если это возможно.

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

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

Расширение языка запроса для СКД

Начнем с того, где именно можно использовать секции с расширениями?

Расширения языка запросов можно использовать в секциях: ВЫБРАТЬ, ГДЕ, ХАРАКТЕРИСТИКИ, и в параметрах виртуальных таблиц.

Также выделить как расширение можно целиком таблицу запроса.

Конструкции, добавленные в расширение в итоговом тексте запроса находятся в фигурных скобках «{…}». Для работы с расширениями в конструкторе запроса существует специальная закладка – «Компоновка данных»:

Закладка "Компановка данных"

Рассмотрим более подробно использование каждой секции.

Секция ВЫБРАТЬ­

Настройка выполняется на закладке «Поля» в окне редактирования расширений:

Секция ВЫБРАТЬ расширений языка запросов

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

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

Использование псевдонимов для полей в расширении

Если в запросе используется объединение нескольких таблиц, расширение секции ВЫБРАТЬ необходимо задавать только для первой таблицы.

Секция ГДЕ

Настройка выполняется на закладке «Условия» в окне редактирования расширений:

Секция ГДЕ в расширении языка запросов

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

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

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

В данной секции, можно сконструировать произвольный отбор с указанием параметров:

ТоварныеЗапасыОстатки.Товар = &Товар

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

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

Параметры виртуальных таблиц

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

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

Можно указать следующие параметры: 

  • Период, НачалоПериода, КонецПериода – задается отбор по периоду для виртуальных таблиц.

Если флаг «Автозаполнение» включен, данные параметры будут заполнены автоматически неявно. То-есть, в тексте запроса их нет, но фактически они будут присутствовать. Можно явно указать в качестве этих параметров произвольные имена:

РегистрНакопления.ТоварныеЗапасы.Обороты({(&ДатаНачала)}, {(&ДатаОкончания)}, , ) КАК ТоварныеЗапасыОбороты

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

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

  • Периодичность – можно указать параметр, с помощью которого можно будет задавать периодичность в настройках компоновки. Для параметра будет создан список выбора периода.
  • Метод дополнения – можно указать параметр, для задания в настройках компоновки метода дополнения: «Движения», «Движения и границы периода».
  • Условие – используется для выбора полей, по которым можно будет указывать отбор в настройках компоновки (аналогично секции ГДЕ). Отличие в том, что указанные пользователем отборы, в итоговом запросе макета компоновки будут наложены в параметрах виртуальных таблиц, а не в секции ГДЕ на уровне всего запроса.

Выделение в расширение отдельных таблиц запроса

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

Выделение таблиц целиком в расширение языка запросов

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

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

Использование дополнительных данных, секция ХАРАКТЕРИСТИКИ

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

Так вот, значения этих дополнительных реквизитов или сведений можно АВТОМАТИЗИРОВАНО включать в схему компоновки данных. Вы конечно можете сделать это в ручную, добавив нужное количество соединений в запрос источника данных:

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСвойства КАК ДопСвойства1
ПО (ДопСвойства.Номенклатура = Номенклатура.Ссылка
И ДопСвойства.ВидСвойства = &Свойство1)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСвойства КАК ДопСвойства2
ПО (ДопСвойства1.Номенклатура = Номенклатура.Ссылка
И ДопСвойства1.ВидСвойства = &Свойство2) 

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

Номенклатура.ДопРеквизит

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

Так вот, для автоматизации использования дополнительных данных (дополнительных реквизитов, сведений и прочей информации) существует специальная закладка конструктора запросов «Характеристики»:

Использование дополнительных данных в запросе

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

  • Тип – вид объектов метаданных, для которых необходимо выводить характеристики (то-есть, через точку от которого они будут доступны),
  • Источник видов – способ получения видов дополнительных данных (характеристик): отдельная таблица или произвольный запрос (запрос можно использовать, если требуется наложить на таблицу дополнительные отборы),
  • Источник значений – способ получения значений дополнительных данных (характеристик): отдельная таблица или произвольный запрос.

Группа полей с описанием видов дополнительных данных (Виды характеристик)

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

Группа полей с описанием значений дополнительных данных (Значения характеристик)

  • Поле объекта – ссылка на основной объект, для которого получаются дополнительные данные,
  • Поле вида – ссылка на элемент вида дополнительных данных (в случае с дополнительными реквизитами, это ссылка на элемента плана видов характеристик),
  • Поле значения – значения дополнительных данных.

В случае, если значение поля «Значение характеристик (поле значения)» не указано, тип значения дополнительного реквизита считается «булево». Реквизит будет принимать значение «Истина» в том случае, если в источнике данных будет хотя бы одна строка для указанного объекта и вида. Таким образом настроен вывод в отчеты категорий объектов в конфигурациях: УТ 10.3, УПП.

После заполнения структуры хранения дополнительных данных, система добавит в нижнюю часть запроса секцию ХАРАКТЕРИСТИКИ, следующего вида:

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

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

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

Использование дополнительных характеристик для объектов можно настроить непосредственно в конфигураторе для каждого объекта метаданных:

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

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

В механизме настроек характеристик для объектов источники видов и значений – это всегда таблицы. Так что нельзя указать запрос с произвольным отборам необходимых видов. Однако, отбор значений все-таки можно указать, заполнив поля: «Поле отборов видов» и «Значение отборов видов»:

Отбор видов характеристик для объектов

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

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

  • Использование нескольких наборов данных и связей между ними, cоздание собственной иерархии,
  • Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив,
  • Агрегатные функции СКД, о которых мало кто знает,
  • Программная работа с отчетом на СКД.

Для ознакомления с предыдущими статьями можно перейти по ссылкам:

  • Основные понятия и элементы СКД
  • Настройки вариантов отчетов на СКД
  • Пользовательские настройки

Спасибо а внимание.

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

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

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

Быстрый переход

  • Изменения в конфигурации
  • Использование дополнительных реквизитов в отчётах и списках
    • Вариант №1
    • Вариант №2

Изменения в конфигурации

Разработку конфигурации будем вести на базе платформе 1С: Предприятие 8.2 с установленным свойством “Основной режим запуска” – “Управляемое приложение”. В качестве основы для разработки подойдет любая демо-конфигурация. Добавим новый план видов характеристик “Виды характеристик”. На закладке “Основные” плана видов характеристик в поле “Тип значения характеристик” выберем необходимые типы.

plany-vidov-harakteristik-tip-znacheniya

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

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

osnovnoj-otbor-u-rekvizitaЭто обеспечит связь объекта с записями регистра сведений. В форме элемента справочника “Контрагенты” переход к редактированию характеристик будет возможен с помощью соответствующего пункта меню “Перейти” в левой части формы.

Измерению “Вид характеристики” необходимо назначить тип “ПланВидовХарактеристикСсылка.ВидыХарактеристик”, а ресурсу “Значение” – “Характеристика.ВидыХарактеристик”.

Для обеспечения взаимосвязи значений ресурса “Значение” со значениями измерения “ВидХарактеристик” регистра “Характеристики” необходимо чтобы в свойстве “Связи параметров выбора” ресурса “Значение” было указано “Отбор.Владелец(ВидХарактеристики)”, а в свойстве “Связь по типу” – “ВидХарактеристики”

otbor-znacheniya-po-tipu-v-harakteristka

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

Попробуем добавить дополнительный реквизит “Адрес”

primer-ispolzovaniya-plana-harakteristik

Использование дополнительных реквизитов в отчётах и списках

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

Вариант №1

Начнём с использования характеристик в отчёте, разработанном с использованием системы компоновки данных. За основу возьмём отчёт “Ведомость взаиморасчетов”. Добавим в конфигурацию копию этого отчёта и назовём его “Ведомость взаиморасчетов (с характеристиками)”.

Оригинал отчёта нам понадобится для демонстрации второго варианта использования характеристик.

Итак, откроем набор данных “Взаиморасчеты” схемы компоновки данных нашего отчета в конструкторе запросов и перейдем на закладку “Характеристики”.

konstruktor-harakteristika

  • В таблицу на вкладке “Характеристики” добавим строку.
  • В поле “Тип” выберем “СправочникСсылка.Контрагенты” (это объект для которого в отчёте необходимо использовать дополнительные характеристики).
  • В поле “Источник видов” выберем вариант “Запрос” (хотя в нашем случае можно ограничиться и вариантом “Таблица”).
  • В колонку “Виды характеристик” внесём текст запроса, которым будут выбираться виды характеристик, используемые для справочника “Контрагенты”.

Текст запроса обязательно должен содержать три поля – ссылка на вид характеристики, наименование характеристики и тип значения характеристики. Наименования этих полей выбираются в колонках “Поле ключа”, “Поле имени” и “Поле типа значения” таблицы на закладке “Характеристики”.

  • Для визуального выделения дополнительных реквизитов объекта в запросе по видам характеристик к наименованиям добавлен текст “(доп. реквизит)”.
  • В колонке “Источник значений” на вкладке “Характеристики” выберем вариант “Таблица”.
  • В колонке “Значения характеристик” выберем “РегистрСведений.Характеристики”,
  • в колонке “Поле объекта” – наименование измерения регистра “Объект”,
  • в колонке “Поле вида” – наименование измерения “ВидХарактеристики”,
  • в колонке “Поле значения” – наименование ресурса “Значение”.

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

{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.Контрагенты)
    ВИДЫХАРАКТЕРИСТИК (ВЫБРАТЬ
        ВидыХарактеристик.Ссылка,
        ВидыХарактеристик.Наименование + » (доп. реквизит)» КАК Наименование,
        ВидыХарактеристик.ТипЗначения
    ИЗ
        ПланВидовХарактеристик.ВидыХарактеристик КАК ВидыХарактеристик)
ПОЛЕКЛЮЧА Ссылка
ПОЛЕИМЕНИ Наименование
ПОЛЕТИПАЗНАЧЕНИЯ ТипЗначения
ЗНАЧЕНИЯХАРАКТЕРИСТИК РегистрСведений.Характеристики
ПОЛЕОБЪЕКТА Объект
ПОЛЕВИДА ВидХарактеристики
ПОЛЕЗНАЧЕНИЯ Значение }

Проверим работу отчёта. Для этого откроем отчёт “Ведомость взаиморасчетов (с характеристиками)”. Перейдем в пункт меню “Все действия -> Изменить вариант”. В окне настроек перейдём на закладку “Отбор” и добавим отбора по дополнительному реквизиту контрагента “Адрес”

otbor-v-skd

Вариант №2

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

dopolnitelnye-harakteristiki-obekta-metadannyh

  • В открывшемся окне “Дополнительных характеристик объекта метаданных” добавим строку.
  • В колонке “Виды характеристик” выберем “ПланВидовХарактеристик.ВидыХарактеристик”, в колонке “Поле ключа” – “Ссылка”.
  • В колонке “Значения характеристик” выберем “РегистрСведений.Характеристики”, в колонке “Поле объекта” – “Объект”,
  • в колонке “Поле вида” – “ВидХарактеристики”, в колонке “Поле значения” – “Значение”.

Сохраним конфигурацию и попробуем воспользоваться дополнительными характеристиками справочника “Контрагенты” в форме списка (в отчёте “Ведомость взаиморасчетов” использование дополнительных реквизитов будет выглядеть аналогичному тому как это было описано в Варианте №1, с той лишь разницей, что наименованию вида характеристики не будет добавляться текст “(доп. реквизит)”).

Откроем список справочника “Контрагенты”, перейдем в пункт меню “Все действия -> Настройка списка” и установим отбор по дополнительному реквизиту “Адрес”.

nastrojka-spiska-dobavlenie-v-otbor

Стоит отметить, что при использовании Варианта №1 в отчётах с использованием СКД отключается приведенный механизм платформы и используется описанный пользователем.

Статья найдена на просторах интернета.

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

1с Дополнительные реквизиты

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

Теоретический материал.

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

Отличие дополнительного реквизита от дополнительного сведения в том, что

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

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

Дополнительные реквизиты 1с включить возможность использования.

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

Для этого необходимо выполнить следующие действия:

  1. Меню: НСИ и Администрирование – Администрирование – Общие настройки – Дополнительные реквизиты и сведения.
  2. Установите флажок “Дополнительные реквизиты и сведения” и нажмите гиперссылку “Дополнительные реквизиты”

1с Дополнительные реквизиты

1с дополнительные реквизиты

Далее заходим по ссылке “Дополнительные реквизиты”. Выбираем объект и проверяем его “Дополнительные реквизиты”.

1с Дополнительные реквизиты

Дополнительные реквизиты.

Рассмотрим Настройки дополнительного реквизита “БанкИНН”.

1с Дополнительные реквизиты

Настройка дополнительного реквизиты

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

1с Дополнительные реквизиты

Настройка СКД для дополнительного реквизита
ВЫБРАТЬ
	ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты.Ссылка КАК Ссылка,
	ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты.Значение КАК Значение
ИЗ
	Документ.ВедомостьНаВыплатуЗарплатыВБанк.ДополнительныеРеквизиты КАК ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты
ГДЕ
	ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты.Ссылка = &Ссылка
	И ВедомостьНаВыплатуЗарплатыВБанкДополнительныеРеквизиты.Свойство.Имя = &Имя

Понравилась статья? Поделить с друзьями:
  • Дополнительные реквизиты справочника номенклатура
  • Дополнительный насос отопителя газель бизнес 4216
  • Дополнительный реквизит для группы справочника 1с
  • Дополнительный реквизит чека бсо тег 1192 что это
  • Допсоглашение к договору при изменении реквизитов